diff --git a/c/include/libsbp/cpp/message_traits.h b/c/include/libsbp/cpp/message_traits.h index f87b1b27f3..6a30e7abf6 100644 --- a/c/include/libsbp/cpp/message_traits.h +++ b/c/include/libsbp/cpp/message_traits.h @@ -672,6 +672,18 @@ struct MessageTraits { }; +template<> +struct MessageTraits { + static constexpr u16 id = 260; +}; + + +template<> +struct MessageTraits { + static constexpr u16 id = 261; +}; + + template<> struct MessageTraits { static constexpr u16 id = 431; diff --git a/c/include/libsbp/navigation.h b/c/include/libsbp/navigation.h index 93f5d3a745..794e762e49 100644 --- a/c/include/libsbp/navigation.h +++ b/c/include/libsbp/navigation.h @@ -72,6 +72,33 @@ from -500000 to 500000) } msg_gps_time_t; +/** GPS Time + * + * This message reports the GPS time, representing the time since + * the GPS epoch began on midnight January 6, 1980 UTC. GPS time + * counts the weeks and seconds of the week. The weeks begin at the + * Saturday/Sunday transition. GPS week 0 began at the beginning of + * the GPS time scale. + * + * Within each week number, the GPS time of the week is between + * between 0 and 604800 seconds (=60*60*24*7). Note that GPS time + * does not accumulate leap seconds, and as of now, has a small + * offset from UTC. In a message stream, this message precedes a + * set of other navigation messages referenced to the same time + * (but lacking the ns field) and indicates a more precise time of + * these messages. + */ +#define SBP_MSG_GPS_TIME_GNSS 0x0104 +typedef struct SBP_ATTR_PACKED { + u16 wn; /**< GPS week number [weeks] */ + u32 tow; /**< GPS time of week rounded to the nearest millisecond [ms] */ + s32 ns_residual; /**< Nanosecond residual of millisecond-rounded TOW (ranges +from -500000 to 500000) + [ns] */ + u8 flags; /**< Status flags (reserved) */ +} msg_gps_time_gnss_t; + + /** UTC Time * * This message reports the Universal Coordinated Time (UTC). Note the flags @@ -91,6 +118,25 @@ typedef struct SBP_ATTR_PACKED { } msg_utc_time_t; +/** UTC Time + * + * This message reports the Universal Coordinated Time (UTC). Note the flags + * which indicate the source of the UTC offset value and source of the time fix. + */ +#define SBP_MSG_UTC_TIME_GNSS 0x0105 +typedef struct SBP_ATTR_PACKED { + u8 flags; /**< Indicates source and time validity */ + u32 tow; /**< GPS time of week rounded to the nearest millisecond [ms] */ + u16 year; /**< Year [year] */ + u8 month; /**< Month (range 1 .. 12) [months] */ + u8 day; /**< days in the month (range 1-31) [day] */ + u8 hours; /**< hours of day (range 0-23) [hours] */ + u8 minutes; /**< minutes of hour (range 0-59) [minutes] */ + u8 seconds; /**< seconds of minute (range 0-60) rounded down [seconds] */ + u32 ns; /**< nanoseconds of second (range 0-999999999) [nanoseconds] */ +} msg_utc_time_gnss_t; + + /** Dilution of Precision * * This dilution of precision (DOP) message describes the effect of diff --git a/c/include/libsbp/system.h b/c/include/libsbp/system.h index 88cd134403..c954ef6cef 100644 --- a/c/include/libsbp/system.h +++ b/c/include/libsbp/system.h @@ -154,16 +154,10 @@ typedef struct SBP_ATTR_PACKED { #define SBP_MSG_GROUP_META 0xFF0A typedef struct SBP_ATTR_PACKED { u8 group_id; /**< Id of the Msgs Group, 0 is Unknown, 1 is Bestpos, 2 is Gnss */ - u16 wn; /**< GPS Week Number or zero if Reference epoch is not GPS [weeks] */ - u32 tom; /**< Time of Measurement in Milliseconds since reference epoch [ms] */ - s32 ns_residual; /**< Nanosecond residual of millisecond-rounded TOM (ranges -from -500000 to 500000) - [ns] */ u8 flags; /**< Status flags (reserved) */ u8 n_group_msgs; /**< Size of list group_msgs */ u16 group_msgs[0]; /**< An inorder list of message types included in the Solution Group, -including GROUP_META itself - */ +including GROUP_META itself */ } msg_group_meta_t; diff --git a/c/test/auto_check_sbp_system_36.c b/c/test/auto_check_sbp_system_36.c index 9dbba3a807..208f379e96 100644 --- a/c/test/auto_check_sbp_system_36.c +++ b/c/test/auto_check_sbp_system_36.c @@ -99,7 +99,7 @@ START_TEST( test_auto_check_sbp_system_36 ) sbp_register_callback(&sbp_state, 0xFF0A, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,10,255,238,238,19,1,192,7,64,226,1,0,0,0,0,0,3,3,10,255,10,2,2,255,253,141, }; + u8 test_data[] = {85,10,255,238,238,9,1,2,3,10,255,10,2,2,255,2,14, }; dummy_reset(); sbp_send_message(&sbp_state, 0xFF0A, 61166, sizeof(test_data), test_data, &dummy_write); @@ -125,15 +125,12 @@ START_TEST( test_auto_check_sbp_system_36 ) msg_group_meta_t* msg = ( msg_group_meta_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->flags == 3, "incorrect value for flags, expected 3, is %d", msg->flags); + fail_unless(msg->flags == 2, "incorrect value for flags, expected 2, is %d", msg->flags); fail_unless(msg->group_id == 1, "incorrect value for group_id, expected 1, is %d", msg->group_id); fail_unless(msg->group_msgs[0] == 65290, "incorrect value for group_msgs[0], expected 65290, is %d", msg->group_msgs[0]); fail_unless(msg->group_msgs[1] == 522, "incorrect value for group_msgs[1], expected 522, is %d", msg->group_msgs[1]); fail_unless(msg->group_msgs[2] == 65282, "incorrect value for group_msgs[2], expected 65282, is %d", msg->group_msgs[2]); fail_unless(msg->n_group_msgs == 3, "incorrect value for n_group_msgs, expected 3, is %d", msg->n_group_msgs); - fail_unless(msg->ns_residual == 0, "incorrect value for ns_residual, expected 0, is %d", msg->ns_residual); - fail_unless(msg->tom == 123456, "incorrect value for tom, expected 123456, is %d", msg->tom); - fail_unless(msg->wn == 1984, "incorrect value for wn, expected 1984, is %d", msg->wn); } } END_TEST diff --git a/docs/sbp.pdf b/docs/sbp.pdf index dd2df94e0a..3c6354f58e 100644 Binary files a/docs/sbp.pdf and b/docs/sbp.pdf differ diff --git a/haskell/src/SwiftNav/SBP/Msg.hs b/haskell/src/SwiftNav/SBP/Msg.hs index a99de200f5..b36c4d6ea4 100644 --- a/haskell/src/SwiftNav/SBP/Msg.hs +++ b/haskell/src/SwiftNav/SBP/Msg.hs @@ -135,6 +135,7 @@ data SBPMsg = | SBPMsgGnssTimeOffset MsgGnssTimeOffset Msg | SBPMsgGpsTime MsgGpsTime Msg | SBPMsgGpsTimeDepA MsgGpsTimeDepA Msg + | SBPMsgGpsTimeGnss MsgGpsTimeGnss Msg | SBPMsgGroupDelay MsgGroupDelay Msg | SBPMsgGroupDelayDepA MsgGroupDelayDepA Msg | SBPMsgGroupDelayDepB MsgGroupDelayDepB Msg @@ -236,6 +237,7 @@ data SBPMsg = | SBPMsgUartStateDepa MsgUartStateDepa Msg | SBPMsgUserData MsgUserData Msg | SBPMsgUtcTime MsgUtcTime Msg + | SBPMsgUtcTimeGnss MsgUtcTimeGnss Msg | SBPMsgVelBody MsgVelBody Msg | SBPMsgVelEcef MsgVelEcef Msg | SBPMsgVelEcefCov MsgVelEcefCov Msg @@ -342,6 +344,7 @@ instance Binary SBPMsg where | _msgSBPType == msgGnssTimeOffset = SBPMsgGnssTimeOffset (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGpsTime = SBPMsgGpsTime (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGpsTimeDepA = SBPMsgGpsTimeDepA (decode (fromStrict (unBytes _msgSBPPayload))) m + | _msgSBPType == msgGpsTimeGnss = SBPMsgGpsTimeGnss (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGroupDelay = SBPMsgGroupDelay (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGroupDelayDepA = SBPMsgGroupDelayDepA (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGroupDelayDepB = SBPMsgGroupDelayDepB (decode (fromStrict (unBytes _msgSBPPayload))) m @@ -443,6 +446,7 @@ instance Binary SBPMsg where | _msgSBPType == msgUartStateDepa = SBPMsgUartStateDepa (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgUserData = SBPMsgUserData (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgUtcTime = SBPMsgUtcTime (decode (fromStrict (unBytes _msgSBPPayload))) m + | _msgSBPType == msgUtcTimeGnss = SBPMsgUtcTimeGnss (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgVelBody = SBPMsgVelBody (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgVelEcef = SBPMsgVelEcef (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgVelEcefCov = SBPMsgVelEcefCov (decode (fromStrict (unBytes _msgSBPPayload))) m @@ -541,6 +545,7 @@ instance Binary SBPMsg where encoder (SBPMsgGnssTimeOffset _ m) = put m encoder (SBPMsgGpsTime _ m) = put m encoder (SBPMsgGpsTimeDepA _ m) = put m + encoder (SBPMsgGpsTimeGnss _ m) = put m encoder (SBPMsgGroupDelay _ m) = put m encoder (SBPMsgGroupDelayDepA _ m) = put m encoder (SBPMsgGroupDelayDepB _ m) = put m @@ -642,6 +647,7 @@ instance Binary SBPMsg where encoder (SBPMsgUartStateDepa _ m) = put m encoder (SBPMsgUserData _ m) = put m encoder (SBPMsgUtcTime _ m) = put m + encoder (SBPMsgUtcTimeGnss _ m) = put m encoder (SBPMsgVelBody _ m) = put m encoder (SBPMsgVelEcef _ m) = put m encoder (SBPMsgVelEcefCov _ m) = put m @@ -744,6 +750,7 @@ instance FromJSON SBPMsg where | msgType == msgGnssTimeOffset = SBPMsgGnssTimeOffset <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGpsTime = SBPMsgGpsTime <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGpsTimeDepA = SBPMsgGpsTimeDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj + | msgType == msgGpsTimeGnss = SBPMsgGpsTimeGnss <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGroupDelay = SBPMsgGroupDelay <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGroupDelayDepA = SBPMsgGroupDelayDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGroupDelayDepB = SBPMsgGroupDelayDepB <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj @@ -845,6 +852,7 @@ instance FromJSON SBPMsg where | msgType == msgUartStateDepa = SBPMsgUartStateDepa <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgUserData = SBPMsgUserData <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgUtcTime = SBPMsgUtcTime <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj + | msgType == msgUtcTimeGnss = SBPMsgUtcTimeGnss <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgVelBody = SBPMsgVelBody <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgVelEcef = SBPMsgVelEcef <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgVelEcefCov = SBPMsgVelEcefCov <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj @@ -948,6 +956,7 @@ instance ToJSON SBPMsg where toJSON (SBPMsgGnssTimeOffset n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGpsTime n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGpsTimeDepA n m) = toJSON n <<>> toJSON m + toJSON (SBPMsgGpsTimeGnss n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGroupDelay n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGroupDelayDepA n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGroupDelayDepB n m) = toJSON n <<>> toJSON m @@ -1049,6 +1058,7 @@ instance ToJSON SBPMsg where toJSON (SBPMsgUartStateDepa n m) = toJSON n <<>> toJSON m toJSON (SBPMsgUserData n m) = toJSON n <<>> toJSON m toJSON (SBPMsgUtcTime n m) = toJSON n <<>> toJSON m + toJSON (SBPMsgUtcTimeGnss n m) = toJSON n <<>> toJSON m toJSON (SBPMsgVelBody n m) = toJSON n <<>> toJSON m toJSON (SBPMsgVelEcef n m) = toJSON n <<>> toJSON m toJSON (SBPMsgVelEcefCov n m) = toJSON n <<>> toJSON m @@ -1146,6 +1156,7 @@ instance HasMsg SBPMsg where msg f (SBPMsgGnssTimeOffset n m) = SBPMsgGnssTimeOffset n <$> f m msg f (SBPMsgGpsTime n m) = SBPMsgGpsTime n <$> f m msg f (SBPMsgGpsTimeDepA n m) = SBPMsgGpsTimeDepA n <$> f m + msg f (SBPMsgGpsTimeGnss n m) = SBPMsgGpsTimeGnss n <$> f m msg f (SBPMsgGroupDelay n m) = SBPMsgGroupDelay n <$> f m msg f (SBPMsgGroupDelayDepA n m) = SBPMsgGroupDelayDepA n <$> f m msg f (SBPMsgGroupDelayDepB n m) = SBPMsgGroupDelayDepB n <$> f m @@ -1247,6 +1258,7 @@ instance HasMsg SBPMsg where msg f (SBPMsgUartStateDepa n m) = SBPMsgUartStateDepa n <$> f m msg f (SBPMsgUserData n m) = SBPMsgUserData n <$> f m msg f (SBPMsgUtcTime n m) = SBPMsgUtcTime n <$> f m + msg f (SBPMsgUtcTimeGnss n m) = SBPMsgUtcTimeGnss n <$> f m msg f (SBPMsgVelBody n m) = SBPMsgVelBody n <$> f m msg f (SBPMsgVelEcef n m) = SBPMsgVelEcef n <$> f m msg f (SBPMsgVelEcefCov n m) = SBPMsgVelEcefCov n <$> f m diff --git a/haskell/src/SwiftNav/SBP/Navigation.hs b/haskell/src/SwiftNav/SBP/Navigation.hs index 6b1071d27d..bbd93f3cb2 100644 --- a/haskell/src/SwiftNav/SBP/Navigation.hs +++ b/haskell/src/SwiftNav/SBP/Navigation.hs @@ -93,6 +93,50 @@ $(makeSBP 'msgGpsTime ''MsgGpsTime) $(makeJSON "_msgGpsTime_" ''MsgGpsTime) $(makeLenses ''MsgGpsTime) +msgGpsTimeGnss :: Word16 +msgGpsTimeGnss = 0x0104 + +-- | SBP class for message MSG_GPS_TIME_GNSS (0x0104). +-- +-- This message reports the GPS time, representing the time since the GPS epoch +-- began on midnight January 6, 1980 UTC. GPS time counts the weeks and seconds +-- of the week. The weeks begin at the Saturday/Sunday transition. GPS week 0 +-- began at the beginning of the GPS time scale. Within each week number, the +-- GPS time of the week is between between 0 and 604800 seconds (=60*60*24*7). +-- Note that GPS time does not accumulate leap seconds, and as of now, has a +-- small offset from UTC. In a message stream, this message precedes a set of +-- other navigation messages referenced to the same time (but lacking the ns +-- field) and indicates a more precise time of these messages. +data MsgGpsTimeGnss = MsgGpsTimeGnss + { _msgGpsTimeGnss_wn :: !Word16 + -- ^ GPS week number + , _msgGpsTimeGnss_tow :: !Word32 + -- ^ GPS time of week rounded to the nearest millisecond + , _msgGpsTimeGnss_ns_residual :: !Int32 + -- ^ Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to + -- 500000) + , _msgGpsTimeGnss_flags :: !Word8 + -- ^ Status flags (reserved) + } deriving ( Show, Read, Eq ) + +instance Binary MsgGpsTimeGnss where + get = do + _msgGpsTimeGnss_wn <- getWord16le + _msgGpsTimeGnss_tow <- getWord32le + _msgGpsTimeGnss_ns_residual <- (fromIntegral <$> getWord32le) + _msgGpsTimeGnss_flags <- getWord8 + pure MsgGpsTimeGnss {..} + + put MsgGpsTimeGnss {..} = do + putWord16le _msgGpsTimeGnss_wn + putWord32le _msgGpsTimeGnss_tow + (putWord32le . fromIntegral) _msgGpsTimeGnss_ns_residual + putWord8 _msgGpsTimeGnss_flags + +$(makeSBP 'msgGpsTimeGnss ''MsgGpsTimeGnss) +$(makeJSON "_msgGpsTimeGnss_" ''MsgGpsTimeGnss) +$(makeLenses ''MsgGpsTimeGnss) + msgUtcTime :: Word16 msgUtcTime = 0x0103 @@ -150,6 +194,63 @@ $(makeSBP 'msgUtcTime ''MsgUtcTime) $(makeJSON "_msgUtcTime_" ''MsgUtcTime) $(makeLenses ''MsgUtcTime) +msgUtcTimeGnss :: Word16 +msgUtcTimeGnss = 0x0105 + +-- | SBP class for message MSG_UTC_TIME_GNSS (0x0105). +-- +-- This message reports the Universal Coordinated Time (UTC). Note the flags +-- which indicate the source of the UTC offset value and source of the time +-- fix. +data MsgUtcTimeGnss = MsgUtcTimeGnss + { _msgUtcTimeGnss_flags :: !Word8 + -- ^ Indicates source and time validity + , _msgUtcTimeGnss_tow :: !Word32 + -- ^ GPS time of week rounded to the nearest millisecond + , _msgUtcTimeGnss_year :: !Word16 + -- ^ Year + , _msgUtcTimeGnss_month :: !Word8 + -- ^ Month (range 1 .. 12) + , _msgUtcTimeGnss_day :: !Word8 + -- ^ days in the month (range 1-31) + , _msgUtcTimeGnss_hours :: !Word8 + -- ^ hours of day (range 0-23) + , _msgUtcTimeGnss_minutes :: !Word8 + -- ^ minutes of hour (range 0-59) + , _msgUtcTimeGnss_seconds :: !Word8 + -- ^ seconds of minute (range 0-60) rounded down + , _msgUtcTimeGnss_ns :: !Word32 + -- ^ nanoseconds of second (range 0-999999999) + } deriving ( Show, Read, Eq ) + +instance Binary MsgUtcTimeGnss where + get = do + _msgUtcTimeGnss_flags <- getWord8 + _msgUtcTimeGnss_tow <- getWord32le + _msgUtcTimeGnss_year <- getWord16le + _msgUtcTimeGnss_month <- getWord8 + _msgUtcTimeGnss_day <- getWord8 + _msgUtcTimeGnss_hours <- getWord8 + _msgUtcTimeGnss_minutes <- getWord8 + _msgUtcTimeGnss_seconds <- getWord8 + _msgUtcTimeGnss_ns <- getWord32le + pure MsgUtcTimeGnss {..} + + put MsgUtcTimeGnss {..} = do + putWord8 _msgUtcTimeGnss_flags + putWord32le _msgUtcTimeGnss_tow + putWord16le _msgUtcTimeGnss_year + putWord8 _msgUtcTimeGnss_month + putWord8 _msgUtcTimeGnss_day + putWord8 _msgUtcTimeGnss_hours + putWord8 _msgUtcTimeGnss_minutes + putWord8 _msgUtcTimeGnss_seconds + putWord32le _msgUtcTimeGnss_ns + +$(makeSBP 'msgUtcTimeGnss ''MsgUtcTimeGnss) +$(makeJSON "_msgUtcTimeGnss_" ''MsgUtcTimeGnss) +$(makeLenses ''MsgUtcTimeGnss) + msgDops :: Word16 msgDops = 0x0208 diff --git a/haskell/src/SwiftNav/SBP/System.hs b/haskell/src/SwiftNav/SBP/System.hs index e6c6b01f45..63925cac3d 100644 --- a/haskell/src/SwiftNav/SBP/System.hs +++ b/haskell/src/SwiftNav/SBP/System.hs @@ -315,13 +315,6 @@ msgGroupMeta = 0xFF0A data MsgGroupMeta = MsgGroupMeta { _msgGroupMeta_group_id :: !Word8 -- ^ Id of the Msgs Group, 0 is Unknown, 1 is Bestpos, 2 is Gnss - , _msgGroupMeta_wn :: !Word16 - -- ^ GPS Week Number or zero if Reference epoch is not GPS - , _msgGroupMeta_tom :: !Word32 - -- ^ Time of Measurement in Milliseconds since reference epoch - , _msgGroupMeta_ns_residual :: !Int32 - -- ^ Nanosecond residual of millisecond-rounded TOM (ranges from -500000 to - -- 500000) , _msgGroupMeta_flags :: !Word8 -- ^ Status flags (reserved) , _msgGroupMeta_n_group_msgs :: !Word8 @@ -334,9 +327,6 @@ data MsgGroupMeta = MsgGroupMeta instance Binary MsgGroupMeta where get = do _msgGroupMeta_group_id <- getWord8 - _msgGroupMeta_wn <- getWord16le - _msgGroupMeta_tom <- getWord32le - _msgGroupMeta_ns_residual <- (fromIntegral <$> getWord32le) _msgGroupMeta_flags <- getWord8 _msgGroupMeta_n_group_msgs <- getWord8 _msgGroupMeta_group_msgs <- whileM (not <$> isEmpty) getWord16le @@ -344,9 +334,6 @@ instance Binary MsgGroupMeta where put MsgGroupMeta {..} = do putWord8 _msgGroupMeta_group_id - putWord16le _msgGroupMeta_wn - putWord32le _msgGroupMeta_tom - (putWord32le . fromIntegral) _msgGroupMeta_ns_residual putWord8 _msgGroupMeta_flags putWord8 _msgGroupMeta_n_group_msgs mapM_ putWord16le _msgGroupMeta_group_msgs diff --git a/java/src/com/swiftnav/sbp/client/MessageTable.java b/java/src/com/swiftnav/sbp/client/MessageTable.java index 42879eddc1..7cb4fc37be 100644 --- a/java/src/com/swiftnav/sbp/client/MessageTable.java +++ b/java/src/com/swiftnav/sbp/client/MessageTable.java @@ -62,7 +62,9 @@ import com.swiftnav.sbp.logging.MsgPrintDep; import com.swiftnav.sbp.mag.MsgMagRaw; import com.swiftnav.sbp.navigation.MsgGPSTime; +import com.swiftnav.sbp.navigation.MsgGPSTimeGnss; import com.swiftnav.sbp.navigation.MsgUtcTime; +import com.swiftnav.sbp.navigation.MsgUtcTimeGnss; import com.swiftnav.sbp.navigation.MsgDops; import com.swiftnav.sbp.navigation.MsgPosECEF; import com.swiftnav.sbp.navigation.MsgPosECEFCov; @@ -307,8 +309,12 @@ static SBPMessage dispatch(SBPMessage msg) throws SBPBinaryException { return new MsgMagRaw(msg); case MsgGPSTime.TYPE: return new MsgGPSTime(msg); + case MsgGPSTimeGnss.TYPE: + return new MsgGPSTimeGnss(msg); case MsgUtcTime.TYPE: return new MsgUtcTime(msg); + case MsgUtcTimeGnss.TYPE: + return new MsgUtcTimeGnss(msg); case MsgDops.TYPE: return new MsgDops(msg); case MsgPosECEF.TYPE: diff --git a/java/src/com/swiftnav/sbp/navigation/MsgGPSTimeGnss.java b/java/src/com/swiftnav/sbp/navigation/MsgGPSTimeGnss.java new file mode 100644 index 0000000000..96dba5b452 --- /dev/null +++ b/java/src/com/swiftnav/sbp/navigation/MsgGPSTimeGnss.java @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ + +package com.swiftnav.sbp.navigation; + +import java.math.BigInteger; + +import com.swiftnav.sbp.SBPMessage; +import com.swiftnav.sbp.SBPBinaryException; +import com.swiftnav.sbp.SBPStruct; + +import org.json.JSONObject; +import org.json.JSONArray; + + +/** SBP class for message MSG_GPS_TIME_GNSS (0x0104). + * + * You can have MSG_GPS_TIME_GNSS inherent its fields directly from + * an inherited SBP object, or construct it inline using a dict of its + * fields. + * + * This message reports the GPS time, representing the time since + * the GPS epoch began on midnight January 6, 1980 UTC. GPS time + * counts the weeks and seconds of the week. The weeks begin at the + * Saturday/Sunday transition. GPS week 0 began at the beginning of + * the GPS time scale. + * + * Within each week number, the GPS time of the week is between + * between 0 and 604800 seconds (=60*60*24*7). Note that GPS time + * does not accumulate leap seconds, and as of now, has a small + * offset from UTC. In a message stream, this message precedes a + * set of other navigation messages referenced to the same time + * (but lacking the ns field) and indicates a more precise time of + * these messages. */ + +public class MsgGPSTimeGnss extends SBPMessage { + public static final int TYPE = 0x0104; + + + /** GPS week number */ + public int wn; + + /** GPS time of week rounded to the nearest millisecond */ + public long tow; + + /** Nanosecond residual of millisecond-rounded TOW (ranges +from -500000 to 500000) + */ + public int ns_residual; + + /** Status flags (reserved) */ + public int flags; + + + public MsgGPSTimeGnss (int sender) { super(sender, TYPE); } + public MsgGPSTimeGnss () { super(TYPE); } + public MsgGPSTimeGnss (SBPMessage msg) throws SBPBinaryException { + super(msg); + assert msg.type != TYPE; + } + + @Override + protected void parse(Parser parser) throws SBPBinaryException { + /* Parse fields from binary */ + wn = parser.getU16(); + tow = parser.getU32(); + ns_residual = parser.getS32(); + flags = parser.getU8(); + } + + @Override + protected void build(Builder builder) { + builder.putU16(wn); + builder.putU32(tow); + builder.putS32(ns_residual); + builder.putU8(flags); + } + + @Override + public JSONObject toJSON() { + JSONObject obj = super.toJSON(); + obj.put("wn", wn); + obj.put("tow", tow); + obj.put("ns_residual", ns_residual); + obj.put("flags", flags); + return obj; + } +} \ No newline at end of file diff --git a/java/src/com/swiftnav/sbp/navigation/MsgUtcTimeGnss.java b/java/src/com/swiftnav/sbp/navigation/MsgUtcTimeGnss.java new file mode 100644 index 0000000000..9fe707907f --- /dev/null +++ b/java/src/com/swiftnav/sbp/navigation/MsgUtcTimeGnss.java @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ + +package com.swiftnav.sbp.navigation; + +import java.math.BigInteger; + +import com.swiftnav.sbp.SBPMessage; +import com.swiftnav.sbp.SBPBinaryException; +import com.swiftnav.sbp.SBPStruct; + +import org.json.JSONObject; +import org.json.JSONArray; + + +/** SBP class for message MSG_UTC_TIME_GNSS (0x0105). + * + * You can have MSG_UTC_TIME_GNSS inherent its fields directly from + * an inherited SBP object, or construct it inline using a dict of its + * fields. + * + * This message reports the Universal Coordinated Time (UTC). Note the flags + * which indicate the source of the UTC offset value and source of the time fix. */ + +public class MsgUtcTimeGnss extends SBPMessage { + public static final int TYPE = 0x0105; + + + /** Indicates source and time validity */ + public int flags; + + /** GPS time of week rounded to the nearest millisecond */ + public long tow; + + /** Year */ + public int year; + + /** Month (range 1 .. 12) */ + public int month; + + /** days in the month (range 1-31) */ + public int day; + + /** hours of day (range 0-23) */ + public int hours; + + /** minutes of hour (range 0-59) */ + public int minutes; + + /** seconds of minute (range 0-60) rounded down */ + public int seconds; + + /** nanoseconds of second (range 0-999999999) */ + public long ns; + + + public MsgUtcTimeGnss (int sender) { super(sender, TYPE); } + public MsgUtcTimeGnss () { super(TYPE); } + public MsgUtcTimeGnss (SBPMessage msg) throws SBPBinaryException { + super(msg); + assert msg.type != TYPE; + } + + @Override + protected void parse(Parser parser) throws SBPBinaryException { + /* Parse fields from binary */ + flags = parser.getU8(); + tow = parser.getU32(); + year = parser.getU16(); + month = parser.getU8(); + day = parser.getU8(); + hours = parser.getU8(); + minutes = parser.getU8(); + seconds = parser.getU8(); + ns = parser.getU32(); + } + + @Override + protected void build(Builder builder) { + builder.putU8(flags); + builder.putU32(tow); + builder.putU16(year); + builder.putU8(month); + builder.putU8(day); + builder.putU8(hours); + builder.putU8(minutes); + builder.putU8(seconds); + builder.putU32(ns); + } + + @Override + public JSONObject toJSON() { + JSONObject obj = super.toJSON(); + obj.put("flags", flags); + obj.put("tow", tow); + obj.put("year", year); + obj.put("month", month); + obj.put("day", day); + obj.put("hours", hours); + obj.put("minutes", minutes); + obj.put("seconds", seconds); + obj.put("ns", ns); + return obj; + } +} \ No newline at end of file diff --git a/java/src/com/swiftnav/sbp/system/MsgGroupMeta.java b/java/src/com/swiftnav/sbp/system/MsgGroupMeta.java index 15813f3272..f597353437 100644 --- a/java/src/com/swiftnav/sbp/system/MsgGroupMeta.java +++ b/java/src/com/swiftnav/sbp/system/MsgGroupMeta.java @@ -38,17 +38,6 @@ public class MsgGroupMeta extends SBPMessage { /** Id of the Msgs Group, 0 is Unknown, 1 is Bestpos, 2 is Gnss */ public int group_id; - /** GPS Week Number or zero if Reference epoch is not GPS */ - public int wn; - - /** Time of Measurement in Milliseconds since reference epoch */ - public long tom; - - /** Nanosecond residual of millisecond-rounded TOM (ranges -from -500000 to 500000) - */ - public int ns_residual; - /** Status flags (reserved) */ public int flags; @@ -56,8 +45,7 @@ public class MsgGroupMeta extends SBPMessage { public int n_group_msgs; /** An inorder list of message types included in the Solution Group, -including GROUP_META itself - */ +including GROUP_META itself */ public int[] group_msgs; @@ -72,9 +60,6 @@ public MsgGroupMeta (SBPMessage msg) throws SBPBinaryException { protected void parse(Parser parser) throws SBPBinaryException { /* Parse fields from binary */ group_id = parser.getU8(); - wn = parser.getU16(); - tom = parser.getU32(); - ns_residual = parser.getS32(); flags = parser.getU8(); n_group_msgs = parser.getU8(); group_msgs = parser.getArrayofU16(); @@ -83,9 +68,6 @@ protected void parse(Parser parser) throws SBPBinaryException { @Override protected void build(Builder builder) { builder.putU8(group_id); - builder.putU16(wn); - builder.putU32(tom); - builder.putS32(ns_residual); builder.putU8(flags); builder.putU8(n_group_msgs); builder.putArrayofU16(group_msgs); @@ -95,9 +77,6 @@ protected void build(Builder builder) { public JSONObject toJSON() { JSONObject obj = super.toJSON(); obj.put("group_id", group_id); - obj.put("wn", wn); - obj.put("tom", tom); - obj.put("ns_residual", ns_residual); obj.put("flags", flags); obj.put("n_group_msgs", n_group_msgs); obj.put("group_msgs", new JSONArray(group_msgs)); diff --git a/javascript/sbp.bundle.js b/javascript/sbp.bundle.js index 83fe6fbeab..f3ffbab552 100644 --- a/javascript/sbp.bundle.js +++ b/javascript/sbp.bundle.js @@ -5,11 +5,11 @@ * @author Feross Aboukhadijeh * @license MIT */ -var p=r(24),o=r(25),i=r(17);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function n(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function f(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var p=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return k(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return B(e).length;default:if(p)return k(e).length;t=(""+t).toLowerCase(),p=!0}}function d(e,t,r){var p=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,t,r);case"utf8":case"utf-8":return T(this,t,r);case"ascii":return M(this,t,r);case"latin1":case"binary":return U(this,t,r);case"base64":return I(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,r);default:if(p)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),p=!0}}function _(e,t,r){var p=e[t];e[t]=e[r],e[r]=p}function S(e,t,r,p,o){if(0===e.length)return-1;if("string"==typeof r?(p=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof t&&(t=a.from(t,p)),a.isBuffer(t))return 0===t.length?-1:g(e,t,r,p,o);if("number"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):g(e,[t],r,p,o);throw new TypeError("val must be string, number or Buffer")}function g(e,t,r,p,o){var i,s=1,n=e.length,a=t.length;if(void 0!==p&&("ucs2"===(p=String(p).toLowerCase())||"ucs-2"===p||"utf16le"===p||"utf-16le"===p)){if(e.length<2||t.length<2)return-1;s=2,n/=2,a/=2,r/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var c=-1;for(i=r;in&&(r=n-a),i=r;i>=0;i--){for(var u=!0,y=0;yo&&(p=o):p=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");p>i/2&&(p=i/2);for(var s=0;s>8,o=r%256,i.push(o),i.push(p);return i}(t,e.length-r),e,r,p)}function I(e,t,r){return 0===t&&r===e.length?p.fromByteArray(e):p.fromByteArray(e.slice(t,r))}function T(e,t,r){r=Math.min(e.length,r);for(var p=[],o=t;o239?4:l>223?3:l>191?2:1;if(o+u<=r)switch(u){case 1:l<128&&(c=l);break;case 2:128==(192&(i=e[o+1]))&&(a=(31&l)<<6|63&i)>127&&(c=a);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(a=(15&l)<<12|(63&i)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:i=e[o+1],s=e[o+2],n=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&n)&&(a=(15&l)<<18|(63&i)<<12|(63&s)<<6|63&n)>65535&&a<1114112&&(c=a)}null===c?(c=65533,u=1):c>65535&&(c-=65536,p.push(c>>>10&1023|55296),c=56320|1023&c),p.push(c),o+=u}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",p=0;for(;p0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},a.prototype.compare=function(e,t,r,p,o){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===p&&(p=0),void 0===o&&(o=this.length),t<0||r>e.length||p<0||o>this.length)throw new RangeError("out of range index");if(p>=o&&t>=r)return 0;if(p>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(p>>>=0),s=(r>>>=0)-(t>>>=0),n=Math.min(i,s),l=this.slice(p,o),c=e.slice(t,r),u=0;uo)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");p||(p="utf8");for(var i=!1;;)switch(p){case"hex":return w(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":return m(this,e,t,r);case"latin1":case"binary":return b(this,e,t,r);case"base64":return v(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+p);p=(""+p).toLowerCase(),i=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function M(e,t,r){var p="";r=Math.min(e.length,r);for(var o=t;op)&&(r=p);for(var o="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,r,p,o,i){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function R(e,t,r,p){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-r,2);o>>8*(p?o:1-o)}function C(e,t,r,p){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-r,4);o>>8*(p?o:3-o)&255}function P(e,t,r,p,o,i){if(r+p>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(e,t,r,p,i){return i||P(e,0,r,4),o.write(e,t,r,p,23,4),r+4}function j(e,t,r,p,i){return i||P(e,0,r,8),o.write(e,t,r,p,52,8),r+8}a.prototype.slice=function(e,t){var r,p=this.length;if((e=~~e)<0?(e+=p)<0&&(e=0):e>p&&(e=p),(t=void 0===t?p:~~t)<0?(t+=p)<0&&(t=0):t>p&&(t=p),t0&&(o*=256);)p+=this[e+--t]*o;return p},a.prototype.readUInt8=function(e,t){return t||G(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||G(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||G(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||G(e,t,this.length);for(var p=this[e],o=1,i=0;++i=(o*=128)&&(p-=Math.pow(2,8*t)),p},a.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||G(e,t,this.length);for(var p=t,o=1,i=this[e+--p];p>0&&(o*=256);)i+=this[e+--p]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},a.prototype.readInt8=function(e,t){return t||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||G(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(e,t){t||G(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(e,t){return t||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||G(e,4,this.length),o.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||G(e,4,this.length),o.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||G(e,8,this.length),o.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||G(e,8,this.length),o.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,r,p){(e=+e,t|=0,r|=0,p)||A(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+r},a.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):R(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):R(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):C(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):C(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,r,p){if(e=+e,t|=0,!p){var o=Math.pow(2,8*r-1);A(this,e,t,r,o-1,-o)}var i=0,s=1,n=0;for(this[t]=255&e;++i>0)-n&255;return t+r},a.prototype.writeIntBE=function(e,t,r,p){if(e=+e,t|=0,!p){var o=Math.pow(2,8*r-1);A(this,e,t,r,o-1,-o)}var i=r-1,s=1,n=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===n&&0!==this[t+i+1]&&(n=1),this[t+i]=(e/s>>0)-n&255;return t+r},a.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):R(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):R(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):C(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):C(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,r){return N(this,e,t,!0,r)},a.prototype.writeFloatBE=function(e,t,r){return N(this,e,t,!1,r)},a.prototype.writeDoubleLE=function(e,t,r){return j(this,e,t,!0,r)},a.prototype.writeDoubleBE=function(e,t,r){return j(this,e,t,!1,r)},a.prototype.copy=function(e,t,r,p){if(r||(r=0),p||0===p||(p=this.length),t>=e.length&&(t=e.length),t||(t=0),p>0&&p=this.length)throw new RangeError("sourceStart out of bounds");if(p<0)throw new RangeError("sourceEnd out of bounds");p>this.length&&(p=this.length),e.length-t=0;--o)e[o+t]=this[o+r];else if(i<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===p){(t-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function B(e){return p.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(x,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,r,p){for(var o=0;o=t.length||o>=e.length);++o)t[o+r]=e[o];return o}}).call(this,r(5))},function(e,t){var r,p,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function n(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{p="function"==typeof clearTimeout?clearTimeout:s}catch(e){p=s}}();var a,l=[],c=!1,u=-1;function y(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&h())}function h(){if(!c){var e=n(y);c=!0;for(var t=l.length;t;){for(a=l,l=[];++u1)for(var r=1;r=0)e=o[this.type];else if("String"===this.type&&"number"==typeof this.options.length)e=this.options.length;else if("Array"===this.type&&"number"==typeof this.options.length){var t=NaN;"string"==typeof this.options.type?t=o[s[this.options.type]]:this.options.type instanceof n&&(t=this.options.type.sizeOf()),e=this.options.length*t}else"Skip"===this.type?e=this.options.length:this.type||(e=0);return this.next&&(e+=this.next.sizeOf()),e},n.prototype.parse=function(e,t){return this.compiled||this.compile(),this.compiled(e,t,this.constructorFn)},n.prototype.setNextParser=function(e,t,r){var p=new n;return p.type=s[e],p.varName=t,p.options=r||p.options,p.endian=this.endian,this.head?this.head.next=p:this.next=p,this.head=p,this},n.prototype.generate=function(e){this.type&&(this["generate"+this.type](e),this.generateAssert(e));var t=e.generateVariable(this.varName);return this.options.formatter&&this.generateFormatter(e,t,this.options.formatter),this.generateNext(e)},n.prototype.generateAssert=function(e){if(this.options.assert){var t=e.generateVariable(this.varName);switch(typeof this.options.assert){case"function":e.pushCode("if (!({0}).call(vars, {1})) {",this.options.assert,t);break;case"number":e.pushCode("if ({0} !== {1}) {",this.options.assert,t);break;case"string":e.pushCode('if ("{0}" !== {1}) {',this.options.assert,t);break;default:throw new Error("Assert option supports only strings, numbers and assert functions.")}e.generateError('"Assert error: {0} is " + {0}',t),e.pushCode("}")}},n.prototype.generateNext=function(e){return this.next&&(e=this.next.generate(e)),e},Object.keys(o).forEach((function(e){n.prototype["generate"+e]=function(t){t.pushCode("{0} = buffer.read{1}(offset);",t.generateVariable(this.varName),e),t.pushCode("offset += {0};",o[e])}})),n.prototype.generateBit=function(e){var t=JSON.parse(JSON.stringify(this));if(t.varName=e.generateVariable(t.varName),e.bitFields.push(t),!this.next||this.next&&["Bit","Nest"].indexOf(this.next.type)<0){var r=0;e.bitFields.forEach((function(e){r+=e.options.length}));var p=e.generateTmpVariable();if(r<=8)e.pushCode("var {0} = buffer.readUInt8(offset);",p),r=8;else if(r<=16)e.pushCode("var {0} = buffer.readUInt16BE(offset);",p),r=16;else if(r<=24){var o=e.generateTmpVariable(),i=e.generateTmpVariable();e.pushCode("var {0} = buffer.readUInt16BE(offset);",o),e.pushCode("var {0} = buffer.readUInt8(offset + 2);",i),e.pushCode("var {2} = ({0} << 8) | {1};",o,i,p),r=24}else{if(!(r<=32))throw new Error("Currently, bit field sequence longer than 4-bytes is not supported.");e.pushCode("var {0} = buffer.readUInt32BE(offset);",p),r=32}e.pushCode("offset += {0};",r/8);var s=0,n="be"===this.endian;e.bitFields.forEach((function(t){e.pushCode("{0} = {1} >> {2} & {3};",t.varName,p,n?r-s-t.options.length:s,(1< offset++);"),e.pushCode("{0} = buffer.toString('{1}', {2}, offset);",t,this.options.encoding,r)),this.options.stripNull&&e.pushCode("{0} = {0}.replace(/\\x00+$/g, '')",t)},n.prototype.generateBuffer=function(e){if("eof"===this.options.readUntil?e.pushCode("{0} = buffer.slice(offset, buffer.length - 1);",e.generateVariable(this.varName)):(e.pushCode("{0} = buffer.slice(offset, offset + {1});",e.generateVariable(this.varName),e.generateOption(this.options.length)),e.pushCode("offset += {0};",e.generateOption(this.options.length))),this.options.clone){var t=e.generateTmpVariable();e.pushCode("var {0} = new Buffer({1}.length);",t,e.generateVariable(this.varName)),e.pushCode("{0}.copy({1});",e.generateVariable(this.varName),t),e.pushCode("{0} = {1}",e.generateVariable(this.varName),t)}},n.prototype.generateArray=function(e){var t=e.generateOption(this.options.length),r=this.options.type,p=e.generateTmpVariable(),i=e.generateVariable(this.varName),a=e.generateTmpVariable(),l=this.options.key,c="string"==typeof l;c?e.pushCode("{0} = {};",i):e.pushCode("{0} = [];",i),"function"==typeof this.options.readUntil?e.pushCode("do {"):"eof"===this.options.readUntil?e.pushCode("for (var {0} = 0; offset < buffer.length; {0}++) {",p):e.pushCode("for (var {0} = 0; {0} < {1}; {0}++) {",p,t),"string"==typeof r?(e.pushCode("var {0} = buffer.read{1}(offset);",a,s[r]),e.pushCode("offset += {0};",o[s[r]])):r instanceof n&&(e.pushCode("var {0} = {};",a),e.pushScope(a),r.generate(e),e.popScope()),c?e.pushCode("{0}[{2}.{1}] = {2};",i,l,a):e.pushCode("{0}.push({1});",i,a),e.pushCode("}"),"function"==typeof this.options.readUntil&&e.pushCode(" while (!({0}).call(this, {1}, buffer.slice(offset)));",this.options.readUntil,a)},n.prototype.generateChoiceCase=function(e,t,r){"string"==typeof r?(e.pushCode("{0} = buffer.read{1}(offset);",e.generateVariable(this.varName),s[r]),e.pushCode("offset += {0};",o[s[r]])):r instanceof n&&(e.pushPath(t),r.generate(e),e.popPath())},n.prototype.generateChoice=function(e){var t=e.generateOption(this.options.tag);e.pushCode("{0} = {};",e.generateVariable(this.varName)),e.pushCode("switch({0}) {",t),Object.keys(this.options.choices).forEach((function(t){var r=this.options.choices[t];e.pushCode("case {0}:",t),this.generateChoiceCase(e,this.varName,r),e.pushCode("break;")}),this),e.pushCode("default:"),this.options.defaultChoice?this.generateChoiceCase(e,this.varName,this.options.defaultChoice):e.generateError('"Met undefined tag value " + {0} + " at choice"',t),e.pushCode("}")},n.prototype.generateNest=function(e){var t=e.generateVariable(this.varName);e.pushCode("{0} = {};",t),e.pushPath(this.varName),this.options.type.generate(e),e.popPath()},n.prototype.generateFormatter=function(e,t,r){"function"==typeof r&&e.pushCode("{0} = ({1}).call(this, {0});",t,r)},n.prototype.isInteger=function(){return!!this.type.match(/U?Int[8|16|32][BE|LE]?|Bit\d+/)},t.Parser=n},function(e,t){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function p(e){return"function"==typeof e}function o(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,r,s,n,a,l;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(i(r=this._events[e]))return!1;if(p(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:n=Array.prototype.slice.call(arguments,1),r.apply(this,n)}else if(o(r))for(n=Array.prototype.slice.call(arguments,1),s=(l=r.slice()).length,a=0;a0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){if(!p(t))throw TypeError("listener must be a function");var r=!1;function o(){this.removeListener(e,o),r||(r=!0,t.apply(this,arguments))}return o.listener=t,this.on(e,o),this},r.prototype.removeListener=function(e,t){var r,i,s,n;if(!p(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(s=(r=this._events[e]).length,i=-1,r===t||p(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(r)){for(n=s;n-- >0;)if(r[n]===t||r[n].listener&&r[n].listener===t){i=n;break}if(i<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(p(r=this._events[e]))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){return this._events&&this._events[e]?p(this._events[e])?[this._events[e]]:this._events[e].slice():[]},r.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(p(t))return 1;if(t)return t.length}return 0},r.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,r){(t=e.exports=r(18)).Stream=t,t.Readable=t,t.Writable=r(16),t.Duplex=r(7),t.Transform=r(22),t.PassThrough=r(36)},function(e,t,r){"use strict";(function(t,p,o){var i=r(11);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var p=e.entry;e.entry=null;for(;p;){var o=p.callback;t.pendingcb--,o(r),p=p.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=g;var n,a=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?p:i.nextTick;g.WritableState=S;var l=r(10);l.inherits=r(6);var c={deprecate:r(35)},u=r(19),y=r(12).Buffer,h=o.Uint8Array||function(){};var f,d=r(20);function _(){}function S(e,t){n=n||r(7),e=e||{};var p=t instanceof n;this.objectMode=!!e.objectMode,p&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var o=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:p&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===e.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,p=r.sync,o=r.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,p,o){--t.pendingcb,r?(i.nextTick(o,p),i.nextTick(L,e,t),e._writableState.errorEmitted=!0,e.emit("error",p)):(o(p),e._writableState.errorEmitted=!0,e.emit("error",p),L(e,t))}(e,r,p,t,o);else{var s=b(r);s||r.corked||r.bufferProcessing||!r.bufferedRequest||m(e,r),p?a(E,e,r,s,o):E(e,r,s,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function g(e){if(n=n||r(7),!(f.call(g,this)||this instanceof n))return new g(e);this._writableState=new S(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),u.call(this)}function w(e,t,r,p,o,i,s){t.writelen=p,t.writecb=s,t.writing=!0,t.sync=!0,r?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function E(e,t,r,p){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,p(),L(e,t)}function m(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var p=t.bufferedRequestCount,o=new Array(p),i=t.corkedRequestsFree;i.entry=r;for(var n=0,a=!0;r;)o[n]=r,r.isBuf||(a=!1),r=r.next,n+=1;o.allBuffers=a,w(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,c=r.encoding,u=r.callback;if(w(e,t,!1,t.objectMode?1:l.length,l,c,u),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function b(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function v(e,t){e._final((function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),L(e,t)}))}function L(e,t){var r=b(t);return r&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,i.nextTick(v,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}l.inherits(g,u),S.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(S.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(e){return!!f.call(this,e)||this===g&&(e&&e._writableState instanceof S)}})):f=function(e){return e instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(e,t,r){var p,o=this._writableState,s=!1,n=!o.objectMode&&(p=e,y.isBuffer(p)||p instanceof h);return n&&!y.isBuffer(e)&&(e=function(e){return y.from(e)}(e)),"function"==typeof t&&(r=t,t=null),n?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof r&&(r=_),o.ended?function(e,t){var r=new Error("write after end");e.emit("error",r),i.nextTick(t,r)}(this,r):(n||function(e,t,r,p){var o=!0,s=!1;return null===r?s=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),i.nextTick(p,s),o=!1),o}(this,o,e,r))&&(o.pendingcb++,s=function(e,t,r,p,o,i){if(!r){var s=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=y.from(t,r));return t}(t,p,o);p!==s&&(r=!0,o="buffer",p=s)}var n=t.objectMode?1:p.length;t.length+=n;var a=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),g.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(e,t,r){var p=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),p.corked&&(p.corked=1,this.uncork()),p.ending||p.finished||function(e,t,r){t.ending=!0,L(e,t),r&&(t.finished?i.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,p,r)},Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),g.prototype.destroy=d.destroy,g.prototype._undestroy=d.undestroy,g.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,r(9),r(33).setImmediate,r(5))},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";(function(t,p){var o=r(11);e.exports=w;var i,s=r(17);w.ReadableState=g;r(14).EventEmitter;var n=function(e,t){return e.listeners(t).length},a=r(19),l=r(12).Buffer,c=t.Uint8Array||function(){};var u=r(10);u.inherits=r(6);var y=r(30),h=void 0;h=y&&y.debuglog?y.debuglog("stream"):function(){};var f,d=r(31),_=r(20);u.inherits(w,a);var S=["error","close","destroy","pause","resume"];function g(e,t){e=e||{};var p=t instanceof(i=i||r(7));this.objectMode=!!e.objectMode,p&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var o=e.highWaterMark,s=e.readableHighWaterMark,n=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:p&&(s||0===s)?s:n,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=r(21).StringDecoder),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function w(e){if(i=i||r(7),!(this instanceof w))return new w(e);this._readableState=new g(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function E(e,t,r,p,o){var i,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,v(e)}(e,s)):(o||(i=function(e,t){var r;p=t,l.isBuffer(p)||p instanceof c||"string"==typeof t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var p;return r}(s,t)),i?e.emit("error",i):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=function(e){return l.from(e)}(t)),p?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):m(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?m(e,s,t,!1):I(e,s)):m(e,s,t,!1))):p||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function v(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?o.nextTick(L,e):L(e))}function L(e){h("emit readable"),e.emit("readable"),D(e)}function I(e,t){t.readingMore||(t.readingMore=!0,o.nextTick(T,e,t))}function T(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var p;ei.length?i.length:e;if(s===i.length?o+=i:o+=i.slice(0,e),0===(e-=s)){s===i.length?(++p,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=i.slice(s));break}++p}return t.length-=p,o}(e,t):function(e,t){var r=l.allocUnsafe(e),p=t.head,o=1;p.data.copy(r),e-=p.data.length;for(;p=p.next;){var i=p.data,s=e>i.length?i.length:e;if(i.copy(r,r.length-e,0,s),0===(e-=s)){s===i.length?(++o,p.next?t.head=p.next:t.head=t.tail=null):(t.head=p,p.data=i.slice(s));break}++o}return t.length-=o,r}(e,t);return p}(e,t.buffer,t.decoder),r);var r}function G(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,o.nextTick(A,t,e))}function A(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function R(e,t){for(var r=0,p=e.length;r=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?G(this):v(this),null;if(0===(e=b(e,t))&&t.ended)return 0===t.length&&G(this),null;var p,o=t.needReadable;return h("need readable",o),(0===t.length||t.length-e0?O(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&G(this)),null!==p&&this.emit("data",p),p},w.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},w.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,h("pipe count=%d opts=%j",i.pipesCount,t);var a=(!t||!1!==t.end)&&e!==p.stdout&&e!==p.stderr?c:w;function l(t,p){h("onunpipe"),t===r&&p&&!1===p.hasUnpiped&&(p.hasUnpiped=!0,h("cleanup"),e.removeListener("close",S),e.removeListener("finish",g),e.removeListener("drain",u),e.removeListener("error",_),e.removeListener("unpipe",l),r.removeListener("end",c),r.removeListener("end",w),r.removeListener("data",d),y=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function c(){h("onend"),e.end()}i.endEmitted?o.nextTick(a):r.once("end",a),e.on("unpipe",l);var u=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&n(e,"data")&&(t.flowing=!0,D(e))}}(r);e.on("drain",u);var y=!1;var f=!1;function d(t){h("ondata"),f=!1,!1!==e.write(t)||f||((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==R(i.pipes,e))&&!y&&(h("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,f=!0),r.pause())}function _(t){h("onerror",t),w(),e.removeListener("error",_),0===n(e,"error")&&e.emit("error",t)}function S(){e.removeListener("finish",g),w()}function g(){h("onfinish"),e.removeListener("close",S),w()}function w(){h("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",_),e.once("close",S),e.once("finish",g),e.emit("pipe",r),i.flowing||(h("pipe resume"),r.resume()),e},w.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var p=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function n(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function a(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var p=r.charCodeAt(r.length-1);if(p>=55296&&p<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function c(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function u(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function y(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return o>0&&(e.lastNeed=o-1),o;if(--p=0)return o>0&&(e.lastNeed=o-2),o;if(--p=0)return o>0&&(2===o?o=0:e.lastNeed=o-3),o;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var p=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,p),e.toString("utf8",t,p)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){"use strict";e.exports=s;var p=r(7),o=r(10);function i(e,t){var r=this._transformState;r.transforming=!1;var p=r.writecb;if(!p)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=t&&this.push(t),p(e);var o=this._readableState;o.reading=!1,(o.needReadable||o.length>8&255^255&p],t&=65535}return t}p.exports={preambleByte:85,crc16:_,sbpIdTable:h,sbpMessageTypesTable:f,decode:function(e){var t=d.parse(e),r=h[t.msg_type];return void 0===r?(console.log("Unknown message type: ",t.msg_type),new s(t)):new r(t)},dispatch:function(t,r,o){var i,s,n=new e(0);if(void 0===o&&"function"==typeof r?i=r:(i=o,s=r),s&&!Array.isArray(s)&&-1===["function","number"].indexOf(typeof s))throw l("dispatch: messageWhitelist must be function, number, or array");var a=function(r){t.pause();try{if((n=e.concat([n,r])).length<2)return;var o=function(){var e,t,r,o,i,a,l;for(l=0;ln.length)throw new c;e=n.slice(l+1,l+6),r=n.readUInt16LE(l+1),n.readUInt16LE(l+3),o=n.readUInt8(l+5);var y=s&&Array.isArray(s)&&-1!==s.indexOf(r),h=s&&"number"==typeof s&&s&r,f=s&&"function"==typeof s&&s(r);if(s&&!(y||h||f))return n=n.slice(l+6+o+2),null;if(l+8+o>n.length)throw new c;a=_(n.slice(l+6,l+6+o),_(e)),i=n.readUInt16LE(l+6+o);var d=n.slice(l,l+6+o+2);if(i===a)return n=n.slice(l+6+o+2),[p.exports.decode(d),d];throw n=n.slice(l+1),new u}();if(null===o)return;var l=o[0],y=o[1];i(null,l,y)}catch(e){if(!(e instanceof c||e instanceof u))throw e}finally{0,t.resume(),n.length>0&&setTimeout((function(){a(new e(0))}),0)}};t.on("data",a)}},function(e){var r={function:!0,object:!0},i=r[typeof window]&&window||this,s=r[typeof t]&&t&&!t.nodeType&&t,n=r[typeof p]&&p&&!p.nodeType&&p,a=s&&n&&"object"==typeof o&&o;!a||a.global!==a&&a.window!==a&&a.self!==a||(i=a),i.SBP=e}(p.exports)}).call(this,r(8).Buffer,r(26)(e),r(5))},function(e,t,r){"use strict";t.byteLength=function(e){var t=l(e),r=t[0],p=t[1];return 3*(r+p)/4-p},t.toByteArray=function(e){for(var t,r=l(e),p=r[0],s=r[1],n=new i(function(e,t,r){return 3*(t+r)/4-r}(0,p,s)),a=0,c=s>0?p-4:p,u=0;u>16&255,n[a++]=t>>8&255,n[a++]=255&t;2===s&&(t=o[e.charCodeAt(u)]<<2|o[e.charCodeAt(u+1)]>>4,n[a++]=255&t);1===s&&(t=o[e.charCodeAt(u)]<<10|o[e.charCodeAt(u+1)]<<4|o[e.charCodeAt(u+2)]>>2,n[a++]=t>>8&255,n[a++]=255&t);return n},t.fromByteArray=function(e){for(var t,r=e.length,o=r%3,i=[],s=0,n=r-o;sn?n:s+16383));1===o?(t=e[r-1],i.push(p[t>>2]+p[t<<4&63]+"==")):2===o&&(t=(e[r-2]<<8)+e[r-1],i.push(p[t>>10]+p[t>>4&63]+p[t<<2&63]+"="));return i.join("")};for(var p=[],o=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,a=s.length;n0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var o,i,s=[],n=t;n>18&63]+p[i>>12&63]+p[i>>6&63]+p[63&i]);return s.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,p,o){var i,s,n=8*o-p-1,a=(1<>1,c=-7,u=r?o-1:0,y=r?-1:1,h=e[t+u];for(u+=y,i=h&(1<<-c)-1,h>>=-c,c+=n;c>0;i=256*i+e[t+u],u+=y,c-=8);for(s=i&(1<<-c)-1,i>>=-c,c+=p;c>0;s=256*s+e[t+u],u+=y,c-=8);if(0===i)i=1-l;else{if(i===a)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,p),i-=l}return(h?-1:1)*s*Math.pow(2,i-p)},t.write=function(e,t,r,p,o,i){var s,n,a,l=8*i-o-1,c=(1<>1,y=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=p?0:i-1,f=p?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(n=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-s))<1&&(s--,a*=2),(t+=s+u>=1?y/a:y*Math.pow(2,1-u))*a>=2&&(s++,a/=2),s+u>=c?(n=0,s=c):s+u>=1?(n=(t*a-1)*Math.pow(2,o),s+=u):(n=t*Math.pow(2,u-1)*Math.pow(2,o),s=0));o>=8;e[r+h]=255&n,h+=f,n/=256,o-=8);for(s=s<0;e[r+h]=255&s,h+=f,s/=256,l-=8);e[r+h-f]|=128*d}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){var r=function(){this.code="",this.scopes=[["vars"]],this.isAsync=!1,this.bitFields=[],this.tmpVariableCount=0};r.prototype.generateVariable=function(e){var t=[];return Array.prototype.push.apply(t,this.scopes[this.scopes.length-1]),e&&t.push(e),t.join(".")},r.prototype.generateOption=function(e){switch(typeof e){case"number":return e.toString();case"string":return this.generateVariable(e);case"function":return"("+e+").call("+this.generateVariable()+")"}},r.prototype.generateError=function(){var e=Array.prototype.slice.call(arguments),t=r.interpolate.apply(this,e);this.isAsync?this.pushCode("return process.nextTick(function() { callback(new Error("+t+"), vars); });"):this.pushCode("throw new Error("+t+");")},r.prototype.generateTmpVariable=function(){return"$tmp"+this.tmpVariableCount++},r.prototype.pushCode=function(){var e=Array.prototype.slice.call(arguments);this.code+=r.interpolate.apply(this,e)+"\n"},r.prototype.pushPath=function(e){this.scopes[this.scopes.length-1].push(e)},r.prototype.popPath=function(){this.scopes[this.scopes.length-1].pop()},r.prototype.pushScope=function(e){this.scopes.push([e])},r.prototype.popScope=function(){this.scopes.pop()},r.interpolate=function(e){var t=/{\d+}/g,r=e.match(t),p=Array.prototype.slice.call(arguments,1);return r&&r.forEach((function(t){var r=parseInt(t.substr(1,t.length-2),10);e=e.replace(t,p[r].toString())})),e},t.Context=r},function(e,t,r){(function(e){function r(e,t){for(var r=0,p=e.length-1;p>=0;p--){var o=e[p];"."===o?e.splice(p,1):".."===o?(e.splice(p,1),r++):r&&(e.splice(p,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,o=function(e){return p.exec(e).slice(1)};function i(e,t){if(e.filter)return e.filter(t);for(var r=[],p=0;p=-1&&!p;o--){var s=o>=0?arguments[o]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,p="/"===s.charAt(0))}return(p?"/":"")+(t=r(i(t.split("/"),(function(e){return!!e})),!p).join("/"))||"."},t.normalize=function(e){var p=t.isAbsolute(e),o="/"===s(e,-1);return(e=r(i(e.split("/"),(function(e){return!!e})),!p).join("/"))||p||(e="."),e&&o&&(e+="/"),(p?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function p(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var o=p(e.split("/")),i=p(r.split("/")),s=Math.min(o.length,i.length),n=s,a=0;a0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return p.alloc(0);if(1===this.length)return this.head.data;for(var t=p.allocUnsafe(e>>>0),r=this.head,o=0;r;)i(r.data,t,o),o+=r.data.length,r=r.next;return t},e}(),o&&o.inspect&&o.inspect.custom&&(e.exports.prototype[o.inspect.custom]=function(){var e=o.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,r){(function(e){var p=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,p,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,p,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(p,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r(34),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(5))},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var p,o,i,s,n,a=1,l={},c=!1,u=e.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(e);y=y&&y.setTimeout?y:e,"[object process]"==={}.toString.call(e.process)?p=function(e){t.nextTick((function(){f(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){f(e.data)},p=function(e){i.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(o=u.documentElement,p=function(e){var t=u.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):p=function(e){setTimeout(f,0,e)}:(s="setImmediate$"+Math.random()+"$",n=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&f(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",n,!1):e.attachEvent("onmessage",n),p=function(t){e.postMessage(s+t,"*")}),y.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function f(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var p=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return k(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return B(e).length;default:if(p)return k(e).length;t=(""+t).toLowerCase(),p=!0}}function d(e,t,r){var p=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,t,r);case"utf8":case"utf-8":return T(this,t,r);case"ascii":return M(this,t,r);case"latin1":case"binary":return U(this,t,r);case"base64":return I(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,r);default:if(p)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),p=!0}}function _(e,t,r){var p=e[t];e[t]=e[r],e[r]=p}function S(e,t,r,p,o){if(0===e.length)return-1;if("string"==typeof r?(p=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof t&&(t=a.from(t,p)),a.isBuffer(t))return 0===t.length?-1:g(e,t,r,p,o);if("number"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):g(e,[t],r,p,o);throw new TypeError("val must be string, number or Buffer")}function g(e,t,r,p,o){var i,s=1,n=e.length,a=t.length;if(void 0!==p&&("ucs2"===(p=String(p).toLowerCase())||"ucs-2"===p||"utf16le"===p||"utf-16le"===p)){if(e.length<2||t.length<2)return-1;s=2,n/=2,a/=2,r/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var c=-1;for(i=r;in&&(r=n-a),i=r;i>=0;i--){for(var u=!0,y=0;yo&&(p=o):p=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");p>i/2&&(p=i/2);for(var s=0;s>8,o=r%256,i.push(o),i.push(p);return i}(t,e.length-r),e,r,p)}function I(e,t,r){return 0===t&&r===e.length?p.fromByteArray(e):p.fromByteArray(e.slice(t,r))}function T(e,t,r){r=Math.min(e.length,r);for(var p=[],o=t;o239?4:l>223?3:l>191?2:1;if(o+u<=r)switch(u){case 1:l<128&&(c=l);break;case 2:128==(192&(i=e[o+1]))&&(a=(31&l)<<6|63&i)>127&&(c=a);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(a=(15&l)<<12|(63&i)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:i=e[o+1],s=e[o+2],n=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&n)&&(a=(15&l)<<18|(63&i)<<12|(63&s)<<6|63&n)>65535&&a<1114112&&(c=a)}null===c?(c=65533,u=1):c>65535&&(c-=65536,p.push(c>>>10&1023|55296),c=56320|1023&c),p.push(c),o+=u}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",p=0;for(;p0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},a.prototype.compare=function(e,t,r,p,o){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===p&&(p=0),void 0===o&&(o=this.length),t<0||r>e.length||p<0||o>this.length)throw new RangeError("out of range index");if(p>=o&&t>=r)return 0;if(p>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(p>>>=0),s=(r>>>=0)-(t>>>=0),n=Math.min(i,s),l=this.slice(p,o),c=e.slice(t,r),u=0;uo)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");p||(p="utf8");for(var i=!1;;)switch(p){case"hex":return w(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":return m(this,e,t,r);case"latin1":case"binary":return b(this,e,t,r);case"base64":return v(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+p);p=(""+p).toLowerCase(),i=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function M(e,t,r){var p="";r=Math.min(e.length,r);for(var o=t;op)&&(r=p);for(var o="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,r,p,o,i){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function C(e,t,r,p){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-r,2);o>>8*(p?o:1-o)}function R(e,t,r,p){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-r,4);o>>8*(p?o:3-o)&255}function P(e,t,r,p,o,i){if(r+p>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(e,t,r,p,i){return i||P(e,0,r,4),o.write(e,t,r,p,23,4),r+4}function j(e,t,r,p,i){return i||P(e,0,r,8),o.write(e,t,r,p,52,8),r+8}a.prototype.slice=function(e,t){var r,p=this.length;if((e=~~e)<0?(e+=p)<0&&(e=0):e>p&&(e=p),(t=void 0===t?p:~~t)<0?(t+=p)<0&&(t=0):t>p&&(t=p),t0&&(o*=256);)p+=this[e+--t]*o;return p},a.prototype.readUInt8=function(e,t){return t||G(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||G(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||G(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||G(e,t,this.length);for(var p=this[e],o=1,i=0;++i=(o*=128)&&(p-=Math.pow(2,8*t)),p},a.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||G(e,t,this.length);for(var p=t,o=1,i=this[e+--p];p>0&&(o*=256);)i+=this[e+--p]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},a.prototype.readInt8=function(e,t){return t||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||G(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(e,t){t||G(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(e,t){return t||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||G(e,4,this.length),o.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||G(e,4,this.length),o.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||G(e,8,this.length),o.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||G(e,8,this.length),o.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,r,p){(e=+e,t|=0,r|=0,p)||A(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+r},a.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):C(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):C(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,r,p){if(e=+e,t|=0,!p){var o=Math.pow(2,8*r-1);A(this,e,t,r,o-1,-o)}var i=0,s=1,n=0;for(this[t]=255&e;++i>0)-n&255;return t+r},a.prototype.writeIntBE=function(e,t,r,p){if(e=+e,t|=0,!p){var o=Math.pow(2,8*r-1);A(this,e,t,r,o-1,-o)}var i=r-1,s=1,n=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===n&&0!==this[t+i+1]&&(n=1),this[t+i]=(e/s>>0)-n&255;return t+r},a.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):C(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):C(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,r){return N(this,e,t,!0,r)},a.prototype.writeFloatBE=function(e,t,r){return N(this,e,t,!1,r)},a.prototype.writeDoubleLE=function(e,t,r){return j(this,e,t,!0,r)},a.prototype.writeDoubleBE=function(e,t,r){return j(this,e,t,!1,r)},a.prototype.copy=function(e,t,r,p){if(r||(r=0),p||0===p||(p=this.length),t>=e.length&&(t=e.length),t||(t=0),p>0&&p=this.length)throw new RangeError("sourceStart out of bounds");if(p<0)throw new RangeError("sourceEnd out of bounds");p>this.length&&(p=this.length),e.length-t=0;--o)e[o+t]=this[o+r];else if(i<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===p){(t-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function B(e){return p.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(x,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,r,p){for(var o=0;o=t.length||o>=e.length);++o)t[o+r]=e[o];return o}}).call(this,r(5))},function(e,t){var r,p,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function n(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{p="function"==typeof clearTimeout?clearTimeout:s}catch(e){p=s}}();var a,l=[],c=!1,u=-1;function y(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&h())}function h(){if(!c){var e=n(y);c=!0;for(var t=l.length;t;){for(a=l,l=[];++u1)for(var r=1;r=0)e=o[this.type];else if("String"===this.type&&"number"==typeof this.options.length)e=this.options.length;else if("Array"===this.type&&"number"==typeof this.options.length){var t=NaN;"string"==typeof this.options.type?t=o[s[this.options.type]]:this.options.type instanceof n&&(t=this.options.type.sizeOf()),e=this.options.length*t}else"Skip"===this.type?e=this.options.length:this.type||(e=0);return this.next&&(e+=this.next.sizeOf()),e},n.prototype.parse=function(e,t){return this.compiled||this.compile(),this.compiled(e,t,this.constructorFn)},n.prototype.setNextParser=function(e,t,r){var p=new n;return p.type=s[e],p.varName=t,p.options=r||p.options,p.endian=this.endian,this.head?this.head.next=p:this.next=p,this.head=p,this},n.prototype.generate=function(e){this.type&&(this["generate"+this.type](e),this.generateAssert(e));var t=e.generateVariable(this.varName);return this.options.formatter&&this.generateFormatter(e,t,this.options.formatter),this.generateNext(e)},n.prototype.generateAssert=function(e){if(this.options.assert){var t=e.generateVariable(this.varName);switch(typeof this.options.assert){case"function":e.pushCode("if (!({0}).call(vars, {1})) {",this.options.assert,t);break;case"number":e.pushCode("if ({0} !== {1}) {",this.options.assert,t);break;case"string":e.pushCode('if ("{0}" !== {1}) {',this.options.assert,t);break;default:throw new Error("Assert option supports only strings, numbers and assert functions.")}e.generateError('"Assert error: {0} is " + {0}',t),e.pushCode("}")}},n.prototype.generateNext=function(e){return this.next&&(e=this.next.generate(e)),e},Object.keys(o).forEach((function(e){n.prototype["generate"+e]=function(t){t.pushCode("{0} = buffer.read{1}(offset);",t.generateVariable(this.varName),e),t.pushCode("offset += {0};",o[e])}})),n.prototype.generateBit=function(e){var t=JSON.parse(JSON.stringify(this));if(t.varName=e.generateVariable(t.varName),e.bitFields.push(t),!this.next||this.next&&["Bit","Nest"].indexOf(this.next.type)<0){var r=0;e.bitFields.forEach((function(e){r+=e.options.length}));var p=e.generateTmpVariable();if(r<=8)e.pushCode("var {0} = buffer.readUInt8(offset);",p),r=8;else if(r<=16)e.pushCode("var {0} = buffer.readUInt16BE(offset);",p),r=16;else if(r<=24){var o=e.generateTmpVariable(),i=e.generateTmpVariable();e.pushCode("var {0} = buffer.readUInt16BE(offset);",o),e.pushCode("var {0} = buffer.readUInt8(offset + 2);",i),e.pushCode("var {2} = ({0} << 8) | {1};",o,i,p),r=24}else{if(!(r<=32))throw new Error("Currently, bit field sequence longer than 4-bytes is not supported.");e.pushCode("var {0} = buffer.readUInt32BE(offset);",p),r=32}e.pushCode("offset += {0};",r/8);var s=0,n="be"===this.endian;e.bitFields.forEach((function(t){e.pushCode("{0} = {1} >> {2} & {3};",t.varName,p,n?r-s-t.options.length:s,(1< offset++);"),e.pushCode("{0} = buffer.toString('{1}', {2}, offset);",t,this.options.encoding,r)),this.options.stripNull&&e.pushCode("{0} = {0}.replace(/\\x00+$/g, '')",t)},n.prototype.generateBuffer=function(e){if("eof"===this.options.readUntil?e.pushCode("{0} = buffer.slice(offset, buffer.length - 1);",e.generateVariable(this.varName)):(e.pushCode("{0} = buffer.slice(offset, offset + {1});",e.generateVariable(this.varName),e.generateOption(this.options.length)),e.pushCode("offset += {0};",e.generateOption(this.options.length))),this.options.clone){var t=e.generateTmpVariable();e.pushCode("var {0} = new Buffer({1}.length);",t,e.generateVariable(this.varName)),e.pushCode("{0}.copy({1});",e.generateVariable(this.varName),t),e.pushCode("{0} = {1}",e.generateVariable(this.varName),t)}},n.prototype.generateArray=function(e){var t=e.generateOption(this.options.length),r=this.options.type,p=e.generateTmpVariable(),i=e.generateVariable(this.varName),a=e.generateTmpVariable(),l=this.options.key,c="string"==typeof l;c?e.pushCode("{0} = {};",i):e.pushCode("{0} = [];",i),"function"==typeof this.options.readUntil?e.pushCode("do {"):"eof"===this.options.readUntil?e.pushCode("for (var {0} = 0; offset < buffer.length; {0}++) {",p):e.pushCode("for (var {0} = 0; {0} < {1}; {0}++) {",p,t),"string"==typeof r?(e.pushCode("var {0} = buffer.read{1}(offset);",a,s[r]),e.pushCode("offset += {0};",o[s[r]])):r instanceof n&&(e.pushCode("var {0} = {};",a),e.pushScope(a),r.generate(e),e.popScope()),c?e.pushCode("{0}[{2}.{1}] = {2};",i,l,a):e.pushCode("{0}.push({1});",i,a),e.pushCode("}"),"function"==typeof this.options.readUntil&&e.pushCode(" while (!({0}).call(this, {1}, buffer.slice(offset)));",this.options.readUntil,a)},n.prototype.generateChoiceCase=function(e,t,r){"string"==typeof r?(e.pushCode("{0} = buffer.read{1}(offset);",e.generateVariable(this.varName),s[r]),e.pushCode("offset += {0};",o[s[r]])):r instanceof n&&(e.pushPath(t),r.generate(e),e.popPath())},n.prototype.generateChoice=function(e){var t=e.generateOption(this.options.tag);e.pushCode("{0} = {};",e.generateVariable(this.varName)),e.pushCode("switch({0}) {",t),Object.keys(this.options.choices).forEach((function(t){var r=this.options.choices[t];e.pushCode("case {0}:",t),this.generateChoiceCase(e,this.varName,r),e.pushCode("break;")}),this),e.pushCode("default:"),this.options.defaultChoice?this.generateChoiceCase(e,this.varName,this.options.defaultChoice):e.generateError('"Met undefined tag value " + {0} + " at choice"',t),e.pushCode("}")},n.prototype.generateNest=function(e){var t=e.generateVariable(this.varName);e.pushCode("{0} = {};",t),e.pushPath(this.varName),this.options.type.generate(e),e.popPath()},n.prototype.generateFormatter=function(e,t,r){"function"==typeof r&&e.pushCode("{0} = ({1}).call(this, {0});",t,r)},n.prototype.isInteger=function(){return!!this.type.match(/U?Int[8|16|32][BE|LE]?|Bit\d+/)},t.Parser=n},function(e,t){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function p(e){return"function"==typeof e}function o(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,r,s,n,a,l;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(i(r=this._events[e]))return!1;if(p(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:n=Array.prototype.slice.call(arguments,1),r.apply(this,n)}else if(o(r))for(n=Array.prototype.slice.call(arguments,1),s=(l=r.slice()).length,a=0;a0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){if(!p(t))throw TypeError("listener must be a function");var r=!1;function o(){this.removeListener(e,o),r||(r=!0,t.apply(this,arguments))}return o.listener=t,this.on(e,o),this},r.prototype.removeListener=function(e,t){var r,i,s,n;if(!p(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(s=(r=this._events[e]).length,i=-1,r===t||p(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(r)){for(n=s;n-- >0;)if(r[n]===t||r[n].listener&&r[n].listener===t){i=n;break}if(i<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(p(r=this._events[e]))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){return this._events&&this._events[e]?p(this._events[e])?[this._events[e]]:this._events[e].slice():[]},r.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(p(t))return 1;if(t)return t.length}return 0},r.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,r){(t=e.exports=r(18)).Stream=t,t.Readable=t,t.Writable=r(16),t.Duplex=r(7),t.Transform=r(22),t.PassThrough=r(36)},function(e,t,r){"use strict";(function(t,p,o){var i=r(11);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var p=e.entry;e.entry=null;for(;p;){var o=p.callback;t.pendingcb--,o(r),p=p.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=g;var n,a=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?p:i.nextTick;g.WritableState=S;var l=r(10);l.inherits=r(6);var c={deprecate:r(35)},u=r(19),y=r(12).Buffer,h=o.Uint8Array||function(){};var f,d=r(20);function _(){}function S(e,t){n=n||r(7),e=e||{};var p=t instanceof n;this.objectMode=!!e.objectMode,p&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var o=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:p&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===e.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,p=r.sync,o=r.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,p,o){--t.pendingcb,r?(i.nextTick(o,p),i.nextTick(L,e,t),e._writableState.errorEmitted=!0,e.emit("error",p)):(o(p),e._writableState.errorEmitted=!0,e.emit("error",p),L(e,t))}(e,r,p,t,o);else{var s=b(r);s||r.corked||r.bufferProcessing||!r.bufferedRequest||m(e,r),p?a(E,e,r,s,o):E(e,r,s,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function g(e){if(n=n||r(7),!(f.call(g,this)||this instanceof n))return new g(e);this._writableState=new S(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),u.call(this)}function w(e,t,r,p,o,i,s){t.writelen=p,t.writecb=s,t.writing=!0,t.sync=!0,r?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function E(e,t,r,p){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,p(),L(e,t)}function m(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var p=t.bufferedRequestCount,o=new Array(p),i=t.corkedRequestsFree;i.entry=r;for(var n=0,a=!0;r;)o[n]=r,r.isBuf||(a=!1),r=r.next,n+=1;o.allBuffers=a,w(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,c=r.encoding,u=r.callback;if(w(e,t,!1,t.objectMode?1:l.length,l,c,u),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function b(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function v(e,t){e._final((function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),L(e,t)}))}function L(e,t){var r=b(t);return r&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,i.nextTick(v,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}l.inherits(g,u),S.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(S.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(e){return!!f.call(this,e)||this===g&&(e&&e._writableState instanceof S)}})):f=function(e){return e instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(e,t,r){var p,o=this._writableState,s=!1,n=!o.objectMode&&(p=e,y.isBuffer(p)||p instanceof h);return n&&!y.isBuffer(e)&&(e=function(e){return y.from(e)}(e)),"function"==typeof t&&(r=t,t=null),n?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof r&&(r=_),o.ended?function(e,t){var r=new Error("write after end");e.emit("error",r),i.nextTick(t,r)}(this,r):(n||function(e,t,r,p){var o=!0,s=!1;return null===r?s=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),i.nextTick(p,s),o=!1),o}(this,o,e,r))&&(o.pendingcb++,s=function(e,t,r,p,o,i){if(!r){var s=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=y.from(t,r));return t}(t,p,o);p!==s&&(r=!0,o="buffer",p=s)}var n=t.objectMode?1:p.length;t.length+=n;var a=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),g.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(e,t,r){var p=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),p.corked&&(p.corked=1,this.uncork()),p.ending||p.finished||function(e,t,r){t.ending=!0,L(e,t),r&&(t.finished?i.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,p,r)},Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),g.prototype.destroy=d.destroy,g.prototype._undestroy=d.undestroy,g.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,r(9),r(33).setImmediate,r(5))},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";(function(t,p){var o=r(11);e.exports=w;var i,s=r(17);w.ReadableState=g;r(14).EventEmitter;var n=function(e,t){return e.listeners(t).length},a=r(19),l=r(12).Buffer,c=t.Uint8Array||function(){};var u=r(10);u.inherits=r(6);var y=r(30),h=void 0;h=y&&y.debuglog?y.debuglog("stream"):function(){};var f,d=r(31),_=r(20);u.inherits(w,a);var S=["error","close","destroy","pause","resume"];function g(e,t){e=e||{};var p=t instanceof(i=i||r(7));this.objectMode=!!e.objectMode,p&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var o=e.highWaterMark,s=e.readableHighWaterMark,n=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:p&&(s||0===s)?s:n,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=r(21).StringDecoder),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function w(e){if(i=i||r(7),!(this instanceof w))return new w(e);this._readableState=new g(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function E(e,t,r,p,o){var i,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,v(e)}(e,s)):(o||(i=function(e,t){var r;p=t,l.isBuffer(p)||p instanceof c||"string"==typeof t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var p;return r}(s,t)),i?e.emit("error",i):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=function(e){return l.from(e)}(t)),p?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):m(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?m(e,s,t,!1):I(e,s)):m(e,s,t,!1))):p||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function v(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?o.nextTick(L,e):L(e))}function L(e){h("emit readable"),e.emit("readable"),D(e)}function I(e,t){t.readingMore||(t.readingMore=!0,o.nextTick(T,e,t))}function T(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var p;ei.length?i.length:e;if(s===i.length?o+=i:o+=i.slice(0,e),0===(e-=s)){s===i.length?(++p,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=i.slice(s));break}++p}return t.length-=p,o}(e,t):function(e,t){var r=l.allocUnsafe(e),p=t.head,o=1;p.data.copy(r),e-=p.data.length;for(;p=p.next;){var i=p.data,s=e>i.length?i.length:e;if(i.copy(r,r.length-e,0,s),0===(e-=s)){s===i.length?(++o,p.next?t.head=p.next:t.head=t.tail=null):(t.head=p,p.data=i.slice(s));break}++o}return t.length-=o,r}(e,t);return p}(e,t.buffer,t.decoder),r);var r}function G(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,o.nextTick(A,t,e))}function A(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function C(e,t){for(var r=0,p=e.length;r=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?G(this):v(this),null;if(0===(e=b(e,t))&&t.ended)return 0===t.length&&G(this),null;var p,o=t.needReadable;return h("need readable",o),(0===t.length||t.length-e0?O(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&G(this)),null!==p&&this.emit("data",p),p},w.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},w.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,h("pipe count=%d opts=%j",i.pipesCount,t);var a=(!t||!1!==t.end)&&e!==p.stdout&&e!==p.stderr?c:w;function l(t,p){h("onunpipe"),t===r&&p&&!1===p.hasUnpiped&&(p.hasUnpiped=!0,h("cleanup"),e.removeListener("close",S),e.removeListener("finish",g),e.removeListener("drain",u),e.removeListener("error",_),e.removeListener("unpipe",l),r.removeListener("end",c),r.removeListener("end",w),r.removeListener("data",d),y=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function c(){h("onend"),e.end()}i.endEmitted?o.nextTick(a):r.once("end",a),e.on("unpipe",l);var u=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&n(e,"data")&&(t.flowing=!0,D(e))}}(r);e.on("drain",u);var y=!1;var f=!1;function d(t){h("ondata"),f=!1,!1!==e.write(t)||f||((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==C(i.pipes,e))&&!y&&(h("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,f=!0),r.pause())}function _(t){h("onerror",t),w(),e.removeListener("error",_),0===n(e,"error")&&e.emit("error",t)}function S(){e.removeListener("finish",g),w()}function g(){h("onfinish"),e.removeListener("close",S),w()}function w(){h("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",_),e.once("close",S),e.once("finish",g),e.emit("pipe",r),i.flowing||(h("pipe resume"),r.resume()),e},w.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var p=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function n(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function a(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var p=r.charCodeAt(r.length-1);if(p>=55296&&p<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function c(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function u(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function y(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return o>0&&(e.lastNeed=o-1),o;if(--p=0)return o>0&&(e.lastNeed=o-2),o;if(--p=0)return o>0&&(2===o?o=0:e.lastNeed=o-3),o;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var p=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,p),e.toString("utf8",t,p)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){"use strict";e.exports=s;var p=r(7),o=r(10);function i(e,t){var r=this._transformState;r.transforming=!1;var p=r.writecb;if(!p)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=t&&this.push(t),p(e);var o=this._readableState;o.reading=!1,(o.needReadable||o.length>8&255^255&p],t&=65535}return t}p.exports={preambleByte:85,crc16:_,sbpIdTable:h,sbpMessageTypesTable:f,decode:function(e){var t=d.parse(e),r=h[t.msg_type];return void 0===r?(console.log("Unknown message type: ",t.msg_type),new s(t)):new r(t)},dispatch:function(t,r,o){var i,s,n=new e(0);if(void 0===o&&"function"==typeof r?i=r:(i=o,s=r),s&&!Array.isArray(s)&&-1===["function","number"].indexOf(typeof s))throw l("dispatch: messageWhitelist must be function, number, or array");var a=function(r){t.pause();try{if((n=e.concat([n,r])).length<2)return;var o=function(){var e,t,r,o,i,a,l;for(l=0;ln.length)throw new c;e=n.slice(l+1,l+6),r=n.readUInt16LE(l+1),n.readUInt16LE(l+3),o=n.readUInt8(l+5);var y=s&&Array.isArray(s)&&-1!==s.indexOf(r),h=s&&"number"==typeof s&&s&r,f=s&&"function"==typeof s&&s(r);if(s&&!(y||h||f))return n=n.slice(l+6+o+2),null;if(l+8+o>n.length)throw new c;a=_(n.slice(l+6,l+6+o),_(e)),i=n.readUInt16LE(l+6+o);var d=n.slice(l,l+6+o+2);if(i===a)return n=n.slice(l+6+o+2),[p.exports.decode(d),d];throw n=n.slice(l+1),new u}();if(null===o)return;var l=o[0],y=o[1];i(null,l,y)}catch(e){if(!(e instanceof c||e instanceof u))throw e}finally{0,t.resume(),n.length>0&&setTimeout((function(){a(new e(0))}),0)}};t.on("data",a)}},function(e){var r={function:!0,object:!0},i=r[typeof window]&&window||this,s=r[typeof t]&&t&&!t.nodeType&&t,n=r[typeof p]&&p&&!p.nodeType&&p,a=s&&n&&"object"==typeof o&&o;!a||a.global!==a&&a.window!==a&&a.self!==a||(i=a),i.SBP=e}(p.exports)}).call(this,r(8).Buffer,r(26)(e),r(5))},function(e,t,r){"use strict";t.byteLength=function(e){var t=l(e),r=t[0],p=t[1];return 3*(r+p)/4-p},t.toByteArray=function(e){for(var t,r=l(e),p=r[0],s=r[1],n=new i(function(e,t,r){return 3*(t+r)/4-r}(0,p,s)),a=0,c=s>0?p-4:p,u=0;u>16&255,n[a++]=t>>8&255,n[a++]=255&t;2===s&&(t=o[e.charCodeAt(u)]<<2|o[e.charCodeAt(u+1)]>>4,n[a++]=255&t);1===s&&(t=o[e.charCodeAt(u)]<<10|o[e.charCodeAt(u+1)]<<4|o[e.charCodeAt(u+2)]>>2,n[a++]=t>>8&255,n[a++]=255&t);return n},t.fromByteArray=function(e){for(var t,r=e.length,o=r%3,i=[],s=0,n=r-o;sn?n:s+16383));1===o?(t=e[r-1],i.push(p[t>>2]+p[t<<4&63]+"==")):2===o&&(t=(e[r-2]<<8)+e[r-1],i.push(p[t>>10]+p[t>>4&63]+p[t<<2&63]+"="));return i.join("")};for(var p=[],o=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,a=s.length;n0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var o,i,s=[],n=t;n>18&63]+p[i>>12&63]+p[i>>6&63]+p[63&i]);return s.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,p,o){var i,s,n=8*o-p-1,a=(1<>1,c=-7,u=r?o-1:0,y=r?-1:1,h=e[t+u];for(u+=y,i=h&(1<<-c)-1,h>>=-c,c+=n;c>0;i=256*i+e[t+u],u+=y,c-=8);for(s=i&(1<<-c)-1,i>>=-c,c+=p;c>0;s=256*s+e[t+u],u+=y,c-=8);if(0===i)i=1-l;else{if(i===a)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,p),i-=l}return(h?-1:1)*s*Math.pow(2,i-p)},t.write=function(e,t,r,p,o,i){var s,n,a,l=8*i-o-1,c=(1<>1,y=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=p?0:i-1,f=p?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(n=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-s))<1&&(s--,a*=2),(t+=s+u>=1?y/a:y*Math.pow(2,1-u))*a>=2&&(s++,a/=2),s+u>=c?(n=0,s=c):s+u>=1?(n=(t*a-1)*Math.pow(2,o),s+=u):(n=t*Math.pow(2,u-1)*Math.pow(2,o),s=0));o>=8;e[r+h]=255&n,h+=f,n/=256,o-=8);for(s=s<0;e[r+h]=255&s,h+=f,s/=256,l-=8);e[r+h-f]|=128*d}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){var r=function(){this.code="",this.scopes=[["vars"]],this.isAsync=!1,this.bitFields=[],this.tmpVariableCount=0};r.prototype.generateVariable=function(e){var t=[];return Array.prototype.push.apply(t,this.scopes[this.scopes.length-1]),e&&t.push(e),t.join(".")},r.prototype.generateOption=function(e){switch(typeof e){case"number":return e.toString();case"string":return this.generateVariable(e);case"function":return"("+e+").call("+this.generateVariable()+")"}},r.prototype.generateError=function(){var e=Array.prototype.slice.call(arguments),t=r.interpolate.apply(this,e);this.isAsync?this.pushCode("return process.nextTick(function() { callback(new Error("+t+"), vars); });"):this.pushCode("throw new Error("+t+");")},r.prototype.generateTmpVariable=function(){return"$tmp"+this.tmpVariableCount++},r.prototype.pushCode=function(){var e=Array.prototype.slice.call(arguments);this.code+=r.interpolate.apply(this,e)+"\n"},r.prototype.pushPath=function(e){this.scopes[this.scopes.length-1].push(e)},r.prototype.popPath=function(){this.scopes[this.scopes.length-1].pop()},r.prototype.pushScope=function(e){this.scopes.push([e])},r.prototype.popScope=function(){this.scopes.pop()},r.interpolate=function(e){var t=/{\d+}/g,r=e.match(t),p=Array.prototype.slice.call(arguments,1);return r&&r.forEach((function(t){var r=parseInt(t.substr(1,t.length-2),10);e=e.replace(t,p[r].toString())})),e},t.Context=r},function(e,t,r){(function(e){function r(e,t){for(var r=0,p=e.length-1;p>=0;p--){var o=e[p];"."===o?e.splice(p,1):".."===o?(e.splice(p,1),r++):r&&(e.splice(p,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,o=function(e){return p.exec(e).slice(1)};function i(e,t){if(e.filter)return e.filter(t);for(var r=[],p=0;p=-1&&!p;o--){var s=o>=0?arguments[o]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,p="/"===s.charAt(0))}return(p?"/":"")+(t=r(i(t.split("/"),(function(e){return!!e})),!p).join("/"))||"."},t.normalize=function(e){var p=t.isAbsolute(e),o="/"===s(e,-1);return(e=r(i(e.split("/"),(function(e){return!!e})),!p).join("/"))||p||(e="."),e&&o&&(e+="/"),(p?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function p(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var o=p(e.split("/")),i=p(r.split("/")),s=Math.min(o.length,i.length),n=s,a=0;a0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return p.alloc(0);if(1===this.length)return this.head.data;for(var t=p.allocUnsafe(e>>>0),r=this.head,o=0;r;)i(r.data,t,o),o+=r.data.length,r=r.next;return t},e}(),o&&o.inspect&&o.inspect.custom&&(e.exports.prototype[o.inspect.custom]=function(){var e=o.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,r){(function(e){var p=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,p,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,p,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(p,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r(34),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(5))},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var p,o,i,s,n,a=1,l={},c=!1,u=e.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(e);y=y&&y.setTimeout?y:e,"[object process]"==={}.toString.call(e.process)?p=function(e){t.nextTick((function(){f(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){f(e.data)},p=function(e){i.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(o=u.documentElement,p=function(e){var t=u.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):p=function(e){setTimeout(f,0,e)}:(s="setImmediate$"+Math.random()+"$",n=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&f(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",n,!1):e.attachEvent("onmessage",n),p=function(t){e.postMessage(s+t,"*")}),y.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r * @license MIT */ -function p(e,t){if(e===t)return 0;for(var r=e.length,p=t.length,o=0,i=Math.min(r,p);o=0;l--)if(c[l]!==u[l])return!1;for(l=c.length-1;l>=0;l--)if(a=c[l],!g(e[a],t[a],r,p))return!1;return!0}(e,t,r,s))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function m(e,t,r,p){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(p=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),p=(r&&r.name?" ("+r.name+").":".")+(p?" "+p:"."),e&&!o&&_(o,r,"Missing expected exception"+p);var s="string"==typeof p,n=!e&&o&&!r;if((!e&&i.isError(o)&&s&&E(o,r)||n)&&_(o,r,"Got unwanted exception"+p),e&&o&&r&&!E(o,r)||!e&&o)throw o}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return f(d(e.actual),128)+" "+e.operator+" "+f(d(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var p=r.stack,o=h(t),i=p.indexOf("\n"+o);if(i>=0){var s=p.indexOf("\n",i+1);p=p.substring(s+1)}this.stack=p}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,r){e!=t&&_(e,t,r,"==",u.equal)},u.notEqual=function(e,t,r){e==t&&_(e,t,r,"!=",u.notEqual)},u.deepEqual=function(e,t,r){g(e,t,!1)||_(e,t,r,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,r){g(e,t,!0)||_(e,t,r,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,r){g(e,t,!1)&&_(e,t,r,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,r,p){g(t,r,!0)&&_(t,r,p,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,r){e!==t&&_(e,t,r,"===",u.strictEqual)},u.notStrictEqual=function(e,t,r){e===t&&_(e,t,r,"!==",u.notStrictEqual)},u.throws=function(e,t,r){m(!0,e,t,r)},u.doesNotThrow=function(e,t,r){m(!1,e,t,r)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var r in e)s.call(e,r)&&t.push(r);return t}}).call(this,r(5))},function(e,t,r){(function(e,p){var o=/%[sdj%]/g;t.format=function(e){if(!S(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(p[r++]);case"%d":return Number(p[r++]);case"%j":try{return JSON.stringify(p[r++])}catch(e){return"[Circular]"}default:return e}})),a=p[r];r=3&&(p.depth=arguments[2]),arguments.length>=4&&(p.colors=arguments[3]),f(r)?p.showHidden=r:r&&t._extend(p,r),g(p.showHidden)&&(p.showHidden=!1),g(p.depth)&&(p.depth=2),g(p.colors)&&(p.colors=!1),g(p.customInspect)&&(p.customInspect=!0),p.colors&&(p.stylize=a),c(p,e,p.depth)}function a(e,t){var r=n.styles[t];return r?"["+n.colors[r][0]+"m"+e+"["+n.colors[r][1]+"m":e}function l(e,t){return e}function c(e,r,p){if(e.customInspect&&r&&v(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(p,e);return S(o)||(o=c(e,o,p)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(S(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(_(t))return e.stylize(""+t,"number");if(f(t))return e.stylize(""+t,"boolean");if(d(t))return e.stylize("null","null")}(e,r);if(i)return i;var s=Object.keys(r),n=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(r)),b(r)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(r);if(0===s.length){if(v(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(m(r))return e.stylize(Date.prototype.toString.call(r),"date");if(b(r))return u(r)}var l,E="",L=!1,I=["{","}"];(h(r)&&(L=!0,I=["[","]"]),v(r))&&(E=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(E=" "+RegExp.prototype.toString.call(r)),m(r)&&(E=" "+Date.prototype.toUTCString.call(r)),b(r)&&(E=" "+u(r)),0!==s.length||L&&0!=r.length?p<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),l=L?function(e,t,r,p,o){for(var i=[],s=0,n=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,E,I)):I[0]+E+I[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,p,o,i){var s,n,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?n=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(n=e.stylize("[Setter]","special")),U(p,o)||(s="["+o+"]"),n||(e.seen.indexOf(a.value)<0?(n=d(r)?c(e,a.value,null):c(e,a.value,r-1)).indexOf("\n")>-1&&(n=i?n.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+n.split("\n").map((function(e){return" "+e})).join("\n")):n=e.stylize("[Circular]","special")),g(s)){if(i&&o.match(/^\d+$/))return n;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+n}function h(e){return Array.isArray(e)}function f(e){return"boolean"==typeof e}function d(e){return null===e}function _(e){return"number"==typeof e}function S(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return E(e)&&"[object RegExp]"===L(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===L(e)}function b(e){return E(e)&&("[object Error]"===L(e)||e instanceof Error)}function v(e){return"function"==typeof e}function L(e){return Object.prototype.toString.call(e)}function I(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(i)&&(i=p.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=p.pid;s[e]=function(){var p=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,p)}}else s[e]=function(){};return s[e]},t.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=f,t.isNull=d,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=S,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=w,t.isObject=E,t.isDate=m,t.isError=b,t.isFunction=v,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(43);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(){var e=new Date,t=[I(e.getHours()),I(e.getMinutes()),I(e.getSeconds())].join(":");return[e.getDate(),T[e.getMonth()],t].join(" ")}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",M(),t.format.apply(t,arguments))},t.inherits=r(6),t._extend=function(e,t){if(!t||!E(t))return e;for(var r=Object.keys(t),p=r.length;p--;)e[r[p]]=t[r[p]];return e}}).call(this,r(5),r(9))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,r){var p;!function(r){o(Math.pow(36,5)),o(Math.pow(16,7)),o(Math.pow(10,9)),o(Math.pow(2,30)),o(36),o(16),o(10),o(2);function o(e,t){return this instanceof o?(this._low=0,this._high=0,this.remainder=null,void 0===t?s.call(this,e):"string"==typeof e?n.call(this,e,t):void i.call(this,e,t)):new o(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function s(e){return this._low=65535&e,this._high=e>>>16,this}function n(e,t){var r=parseInt(e,t||10);return this._low=65535&r,this._high=r>>>16,this}o.prototype.fromBits=i,o.prototype.fromNumber=s,o.prototype.fromString=n,o.prototype.toNumber=function(){return 65536*this._high+this._low},o.prototype.toString=function(e){return this.toNumber().toString(e||10)},o.prototype.add=function(e){var t=this._low+e._low,r=t>>>16;return r+=this._high+e._high,this._low=65535&t,this._high=65535&r,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,r,p=this._high,o=this._low,i=e._high,s=e._low;return t=(r=o*s)>>>16,t+=p*s,t&=65535,t+=o*i,this._low=65535&r,this._high=65535&t,this},o.prototype.div=function(e){if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new o(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new o(0),this._low=1,this._high=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._low=0,this._high=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=16?this._high|=1<>>16)&65535,this},o.prototype.equals=o.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},o.prototype.greaterThan=o.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},o.prototype.lessThan=o.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},o.prototype.shiftLeft=o.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.rotateRight=o.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.clone=function(){return new o(this._low,this._high)},void 0===(p=function(){return o}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p;!function(r){var o={16:s(Math.pow(16,5)),10:s(Math.pow(10,5)),2:s(Math.pow(2,5))},i={16:s(16),10:s(10),2:s(2)};function s(e,t,r,p){return this instanceof s?(this.remainder=null,"string"==typeof e?l.call(this,e,t):void 0===t?a.call(this,e):void n.apply(this,arguments)):new s(e,t,r,p)}function n(e,t,r,p){return void 0===r?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|r,this._a48=0|p,this)}function a(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function l(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var r=o[t]||new s(Math.pow(t,5)),p=0,i=e.length;p=0&&(r.div(t),p[o]=r.remainder.toNumber().toString(e),r.gt(t));o--);return p[o-1]=r.toNumber().toString(e),p.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,r=t>>>16,p=(r+=this._a16+e._a16)>>>16,o=(p+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&r,this._a32=65535&p,this._a48=65535&o,this},s.prototype.subtract=function(e){return this.add(e.clone().negate())},s.prototype.multiply=function(e){var t=this._a00,r=this._a16,p=this._a32,o=this._a48,i=e._a00,s=e._a16,n=e._a32,a=t*i,l=a>>>16,c=(l+=t*s)>>>16;l&=65535,c+=(l+=r*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=r*s)>>>16,c&=65535,u+=(c+=p*i)>>>16,u+=t*e._a48,u&=65535,u+=r*n,u&=65535,u+=p*s,u&=65535,u+=o*i,this._a00=65535&a,this._a16=65535&l,this._a32=65535&c,this._a48=65535&u,this},s.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new s(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new s(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},s.prototype.equals=s.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},s.prototype.greaterThan=s.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},s.prototype.lessThan=s.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},s.prototype.shiftLeft=s.prototype.shiftl=function(e,t){return(e%=64)>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r<>>32-e,i=p<>>32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.rotateRight=s.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r>>>e|p<<32-e,i=p>>>e|r<<32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.clone=function(){return new s(this._a00,this._a16,this._a32,this._a48)},void 0===(p=function(){return s}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=(r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT",n.prototype.msg_type=47,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:i.prototype.parser}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),n.prototype.fieldSpec.push(["cp","writeFloatLE",4]),n.prototype.fieldSpec.push(["cf","writeFloatLE",4]),n.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_C",a.prototype.msg_type=31,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),a.prototype.fieldSpec.push(["cp","writeFloatLE",4]),a.prototype.fieldSpec.push(["cf","writeFloatLE",4]),a.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_B",l.prototype.msg_type=20,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["snr","writeFloatLE",4]),l.prototype.fieldSpec.push(["cp","writeFloatLE",4]),l.prototype.fieldSpec.push(["cf","writeFloatLE",4]),l.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_A",c.prototype.msg_type=21,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").uint8("prn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["snr","writeFloatLE",4]),c.prototype.fieldSpec.push(["cp","writeFloatLE",4]),c.prototype.fieldSpec.push(["cf","writeFloatLE",4]),c.prototype.fieldSpec.push(["prn","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="AcqSvProfile",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:i.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["job_type","writeUInt8",1]),u.prototype.fieldSpec.push(["status","writeUInt8",1]),u.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),u.prototype.fieldSpec.push(["int_time","writeUInt8",1]),u.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),u.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),u.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),u.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf","writeInt32LE",4]),u.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="AcqSvProfileDep",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:s.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["job_type","writeUInt8",1]),y.prototype.fieldSpec.push(["status","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),y.prototype.fieldSpec.push(["int_time","writeUInt8",1]),y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),y.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),y.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),y.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf","writeInt32LE",4]),y.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE",h.prototype.msg_type=46,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:u.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["acq_sv_profile","array",u.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE_DEP",f.prototype.msg_type=30,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:y.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["acq_sv_profile","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={47:n,MsgAcqResult:n,31:a,MsgAcqResultDepC:a,20:l,MsgAcqResultDepB:l,21:c,MsgAcqResultDepA:c,AcqSvProfile:u,AcqSvProfileDep:y,46:h,MsgAcqSvProfile:h,30:f,MsgAcqSvProfileDep:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",i.prototype.msg_type=179,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",s.prototype.msg_type=180,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("flags").string("version",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt32LE",4]),s.prototype.fieldSpec.push(["version","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_JUMP_TO_APP",n.prototype.msg_type=177,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("jump"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["jump","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_REQ",a.prototype.msg_type=222,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little"),a.prototype.fieldSpec=[];var l=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_RESP",l.prototype.msg_type=221,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").array("dna",{length:8,type:"uint8"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["dna","array","writeUInt8",function(){return 1},8]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",c.prototype.msg_type=176,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("handshake",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["handshake","array","writeUInt8",function(){return 1},null]),e.exports={179:i,MsgBootloaderHandshakeReq:i,180:s,MsgBootloaderHandshakeResp:s,177:n,MsgBootloaderJumpToApp:n,222:a,MsgNapDeviceDnaReq:a,221:l,MsgNapDeviceDnaResp:l,176:c,MsgBootloaderHandshakeDepA:c}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_EXT_EVENT",i.prototype.msg_type=257,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags").uint8("pin"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]),i.prototype.fieldSpec.push(["pin","writeUInt8",1]),e.exports={257:i,MsgExtEvent:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_REQ",i.prototype.msg_type=168,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").uint8("chunk_size").string("filename",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),i.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),i.prototype.fieldSpec.push(["chunk_size","writeUInt8",1]),i.prototype.fieldSpec.push(["filename","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_RESP",s.prototype.msg_type=163,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),s.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_REQ",n.prototype.msg_type=169,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("dirname",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),n.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),n.prototype.fieldSpec.push(["dirname","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_RESP",a.prototype.msg_type=170,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),a.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_REMOVE",l.prototype.msg_type=172,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("filename",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["filename","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_REQ",c.prototype.msg_type=173,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("filename",{greedy:!0}).array("data",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),c.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),c.prototype.fieldSpec.push(["filename","string",null]),c.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_RESP",u.prototype.msg_type=171,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sequence"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_REQ",y.prototype.msg_type=4097,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sequence"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_RESP",h.prototype.msg_type=4098,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("window_size").uint32("batch_size").uint32("fileio_version"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),h.prototype.fieldSpec.push(["window_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["batch_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["fileio_version","writeUInt32LE",4]),e.exports={168:i,MsgFileioReadReq:i,163:s,MsgFileioReadResp:s,169:n,MsgFileioReadDirReq:n,170:a,MsgFileioReadDirResp:a,172:l,MsgFileioRemove:l,173:c,MsgFileioWriteReq:c,171:u,MsgFileioWriteResp:u,4097:y,MsgFileioConfigReq:y,4098:h,MsgFileioConfigResp:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_PROGRAM",i.prototype.msg_type=230,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len").array("data",{type:"uint8",length:"addr_len"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["target","writeUInt8",1]),i.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),i.prototype.fieldSpec.push(["addr_len","writeUInt8",1]),i.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},"addr_len"]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_DONE",s.prototype.msg_type=224,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("response"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["response","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_REQ",n.prototype.msg_type=231,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["target","writeUInt8",1]),n.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),n.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_RESP",a.prototype.msg_type=225,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["target","writeUInt8",1]),a.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),a.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_ERASE",l.prototype.msg_type=226,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("target").uint32("sector_num"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["target","writeUInt8",1]),l.prototype.fieldSpec.push(["sector_num","writeUInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_LOCK_SECTOR",c.prototype.msg_type=227,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sector"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_UNLOCK_SECTOR",u.prototype.msg_type=228,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sector"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_REQ",y.prototype.msg_type=232,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_RESP",h.prototype.msg_type=229,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("stm_id",{length:12,type:"uint8"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["stm_id","array","writeUInt8",function(){return 1},12]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_M25_FLASH_WRITE_STATUS",f.prototype.msg_type=243,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("status",{length:1,type:"uint8"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","array","writeUInt8",function(){return 1},1]),e.exports={230:i,MsgFlashProgram:i,224:s,MsgFlashDone:s,231:n,MsgFlashReadReq:n,225:a,MsgFlashReadResp:a,226:l,MsgFlashErase:l,227:c,MsgStmFlashLockSector:c,228:u,MsgStmFlashUnlockSector:u,232:y,MsgStmUniqueIdReq:y,229:h,MsgStmUniqueIdResp:h,243:f,MsgM25FlashWriteStatus:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_IMU_RAW",i.prototype.msg_type=2304,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("acc_x").int16("acc_y").int16("acc_z").int16("gyr_x").int16("gyr_y").int16("gyr_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["acc_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_z","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_z","writeInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_IMU_AUX",s.prototype.msg_type=2305,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("imu_type").int16("temp").uint8("imu_conf"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["imu_type","writeUInt8",1]),s.prototype.fieldSpec.push(["temp","writeInt16LE",2]),s.prototype.fieldSpec.push(["imu_conf","writeUInt8",1]),e.exports={2304:i,MsgImuRaw:i,2305:s,MsgImuAux:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_CPU_STATE",i.prototype.msg_type=32512,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").string("tname",{length:15}).string("cmdline",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["index","writeUInt8",1]),i.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),i.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),i.prototype.fieldSpec.push(["tname","string",15]),i.prototype.fieldSpec.push(["cmdline","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_MEM_STATE",s.prototype.msg_type=32513,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").string("tname",{length:15}).string("cmdline",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["index","writeUInt8",1]),s.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),s.prototype.fieldSpec.push(["pmem","writeUInt8",1]),s.prototype.fieldSpec.push(["tname","string",15]),s.prototype.fieldSpec.push(["cmdline","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SYS_STATE",n.prototype.msg_type=32514,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),n.prototype.fieldSpec.push(["pmem","writeUInt8",1]),n.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),n.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",a.prototype.msg_type=32515,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("socket_count").uint16("socket_types").uint16("socket_states").string("cmdline",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["index","writeUInt8",1]),a.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_count","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),a.prototype.fieldSpec.push(["cmdline","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",l.prototype.msg_type=32516,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("recv_queued").uint16("send_queued").uint16("socket_types").uint16("socket_states").string("address_of_largest",{length:64}).string("cmdline",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["index","writeUInt8",1]),l.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),l.prototype.fieldSpec.push(["recv_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["send_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),l.prototype.fieldSpec.push(["address_of_largest","string",64]),l.prototype.fieldSpec.push(["cmdline","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SOCKET_USAGE",c.prototype.msg_type=32517,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("avg_queue_depth").uint32("max_queue_depth").array("socket_state_counts",{length:16,type:"uint16le"}).array("socket_type_counts",{length:16,type:"uint16le"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["avg_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["max_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["socket_state_counts","array","writeUInt16LE",function(){return 2},16]),c.prototype.fieldSpec.push(["socket_type_counts","array","writeUInt16LE",function(){return 2},16]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_COUNT",u.prototype.msg_type=32518,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("fd_count").string("cmdline",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt8",1]),u.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),u.prototype.fieldSpec.push(["fd_count","writeUInt16LE",2]),u.prototype.fieldSpec.push(["cmdline","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_SUMMARY",y.prototype.msg_type=32519,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sys_fd_count").string("most_opened",{greedy:!0}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sys_fd_count","writeUInt32LE",4]),y.prototype.fieldSpec.push(["most_opened","string",null]),e.exports={32512:i,MsgLinuxCpuState:i,32513:s,MsgLinuxMemState:s,32514:n,MsgLinuxSysState:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LOG",i.prototype.msg_type=1025,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("level").string("text",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["level","writeUInt8",1]),i.prototype.fieldSpec.push(["text","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").string("fwd_payload",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_PRINT_DEP",n.prototype.msg_type=16,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").string("text",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["text","string",null]),e.exports={1025:i,MsgLog:i,1026:s,MsgFwd:s,16:n,MsgPrintDep:n}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_MAG_RAW",i.prototype.msg_type=2306,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("mag_x").int16("mag_y").int16("mag_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["mag_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_z","writeInt16LE",2]),e.exports={2306:i,MsgMagRaw:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME",i.prototype.msg_type=258,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_UTC_TIME",s.prototype.msg_type=259,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["year","writeUInt16LE",2]),s.prototype.fieldSpec.push(["month","writeUInt8",1]),s.prototype.fieldSpec.push(["day","writeUInt8",1]),s.prototype.fieldSpec.push(["hours","writeUInt8",1]),s.prototype.fieldSpec.push(["minutes","writeUInt8",1]),s.prototype.fieldSpec.push(["seconds","writeUInt8",1]),s.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_DOPS",n.prototype.msg_type=520,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF",a.prototype.msg_type=521,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeDoubleLE",8]),a.prototype.fieldSpec.push(["y","writeDoubleLE",8]),a.prototype.fieldSpec.push(["z","writeDoubleLE",8]),a.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),a.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV",l.prototype.msg_type=532,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["x","writeDoubleLE",8]),l.prototype.fieldSpec.push(["y","writeDoubleLE",8]),l.prototype.fieldSpec.push(["z","writeDoubleLE",8]),l.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH",c.prototype.msg_type=522,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),c.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),c.prototype.fieldSpec.push(["height","writeDoubleLE",8]),c.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV",u.prototype.msg_type=529,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),u.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),u.prototype.fieldSpec.push(["height","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF",y.prototype.msg_type=523,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["x","writeInt32LE",4]),y.prototype.fieldSpec.push(["y","writeInt32LE",4]),y.prototype.fieldSpec.push(["z","writeInt32LE",4]),y.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED",h.prototype.msg_type=524,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["n","writeInt32LE",4]),h.prototype.fieldSpec.push(["e","writeInt32LE",4]),h.prototype.fieldSpec.push(["d","writeInt32LE",4]),h.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF",f.prototype.msg_type=525,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),f.prototype.fieldSpec.push(["x","writeInt32LE",4]),f.prototype.fieldSpec.push(["y","writeInt32LE",4]),f.prototype.fieldSpec.push(["z","writeInt32LE",4]),f.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),f.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV",d.prototype.msg_type=533,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["x","writeInt32LE",4]),d.prototype.fieldSpec.push(["y","writeInt32LE",4]),d.prototype.fieldSpec.push(["z","writeInt32LE",4]),d.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED",_.prototype.msg_type=526,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["n","writeInt32LE",4]),_.prototype.fieldSpec.push(["e","writeInt32LE",4]),_.prototype.fieldSpec.push(["d","writeInt32LE",4]),_.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV",S.prototype.msg_type=530,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),S.prototype.fieldSpec.push(["n","writeInt32LE",4]),S.prototype.fieldSpec.push(["e","writeInt32LE",4]),S.prototype.fieldSpec.push(["d","writeInt32LE",4]),S.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);var g=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_GNSS",g.prototype.msg_type=553,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeDoubleLE",8]),g.prototype.fieldSpec.push(["y","writeDoubleLE",8]),g.prototype.fieldSpec.push(["z","writeDoubleLE",8]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",w.prototype.msg_type=564,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeDoubleLE",8]),w.prototype.fieldSpec.push(["y","writeDoubleLE",8]),w.prototype.fieldSpec.push(["z","writeDoubleLE",8]),w.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_GNSS",E.prototype.msg_type=554,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),E.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),E.prototype.fieldSpec.push(["height","writeDoubleLE",8]),E.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),E.prototype.fieldSpec.push(["flags","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV_GNSS",m.prototype.msg_type=561,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),m.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),m.prototype.fieldSpec.push(["height","writeDoubleLE",8]),m.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),m.prototype.fieldSpec.push(["flags","writeUInt8",1]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_GNSS",b.prototype.msg_type=557,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeInt32LE",4]),b.prototype.fieldSpec.push(["y","writeInt32LE",4]),b.prototype.fieldSpec.push(["z","writeInt32LE",4]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",v.prototype.msg_type=565,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["x","writeInt32LE",4]),v.prototype.fieldSpec.push(["y","writeInt32LE",4]),v.prototype.fieldSpec.push(["z","writeInt32LE",4]),v.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_GNSS",L.prototype.msg_type=558,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["n","writeInt32LE",4]),L.prototype.fieldSpec.push(["e","writeInt32LE",4]),L.prototype.fieldSpec.push(["d","writeInt32LE",4]),L.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV_GNSS",I.prototype.msg_type=562,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["n","writeInt32LE",4]),I.prototype.fieldSpec.push(["e","writeInt32LE",4]),I.prototype.fieldSpec.push(["d","writeInt32LE",4]),I.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_VEL_BODY",T.prototype.msg_type=531,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["x","writeInt32LE",4]),T.prototype.fieldSpec.push(["y","writeInt32LE",4]),T.prototype.fieldSpec.push(["z","writeInt32LE",4]),T.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_AGE_CORRECTIONS",M.prototype.msg_type=528,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["age","writeUInt16LE",2]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME_DEP_A",U.prototype.msg_type=256,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_DOPS_DEP_A",D.prototype.msg_type=518,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_DEP_A",O.prototype.msg_type=512,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeDoubleLE",8]),O.prototype.fieldSpec.push(["y","writeDoubleLE",8]),O.prototype.fieldSpec.push(["z","writeDoubleLE",8]),O.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_DEP_A",G.prototype.msg_type=513,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),G.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),G.prototype.fieldSpec.push(["height","writeDoubleLE",8]),G.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),G.prototype.fieldSpec.push(["flags","writeUInt8",1]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",A.prototype.msg_type=514,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["x","writeInt32LE",4]),A.prototype.fieldSpec.push(["y","writeInt32LE",4]),A.prototype.fieldSpec.push(["z","writeInt32LE",4]),A.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),A.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),A.prototype.fieldSpec.push(["flags","writeUInt8",1]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED_DEP_A",R.prototype.msg_type=515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["n","writeInt32LE",4]),R.prototype.fieldSpec.push(["e","writeInt32LE",4]),R.prototype.fieldSpec.push(["d","writeInt32LE",4]),R.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),R.prototype.fieldSpec.push(["flags","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_DEP_A",C.prototype.msg_type=516,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["x","writeInt32LE",4]),C.prototype.fieldSpec.push(["y","writeInt32LE",4]),C.prototype.fieldSpec.push(["z","writeInt32LE",4]),C.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),C.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_DEP_A",P.prototype.msg_type=517,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["n","writeInt32LE",4]),P.prototype.fieldSpec.push(["e","writeInt32LE",4]),P.prototype.fieldSpec.push(["d","writeInt32LE",4]),P.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",N.prototype.msg_type=519,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_PROTECTION_LEVEL",j.prototype.msg_type=534,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),j.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),j.prototype.fieldSpec.push(["height","writeDoubleLE",8]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,259:s,MsgUtcTime:s,520:n,MsgDops:n,521:a,MsgPosEcef:a,532:l,MsgPosEcefCov:l,522:c,MsgPosLlh:c,529:u,MsgPosLlhCov:u,523:y,MsgBaselineEcef:y,524:h,MsgBaselineNed:h,525:f,MsgVelEcef:f,533:d,MsgVelEcefCov:d,526:_,MsgVelNed:_,530:S,MsgVelNedCov:S,553:g,MsgPosEcefGnss:g,564:w,MsgPosEcefCovGnss:w,554:E,MsgPosLlhGnss:E,561:m,MsgPosLlhCovGnss:m,557:b,MsgVelEcefGnss:b,565:v,MsgVelEcefCovGnss:v,558:L,MsgVelNedGnss:L,562:I,MsgVelNedCovGnss:I,531:T,MsgVelBody:T,528:M,MsgAgeCorrections:M,256:U,MsgGpsTimeDepA:U,518:D,MsgDopsDepA:D,512:O,MsgPosEcefDepA:O,513:G,MsgPosLlhDepA:G,514:A,MsgBaselineEcefDepA:A,515:R,MsgBaselineNedDepA:R,516:C,MsgVelEcefDepA:C,517:P,MsgVelNedDepA:P,519:N,MsgBaselineHeadingDepA:N,534:j,MsgProtectionLevel:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_NDB_EVENT",s.prototype.msg_type=1024,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("recv_time").uint8("event").uint8("object_type").uint8("result").uint8("data_source").nest("object_sid",{type:i.prototype.parser}).nest("src_sid",{type:i.prototype.parser}).uint16("original_sender"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["event","writeUInt8",1]),s.prototype.fieldSpec.push(["object_type","writeUInt8",1]),s.prototype.fieldSpec.push(["result","writeUInt8",1]),s.prototype.fieldSpec.push(["data_source","writeUInt8",1]),s.prototype.fieldSpec.push(["object_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["src_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["original_sender","writeUInt16LE",2]),e.exports={1024:s,MsgNdbEvent:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec),c=r(0).GPSTimeDep,u=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(p.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:n.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="Doppler",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("i").uint8("f"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["i","writeInt16LE",2]),y.prototype.fieldSpec.push(["f","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),h.prototype.fieldSpec.push(["D",y.prototype.fieldSpec]),h.prototype.fieldSpec.push(["cn0","writeUInt8",1]),h.prototype.fieldSpec.push(["lock","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var f=function(e,t){return p.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}).uint16("iono_std").uint16("tropo_std").uint16("range_std"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["P","writeUInt32LE",4]),f.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["iono_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["tropo_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["range_std","writeUInt16LE",2]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_OBS",d.prototype.msg_type=74,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:h.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),d.prototype.fieldSpec.push(["obs","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_LLH",_.prototype.msg_type=68,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").doublele("lat").doublele("lon").doublele("height"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),_.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),_.prototype.fieldSpec.push(["height","writeDoubleLE",8]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_ECEF",S.prototype.msg_type=72,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").doublele("x").doublele("y").doublele("z"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["x","writeDoubleLE",8]),S.prototype.fieldSpec.push(["y","writeDoubleLE",8]),S.prototype.fieldSpec.push(["z","writeDoubleLE",8]);var g=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),g.prototype.fieldSpec.push(["ura","writeFloatLE",4]),g.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),g.prototype.fieldSpec.push(["valid","writeUInt8",1]),g.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),w.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),w.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),w.prototype.fieldSpec.push(["valid","writeUInt8",1]),w.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),E.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),E.prototype.fieldSpec.push(["valid","writeUInt8",1]),E.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_E",m.prototype.msg_type=129,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),m.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),m.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["w","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),m.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_F",b.prototype.msg_type=134,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),b.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),b.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),b.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["w","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),b.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS",v.prototype.msg_type=138,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),v.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),v.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["w","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af0","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_QZSS",L.prototype.msg_type=142,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),L.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),L.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["w","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["af0","writeFloatLE",4]),L.prototype.fieldSpec.push(["af1","writeFloatLE",4]),L.prototype.fieldSpec.push(["af2","writeFloatLE",4]),L.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_BDS",I.prototype.msg_type=137,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd1").floatle("tgd2").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),I.prototype.fieldSpec.push(["tgd2","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),I.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),I.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["w","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),T.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),T.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["w","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL",M.prototype.msg_type=141,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),M.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),M.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),M.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),M.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["w","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af2","writeFloatLE",4]),M.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),M.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),M.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),M.prototype.fieldSpec.push(["source","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",U.prototype.msg_type=130,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),U.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_A",D.prototype.msg_type=131,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),D.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),D.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),D.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_B",O.prototype.msg_type=132,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),O.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),O.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS",G.prototype.msg_type=140,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"floatle"}).array("acc",{length:3,type:"floatle"}).floatle("a_gf0").floatle("a_gf1"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),G.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),G.prototype.fieldSpec.push(["vel","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["a_gf0","writeFloatLE",4]),G.prototype.fieldSpec.push(["a_gf1","writeFloatLE",4]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_B",A.prototype.msg_type=133,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),A.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),A.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),A.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",R.prototype.msg_type=135,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),R.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),R.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["fcn","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",C.prototype.msg_type=136,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn").uint8("iod"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),C.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),C.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["fcn","writeUInt8",1]),C.prototype.fieldSpec.push(["iod","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO",P.prototype.msg_type=139,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("gamma").floatle("tau").floatle("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"floatle"}).uint8("fcn").uint8("iod"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),P.prototype.fieldSpec.push(["gamma","writeFloatLE",4]),P.prototype.fieldSpec.push(["tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["d_tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),P.prototype.fieldSpec.push(["fcn","writeUInt8",1]),P.prototype.fieldSpec.push(["iod","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_D",N.prototype.msg_type=128,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),N.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),N.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["w","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["valid","writeUInt8",1]),N.prototype.fieldSpec.push(["healthy","writeUInt8",1]),N.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_A",j.prototype.msg_type=26,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),j.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),j.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["w","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["valid","writeUInt8",1]),j.prototype.fieldSpec.push(["healthy","writeUInt8",1]),j.prototype.fieldSpec.push(["prn","writeUInt8",1]);var x=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_B",x.prototype.msg_type=70,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn").uint8("iode"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),x.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),x.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["w","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["valid","writeUInt8",1]),x.prototype.fieldSpec.push(["healthy","writeUInt8",1]),x.prototype.fieldSpec.push(["prn","writeUInt8",1]),x.prototype.fieldSpec.push(["iode","writeUInt8",1]);var F=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_C",F.prototype.msg_type=71,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),F.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),F.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["w","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["valid","writeUInt8",1]),F.prototype.fieldSpec.push(["healthy","writeUInt8",1]),F.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var k=function(e,t){return p.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(p.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:c.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",c.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var B=function(e,t){return p.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(p.prototype)).messageType="CarrierPhaseDepA",B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["i","writeInt32LE",4]),B.prototype.fieldSpec.push(["f","writeUInt8",1]);var q=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepA",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").uint8("prn"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["P","writeUInt32LE",4]),q.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),q.prototype.fieldSpec.push(["cn0","writeUInt8",1]),q.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),q.prototype.fieldSpec.push(["prn","writeUInt8",1]);var z=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepB",z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["P","writeUInt32LE",4]),z.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),z.prototype.fieldSpec.push(["cn0","writeUInt8",1]),z.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var H=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var V=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_A",V.prototype.msg_type=69,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var W=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_B",W.prototype.msg_type=67,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Y=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_C",Y.prototype.msg_type=73,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Q=function(e,t){return p.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(p.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).doublele("a0").doublele("a1").doublele("a2").doublele("a3").doublele("b0").doublele("b1").doublele("b2").doublele("b3"),Q.prototype.fieldSpec=[],Q.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),Q.prototype.fieldSpec.push(["a0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a3","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b3","writeDoubleLE",8]);var K=function(e,t){return p.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(p.prototype)).messageType="MSG_SV_CONFIGURATION_GPS_DEP",K.prototype.msg_type=145,K.prototype.constructor=K,K.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);var X=function(e,t){return p.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(p.prototype)).messageType="GnssCapb",X.prototype.constructor=X,X.prototype.parser=(new o).endianess("little").uint64("gps_active").uint64("gps_l2c").uint64("gps_l5").uint32("glo_active").uint32("glo_l2of").uint32("glo_l3").uint64("sbas_active").uint64("sbas_l5").uint64("bds_active").uint64("bds_d2nav").uint64("bds_b2").uint64("bds_b2a").uint32("qzss_active").uint64("gal_active").uint64("gal_e5"),X.prototype.fieldSpec=[],X.prototype.fieldSpec.push(["gps_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l2c","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["glo_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l2of","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l3","writeUInt32LE",4]),X.prototype.fieldSpec.push(["sbas_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["sbas_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_d2nav","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2a","writeUInt64LE",8]),X.prototype.fieldSpec.push(["qzss_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["gal_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gal_e5","writeUInt64LE",8]);var J=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_CAPB",J.prototype.msg_type=150,J.prototype.constructor=J,J.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);var $=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",$.prototype.msg_type=146,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).uint8("prn").uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["prn","writeUInt8",1]),$.prototype.fieldSpec.push(["valid","writeUInt8",1]),$.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var Z=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",Z.prototype.msg_type=147,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),Z.prototype.fieldSpec=[],Z.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["valid","writeUInt8",1]),Z.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var ee=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY",ee.prototype.msg_type=148,ee.prototype.constructor=ee,ee.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["valid","writeUInt8",1]),ee.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var te=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),te.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),te.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),te.prototype.fieldSpec.push(["valid","writeUInt8",1]),te.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var re=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContentDep",re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),re.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),re.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),re.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),re.prototype.fieldSpec.push(["valid","writeUInt8",1]),re.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var pe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS_DEP",pe.prototype.msg_type=112,pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var oe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS",oe.prototype.msg_type=114,oe.prototype.constructor=oe,oe.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),oe.prototype.fieldSpec=[],oe.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),oe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var ie=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO_DEP",ie.prototype.msg_type=113,ie.prototype.constructor=ie,ie.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),ie.prototype.fieldSpec=[],ie.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),ie.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["i","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var se=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO",se.prototype.msg_type=115,se.prototype.constructor=se,se.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),se.prototype.fieldSpec=[],se.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),se.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["i","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),se.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),se.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var ne=function(e,t){return p.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(p.prototype)).messageType="MSG_GLO_BIASES",ne.prototype.msg_type=117,ne.prototype.constructor=ne,ne.prototype.parser=(new o).endianess("little").uint8("mask").int16("l1ca_bias").int16("l1p_bias").int16("l2ca_bias").int16("l2p_bias"),ne.prototype.fieldSpec=[],ne.prototype.fieldSpec.push(["mask","writeUInt8",1]),ne.prototype.fieldSpec.push(["l1ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l1p_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2p_bias","writeInt16LE",2]);var ae=function(e,t){return p.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(p.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);var le=function(e,t){return p.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(p.prototype)).messageType="MSG_SV_AZ_EL",le.prototype.msg_type=151,le.prototype.constructor=le,le.prototype.parser=(new o).endianess("little").array("azel",{type:ae.prototype.parser,readUntil:"eof"}),le.prototype.fieldSpec=[],le.prototype.fieldSpec.push(["azel","array",ae.prototype.fieldSpec,function(){return this.fields.array.length},null]);var ce=function(e,t){return p.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(p.prototype)).messageType="MSG_OSR",ce.prototype.msg_type=1600,ce.prototype.constructor=ce,ce.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:f.prototype.parser,readUntil:"eof"}),ce.prototype.fieldSpec=[],ce.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),ce.prototype.fieldSpec.push(["obs","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={ObservationHeader:u,Doppler:y,PackedObsContent:h,PackedOsrContent:f,74:d,MsgObs:d,68:_,MsgBasePosLlh:_,72:S,MsgBasePosEcef:S,EphemerisCommonContent:g,EphemerisCommonContentDepB:w,EphemerisCommonContentDepA:E,129:m,MsgEphemerisGpsDepE:m,134:b,MsgEphemerisGpsDepF:b,138:v,MsgEphemerisGps:v,142:L,MsgEphemerisQzss:L,137:I,MsgEphemerisBds:I,149:T,MsgEphemerisGalDepA:T,141:M,MsgEphemerisGal:M,130:U,MsgEphemerisSbasDepA:U,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:R,MsgEphemerisGloDepC:R,136:C,MsgEphemerisGloDepD:C,139:P,MsgEphemerisGlo:P,128:N,MsgEphemerisDepD:N,26:j,MsgEphemerisDepA:j,70:x,MsgEphemerisDepB:x,71:F,MsgEphemerisDepC:F,ObservationHeaderDep:k,CarrierPhaseDepA:B,PackedObsContentDepA:q,PackedObsContentDepB:z,PackedObsContentDepC:H,69:V,MsgObsDepA:V,67:W,MsgObsDepB:W,73:Y,MsgObsDepC:Y,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:$,MsgGroupDelayDepA:$,147:Z,MsgGroupDelayDepB:Z,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:re,112:pe,MsgAlmanacGpsDep:pe,114:oe,MsgAlmanacGps:oe,113:ie,MsgAlmanacGloDep:ie,115:se,MsgAlmanacGlo:se,117:ne,MsgGloBiases:ne,SvAzEl:ae,151:le,MsgSvAzEl:le,1600:ce,MsgOsr:ce}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=(r(0).CarrierPhase,n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),l=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];var c=function(e,t){return p.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];var u=function(e,t){return p.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_RESET",u.prototype.msg_type=182,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];var f=function(e,t){return p.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];var d=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_RESET_FILTERS",d.prototype.msg_type=34,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint8("filter"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["filter","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];var S=function(e,t){return p.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_THREAD_STATE",S.prototype.msg_type=23,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").string("name",{length:20}).uint16("cpu").uint32("stack_free"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["name","string",20]),S.prototype.fieldSpec.push(["cpu","writeUInt16LE",2]),S.prototype.fieldSpec.push(["stack_free","writeUInt32LE",4]);var g=function(e,t){return p.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="UARTChannel",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").floatle("tx_throughput").floatle("rx_throughput").uint16("crc_error_count").uint16("io_error_count").uint8("tx_buffer_level").uint8("rx_buffer_level"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["rx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["crc_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["io_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tx_buffer_level","writeUInt8",1]),g.prototype.fieldSpec.push(["rx_buffer_level","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="Period",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").int32("avg").int32("pmin").int32("pmax").int32("current"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["avg","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmin","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmax","writeInt32LE",4]),w.prototype.fieldSpec.push(["current","writeInt32LE",4]);var E=function(e,t){return p.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="Latency",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").int32("avg").int32("lmin").int32("lmax").int32("current"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["avg","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmin","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmax","writeInt32LE",4]),E.prototype.fieldSpec.push(["current","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE",m.prototype.msg_type=29,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}).nest("obs_period",{type:w.prototype.parser}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["obs_period",w.prototype.fieldSpec]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE_DEPA",b.prototype.msg_type=24,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_IAR_STATE",v.prototype.msg_type=25,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("num_hyps"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE",L.prototype.msg_type=43,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE_DEP",I.prototype.msg_type=27,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["mask","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_REQ",M.prototype.msg_type=184,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["command","string",null]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_RESP",U.prototype.msg_type=185,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["code","writeInt32LE",4]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_OUTPUT",D.prototype.msg_type=188,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("sequence").string("line",{greedy:!0}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),D.prototype.fieldSpec.push(["line","string",null]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_REQ",O.prototype.msg_type=186,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little"),O.prototype.fieldSpec=[];var G=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_RESP",G.prototype.msg_type=187,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").array("ipv4_address",{length:4,type:"uint8"}).uint8("ipv4_mask_size").array("ipv6_address",{length:16,type:"uint8"}).uint8("ipv6_mask_size").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}).uint32("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["ipv4_address","array","writeUInt8",function(){return 1},4]),G.prototype.fieldSpec.push(["ipv4_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["ipv6_address","array","writeUInt8",function(){return 1},16]),G.prototype.fieldSpec.push(["ipv6_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["interface_name","string",16]),G.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var A=function(e,t){return p.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="NetworkUsage",A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint64("duration").uint64("total_bytes").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["duration","writeUInt64LE",8]),A.prototype.fieldSpec.push(["total_bytes","writeUInt64LE",8]),A.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["interface_name","string",16]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",R.prototype.msg_type=189,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_CELL_MODEM_STATUS",C.prototype.msg_type=190,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),C.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),C.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN_DEP",P.prototype.msg_type=80,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:a.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),P.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),P.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN",N.prototype.msg_type=81,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:n.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),N.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_FRONT_END_GAIN",j.prototype.msg_type=191,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").array("rf_gain",{length:8,type:"int8"}).array("if_gain",{length:8,type:"int8"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["rf_gain","array","writeInt8",function(){return 1},8]),j.prototype.fieldSpec.push(["if_gain","array","writeInt8",function(){return 1},8]),e.exports={105:l,MsgAlmanac:l,104:c,MsgSetTime:c,182:u,MsgReset:u,178:y,MsgResetDep:y,192:h,MsgCwResults:h,193:f,MsgCwStart:f,34:d,MsgResetFilters:d,35:_,MsgInitBaseDep:_,23:S,MsgThreadState:S,UARTChannel:g,Period:w,Latency:E,29:m,MsgUartState:m,24:b,MsgUartStateDepa:b,25:v,MsgIarState:v,43:L,MsgMaskSatellite:L,27:I,MsgMaskSatelliteDep:I,181:T,MsgDeviceMonitor:T,184:M,MsgCommandReq:M,185:U,MsgCommandResp:U,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:R,MsgNetworkBandwidthUsage:R,190:C,MsgCellModemStatus:C,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_SBAS_RAW",s.prototype.msg_type=30583,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint32("tow").uint8("message_type").array("data",{length:27,type:"uint8"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["message_type","writeUInt8",1]),s.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},27]),e.exports={30583:s,MsgSbasRaw:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE",s.prototype.msg_type=160,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["setting","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE_RESP",n.prototype.msg_type=175,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["status","writeUInt8",1]),n.prototype.fieldSpec.push(["setting","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_REQ",a.prototype.msg_type=164,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["setting","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_RESP",l.prototype.msg_type=165,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["setting","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",c.prototype.msg_type=162,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("index"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["index","writeUInt16LE",2]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",u.prototype.msg_type=167,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("index").string("setting",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt16LE",2]),u.prototype.fieldSpec.push(["setting","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",y.prototype.msg_type=166,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER",h.prototype.msg_type=174,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["setting","string",null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER_RESP",f.prototype.msg_type=431,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","writeUInt8",1]),f.prototype.fieldSpec.push(["setting","string",null]),e.exports={161:i,MsgSettingsSave:i,160:s,MsgSettingsWrite:s,175:n,MsgSettingsWriteResp:n,164:a,MsgSettingsReadReq:a,165:l,MsgSettingsReadResp:l,162:c,MsgSettingsReadByIndexReq:c,167:u,MsgSettingsReadByIndexResp:u,166:y,MsgSettingsReadByIndexDone:y,174:h,MsgSettingsRegister:h,431:f,MsgSettingsRegisterResp:f}},function(e,t,r){var p=r(2),o=r(13).Parser,i=function(e){return p.call(this,e),this.messageType="SBPSignal",this.fields=this.parser.parse(e.payload),this};(i.prototype=Object.create(p.prototype)).constructor=i,i.prototype.parser=(new o).endianess("little").uint16("sat").uint8("band").uint8("constellation"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sat","writeUInt16LE",2]),i.prototype.fieldSpec.push(["band","writeUInt8",1]),i.prototype.fieldSpec.push(["constellation","writeUInt8",1]),e.exports={SBPSignal:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec),n=(r(0).GPSTimeDep,r(0).SvId),a=function(e,t){return p.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="CodeBiasesContent",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("code").int16("value"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["code","writeUInt8",1]),a.prototype.fieldSpec.push(["value","writeInt16LE",2]);var l=function(e,t){return p.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="PhaseBiasesContent",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("code").uint8("integer_indicator").uint8("widelane_integer_indicator").uint8("discontinuity_counter").int32("bias"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["code","writeUInt8",1]),l.prototype.fieldSpec.push(["integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["widelane_integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["discontinuity_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["bias","writeInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("tile_set_id").uint8("tile_id").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tile_set_id","writeUInt8",1]),c.prototype.fieldSpec.push(["tile_id","writeUInt8",1]),c.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),c.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),c.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),c.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("tile_set_id").uint8("tile_id").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tile_set_id","writeUInt8",1]),u.prototype.fieldSpec.push(["tile_id","writeUInt8",1]),u.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),u.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),u.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),u.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),u.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="STECSatElement",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).uint8("stec_quality_indicator").array("stec_coeff",{length:4,type:"int16le"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["stec_quality_indicator","writeUInt8",1]),y.prototype.fieldSpec.push(["stec_coeff","array","writeInt16LE",function(){return 2},4]);var h=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrectionNoStd",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),h.prototype.fieldSpec.push(["wet","writeInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrection",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet").uint8("stddev"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),f.prototype.fieldSpec.push(["wet","writeInt8",1]),f.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="STECResidualNoStd",d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),d.prototype.fieldSpec.push(["residual","writeInt16LE",2]);var _=function(e,t){return p.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="STECResidual",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual").uint8("stddev"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),_.prototype.fieldSpec.push(["residual","writeInt16LE",2]),_.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="GridElementNoStd",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="GridElementNoStd",S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["index","writeUInt16LE",2]),S.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),S.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var g=function(e,t){return p.call(this,e),this.messageType="GridElement",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="GridElement",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["index","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),g.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",w.prototype.msg_type=1501,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint32("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),w.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),w.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),w.prototype.fieldSpec.push(["radial","writeInt32LE",4]),w.prototype.fieldSpec.push(["along","writeInt32LE",4]),w.prototype.fieldSpec.push(["cross","writeInt32LE",4]),w.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),w.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),w.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),w.prototype.fieldSpec.push(["c0","writeInt32LE",4]),w.prototype.fieldSpec.push(["c1","writeInt32LE",4]),w.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_SSR_CODE_BIASES",E.prototype.msg_type=1505,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").array("biases",{type:a.prototype.parser,readUntil:"eof"}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),E.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),E.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),E.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_SSR_PHASE_BIASES",m.prototype.msg_type=1510,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("dispersive_bias").uint8("mw_consistency").uint16("yaw").int8("yaw_rate").array("biases",{type:l.prototype.parser,readUntil:"eof"}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),m.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),m.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),m.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),m.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),m.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_SSR_STEC_CORRECTION",b.prototype.msg_type=1531,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),b.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",v.prototype.msg_type=1532,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:g.prototype.parser}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),v.prototype.fieldSpec.push(["element",g.prototype.fieldSpec]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_SSR_TILE_DEFINITION",L.prototype.msg_type=1526,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("tile_set_id").uint8("tile_id").uint16("corner_nw_lat").uint16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tile_set_id","writeUInt8",1]),L.prototype.fieldSpec.push(["tile_id","writeUInt8",1]),L.prototype.fieldSpec.push(["corner_nw_lat","writeUInt16LE",2]),L.prototype.fieldSpec.push(["corner_nw_lon","writeUInt16LE",2]),L.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),L.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),L.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),L.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),L.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",I.prototype.msg_type=1500,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),I.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),I.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),I.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),I.prototype.fieldSpec.push(["iod","writeUInt8",1]),I.prototype.fieldSpec.push(["radial","writeInt32LE",4]),I.prototype.fieldSpec.push(["along","writeInt32LE",4]),I.prototype.fieldSpec.push(["cross","writeInt32LE",4]),I.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),I.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),I.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),I.prototype.fieldSpec.push(["c0","writeInt32LE",4]),I.prototype.fieldSpec.push(["c1","writeInt32LE",4]),I.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var T=function(e,t){return p.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="STECHeaderDepA",T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),T.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),T.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),T.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),T.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var M=function(e,t){return p.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="GriddedCorrectionHeaderDepA",M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),M.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),M.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),M.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),M.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),M.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="GridDefinitionHeaderDepA",U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint8("region_size_inverse").uint16("area_width").uint16("lat_nw_corner_enc").uint16("lon_nw_corner_enc").uint8("num_msgs").uint8("seq_num"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),U.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),U.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),U.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),U.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),U.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",D.prototype.msg_type=1515,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("header",{type:T.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["header",T.prototype.fieldSpec]),D.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",O.prototype.msg_type=1520,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("header",{type:M.prototype.parser}).nest("element",{type:S.prototype.parser}),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["header",M.prototype.fieldSpec]),O.prototype.fieldSpec.push(["element",S.prototype.fieldSpec]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",G.prototype.msg_type=1530,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("header",{type:M.prototype.parser}).nest("element",{type:g.prototype.parser}),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["header",M.prototype.fieldSpec]),G.prototype.fieldSpec.push(["element",g.prototype.fieldSpec]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",A.prototype.msg_type=1525,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("header",{type:U.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["header",U.prototype.fieldSpec]),A.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,GridElementNoStd:S,GridElement:g,1501:w,MsgSsrOrbitClock:w,1505:E,MsgSsrCodeBiases:E,1510:m,MsgSsrPhaseBiases:m,1531:b,MsgSsrStecCorrection:b,1532:v,MsgSsrGriddedCorrection:v,1526:L,MsgSsrTileDefinition:L,1500:I,MsgSsrOrbitClockDepA:I,STECHeaderDepA:T,GriddedCorrectionHeaderDepA:M,GridDefinitionHeaderDepA:U,1515:D,MsgSsrStecCorrectionDepA:D,1520:O,MsgSsrGriddedCorrectionNoStdDepA:O,1530:G,MsgSsrGriddedCorrectionDepA:G,1525:A,MsgSsrGridDefinitionDepA:A}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_STARTUP",i.prototype.msg_type=65280,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("cause").uint8("startup_type").uint16("reserved"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["cause","writeUInt8",1]),i.prototype.fieldSpec.push(["startup_type","writeUInt8",1]),i.prototype.fieldSpec.push(["reserved","writeUInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_DGNSS_STATUS",s.prototype.msg_type=65282,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint16("latency").uint8("num_signals").string("source",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["latency","writeUInt16LE",2]),s.prototype.fieldSpec.push(["num_signals","writeUInt8",1]),s.prototype.fieldSpec.push(["source","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_HEARTBEAT",n.prototype.msg_type=65535,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_INS_STATUS",a.prototype.msg_type=65283,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY",l.prototype.msg_type=65284,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["id","writeUInt8",1]),l.prototype.fieldSpec.push(["telemetry","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",c.prototype.msg_type=65285,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["id","writeUInt8",1]),c.prototype.fieldSpec.push(["telemetry_labels","string",null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_INS_UPDATES",u.prototype.msg_type=65286,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),u.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),u.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),u.prototype.fieldSpec.push(["speed","writeUInt8",1]),u.prototype.fieldSpec.push(["nhc","writeUInt8",1]),u.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_TIME_OFFSET",y.prototype.msg_type=65287,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),y.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),y.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_META",h.prototype.msg_type=65290,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("group_id").uint16("wn").uint32("tom").int32("ns_residual").uint8("flags").uint8("n_group_msgs").array("group_msgs",{type:"uint16le",readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["group_id","writeUInt8",1]),h.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),h.prototype.fieldSpec.push(["tom","writeUInt32LE",4]),h.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["n_group_msgs","writeUInt8",1]),h.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},null]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,65283:a,MsgInsStatus:a,65284:l,MsgCsacTelemetry:l,65285:c,MsgCsacTelemetryLabels:c,65286:u,MsgInsUpdates:u,65287:y,MsgGnssTimeOffset:y,65290:h,MsgGroupMeta:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),c=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",c.prototype.msg_type=33,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:n.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:i.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),c.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),c.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),c.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),c.prototype.fieldSpec.push(["acceleration","writeInt8",1]),c.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP",u.prototype.msg_type=17,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:l.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),u.prototype.fieldSpec.push(["tot",l.prototype.fieldSpec]),u.prototype.fieldSpec.push(["P","writeUInt32LE",4]),u.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),u.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),u.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),u.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),u.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),u.prototype.fieldSpec.push(["acceleration","writeInt8",1]),u.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE",h.prototype.msg_type=65,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("states",{type:y.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["states","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:i.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_MEASUREMENT_STATE",d.prototype.msg_type=97,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").array("states",{type:f.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["states","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelation",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("I").int16("Q"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["I","writeInt16LE",2]),_.prototype.fieldSpec.push(["Q","writeInt16LE",2]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ",S.prototype.msg_type=45,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);var g=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelationDep",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").int32("I").int32("Q"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["I","writeInt32LE",4]),g.prototype.fieldSpec.push(["Q","writeInt32LE",4]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_B",w.prototype.msg_type=44,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["channel","writeUInt8",1]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_A",E.prototype.msg_type=28,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["channel","writeUInt8",1]),E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var m=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepA",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint8("state").uint8("prn").floatle("cn0"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["state","writeUInt8",1]),m.prototype.fieldSpec.push(["prn","writeUInt8",1]),m.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_A",b.prototype.msg_type=22,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").array("states",{type:m.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["states","array",m.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepB",v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:s.prototype.parser}).floatle("cn0"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["state","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",L.prototype.msg_type=19,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").array("states",{type:v.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",v.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={33:c,MsgTrackingStateDetailedDepA:c,17:u,MsgTrackingStateDetailedDep:u,TrackingChannelState:y,65:h,MsgTrackingState:h,MeasurementState:f,97:d,MsgMeasurementState:d,TrackingChannelCorrelation:_,45:S,MsgTrackingIq:S,TrackingChannelCorrelationDep:g,44:w,MsgTrackingIqDepB:w,28:E,MsgTrackingIqDepA:E,TrackingChannelStateDepA:m,22:b,MsgTrackingStateDepA:b,TrackingChannelStateDepB:v,19:L,MsgTrackingStateDepB:L}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_USER_DATA",i.prototype.msg_type=2048,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("contents",{type:"uint8",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]),e.exports={2048:i,MsgUserData:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_ODOMETRY",i.prototype.msg_type=2307,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").int32("velocity").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["velocity","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_WHEELTICK",s.prototype.msg_type=2308,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags").uint8("source").int32("ticks"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["ticks","writeInt32LE",4]),e.exports={2307:i,MsgOdometry:i,2308:s,MsgWheeltick:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING",i.prototype.msg_type=527,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),i.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_QUAT",s.prototype.msg_type=544,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("tow").int32("w").int32("x").int32("y").int32("z").floatle("w_accuracy").floatle("x_accuracy").floatle("y_accuracy").floatle("z_accuracy").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["w","writeInt32LE",4]),s.prototype.fieldSpec.push(["x","writeInt32LE",4]),s.prototype.fieldSpec.push(["y","writeInt32LE",4]),s.prototype.fieldSpec.push(["z","writeInt32LE",4]),s.prototype.fieldSpec.push(["w_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["x_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["y_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["z_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_EULER",n.prototype.msg_type=545,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").int32("roll").int32("pitch").int32("yaw").floatle("roll_accuracy").floatle("pitch_accuracy").floatle("yaw_accuracy").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["roll","writeInt32LE",4]),n.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),n.prototype.fieldSpec.push(["yaw","writeInt32LE",4]),n.prototype.fieldSpec.push(["roll_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["pitch_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["yaw_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ANGULAR_RATE",a.prototype.msg_type=546,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeInt32LE",4]),a.prototype.fieldSpec.push(["y","writeInt32LE",4]),a.prototype.fieldSpec.push(["z","writeInt32LE",4]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={527:i,MsgBaselineHeading:i,544:s,MsgOrientQuat:s,545:n,MsgOrientEuler:n,546:a,MsgAngularRate:a}}]); \ No newline at end of file +function p(e,t){if(e===t)return 0;for(var r=e.length,p=t.length,o=0,i=Math.min(r,p);o=0;l--)if(c[l]!==u[l])return!1;for(l=c.length-1;l>=0;l--)if(a=c[l],!g(e[a],t[a],r,p))return!1;return!0}(e,t,r,s))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function m(e,t,r,p){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(p=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),p=(r&&r.name?" ("+r.name+").":".")+(p?" "+p:"."),e&&!o&&_(o,r,"Missing expected exception"+p);var s="string"==typeof p,n=!e&&o&&!r;if((!e&&i.isError(o)&&s&&E(o,r)||n)&&_(o,r,"Got unwanted exception"+p),e&&o&&r&&!E(o,r)||!e&&o)throw o}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return f(d(e.actual),128)+" "+e.operator+" "+f(d(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var p=r.stack,o=h(t),i=p.indexOf("\n"+o);if(i>=0){var s=p.indexOf("\n",i+1);p=p.substring(s+1)}this.stack=p}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,r){e!=t&&_(e,t,r,"==",u.equal)},u.notEqual=function(e,t,r){e==t&&_(e,t,r,"!=",u.notEqual)},u.deepEqual=function(e,t,r){g(e,t,!1)||_(e,t,r,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,r){g(e,t,!0)||_(e,t,r,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,r){g(e,t,!1)&&_(e,t,r,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,r,p){g(t,r,!0)&&_(t,r,p,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,r){e!==t&&_(e,t,r,"===",u.strictEqual)},u.notStrictEqual=function(e,t,r){e===t&&_(e,t,r,"!==",u.notStrictEqual)},u.throws=function(e,t,r){m(!0,e,t,r)},u.doesNotThrow=function(e,t,r){m(!1,e,t,r)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var r in e)s.call(e,r)&&t.push(r);return t}}).call(this,r(5))},function(e,t,r){(function(e,p){var o=/%[sdj%]/g;t.format=function(e){if(!S(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(p[r++]);case"%d":return Number(p[r++]);case"%j":try{return JSON.stringify(p[r++])}catch(e){return"[Circular]"}default:return e}})),a=p[r];r=3&&(p.depth=arguments[2]),arguments.length>=4&&(p.colors=arguments[3]),f(r)?p.showHidden=r:r&&t._extend(p,r),g(p.showHidden)&&(p.showHidden=!1),g(p.depth)&&(p.depth=2),g(p.colors)&&(p.colors=!1),g(p.customInspect)&&(p.customInspect=!0),p.colors&&(p.stylize=a),c(p,e,p.depth)}function a(e,t){var r=n.styles[t];return r?"["+n.colors[r][0]+"m"+e+"["+n.colors[r][1]+"m":e}function l(e,t){return e}function c(e,r,p){if(e.customInspect&&r&&v(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(p,e);return S(o)||(o=c(e,o,p)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(S(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(_(t))return e.stylize(""+t,"number");if(f(t))return e.stylize(""+t,"boolean");if(d(t))return e.stylize("null","null")}(e,r);if(i)return i;var s=Object.keys(r),n=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(r)),b(r)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(r);if(0===s.length){if(v(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(m(r))return e.stylize(Date.prototype.toString.call(r),"date");if(b(r))return u(r)}var l,E="",L=!1,I=["{","}"];(h(r)&&(L=!0,I=["[","]"]),v(r))&&(E=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(E=" "+RegExp.prototype.toString.call(r)),m(r)&&(E=" "+Date.prototype.toUTCString.call(r)),b(r)&&(E=" "+u(r)),0!==s.length||L&&0!=r.length?p<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),l=L?function(e,t,r,p,o){for(var i=[],s=0,n=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,E,I)):I[0]+E+I[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,p,o,i){var s,n,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?n=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(n=e.stylize("[Setter]","special")),U(p,o)||(s="["+o+"]"),n||(e.seen.indexOf(a.value)<0?(n=d(r)?c(e,a.value,null):c(e,a.value,r-1)).indexOf("\n")>-1&&(n=i?n.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+n.split("\n").map((function(e){return" "+e})).join("\n")):n=e.stylize("[Circular]","special")),g(s)){if(i&&o.match(/^\d+$/))return n;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+n}function h(e){return Array.isArray(e)}function f(e){return"boolean"==typeof e}function d(e){return null===e}function _(e){return"number"==typeof e}function S(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return E(e)&&"[object RegExp]"===L(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===L(e)}function b(e){return E(e)&&("[object Error]"===L(e)||e instanceof Error)}function v(e){return"function"==typeof e}function L(e){return Object.prototype.toString.call(e)}function I(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(i)&&(i=p.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=p.pid;s[e]=function(){var p=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,p)}}else s[e]=function(){};return s[e]},t.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=f,t.isNull=d,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=S,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=w,t.isObject=E,t.isDate=m,t.isError=b,t.isFunction=v,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(43);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(){var e=new Date,t=[I(e.getHours()),I(e.getMinutes()),I(e.getSeconds())].join(":");return[e.getDate(),T[e.getMonth()],t].join(" ")}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",M(),t.format.apply(t,arguments))},t.inherits=r(6),t._extend=function(e,t){if(!t||!E(t))return e;for(var r=Object.keys(t),p=r.length;p--;)e[r[p]]=t[r[p]];return e}}).call(this,r(5),r(9))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,r){var p;!function(r){o(Math.pow(36,5)),o(Math.pow(16,7)),o(Math.pow(10,9)),o(Math.pow(2,30)),o(36),o(16),o(10),o(2);function o(e,t){return this instanceof o?(this._low=0,this._high=0,this.remainder=null,void 0===t?s.call(this,e):"string"==typeof e?n.call(this,e,t):void i.call(this,e,t)):new o(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function s(e){return this._low=65535&e,this._high=e>>>16,this}function n(e,t){var r=parseInt(e,t||10);return this._low=65535&r,this._high=r>>>16,this}o.prototype.fromBits=i,o.prototype.fromNumber=s,o.prototype.fromString=n,o.prototype.toNumber=function(){return 65536*this._high+this._low},o.prototype.toString=function(e){return this.toNumber().toString(e||10)},o.prototype.add=function(e){var t=this._low+e._low,r=t>>>16;return r+=this._high+e._high,this._low=65535&t,this._high=65535&r,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,r,p=this._high,o=this._low,i=e._high,s=e._low;return t=(r=o*s)>>>16,t+=p*s,t&=65535,t+=o*i,this._low=65535&r,this._high=65535&t,this},o.prototype.div=function(e){if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new o(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new o(0),this._low=1,this._high=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._low=0,this._high=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=16?this._high|=1<>>16)&65535,this},o.prototype.equals=o.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},o.prototype.greaterThan=o.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},o.prototype.lessThan=o.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},o.prototype.shiftLeft=o.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.rotateRight=o.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.clone=function(){return new o(this._low,this._high)},void 0===(p=function(){return o}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p;!function(r){var o={16:s(Math.pow(16,5)),10:s(Math.pow(10,5)),2:s(Math.pow(2,5))},i={16:s(16),10:s(10),2:s(2)};function s(e,t,r,p){return this instanceof s?(this.remainder=null,"string"==typeof e?l.call(this,e,t):void 0===t?a.call(this,e):void n.apply(this,arguments)):new s(e,t,r,p)}function n(e,t,r,p){return void 0===r?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|r,this._a48=0|p,this)}function a(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function l(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var r=o[t]||new s(Math.pow(t,5)),p=0,i=e.length;p=0&&(r.div(t),p[o]=r.remainder.toNumber().toString(e),r.gt(t));o--);return p[o-1]=r.toNumber().toString(e),p.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,r=t>>>16,p=(r+=this._a16+e._a16)>>>16,o=(p+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&r,this._a32=65535&p,this._a48=65535&o,this},s.prototype.subtract=function(e){return this.add(e.clone().negate())},s.prototype.multiply=function(e){var t=this._a00,r=this._a16,p=this._a32,o=this._a48,i=e._a00,s=e._a16,n=e._a32,a=t*i,l=a>>>16,c=(l+=t*s)>>>16;l&=65535,c+=(l+=r*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=r*s)>>>16,c&=65535,u+=(c+=p*i)>>>16,u+=t*e._a48,u&=65535,u+=r*n,u&=65535,u+=p*s,u&=65535,u+=o*i,this._a00=65535&a,this._a16=65535&l,this._a32=65535&c,this._a48=65535&u,this},s.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new s(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new s(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},s.prototype.equals=s.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},s.prototype.greaterThan=s.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},s.prototype.lessThan=s.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},s.prototype.shiftLeft=s.prototype.shiftl=function(e,t){return(e%=64)>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r<>>32-e,i=p<>>32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.rotateRight=s.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r>>>e|p<<32-e,i=p>>>e|r<<32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.clone=function(){return new s(this._a00,this._a16,this._a32,this._a48)},void 0===(p=function(){return s}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=(r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT",n.prototype.msg_type=47,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:i.prototype.parser}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),n.prototype.fieldSpec.push(["cp","writeFloatLE",4]),n.prototype.fieldSpec.push(["cf","writeFloatLE",4]),n.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_C",a.prototype.msg_type=31,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),a.prototype.fieldSpec.push(["cp","writeFloatLE",4]),a.prototype.fieldSpec.push(["cf","writeFloatLE",4]),a.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_B",l.prototype.msg_type=20,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["snr","writeFloatLE",4]),l.prototype.fieldSpec.push(["cp","writeFloatLE",4]),l.prototype.fieldSpec.push(["cf","writeFloatLE",4]),l.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_A",c.prototype.msg_type=21,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").uint8("prn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["snr","writeFloatLE",4]),c.prototype.fieldSpec.push(["cp","writeFloatLE",4]),c.prototype.fieldSpec.push(["cf","writeFloatLE",4]),c.prototype.fieldSpec.push(["prn","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="AcqSvProfile",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:i.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["job_type","writeUInt8",1]),u.prototype.fieldSpec.push(["status","writeUInt8",1]),u.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),u.prototype.fieldSpec.push(["int_time","writeUInt8",1]),u.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),u.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),u.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),u.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf","writeInt32LE",4]),u.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="AcqSvProfileDep",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:s.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["job_type","writeUInt8",1]),y.prototype.fieldSpec.push(["status","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),y.prototype.fieldSpec.push(["int_time","writeUInt8",1]),y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),y.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),y.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),y.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf","writeInt32LE",4]),y.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE",h.prototype.msg_type=46,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:u.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["acq_sv_profile","array",u.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE_DEP",f.prototype.msg_type=30,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:y.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["acq_sv_profile","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={47:n,MsgAcqResult:n,31:a,MsgAcqResultDepC:a,20:l,MsgAcqResultDepB:l,21:c,MsgAcqResultDepA:c,AcqSvProfile:u,AcqSvProfileDep:y,46:h,MsgAcqSvProfile:h,30:f,MsgAcqSvProfileDep:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",i.prototype.msg_type=179,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",s.prototype.msg_type=180,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("flags").string("version",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt32LE",4]),s.prototype.fieldSpec.push(["version","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_JUMP_TO_APP",n.prototype.msg_type=177,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("jump"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["jump","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_REQ",a.prototype.msg_type=222,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little"),a.prototype.fieldSpec=[];var l=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_RESP",l.prototype.msg_type=221,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").array("dna",{length:8,type:"uint8"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["dna","array","writeUInt8",function(){return 1},8]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",c.prototype.msg_type=176,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("handshake",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["handshake","array","writeUInt8",function(){return 1},null]),e.exports={179:i,MsgBootloaderHandshakeReq:i,180:s,MsgBootloaderHandshakeResp:s,177:n,MsgBootloaderJumpToApp:n,222:a,MsgNapDeviceDnaReq:a,221:l,MsgNapDeviceDnaResp:l,176:c,MsgBootloaderHandshakeDepA:c}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_EXT_EVENT",i.prototype.msg_type=257,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags").uint8("pin"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]),i.prototype.fieldSpec.push(["pin","writeUInt8",1]),e.exports={257:i,MsgExtEvent:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_REQ",i.prototype.msg_type=168,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").uint8("chunk_size").string("filename",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),i.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),i.prototype.fieldSpec.push(["chunk_size","writeUInt8",1]),i.prototype.fieldSpec.push(["filename","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_RESP",s.prototype.msg_type=163,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),s.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_REQ",n.prototype.msg_type=169,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("dirname",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),n.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),n.prototype.fieldSpec.push(["dirname","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_RESP",a.prototype.msg_type=170,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),a.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_REMOVE",l.prototype.msg_type=172,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("filename",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["filename","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_REQ",c.prototype.msg_type=173,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("filename",{greedy:!0}).array("data",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),c.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),c.prototype.fieldSpec.push(["filename","string",null]),c.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_RESP",u.prototype.msg_type=171,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sequence"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_REQ",y.prototype.msg_type=4097,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sequence"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_RESP",h.prototype.msg_type=4098,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("window_size").uint32("batch_size").uint32("fileio_version"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),h.prototype.fieldSpec.push(["window_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["batch_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["fileio_version","writeUInt32LE",4]),e.exports={168:i,MsgFileioReadReq:i,163:s,MsgFileioReadResp:s,169:n,MsgFileioReadDirReq:n,170:a,MsgFileioReadDirResp:a,172:l,MsgFileioRemove:l,173:c,MsgFileioWriteReq:c,171:u,MsgFileioWriteResp:u,4097:y,MsgFileioConfigReq:y,4098:h,MsgFileioConfigResp:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_PROGRAM",i.prototype.msg_type=230,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len").array("data",{type:"uint8",length:"addr_len"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["target","writeUInt8",1]),i.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),i.prototype.fieldSpec.push(["addr_len","writeUInt8",1]),i.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},"addr_len"]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_DONE",s.prototype.msg_type=224,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("response"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["response","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_REQ",n.prototype.msg_type=231,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["target","writeUInt8",1]),n.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),n.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_RESP",a.prototype.msg_type=225,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["target","writeUInt8",1]),a.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),a.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_ERASE",l.prototype.msg_type=226,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("target").uint32("sector_num"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["target","writeUInt8",1]),l.prototype.fieldSpec.push(["sector_num","writeUInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_LOCK_SECTOR",c.prototype.msg_type=227,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sector"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_UNLOCK_SECTOR",u.prototype.msg_type=228,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sector"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_REQ",y.prototype.msg_type=232,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_RESP",h.prototype.msg_type=229,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("stm_id",{length:12,type:"uint8"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["stm_id","array","writeUInt8",function(){return 1},12]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_M25_FLASH_WRITE_STATUS",f.prototype.msg_type=243,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("status",{length:1,type:"uint8"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","array","writeUInt8",function(){return 1},1]),e.exports={230:i,MsgFlashProgram:i,224:s,MsgFlashDone:s,231:n,MsgFlashReadReq:n,225:a,MsgFlashReadResp:a,226:l,MsgFlashErase:l,227:c,MsgStmFlashLockSector:c,228:u,MsgStmFlashUnlockSector:u,232:y,MsgStmUniqueIdReq:y,229:h,MsgStmUniqueIdResp:h,243:f,MsgM25FlashWriteStatus:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_IMU_RAW",i.prototype.msg_type=2304,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("acc_x").int16("acc_y").int16("acc_z").int16("gyr_x").int16("gyr_y").int16("gyr_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["acc_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_z","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_z","writeInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_IMU_AUX",s.prototype.msg_type=2305,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("imu_type").int16("temp").uint8("imu_conf"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["imu_type","writeUInt8",1]),s.prototype.fieldSpec.push(["temp","writeInt16LE",2]),s.prototype.fieldSpec.push(["imu_conf","writeUInt8",1]),e.exports={2304:i,MsgImuRaw:i,2305:s,MsgImuAux:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_CPU_STATE",i.prototype.msg_type=32512,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").string("tname",{length:15}).string("cmdline",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["index","writeUInt8",1]),i.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),i.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),i.prototype.fieldSpec.push(["tname","string",15]),i.prototype.fieldSpec.push(["cmdline","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_MEM_STATE",s.prototype.msg_type=32513,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").string("tname",{length:15}).string("cmdline",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["index","writeUInt8",1]),s.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),s.prototype.fieldSpec.push(["pmem","writeUInt8",1]),s.prototype.fieldSpec.push(["tname","string",15]),s.prototype.fieldSpec.push(["cmdline","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SYS_STATE",n.prototype.msg_type=32514,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),n.prototype.fieldSpec.push(["pmem","writeUInt8",1]),n.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),n.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",a.prototype.msg_type=32515,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("socket_count").uint16("socket_types").uint16("socket_states").string("cmdline",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["index","writeUInt8",1]),a.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_count","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),a.prototype.fieldSpec.push(["cmdline","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",l.prototype.msg_type=32516,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("recv_queued").uint16("send_queued").uint16("socket_types").uint16("socket_states").string("address_of_largest",{length:64}).string("cmdline",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["index","writeUInt8",1]),l.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),l.prototype.fieldSpec.push(["recv_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["send_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),l.prototype.fieldSpec.push(["address_of_largest","string",64]),l.prototype.fieldSpec.push(["cmdline","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SOCKET_USAGE",c.prototype.msg_type=32517,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("avg_queue_depth").uint32("max_queue_depth").array("socket_state_counts",{length:16,type:"uint16le"}).array("socket_type_counts",{length:16,type:"uint16le"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["avg_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["max_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["socket_state_counts","array","writeUInt16LE",function(){return 2},16]),c.prototype.fieldSpec.push(["socket_type_counts","array","writeUInt16LE",function(){return 2},16]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_COUNT",u.prototype.msg_type=32518,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("fd_count").string("cmdline",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt8",1]),u.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),u.prototype.fieldSpec.push(["fd_count","writeUInt16LE",2]),u.prototype.fieldSpec.push(["cmdline","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_SUMMARY",y.prototype.msg_type=32519,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sys_fd_count").string("most_opened",{greedy:!0}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sys_fd_count","writeUInt32LE",4]),y.prototype.fieldSpec.push(["most_opened","string",null]),e.exports={32512:i,MsgLinuxCpuState:i,32513:s,MsgLinuxMemState:s,32514:n,MsgLinuxSysState:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LOG",i.prototype.msg_type=1025,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("level").string("text",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["level","writeUInt8",1]),i.prototype.fieldSpec.push(["text","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").string("fwd_payload",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_PRINT_DEP",n.prototype.msg_type=16,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").string("text",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["text","string",null]),e.exports={1025:i,MsgLog:i,1026:s,MsgFwd:s,16:n,MsgPrintDep:n}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_MAG_RAW",i.prototype.msg_type=2306,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("mag_x").int16("mag_y").int16("mag_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["mag_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_z","writeInt16LE",2]),e.exports={2306:i,MsgMagRaw:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME",i.prototype.msg_type=258,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME_GNSS",s.prototype.msg_type=260,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_UTC_TIME",n.prototype.msg_type=259,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt8",1]),n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["year","writeUInt16LE",2]),n.prototype.fieldSpec.push(["month","writeUInt8",1]),n.prototype.fieldSpec.push(["day","writeUInt8",1]),n.prototype.fieldSpec.push(["hours","writeUInt8",1]),n.prototype.fieldSpec.push(["minutes","writeUInt8",1]),n.prototype.fieldSpec.push(["seconds","writeUInt8",1]),n.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_UTC_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_UTC_TIME_GNSS",a.prototype.msg_type=261,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]),a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["year","writeUInt16LE",2]),a.prototype.fieldSpec.push(["month","writeUInt8",1]),a.prototype.fieldSpec.push(["day","writeUInt8",1]),a.prototype.fieldSpec.push(["hours","writeUInt8",1]),a.prototype.fieldSpec.push(["minutes","writeUInt8",1]),a.prototype.fieldSpec.push(["seconds","writeUInt8",1]),a.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_DOPS",l.prototype.msg_type=520,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF",c.prototype.msg_type=521,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["x","writeDoubleLE",8]),c.prototype.fieldSpec.push(["y","writeDoubleLE",8]),c.prototype.fieldSpec.push(["z","writeDoubleLE",8]),c.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV",u.prototype.msg_type=532,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["x","writeDoubleLE",8]),u.prototype.fieldSpec.push(["y","writeDoubleLE",8]),u.prototype.fieldSpec.push(["z","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH",y.prototype.msg_type=522,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),y.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),y.prototype.fieldSpec.push(["height","writeDoubleLE",8]),y.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV",h.prototype.msg_type=529,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),h.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),h.prototype.fieldSpec.push(["height","writeDoubleLE",8]),h.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF",f.prototype.msg_type=523,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),f.prototype.fieldSpec.push(["x","writeInt32LE",4]),f.prototype.fieldSpec.push(["y","writeInt32LE",4]),f.prototype.fieldSpec.push(["z","writeInt32LE",4]),f.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),f.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED",d.prototype.msg_type=524,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["n","writeInt32LE",4]),d.prototype.fieldSpec.push(["e","writeInt32LE",4]),d.prototype.fieldSpec.push(["d","writeInt32LE",4]),d.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),d.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF",_.prototype.msg_type=525,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["x","writeInt32LE",4]),_.prototype.fieldSpec.push(["y","writeInt32LE",4]),_.prototype.fieldSpec.push(["z","writeInt32LE",4]),_.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV",S.prototype.msg_type=533,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),S.prototype.fieldSpec.push(["x","writeInt32LE",4]),S.prototype.fieldSpec.push(["y","writeInt32LE",4]),S.prototype.fieldSpec.push(["z","writeInt32LE",4]),S.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);var g=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED",g.prototype.msg_type=526,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["n","writeInt32LE",4]),g.prototype.fieldSpec.push(["e","writeInt32LE",4]),g.prototype.fieldSpec.push(["d","writeInt32LE",4]),g.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV",w.prototype.msg_type=530,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["n","writeInt32LE",4]),w.prototype.fieldSpec.push(["e","writeInt32LE",4]),w.prototype.fieldSpec.push(["d","writeInt32LE",4]),w.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),w.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_GNSS",E.prototype.msg_type=553,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["x","writeDoubleLE",8]),E.prototype.fieldSpec.push(["y","writeDoubleLE",8]),E.prototype.fieldSpec.push(["z","writeDoubleLE",8]),E.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),E.prototype.fieldSpec.push(["flags","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",m.prototype.msg_type=564,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["x","writeDoubleLE",8]),m.prototype.fieldSpec.push(["y","writeDoubleLE",8]),m.prototype.fieldSpec.push(["z","writeDoubleLE",8]),m.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),m.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),m.prototype.fieldSpec.push(["flags","writeUInt8",1]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_GNSS",b.prototype.msg_type=554,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),b.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),b.prototype.fieldSpec.push(["height","writeDoubleLE",8]),b.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV_GNSS",v.prototype.msg_type=561,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),v.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),v.prototype.fieldSpec.push(["height","writeDoubleLE",8]),v.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_GNSS",L.prototype.msg_type=557,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["x","writeInt32LE",4]),L.prototype.fieldSpec.push(["y","writeInt32LE",4]),L.prototype.fieldSpec.push(["z","writeInt32LE",4]),L.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",I.prototype.msg_type=565,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["x","writeInt32LE",4]),I.prototype.fieldSpec.push(["y","writeInt32LE",4]),I.prototype.fieldSpec.push(["z","writeInt32LE",4]),I.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_GNSS",T.prototype.msg_type=558,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["n","writeInt32LE",4]),T.prototype.fieldSpec.push(["e","writeInt32LE",4]),T.prototype.fieldSpec.push(["d","writeInt32LE",4]),T.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),T.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV_GNSS",M.prototype.msg_type=562,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["n","writeInt32LE",4]),M.prototype.fieldSpec.push(["e","writeInt32LE",4]),M.prototype.fieldSpec.push(["d","writeInt32LE",4]),M.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),M.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),M.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),M.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),M.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),M.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),M.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),M.prototype.fieldSpec.push(["flags","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_VEL_BODY",U.prototype.msg_type=531,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["x","writeInt32LE",4]),U.prototype.fieldSpec.push(["y","writeInt32LE",4]),U.prototype.fieldSpec.push(["z","writeInt32LE",4]),U.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_AGE_CORRECTIONS",D.prototype.msg_type=528,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["age","writeUInt16LE",2]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME_DEP_A",O.prototype.msg_type=256,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_DOPS_DEP_A",G.prototype.msg_type=518,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),G.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),G.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),G.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),G.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_DEP_A",A.prototype.msg_type=512,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["x","writeDoubleLE",8]),A.prototype.fieldSpec.push(["y","writeDoubleLE",8]),A.prototype.fieldSpec.push(["z","writeDoubleLE",8]),A.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),A.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),A.prototype.fieldSpec.push(["flags","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_DEP_A",C.prototype.msg_type=513,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),C.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),C.prototype.fieldSpec.push(["height","writeDoubleLE",8]),C.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),C.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),C.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",R.prototype.msg_type=514,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["x","writeInt32LE",4]),R.prototype.fieldSpec.push(["y","writeInt32LE",4]),R.prototype.fieldSpec.push(["z","writeInt32LE",4]),R.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),R.prototype.fieldSpec.push(["flags","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED_DEP_A",P.prototype.msg_type=515,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["n","writeInt32LE",4]),P.prototype.fieldSpec.push(["e","writeInt32LE",4]),P.prototype.fieldSpec.push(["d","writeInt32LE",4]),P.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_DEP_A",N.prototype.msg_type=516,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["x","writeInt32LE",4]),N.prototype.fieldSpec.push(["y","writeInt32LE",4]),N.prototype.fieldSpec.push(["z","writeInt32LE",4]),N.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_DEP_A",j.prototype.msg_type=517,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["n","writeInt32LE",4]),j.prototype.fieldSpec.push(["e","writeInt32LE",4]),j.prototype.fieldSpec.push(["d","writeInt32LE",4]),j.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),j.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),j.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]);var x=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",x.prototype.msg_type=519,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),x.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),x.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),x.prototype.fieldSpec.push(["flags","writeUInt8",1]);var F=function(e,t){return p.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(p.prototype)).messageType="MSG_PROTECTION_LEVEL",F.prototype.msg_type=534,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),F.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),F.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),F.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),F.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),F.prototype.fieldSpec.push(["height","writeDoubleLE",8]),F.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,260:s,MsgGpsTimeGnss:s,259:n,MsgUtcTime:n,261:a,MsgUtcTimeGnss:a,520:l,MsgDops:l,521:c,MsgPosEcef:c,532:u,MsgPosEcefCov:u,522:y,MsgPosLlh:y,529:h,MsgPosLlhCov:h,523:f,MsgBaselineEcef:f,524:d,MsgBaselineNed:d,525:_,MsgVelEcef:_,533:S,MsgVelEcefCov:S,526:g,MsgVelNed:g,530:w,MsgVelNedCov:w,553:E,MsgPosEcefGnss:E,564:m,MsgPosEcefCovGnss:m,554:b,MsgPosLlhGnss:b,561:v,MsgPosLlhCovGnss:v,557:L,MsgVelEcefGnss:L,565:I,MsgVelEcefCovGnss:I,558:T,MsgVelNedGnss:T,562:M,MsgVelNedCovGnss:M,531:U,MsgVelBody:U,528:D,MsgAgeCorrections:D,256:O,MsgGpsTimeDepA:O,518:G,MsgDopsDepA:G,512:A,MsgPosEcefDepA:A,513:C,MsgPosLlhDepA:C,514:R,MsgBaselineEcefDepA:R,515:P,MsgBaselineNedDepA:P,516:N,MsgVelEcefDepA:N,517:j,MsgVelNedDepA:j,519:x,MsgBaselineHeadingDepA:x,534:F,MsgProtectionLevel:F}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_NDB_EVENT",s.prototype.msg_type=1024,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("recv_time").uint8("event").uint8("object_type").uint8("result").uint8("data_source").nest("object_sid",{type:i.prototype.parser}).nest("src_sid",{type:i.prototype.parser}).uint16("original_sender"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["event","writeUInt8",1]),s.prototype.fieldSpec.push(["object_type","writeUInt8",1]),s.prototype.fieldSpec.push(["result","writeUInt8",1]),s.prototype.fieldSpec.push(["data_source","writeUInt8",1]),s.prototype.fieldSpec.push(["object_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["src_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["original_sender","writeUInt16LE",2]),e.exports={1024:s,MsgNdbEvent:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec),c=r(0).GPSTimeDep,u=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(p.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:n.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="Doppler",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("i").uint8("f"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["i","writeInt16LE",2]),y.prototype.fieldSpec.push(["f","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),h.prototype.fieldSpec.push(["D",y.prototype.fieldSpec]),h.prototype.fieldSpec.push(["cn0","writeUInt8",1]),h.prototype.fieldSpec.push(["lock","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var f=function(e,t){return p.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}).uint16("iono_std").uint16("tropo_std").uint16("range_std"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["P","writeUInt32LE",4]),f.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["iono_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["tropo_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["range_std","writeUInt16LE",2]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_OBS",d.prototype.msg_type=74,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:h.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),d.prototype.fieldSpec.push(["obs","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_LLH",_.prototype.msg_type=68,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").doublele("lat").doublele("lon").doublele("height"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),_.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),_.prototype.fieldSpec.push(["height","writeDoubleLE",8]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_ECEF",S.prototype.msg_type=72,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").doublele("x").doublele("y").doublele("z"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["x","writeDoubleLE",8]),S.prototype.fieldSpec.push(["y","writeDoubleLE",8]),S.prototype.fieldSpec.push(["z","writeDoubleLE",8]);var g=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),g.prototype.fieldSpec.push(["ura","writeFloatLE",4]),g.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),g.prototype.fieldSpec.push(["valid","writeUInt8",1]),g.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),w.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),w.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),w.prototype.fieldSpec.push(["valid","writeUInt8",1]),w.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),E.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),E.prototype.fieldSpec.push(["valid","writeUInt8",1]),E.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_E",m.prototype.msg_type=129,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),m.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),m.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["w","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),m.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_F",b.prototype.msg_type=134,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),b.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),b.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),b.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["w","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),b.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS",v.prototype.msg_type=138,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),v.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),v.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["w","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af0","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_QZSS",L.prototype.msg_type=142,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),L.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),L.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["w","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["af0","writeFloatLE",4]),L.prototype.fieldSpec.push(["af1","writeFloatLE",4]),L.prototype.fieldSpec.push(["af2","writeFloatLE",4]),L.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_BDS",I.prototype.msg_type=137,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd1").floatle("tgd2").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),I.prototype.fieldSpec.push(["tgd2","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),I.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),I.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["w","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),T.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),T.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["w","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL",M.prototype.msg_type=141,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),M.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),M.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),M.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),M.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["w","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af2","writeFloatLE",4]),M.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),M.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),M.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),M.prototype.fieldSpec.push(["source","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",U.prototype.msg_type=130,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),U.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_A",D.prototype.msg_type=131,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),D.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),D.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),D.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_B",O.prototype.msg_type=132,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),O.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),O.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS",G.prototype.msg_type=140,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"floatle"}).array("acc",{length:3,type:"floatle"}).floatle("a_gf0").floatle("a_gf1"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),G.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),G.prototype.fieldSpec.push(["vel","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["a_gf0","writeFloatLE",4]),G.prototype.fieldSpec.push(["a_gf1","writeFloatLE",4]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_B",A.prototype.msg_type=133,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),A.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),A.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),A.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",C.prototype.msg_type=135,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),C.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),C.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["fcn","writeUInt8",1]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",R.prototype.msg_type=136,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn").uint8("iod"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),R.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),R.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["fcn","writeUInt8",1]),R.prototype.fieldSpec.push(["iod","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO",P.prototype.msg_type=139,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("gamma").floatle("tau").floatle("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"floatle"}).uint8("fcn").uint8("iod"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),P.prototype.fieldSpec.push(["gamma","writeFloatLE",4]),P.prototype.fieldSpec.push(["tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["d_tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),P.prototype.fieldSpec.push(["fcn","writeUInt8",1]),P.prototype.fieldSpec.push(["iod","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_D",N.prototype.msg_type=128,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),N.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),N.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["w","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["valid","writeUInt8",1]),N.prototype.fieldSpec.push(["healthy","writeUInt8",1]),N.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_A",j.prototype.msg_type=26,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),j.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),j.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["w","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["valid","writeUInt8",1]),j.prototype.fieldSpec.push(["healthy","writeUInt8",1]),j.prototype.fieldSpec.push(["prn","writeUInt8",1]);var x=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_B",x.prototype.msg_type=70,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn").uint8("iode"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),x.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),x.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["w","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["valid","writeUInt8",1]),x.prototype.fieldSpec.push(["healthy","writeUInt8",1]),x.prototype.fieldSpec.push(["prn","writeUInt8",1]),x.prototype.fieldSpec.push(["iode","writeUInt8",1]);var F=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_C",F.prototype.msg_type=71,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),F.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),F.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["w","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["valid","writeUInt8",1]),F.prototype.fieldSpec.push(["healthy","writeUInt8",1]),F.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var k=function(e,t){return p.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(p.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:c.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",c.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var B=function(e,t){return p.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(p.prototype)).messageType="CarrierPhaseDepA",B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["i","writeInt32LE",4]),B.prototype.fieldSpec.push(["f","writeUInt8",1]);var q=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepA",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").uint8("prn"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["P","writeUInt32LE",4]),q.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),q.prototype.fieldSpec.push(["cn0","writeUInt8",1]),q.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),q.prototype.fieldSpec.push(["prn","writeUInt8",1]);var z=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepB",z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["P","writeUInt32LE",4]),z.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),z.prototype.fieldSpec.push(["cn0","writeUInt8",1]),z.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var H=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var V=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_A",V.prototype.msg_type=69,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var W=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_B",W.prototype.msg_type=67,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Y=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_C",Y.prototype.msg_type=73,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Q=function(e,t){return p.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(p.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).doublele("a0").doublele("a1").doublele("a2").doublele("a3").doublele("b0").doublele("b1").doublele("b2").doublele("b3"),Q.prototype.fieldSpec=[],Q.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),Q.prototype.fieldSpec.push(["a0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a3","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b3","writeDoubleLE",8]);var K=function(e,t){return p.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(p.prototype)).messageType="MSG_SV_CONFIGURATION_GPS_DEP",K.prototype.msg_type=145,K.prototype.constructor=K,K.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);var X=function(e,t){return p.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(p.prototype)).messageType="GnssCapb",X.prototype.constructor=X,X.prototype.parser=(new o).endianess("little").uint64("gps_active").uint64("gps_l2c").uint64("gps_l5").uint32("glo_active").uint32("glo_l2of").uint32("glo_l3").uint64("sbas_active").uint64("sbas_l5").uint64("bds_active").uint64("bds_d2nav").uint64("bds_b2").uint64("bds_b2a").uint32("qzss_active").uint64("gal_active").uint64("gal_e5"),X.prototype.fieldSpec=[],X.prototype.fieldSpec.push(["gps_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l2c","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["glo_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l2of","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l3","writeUInt32LE",4]),X.prototype.fieldSpec.push(["sbas_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["sbas_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_d2nav","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2a","writeUInt64LE",8]),X.prototype.fieldSpec.push(["qzss_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["gal_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gal_e5","writeUInt64LE",8]);var J=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_CAPB",J.prototype.msg_type=150,J.prototype.constructor=J,J.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);var $=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",$.prototype.msg_type=146,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).uint8("prn").uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["prn","writeUInt8",1]),$.prototype.fieldSpec.push(["valid","writeUInt8",1]),$.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var Z=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",Z.prototype.msg_type=147,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),Z.prototype.fieldSpec=[],Z.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["valid","writeUInt8",1]),Z.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var ee=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY",ee.prototype.msg_type=148,ee.prototype.constructor=ee,ee.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["valid","writeUInt8",1]),ee.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var te=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),te.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),te.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),te.prototype.fieldSpec.push(["valid","writeUInt8",1]),te.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var re=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContentDep",re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),re.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),re.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),re.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),re.prototype.fieldSpec.push(["valid","writeUInt8",1]),re.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var pe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS_DEP",pe.prototype.msg_type=112,pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var oe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS",oe.prototype.msg_type=114,oe.prototype.constructor=oe,oe.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),oe.prototype.fieldSpec=[],oe.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),oe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var ie=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO_DEP",ie.prototype.msg_type=113,ie.prototype.constructor=ie,ie.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),ie.prototype.fieldSpec=[],ie.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),ie.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["i","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var se=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO",se.prototype.msg_type=115,se.prototype.constructor=se,se.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),se.prototype.fieldSpec=[],se.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),se.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["i","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),se.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),se.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var ne=function(e,t){return p.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(p.prototype)).messageType="MSG_GLO_BIASES",ne.prototype.msg_type=117,ne.prototype.constructor=ne,ne.prototype.parser=(new o).endianess("little").uint8("mask").int16("l1ca_bias").int16("l1p_bias").int16("l2ca_bias").int16("l2p_bias"),ne.prototype.fieldSpec=[],ne.prototype.fieldSpec.push(["mask","writeUInt8",1]),ne.prototype.fieldSpec.push(["l1ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l1p_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2p_bias","writeInt16LE",2]);var ae=function(e,t){return p.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(p.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);var le=function(e,t){return p.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(p.prototype)).messageType="MSG_SV_AZ_EL",le.prototype.msg_type=151,le.prototype.constructor=le,le.prototype.parser=(new o).endianess("little").array("azel",{type:ae.prototype.parser,readUntil:"eof"}),le.prototype.fieldSpec=[],le.prototype.fieldSpec.push(["azel","array",ae.prototype.fieldSpec,function(){return this.fields.array.length},null]);var ce=function(e,t){return p.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(p.prototype)).messageType="MSG_OSR",ce.prototype.msg_type=1600,ce.prototype.constructor=ce,ce.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:f.prototype.parser,readUntil:"eof"}),ce.prototype.fieldSpec=[],ce.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),ce.prototype.fieldSpec.push(["obs","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={ObservationHeader:u,Doppler:y,PackedObsContent:h,PackedOsrContent:f,74:d,MsgObs:d,68:_,MsgBasePosLlh:_,72:S,MsgBasePosEcef:S,EphemerisCommonContent:g,EphemerisCommonContentDepB:w,EphemerisCommonContentDepA:E,129:m,MsgEphemerisGpsDepE:m,134:b,MsgEphemerisGpsDepF:b,138:v,MsgEphemerisGps:v,142:L,MsgEphemerisQzss:L,137:I,MsgEphemerisBds:I,149:T,MsgEphemerisGalDepA:T,141:M,MsgEphemerisGal:M,130:U,MsgEphemerisSbasDepA:U,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:C,MsgEphemerisGloDepC:C,136:R,MsgEphemerisGloDepD:R,139:P,MsgEphemerisGlo:P,128:N,MsgEphemerisDepD:N,26:j,MsgEphemerisDepA:j,70:x,MsgEphemerisDepB:x,71:F,MsgEphemerisDepC:F,ObservationHeaderDep:k,CarrierPhaseDepA:B,PackedObsContentDepA:q,PackedObsContentDepB:z,PackedObsContentDepC:H,69:V,MsgObsDepA:V,67:W,MsgObsDepB:W,73:Y,MsgObsDepC:Y,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:$,MsgGroupDelayDepA:$,147:Z,MsgGroupDelayDepB:Z,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:re,112:pe,MsgAlmanacGpsDep:pe,114:oe,MsgAlmanacGps:oe,113:ie,MsgAlmanacGloDep:ie,115:se,MsgAlmanacGlo:se,117:ne,MsgGloBiases:ne,SvAzEl:ae,151:le,MsgSvAzEl:le,1600:ce,MsgOsr:ce}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=(r(0).CarrierPhase,n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),l=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];var c=function(e,t){return p.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];var u=function(e,t){return p.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_RESET",u.prototype.msg_type=182,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];var f=function(e,t){return p.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];var d=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_RESET_FILTERS",d.prototype.msg_type=34,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint8("filter"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["filter","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];var S=function(e,t){return p.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_THREAD_STATE",S.prototype.msg_type=23,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").string("name",{length:20}).uint16("cpu").uint32("stack_free"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["name","string",20]),S.prototype.fieldSpec.push(["cpu","writeUInt16LE",2]),S.prototype.fieldSpec.push(["stack_free","writeUInt32LE",4]);var g=function(e,t){return p.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="UARTChannel",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").floatle("tx_throughput").floatle("rx_throughput").uint16("crc_error_count").uint16("io_error_count").uint8("tx_buffer_level").uint8("rx_buffer_level"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["rx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["crc_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["io_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tx_buffer_level","writeUInt8",1]),g.prototype.fieldSpec.push(["rx_buffer_level","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="Period",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").int32("avg").int32("pmin").int32("pmax").int32("current"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["avg","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmin","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmax","writeInt32LE",4]),w.prototype.fieldSpec.push(["current","writeInt32LE",4]);var E=function(e,t){return p.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="Latency",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").int32("avg").int32("lmin").int32("lmax").int32("current"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["avg","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmin","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmax","writeInt32LE",4]),E.prototype.fieldSpec.push(["current","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE",m.prototype.msg_type=29,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}).nest("obs_period",{type:w.prototype.parser}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["obs_period",w.prototype.fieldSpec]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE_DEPA",b.prototype.msg_type=24,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_IAR_STATE",v.prototype.msg_type=25,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("num_hyps"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE",L.prototype.msg_type=43,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE_DEP",I.prototype.msg_type=27,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["mask","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_REQ",M.prototype.msg_type=184,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["command","string",null]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_RESP",U.prototype.msg_type=185,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["code","writeInt32LE",4]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_OUTPUT",D.prototype.msg_type=188,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("sequence").string("line",{greedy:!0}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),D.prototype.fieldSpec.push(["line","string",null]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_REQ",O.prototype.msg_type=186,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little"),O.prototype.fieldSpec=[];var G=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_RESP",G.prototype.msg_type=187,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").array("ipv4_address",{length:4,type:"uint8"}).uint8("ipv4_mask_size").array("ipv6_address",{length:16,type:"uint8"}).uint8("ipv6_mask_size").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}).uint32("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["ipv4_address","array","writeUInt8",function(){return 1},4]),G.prototype.fieldSpec.push(["ipv4_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["ipv6_address","array","writeUInt8",function(){return 1},16]),G.prototype.fieldSpec.push(["ipv6_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["interface_name","string",16]),G.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var A=function(e,t){return p.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="NetworkUsage",A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint64("duration").uint64("total_bytes").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["duration","writeUInt64LE",8]),A.prototype.fieldSpec.push(["total_bytes","writeUInt64LE",8]),A.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["interface_name","string",16]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",C.prototype.msg_type=189,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_CELL_MODEM_STATUS",R.prototype.msg_type=190,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),R.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),R.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN_DEP",P.prototype.msg_type=80,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:a.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),P.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),P.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN",N.prototype.msg_type=81,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:n.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),N.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_FRONT_END_GAIN",j.prototype.msg_type=191,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").array("rf_gain",{length:8,type:"int8"}).array("if_gain",{length:8,type:"int8"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["rf_gain","array","writeInt8",function(){return 1},8]),j.prototype.fieldSpec.push(["if_gain","array","writeInt8",function(){return 1},8]),e.exports={105:l,MsgAlmanac:l,104:c,MsgSetTime:c,182:u,MsgReset:u,178:y,MsgResetDep:y,192:h,MsgCwResults:h,193:f,MsgCwStart:f,34:d,MsgResetFilters:d,35:_,MsgInitBaseDep:_,23:S,MsgThreadState:S,UARTChannel:g,Period:w,Latency:E,29:m,MsgUartState:m,24:b,MsgUartStateDepa:b,25:v,MsgIarState:v,43:L,MsgMaskSatellite:L,27:I,MsgMaskSatelliteDep:I,181:T,MsgDeviceMonitor:T,184:M,MsgCommandReq:M,185:U,MsgCommandResp:U,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:C,MsgNetworkBandwidthUsage:C,190:R,MsgCellModemStatus:R,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_SBAS_RAW",s.prototype.msg_type=30583,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint32("tow").uint8("message_type").array("data",{length:27,type:"uint8"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["message_type","writeUInt8",1]),s.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},27]),e.exports={30583:s,MsgSbasRaw:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE",s.prototype.msg_type=160,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["setting","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE_RESP",n.prototype.msg_type=175,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["status","writeUInt8",1]),n.prototype.fieldSpec.push(["setting","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_REQ",a.prototype.msg_type=164,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["setting","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_RESP",l.prototype.msg_type=165,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["setting","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",c.prototype.msg_type=162,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("index"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["index","writeUInt16LE",2]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",u.prototype.msg_type=167,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("index").string("setting",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt16LE",2]),u.prototype.fieldSpec.push(["setting","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",y.prototype.msg_type=166,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER",h.prototype.msg_type=174,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["setting","string",null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER_RESP",f.prototype.msg_type=431,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","writeUInt8",1]),f.prototype.fieldSpec.push(["setting","string",null]),e.exports={161:i,MsgSettingsSave:i,160:s,MsgSettingsWrite:s,175:n,MsgSettingsWriteResp:n,164:a,MsgSettingsReadReq:a,165:l,MsgSettingsReadResp:l,162:c,MsgSettingsReadByIndexReq:c,167:u,MsgSettingsReadByIndexResp:u,166:y,MsgSettingsReadByIndexDone:y,174:h,MsgSettingsRegister:h,431:f,MsgSettingsRegisterResp:f}},function(e,t,r){var p=r(2),o=r(13).Parser,i=function(e){return p.call(this,e),this.messageType="SBPSignal",this.fields=this.parser.parse(e.payload),this};(i.prototype=Object.create(p.prototype)).constructor=i,i.prototype.parser=(new o).endianess("little").uint16("sat").uint8("band").uint8("constellation"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sat","writeUInt16LE",2]),i.prototype.fieldSpec.push(["band","writeUInt8",1]),i.prototype.fieldSpec.push(["constellation","writeUInt8",1]),e.exports={SBPSignal:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec),n=(r(0).GPSTimeDep,r(0).SvId),a=function(e,t){return p.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="CodeBiasesContent",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("code").int16("value"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["code","writeUInt8",1]),a.prototype.fieldSpec.push(["value","writeInt16LE",2]);var l=function(e,t){return p.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="PhaseBiasesContent",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("code").uint8("integer_indicator").uint8("widelane_integer_indicator").uint8("discontinuity_counter").int32("bias"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["code","writeUInt8",1]),l.prototype.fieldSpec.push(["integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["widelane_integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["discontinuity_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["bias","writeInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("tile_set_id").uint8("tile_id").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tile_set_id","writeUInt8",1]),c.prototype.fieldSpec.push(["tile_id","writeUInt8",1]),c.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),c.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),c.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),c.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("tile_set_id").uint8("tile_id").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tile_set_id","writeUInt8",1]),u.prototype.fieldSpec.push(["tile_id","writeUInt8",1]),u.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),u.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),u.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),u.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),u.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="STECSatElement",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).uint8("stec_quality_indicator").array("stec_coeff",{length:4,type:"int16le"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["stec_quality_indicator","writeUInt8",1]),y.prototype.fieldSpec.push(["stec_coeff","array","writeInt16LE",function(){return 2},4]);var h=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrectionNoStd",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),h.prototype.fieldSpec.push(["wet","writeInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrection",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet").uint8("stddev"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),f.prototype.fieldSpec.push(["wet","writeInt8",1]),f.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="STECResidualNoStd",d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),d.prototype.fieldSpec.push(["residual","writeInt16LE",2]);var _=function(e,t){return p.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="STECResidual",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual").uint8("stddev"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),_.prototype.fieldSpec.push(["residual","writeInt16LE",2]),_.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="GridElementNoStd",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="GridElementNoStd",S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["index","writeUInt16LE",2]),S.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),S.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var g=function(e,t){return p.call(this,e),this.messageType="GridElement",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="GridElement",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["index","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),g.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",w.prototype.msg_type=1501,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint32("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),w.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),w.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),w.prototype.fieldSpec.push(["radial","writeInt32LE",4]),w.prototype.fieldSpec.push(["along","writeInt32LE",4]),w.prototype.fieldSpec.push(["cross","writeInt32LE",4]),w.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),w.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),w.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),w.prototype.fieldSpec.push(["c0","writeInt32LE",4]),w.prototype.fieldSpec.push(["c1","writeInt32LE",4]),w.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_SSR_CODE_BIASES",E.prototype.msg_type=1505,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").array("biases",{type:a.prototype.parser,readUntil:"eof"}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),E.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),E.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),E.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_SSR_PHASE_BIASES",m.prototype.msg_type=1510,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("dispersive_bias").uint8("mw_consistency").uint16("yaw").int8("yaw_rate").array("biases",{type:l.prototype.parser,readUntil:"eof"}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),m.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),m.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),m.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),m.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),m.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_SSR_STEC_CORRECTION",b.prototype.msg_type=1531,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),b.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",v.prototype.msg_type=1532,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:g.prototype.parser}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),v.prototype.fieldSpec.push(["element",g.prototype.fieldSpec]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_SSR_TILE_DEFINITION",L.prototype.msg_type=1526,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("tile_set_id").uint8("tile_id").uint16("corner_nw_lat").uint16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tile_set_id","writeUInt8",1]),L.prototype.fieldSpec.push(["tile_id","writeUInt8",1]),L.prototype.fieldSpec.push(["corner_nw_lat","writeUInt16LE",2]),L.prototype.fieldSpec.push(["corner_nw_lon","writeUInt16LE",2]),L.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),L.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),L.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),L.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),L.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",I.prototype.msg_type=1500,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),I.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),I.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),I.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),I.prototype.fieldSpec.push(["iod","writeUInt8",1]),I.prototype.fieldSpec.push(["radial","writeInt32LE",4]),I.prototype.fieldSpec.push(["along","writeInt32LE",4]),I.prototype.fieldSpec.push(["cross","writeInt32LE",4]),I.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),I.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),I.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),I.prototype.fieldSpec.push(["c0","writeInt32LE",4]),I.prototype.fieldSpec.push(["c1","writeInt32LE",4]),I.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var T=function(e,t){return p.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="STECHeaderDepA",T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),T.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),T.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),T.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),T.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var M=function(e,t){return p.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="GriddedCorrectionHeaderDepA",M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),M.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),M.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),M.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),M.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),M.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="GridDefinitionHeaderDepA",U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint8("region_size_inverse").uint16("area_width").uint16("lat_nw_corner_enc").uint16("lon_nw_corner_enc").uint8("num_msgs").uint8("seq_num"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),U.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),U.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),U.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),U.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),U.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",D.prototype.msg_type=1515,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("header",{type:T.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["header",T.prototype.fieldSpec]),D.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",O.prototype.msg_type=1520,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("header",{type:M.prototype.parser}).nest("element",{type:S.prototype.parser}),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["header",M.prototype.fieldSpec]),O.prototype.fieldSpec.push(["element",S.prototype.fieldSpec]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",G.prototype.msg_type=1530,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("header",{type:M.prototype.parser}).nest("element",{type:g.prototype.parser}),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["header",M.prototype.fieldSpec]),G.prototype.fieldSpec.push(["element",g.prototype.fieldSpec]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",A.prototype.msg_type=1525,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("header",{type:U.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["header",U.prototype.fieldSpec]),A.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,GridElementNoStd:S,GridElement:g,1501:w,MsgSsrOrbitClock:w,1505:E,MsgSsrCodeBiases:E,1510:m,MsgSsrPhaseBiases:m,1531:b,MsgSsrStecCorrection:b,1532:v,MsgSsrGriddedCorrection:v,1526:L,MsgSsrTileDefinition:L,1500:I,MsgSsrOrbitClockDepA:I,STECHeaderDepA:T,GriddedCorrectionHeaderDepA:M,GridDefinitionHeaderDepA:U,1515:D,MsgSsrStecCorrectionDepA:D,1520:O,MsgSsrGriddedCorrectionNoStdDepA:O,1530:G,MsgSsrGriddedCorrectionDepA:G,1525:A,MsgSsrGridDefinitionDepA:A}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_STARTUP",i.prototype.msg_type=65280,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("cause").uint8("startup_type").uint16("reserved"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["cause","writeUInt8",1]),i.prototype.fieldSpec.push(["startup_type","writeUInt8",1]),i.prototype.fieldSpec.push(["reserved","writeUInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_DGNSS_STATUS",s.prototype.msg_type=65282,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint16("latency").uint8("num_signals").string("source",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["latency","writeUInt16LE",2]),s.prototype.fieldSpec.push(["num_signals","writeUInt8",1]),s.prototype.fieldSpec.push(["source","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_HEARTBEAT",n.prototype.msg_type=65535,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_INS_STATUS",a.prototype.msg_type=65283,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY",l.prototype.msg_type=65284,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["id","writeUInt8",1]),l.prototype.fieldSpec.push(["telemetry","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",c.prototype.msg_type=65285,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["id","writeUInt8",1]),c.prototype.fieldSpec.push(["telemetry_labels","string",null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_INS_UPDATES",u.prototype.msg_type=65286,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),u.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),u.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),u.prototype.fieldSpec.push(["speed","writeUInt8",1]),u.prototype.fieldSpec.push(["nhc","writeUInt8",1]),u.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_TIME_OFFSET",y.prototype.msg_type=65287,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),y.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),y.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_META",h.prototype.msg_type=65290,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("group_id").uint8("flags").uint8("n_group_msgs").array("group_msgs",{type:"uint16le",readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["group_id","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["n_group_msgs","writeUInt8",1]),h.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},null]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,65283:a,MsgInsStatus:a,65284:l,MsgCsacTelemetry:l,65285:c,MsgCsacTelemetryLabels:c,65286:u,MsgInsUpdates:u,65287:y,MsgGnssTimeOffset:y,65290:h,MsgGroupMeta:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),c=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",c.prototype.msg_type=33,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:n.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:i.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),c.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),c.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),c.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),c.prototype.fieldSpec.push(["acceleration","writeInt8",1]),c.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP",u.prototype.msg_type=17,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:l.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),u.prototype.fieldSpec.push(["tot",l.prototype.fieldSpec]),u.prototype.fieldSpec.push(["P","writeUInt32LE",4]),u.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),u.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),u.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),u.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),u.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),u.prototype.fieldSpec.push(["acceleration","writeInt8",1]),u.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE",h.prototype.msg_type=65,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("states",{type:y.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["states","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:i.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_MEASUREMENT_STATE",d.prototype.msg_type=97,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").array("states",{type:f.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["states","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelation",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("I").int16("Q"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["I","writeInt16LE",2]),_.prototype.fieldSpec.push(["Q","writeInt16LE",2]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ",S.prototype.msg_type=45,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);var g=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelationDep",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").int32("I").int32("Q"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["I","writeInt32LE",4]),g.prototype.fieldSpec.push(["Q","writeInt32LE",4]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_B",w.prototype.msg_type=44,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["channel","writeUInt8",1]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_A",E.prototype.msg_type=28,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["channel","writeUInt8",1]),E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var m=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepA",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint8("state").uint8("prn").floatle("cn0"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["state","writeUInt8",1]),m.prototype.fieldSpec.push(["prn","writeUInt8",1]),m.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_A",b.prototype.msg_type=22,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").array("states",{type:m.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["states","array",m.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepB",v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:s.prototype.parser}).floatle("cn0"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["state","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",L.prototype.msg_type=19,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").array("states",{type:v.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",v.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={33:c,MsgTrackingStateDetailedDepA:c,17:u,MsgTrackingStateDetailedDep:u,TrackingChannelState:y,65:h,MsgTrackingState:h,MeasurementState:f,97:d,MsgMeasurementState:d,TrackingChannelCorrelation:_,45:S,MsgTrackingIq:S,TrackingChannelCorrelationDep:g,44:w,MsgTrackingIqDepB:w,28:E,MsgTrackingIqDepA:E,TrackingChannelStateDepA:m,22:b,MsgTrackingStateDepA:b,TrackingChannelStateDepB:v,19:L,MsgTrackingStateDepB:L}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_USER_DATA",i.prototype.msg_type=2048,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("contents",{type:"uint8",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]),e.exports={2048:i,MsgUserData:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_ODOMETRY",i.prototype.msg_type=2307,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").int32("velocity").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["velocity","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_WHEELTICK",s.prototype.msg_type=2308,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags").uint8("source").int32("ticks"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["ticks","writeInt32LE",4]),e.exports={2307:i,MsgOdometry:i,2308:s,MsgWheeltick:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING",i.prototype.msg_type=527,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),i.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_QUAT",s.prototype.msg_type=544,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("tow").int32("w").int32("x").int32("y").int32("z").floatle("w_accuracy").floatle("x_accuracy").floatle("y_accuracy").floatle("z_accuracy").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["w","writeInt32LE",4]),s.prototype.fieldSpec.push(["x","writeInt32LE",4]),s.prototype.fieldSpec.push(["y","writeInt32LE",4]),s.prototype.fieldSpec.push(["z","writeInt32LE",4]),s.prototype.fieldSpec.push(["w_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["x_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["y_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["z_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_EULER",n.prototype.msg_type=545,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").int32("roll").int32("pitch").int32("yaw").floatle("roll_accuracy").floatle("pitch_accuracy").floatle("yaw_accuracy").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["roll","writeInt32LE",4]),n.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),n.prototype.fieldSpec.push(["yaw","writeInt32LE",4]),n.prototype.fieldSpec.push(["roll_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["pitch_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["yaw_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ANGULAR_RATE",a.prototype.msg_type=546,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeInt32LE",4]),a.prototype.fieldSpec.push(["y","writeInt32LE",4]),a.prototype.fieldSpec.push(["z","writeInt32LE",4]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={527:i,MsgBaselineHeading:i,544:s,MsgOrientQuat:s,545:n,MsgOrientEuler:n,546:a,MsgAngularRate:a}}]); \ No newline at end of file diff --git a/javascript/sbp/navigation.js b/javascript/sbp/navigation.js index 8f8f9cc90c..015fd45f55 100644 --- a/javascript/sbp/navigation.js +++ b/javascript/sbp/navigation.js @@ -80,6 +80,50 @@ MsgGpsTime.prototype.fieldSpec.push(['tow', 'writeUInt32LE', 4]); MsgGpsTime.prototype.fieldSpec.push(['ns_residual', 'writeInt32LE', 4]); MsgGpsTime.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); +/** + * SBP class for message MSG_GPS_TIME_GNSS (0x0104). + * + * This message reports the GPS time, representing the time since the GPS epoch + * began on midnight January 6, 1980 UTC. GPS time counts the weeks and seconds of + * the week. The weeks begin at the Saturday/Sunday transition. GPS week 0 began at + * the beginning of the GPS time scale. Within each week number, the GPS time of + * the week is between between 0 and 604800 seconds (=60*60*24*7). Note that GPS + * time does not accumulate leap seconds, and as of now, has a small offset from + * UTC. In a message stream, this message precedes a set of other navigation + * messages referenced to the same time (but lacking the ns field) and indicates a + * more precise time of these messages. + * + * Fields in the SBP payload (`sbp.payload`): + * @field wn number (unsigned 16-bit int, 2 bytes) GPS week number + * @field tow number (unsigned 32-bit int, 4 bytes) GPS time of week rounded to the nearest millisecond + * @field ns_residual number (signed 32-bit int, 4 bytes) Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to 500000) + * @field flags number (unsigned 8-bit int, 1 byte) Status flags (reserved) + * + * @param sbp An SBP object with a payload to be decoded. + */ +var MsgGpsTimeGnss = function (sbp, fields) { + SBP.call(this, sbp); + this.messageType = "MSG_GPS_TIME_GNSS"; + this.fields = (fields || this.parser.parse(sbp.payload)); + + return this; +}; +MsgGpsTimeGnss.prototype = Object.create(SBP.prototype); +MsgGpsTimeGnss.prototype.messageType = "MSG_GPS_TIME_GNSS"; +MsgGpsTimeGnss.prototype.msg_type = 0x0104; +MsgGpsTimeGnss.prototype.constructor = MsgGpsTimeGnss; +MsgGpsTimeGnss.prototype.parser = new Parser() + .endianess('little') + .uint16('wn') + .uint32('tow') + .int32('ns_residual') + .uint8('flags'); +MsgGpsTimeGnss.prototype.fieldSpec = []; +MsgGpsTimeGnss.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); +MsgGpsTimeGnss.prototype.fieldSpec.push(['tow', 'writeUInt32LE', 4]); +MsgGpsTimeGnss.prototype.fieldSpec.push(['ns_residual', 'writeInt32LE', 4]); +MsgGpsTimeGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); + /** * SBP class for message MSG_UTC_TIME (0x0103). * @@ -132,6 +176,58 @@ MsgUtcTime.prototype.fieldSpec.push(['minutes', 'writeUInt8', 1]); MsgUtcTime.prototype.fieldSpec.push(['seconds', 'writeUInt8', 1]); MsgUtcTime.prototype.fieldSpec.push(['ns', 'writeUInt32LE', 4]); +/** + * SBP class for message MSG_UTC_TIME_GNSS (0x0105). + * + * This message reports the Universal Coordinated Time (UTC). Note the flags which + * indicate the source of the UTC offset value and source of the time fix. + * + * Fields in the SBP payload (`sbp.payload`): + * @field flags number (unsigned 8-bit int, 1 byte) Indicates source and time validity + * @field tow number (unsigned 32-bit int, 4 bytes) GPS time of week rounded to the nearest millisecond + * @field year number (unsigned 16-bit int, 2 bytes) Year + * @field month number (unsigned 8-bit int, 1 byte) Month (range 1 .. 12) + * @field day number (unsigned 8-bit int, 1 byte) days in the month (range 1-31) + * @field hours number (unsigned 8-bit int, 1 byte) hours of day (range 0-23) + * @field minutes number (unsigned 8-bit int, 1 byte) minutes of hour (range 0-59) + * @field seconds number (unsigned 8-bit int, 1 byte) seconds of minute (range 0-60) rounded down + * @field ns number (unsigned 32-bit int, 4 bytes) nanoseconds of second (range 0-999999999) + * + * @param sbp An SBP object with a payload to be decoded. + */ +var MsgUtcTimeGnss = function (sbp, fields) { + SBP.call(this, sbp); + this.messageType = "MSG_UTC_TIME_GNSS"; + this.fields = (fields || this.parser.parse(sbp.payload)); + + return this; +}; +MsgUtcTimeGnss.prototype = Object.create(SBP.prototype); +MsgUtcTimeGnss.prototype.messageType = "MSG_UTC_TIME_GNSS"; +MsgUtcTimeGnss.prototype.msg_type = 0x0105; +MsgUtcTimeGnss.prototype.constructor = MsgUtcTimeGnss; +MsgUtcTimeGnss.prototype.parser = new Parser() + .endianess('little') + .uint8('flags') + .uint32('tow') + .uint16('year') + .uint8('month') + .uint8('day') + .uint8('hours') + .uint8('minutes') + .uint8('seconds') + .uint32('ns'); +MsgUtcTimeGnss.prototype.fieldSpec = []; +MsgUtcTimeGnss.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); +MsgUtcTimeGnss.prototype.fieldSpec.push(['tow', 'writeUInt32LE', 4]); +MsgUtcTimeGnss.prototype.fieldSpec.push(['year', 'writeUInt16LE', 2]); +MsgUtcTimeGnss.prototype.fieldSpec.push(['month', 'writeUInt8', 1]); +MsgUtcTimeGnss.prototype.fieldSpec.push(['day', 'writeUInt8', 1]); +MsgUtcTimeGnss.prototype.fieldSpec.push(['hours', 'writeUInt8', 1]); +MsgUtcTimeGnss.prototype.fieldSpec.push(['minutes', 'writeUInt8', 1]); +MsgUtcTimeGnss.prototype.fieldSpec.push(['seconds', 'writeUInt8', 1]); +MsgUtcTimeGnss.prototype.fieldSpec.push(['ns', 'writeUInt32LE', 4]); + /** * SBP class for message MSG_DOPS (0x0208). * @@ -1776,8 +1872,12 @@ MsgProtectionLevel.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); module.exports = { 0x0102: MsgGpsTime, MsgGpsTime: MsgGpsTime, + 0x0104: MsgGpsTimeGnss, + MsgGpsTimeGnss: MsgGpsTimeGnss, 0x0103: MsgUtcTime, MsgUtcTime: MsgUtcTime, + 0x0105: MsgUtcTimeGnss, + MsgUtcTimeGnss: MsgUtcTimeGnss, 0x0208: MsgDops, MsgDops: MsgDops, 0x0209: MsgPosEcef, diff --git a/javascript/sbp/system.js b/javascript/sbp/system.js index fa72b650e0..71a7dffaa8 100644 --- a/javascript/sbp/system.js +++ b/javascript/sbp/system.js @@ -314,9 +314,6 @@ MsgGnssTimeOffset.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); * * Fields in the SBP payload (`sbp.payload`): * @field group_id number (unsigned 8-bit int, 1 byte) Id of the Msgs Group, 0 is Unknown, 1 is Bestpos, 2 is Gnss - * @field wn number (unsigned 16-bit int, 2 bytes) GPS Week Number or zero if Reference epoch is not GPS - * @field tom number (unsigned 32-bit int, 4 bytes) Time of Measurement in Milliseconds since reference epoch - * @field ns_residual number (signed 32-bit int, 4 bytes) Nanosecond residual of millisecond-rounded TOM (ranges from -500000 to 500000) * @field flags number (unsigned 8-bit int, 1 byte) Status flags (reserved) * @field n_group_msgs number (unsigned 8-bit int, 1 byte) Size of list group_msgs * @field group_msgs array An inorder list of message types included in the Solution Group, including @@ -338,17 +335,11 @@ MsgGroupMeta.prototype.constructor = MsgGroupMeta; MsgGroupMeta.prototype.parser = new Parser() .endianess('little') .uint8('group_id') - .uint16('wn') - .uint32('tom') - .int32('ns_residual') .uint8('flags') .uint8('n_group_msgs') .array('group_msgs', { type: 'uint16le', readUntil: 'eof' }); MsgGroupMeta.prototype.fieldSpec = []; MsgGroupMeta.prototype.fieldSpec.push(['group_id', 'writeUInt8', 1]); -MsgGroupMeta.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); -MsgGroupMeta.prototype.fieldSpec.push(['tom', 'writeUInt32LE', 4]); -MsgGroupMeta.prototype.fieldSpec.push(['ns_residual', 'writeInt32LE', 4]); MsgGroupMeta.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); MsgGroupMeta.prototype.fieldSpec.push(['n_group_msgs', 'writeUInt8', 1]); MsgGroupMeta.prototype.fieldSpec.push(['group_msgs', 'array', 'writeUInt16LE', function () { return 2; }, null]); diff --git a/jsonschema/MsgGPSTimeGnss.json b/jsonschema/MsgGPSTimeGnss.json new file mode 100644 index 0000000000..afa86176a5 --- /dev/null +++ b/jsonschema/MsgGPSTimeGnss.json @@ -0,0 +1,30 @@ +{ + "copyright": [ + "Copyright (C) 2019 Swift Navigation Inc.", + "Contact: Swift Navigation ", + "", + "This source is subject to the license found in the file 'LICENSE' which must", + "be be distributed together with this source. All other rights reserved.", + "", + "THIS CODE AND INFORMATION IS PROVIDED 'AS IS' WITHOUT WARRANTY OF ANY KIND,", + "EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED", + "WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE." + ], + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "#MsgGPSTimeGnss", + "title":"MsgGPSTimeGnss", + "description":"This message reports the GPS time, representing the time since,\nthe GPS epoch began on midnight January 6, 1980 UTC. GPS time,\ncounts the weeks and seconds of the week. The weeks begin at the,\nSaturday/Sunday transition. GPS week 0 began at the beginning of,\nthe GPS time scale.,\n,\nWithin each week number, the GPS time of the week is between,\nbetween 0 and 604800 seconds (=60*60*24*7). Note that GPS time,\ndoes not accumulate leap seconds, and as of now, has a small,\noffset from UTC. In a message stream, this message precedes a,\nset of other navigation messages referenced to the same time,\n(but lacking the ns field) and indicates a more precise time of,\nthese messages.\n", + "type": "object", + "properties": { + "wn": {"type": "integer"}, + "tow": {"type": "integer"}, + "ns_residual": {"type": "integer"}, + "flags": {"type": "integer"} + }, + "required": [ + "wn", + "tow", + "ns_residual", + "flags" + ] +} \ No newline at end of file diff --git a/jsonschema/MsgGroupMeta.json b/jsonschema/MsgGroupMeta.json index e230c63a22..00209cba78 100644 --- a/jsonschema/MsgGroupMeta.json +++ b/jsonschema/MsgGroupMeta.json @@ -17,18 +17,12 @@ "type": "object", "properties": { "group_id": {"type": "integer"}, - "wn": {"type": "integer"}, - "tom": {"type": "integer"}, - "ns_residual": {"type": "integer"}, "flags": {"type": "integer"}, "n_group_msgs": {"type": "integer"}, "group_msgs": {"type": "array", "items": {"type": "integer"}} }, "required": [ "group_id", - "wn", - "tom", - "ns_residual", "flags", "n_group_msgs", "group_msgs" diff --git a/jsonschema/MsgUtcTimeGnss.json b/jsonschema/MsgUtcTimeGnss.json new file mode 100644 index 0000000000..f1731a6ae3 --- /dev/null +++ b/jsonschema/MsgUtcTimeGnss.json @@ -0,0 +1,40 @@ +{ + "copyright": [ + "Copyright (C) 2019 Swift Navigation Inc.", + "Contact: Swift Navigation ", + "", + "This source is subject to the license found in the file 'LICENSE' which must", + "be be distributed together with this source. All other rights reserved.", + "", + "THIS CODE AND INFORMATION IS PROVIDED 'AS IS' WITHOUT WARRANTY OF ANY KIND,", + "EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED", + "WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE." + ], + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "#MsgUtcTimeGnss", + "title":"MsgUtcTimeGnss", + "description":"This message reports the Universal Coordinated Time (UTC). Note the flags,\nwhich indicate the source of the UTC offset value and source of the time fix.\n", + "type": "object", + "properties": { + "flags": {"type": "integer"}, + "tow": {"type": "integer"}, + "year": {"type": "integer"}, + "month": {"type": "integer"}, + "day": {"type": "integer"}, + "hours": {"type": "integer"}, + "minutes": {"type": "integer"}, + "seconds": {"type": "integer"}, + "ns": {"type": "integer"} + }, + "required": [ + "flags", + "tow", + "year", + "month", + "day", + "hours", + "minutes", + "seconds", + "ns" + ] +} \ No newline at end of file diff --git a/proto/navigation.proto b/proto/navigation.proto index 57c1b26193..92a846985c 100644 --- a/proto/navigation.proto +++ b/proto/navigation.proto @@ -60,6 +60,29 @@ message MsgGpsTime { uint32 flags = 4; } +/** GPS Time + * + * This message reports the GPS time, representing the time since + * the GPS epoch began on midnight January 6, 1980 UTC. GPS time + * counts the weeks and seconds of the week. The weeks begin at the + * Saturday/Sunday transition. GPS week 0 began at the beginning of + * the GPS time scale. + * + * Within each week number, the GPS time of the week is between + * between 0 and 604800 seconds (=60*60*24*7). Note that GPS time + * does not accumulate leap seconds, and as of now, has a small + * offset from UTC. In a message stream, this message precedes a + * set of other navigation messages referenced to the same time + * (but lacking the ns field) and indicates a more precise time of + * these messages. + */ +message MsgGpsTimeGnss { + uint32 wn = 1; + uint32 tow = 2; + sint32 ns_residual = 3; + uint32 flags = 4; +} + /** UTC Time * * This message reports the Universal Coordinated Time (UTC). Note the flags @@ -77,6 +100,23 @@ message MsgUtcTime { uint32 ns = 9; } +/** UTC Time + * + * This message reports the Universal Coordinated Time (UTC). Note the flags + * which indicate the source of the UTC offset value and source of the time fix. + */ +message MsgUtcTimeGnss { + uint32 flags = 1; + uint32 tow = 2; + uint32 year = 3; + uint32 month = 4; + uint32 day = 5; + uint32 hours = 6; + uint32 minutes = 7; + uint32 seconds = 8; + uint32 ns = 9; +} + /** Dilution of Precision * * This dilution of precision (DOP) message describes the effect of diff --git a/proto/system.proto b/proto/system.proto index c8eb34d51c..f9a225e575 100644 --- a/proto/system.proto +++ b/proto/system.proto @@ -128,10 +128,7 @@ message MsgGnssTimeOffset { */ message MsgGroupMeta { uint32 group_id = 1; - uint32 wn = 2; - uint32 tom = 3; - sint32 ns_residual = 4; - uint32 flags = 5; - uint32 n_group_msgs = 6; - repeated uint32 group_msgs = 7; + uint32 flags = 2; + uint32 n_group_msgs = 3; + repeated uint32 group_msgs = 4; } \ No newline at end of file diff --git a/python/sbp/jit/navigation.py b/python/sbp/jit/navigation.py index 4d20eabfef..4de5dc52c4 100644 --- a/python/sbp/jit/navigation.py +++ b/python/sbp/jit/navigation.py @@ -99,6 +99,60 @@ def _unpack_members(self, buf, offset, length): return res, off, length +SBP_MSG_GPS_TIME_GNSS = 0x0104 +class MsgGPSTimeGnss(SBP): + """SBP class for message MSG_GPS_TIME_GNSS (0x0104). + + You can have MSG_GPS_TIME_GNSS inherit its fields directly + from an inherited SBP object, or construct it inline using a dict + of its fields. + + + This message reports the GPS time, representing the time since +the GPS epoch began on midnight January 6, 1980 UTC. GPS time +counts the weeks and seconds of the week. The weeks begin at the +Saturday/Sunday transition. GPS week 0 began at the beginning of +the GPS time scale. + +Within each week number, the GPS time of the week is between +between 0 and 604800 seconds (=60*60*24*7). Note that GPS time +does not accumulate leap seconds, and as of now, has a small +offset from UTC. In a message stream, this message precedes a +set of other navigation messages referenced to the same time +(but lacking the ns field) and indicates a more precise time of +these messages. + + + """ + __slots__ = ['wn', + 'tow', + 'ns_residual', + 'flags', + ] + @classmethod + def parse_members(cls, buf, offset, length): + ret = {} + (__wn, offset, length) = get_u16(buf, offset, length) + ret['wn'] = __wn + (__tow, offset, length) = get_u32(buf, offset, length) + ret['tow'] = __tow + (__ns_residual, offset, length) = get_s32(buf, offset, length) + ret['ns_residual'] = __ns_residual + (__flags, offset, length) = get_u8(buf, offset, length) + ret['flags'] = __flags + return ret, offset, length + + def _unpack_members(self, buf, offset, length): + res, off, length = self.parse_members(buf, offset, length) + if off == offset: + return {}, offset, length + self.wn = res['wn'] + self.tow = res['tow'] + self.ns_residual = res['ns_residual'] + self.flags = res['flags'] + return res, off, length + + SBP_MSG_UTC_TIME = 0x0103 class MsgUtcTime(SBP): """SBP class for message MSG_UTC_TIME (0x0103). @@ -162,6 +216,69 @@ def _unpack_members(self, buf, offset, length): return res, off, length +SBP_MSG_UTC_TIME_GNSS = 0x0105 +class MsgUtcTimeGnss(SBP): + """SBP class for message MSG_UTC_TIME_GNSS (0x0105). + + You can have MSG_UTC_TIME_GNSS inherit its fields directly + from an inherited SBP object, or construct it inline using a dict + of its fields. + + + This message reports the Universal Coordinated Time (UTC). Note the flags +which indicate the source of the UTC offset value and source of the time fix. + + + """ + __slots__ = ['flags', + 'tow', + 'year', + 'month', + 'day', + 'hours', + 'minutes', + 'seconds', + 'ns', + ] + @classmethod + def parse_members(cls, buf, offset, length): + ret = {} + (__flags, offset, length) = get_u8(buf, offset, length) + ret['flags'] = __flags + (__tow, offset, length) = get_u32(buf, offset, length) + ret['tow'] = __tow + (__year, offset, length) = get_u16(buf, offset, length) + ret['year'] = __year + (__month, offset, length) = get_u8(buf, offset, length) + ret['month'] = __month + (__day, offset, length) = get_u8(buf, offset, length) + ret['day'] = __day + (__hours, offset, length) = get_u8(buf, offset, length) + ret['hours'] = __hours + (__minutes, offset, length) = get_u8(buf, offset, length) + ret['minutes'] = __minutes + (__seconds, offset, length) = get_u8(buf, offset, length) + ret['seconds'] = __seconds + (__ns, offset, length) = get_u32(buf, offset, length) + ret['ns'] = __ns + return ret, offset, length + + def _unpack_members(self, buf, offset, length): + res, off, length = self.parse_members(buf, offset, length) + if off == offset: + return {}, offset, length + self.flags = res['flags'] + self.tow = res['tow'] + self.year = res['year'] + self.month = res['month'] + self.day = res['day'] + self.hours = res['hours'] + self.minutes = res['minutes'] + self.seconds = res['seconds'] + self.ns = res['ns'] + return res, off, length + + SBP_MSG_DOPS = 0x0208 class MsgDops(SBP): """SBP class for message MSG_DOPS (0x0208). @@ -2151,7 +2268,9 @@ def _unpack_members(self, buf, offset, length): msg_classes = { 0x0102: MsgGPSTime, + 0x0104: MsgGPSTimeGnss, 0x0103: MsgUtcTime, + 0x0105: MsgUtcTimeGnss, 0x0208: MsgDops, 0x0209: MsgPosECEF, 0x0214: MsgPosECEFCov, diff --git a/python/sbp/jit/system.py b/python/sbp/jit/system.py index fb49394953..1f998234ed 100644 --- a/python/sbp/jit/system.py +++ b/python/sbp/jit/system.py @@ -368,9 +368,6 @@ class MsgGroupMeta(SBP): """ __slots__ = ['group_id', - 'wn', - 'tom', - 'ns_residual', 'flags', 'n_group_msgs', 'group_msgs', @@ -380,12 +377,6 @@ def parse_members(cls, buf, offset, length): ret = {} (__group_id, offset, length) = get_u8(buf, offset, length) ret['group_id'] = __group_id - (__wn, offset, length) = get_u16(buf, offset, length) - ret['wn'] = __wn - (__tom, offset, length) = get_u32(buf, offset, length) - ret['tom'] = __tom - (__ns_residual, offset, length) = get_s32(buf, offset, length) - ret['ns_residual'] = __ns_residual (__flags, offset, length) = get_u8(buf, offset, length) ret['flags'] = __flags (__n_group_msgs, offset, length) = get_u8(buf, offset, length) @@ -399,9 +390,6 @@ def _unpack_members(self, buf, offset, length): if off == offset: return {}, offset, length self.group_id = res['group_id'] - self.wn = res['wn'] - self.tom = res['tom'] - self.ns_residual = res['ns_residual'] self.flags = res['flags'] self.n_group_msgs = res['n_group_msgs'] self.group_msgs = res['group_msgs'] diff --git a/python/sbp/navigation.py b/python/sbp/navigation.py index f00adbf2bc..ed110b7f78 100755 --- a/python/sbp/navigation.py +++ b/python/sbp/navigation.py @@ -162,6 +162,125 @@ def to_json_dict(self): d.update(j) return d +SBP_MSG_GPS_TIME_GNSS = 0x0104 +class MsgGPSTimeGnss(SBP): + """SBP class for message MSG_GPS_TIME_GNSS (0x0104). + + You can have MSG_GPS_TIME_GNSS inherit its fields directly + from an inherited SBP object, or construct it inline using a dict + of its fields. + + + This message reports the GPS time, representing the time since +the GPS epoch began on midnight January 6, 1980 UTC. GPS time +counts the weeks and seconds of the week. The weeks begin at the +Saturday/Sunday transition. GPS week 0 began at the beginning of +the GPS time scale. + +Within each week number, the GPS time of the week is between +between 0 and 604800 seconds (=60*60*24*7). Note that GPS time +does not accumulate leap seconds, and as of now, has a small +offset from UTC. In a message stream, this message precedes a +set of other navigation messages referenced to the same time +(but lacking the ns field) and indicates a more precise time of +these messages. + + + Parameters + ---------- + sbp : SBP + SBP parent object to inherit from. + wn : int + GPS week number + tow : int + GPS time of week rounded to the nearest millisecond + ns_residual : int + Nanosecond residual of millisecond-rounded TOW (ranges +from -500000 to 500000) + + flags : int + Status flags (reserved) + sender : int + Optional sender ID, defaults to SENDER_ID (see sbp/msg.py). + + """ + _parser = construct.Struct( + 'wn' / construct.Int16ul, + 'tow' / construct.Int32ul, + 'ns_residual' / construct.Int32sl, + 'flags' / construct.Int8ul,) + __slots__ = [ + 'wn', + 'tow', + 'ns_residual', + 'flags', + ] + + def __init__(self, sbp=None, **kwargs): + if sbp: + super( MsgGPSTimeGnss, + self).__init__(sbp.msg_type, sbp.sender, sbp.length, + sbp.payload, sbp.crc) + self.from_binary(sbp.payload) + else: + super( MsgGPSTimeGnss, self).__init__() + self.msg_type = SBP_MSG_GPS_TIME_GNSS + self.sender = kwargs.pop('sender', SENDER_ID) + self.wn = kwargs.pop('wn') + self.tow = kwargs.pop('tow') + self.ns_residual = kwargs.pop('ns_residual') + self.flags = kwargs.pop('flags') + + def __repr__(self): + return fmt_repr(self) + + @staticmethod + def from_json(s): + """Given a JSON-encoded string s, build a message object. + + """ + d = json.loads(s) + return MsgGPSTimeGnss.from_json_dict(d) + + @staticmethod + def from_json_dict(d): + sbp = SBP.from_json_dict(d) + return MsgGPSTimeGnss(sbp, **d) + + + def from_binary(self, d): + """Given a binary payload d, update the appropriate payload fields of + the message. + + """ + p = MsgGPSTimeGnss._parser.parse(d) + for n in self.__class__.__slots__: + setattr(self, n, getattr(p, n)) + + def to_binary(self): + """Produce a framed/packed SBP message. + + """ + c = containerize(exclude_fields(self)) + self.payload = MsgGPSTimeGnss._parser.build(c) + return self.pack() + + def into_buffer(self, buf, offset): + """Produce a framed/packed SBP message into the provided buffer and offset. + + """ + self.payload = containerize(exclude_fields(self)) + self.parser = MsgGPSTimeGnss._parser + self.stream_payload.reset(buf, offset) + return self.pack_into(buf, offset, self._build_payload) + + def to_json_dict(self): + self.to_binary() + d = super( MsgGPSTimeGnss, self).to_json_dict() + j = walk_json_dict(exclude_fields(self)) + d.update(j) + return d + SBP_MSG_UTC_TIME = 0x0103 class MsgUtcTime(SBP): """SBP class for message MSG_UTC_TIME (0x0103). @@ -293,6 +412,137 @@ def to_json_dict(self): d.update(j) return d +SBP_MSG_UTC_TIME_GNSS = 0x0105 +class MsgUtcTimeGnss(SBP): + """SBP class for message MSG_UTC_TIME_GNSS (0x0105). + + You can have MSG_UTC_TIME_GNSS inherit its fields directly + from an inherited SBP object, or construct it inline using a dict + of its fields. + + + This message reports the Universal Coordinated Time (UTC). Note the flags +which indicate the source of the UTC offset value and source of the time fix. + + + Parameters + ---------- + sbp : SBP + SBP parent object to inherit from. + flags : int + Indicates source and time validity + tow : int + GPS time of week rounded to the nearest millisecond + year : int + Year + month : int + Month (range 1 .. 12) + day : int + days in the month (range 1-31) + hours : int + hours of day (range 0-23) + minutes : int + minutes of hour (range 0-59) + seconds : int + seconds of minute (range 0-60) rounded down + ns : int + nanoseconds of second (range 0-999999999) + sender : int + Optional sender ID, defaults to SENDER_ID (see sbp/msg.py). + + """ + _parser = construct.Struct( + 'flags' / construct.Int8ul, + 'tow' / construct.Int32ul, + 'year' / construct.Int16ul, + 'month' / construct.Int8ul, + 'day' / construct.Int8ul, + 'hours' / construct.Int8ul, + 'minutes' / construct.Int8ul, + 'seconds' / construct.Int8ul, + 'ns' / construct.Int32ul,) + __slots__ = [ + 'flags', + 'tow', + 'year', + 'month', + 'day', + 'hours', + 'minutes', + 'seconds', + 'ns', + ] + + def __init__(self, sbp=None, **kwargs): + if sbp: + super( MsgUtcTimeGnss, + self).__init__(sbp.msg_type, sbp.sender, sbp.length, + sbp.payload, sbp.crc) + self.from_binary(sbp.payload) + else: + super( MsgUtcTimeGnss, self).__init__() + self.msg_type = SBP_MSG_UTC_TIME_GNSS + self.sender = kwargs.pop('sender', SENDER_ID) + self.flags = kwargs.pop('flags') + self.tow = kwargs.pop('tow') + self.year = kwargs.pop('year') + self.month = kwargs.pop('month') + self.day = kwargs.pop('day') + self.hours = kwargs.pop('hours') + self.minutes = kwargs.pop('minutes') + self.seconds = kwargs.pop('seconds') + self.ns = kwargs.pop('ns') + + def __repr__(self): + return fmt_repr(self) + + @staticmethod + def from_json(s): + """Given a JSON-encoded string s, build a message object. + + """ + d = json.loads(s) + return MsgUtcTimeGnss.from_json_dict(d) + + @staticmethod + def from_json_dict(d): + sbp = SBP.from_json_dict(d) + return MsgUtcTimeGnss(sbp, **d) + + + def from_binary(self, d): + """Given a binary payload d, update the appropriate payload fields of + the message. + + """ + p = MsgUtcTimeGnss._parser.parse(d) + for n in self.__class__.__slots__: + setattr(self, n, getattr(p, n)) + + def to_binary(self): + """Produce a framed/packed SBP message. + + """ + c = containerize(exclude_fields(self)) + self.payload = MsgUtcTimeGnss._parser.build(c) + return self.pack() + + def into_buffer(self, buf, offset): + """Produce a framed/packed SBP message into the provided buffer and offset. + + """ + self.payload = containerize(exclude_fields(self)) + self.parser = MsgUtcTimeGnss._parser + self.stream_payload.reset(buf, offset) + return self.pack_into(buf, offset, self._build_payload) + + def to_json_dict(self): + self.to_binary() + d = super( MsgUtcTimeGnss, self).to_json_dict() + j = walk_json_dict(exclude_fields(self)) + d.update(j) + return d + SBP_MSG_DOPS = 0x0208 class MsgDops(SBP): """SBP class for message MSG_DOPS (0x0208). @@ -4394,7 +4644,9 @@ def to_json_dict(self): msg_classes = { 0x0102: MsgGPSTime, + 0x0104: MsgGPSTimeGnss, 0x0103: MsgUtcTime, + 0x0105: MsgUtcTimeGnss, 0x0208: MsgDops, 0x0209: MsgPosECEF, 0x0214: MsgPosECEFCov, diff --git a/python/sbp/system.py b/python/sbp/system.py index 9ddc7ce4a9..0b445c4097 100644 --- a/python/sbp/system.py +++ b/python/sbp/system.py @@ -866,14 +866,6 @@ class MsgGroupMeta(SBP): SBP parent object to inherit from. group_id : int Id of the Msgs Group, 0 is Unknown, 1 is Bestpos, 2 is Gnss - wn : int - GPS Week Number or zero if Reference epoch is not GPS - tom : int - Time of Measurement in Milliseconds since reference epoch - ns_residual : int - Nanosecond residual of millisecond-rounded TOM (ranges -from -500000 to 500000) - flags : int Status flags (reserved) n_group_msgs : int @@ -881,24 +873,17 @@ class MsgGroupMeta(SBP): group_msgs : array An inorder list of message types included in the Solution Group, including GROUP_META itself - sender : int Optional sender ID, defaults to SENDER_ID (see sbp/msg.py). """ _parser = construct.Struct( 'group_id' / construct.Int8ul, - 'wn' / construct.Int16ul, - 'tom' / construct.Int32ul, - 'ns_residual' / construct.Int32sl, 'flags' / construct.Int8ul, 'n_group_msgs' / construct.Int8ul, construct.GreedyRange('group_msgs' / construct.Int16ul),) __slots__ = [ 'group_id', - 'wn', - 'tom', - 'ns_residual', 'flags', 'n_group_msgs', 'group_msgs', @@ -915,9 +900,6 @@ def __init__(self, sbp=None, **kwargs): self.msg_type = SBP_MSG_GROUP_META self.sender = kwargs.pop('sender', SENDER_ID) self.group_id = kwargs.pop('group_id') - self.wn = kwargs.pop('wn') - self.tom = kwargs.pop('tom') - self.ns_residual = kwargs.pop('ns_residual') self.flags = kwargs.pop('flags') self.n_group_msgs = kwargs.pop('n_group_msgs') self.group_msgs = kwargs.pop('group_msgs') diff --git a/python/tests/sbp/test_table.py b/python/tests/sbp/test_table.py index f0f7399c2e..925f422693 100644 --- a/python/tests/sbp/test_table.py +++ b/python/tests/sbp/test_table.py @@ -45,7 +45,7 @@ def test_table_count(): Test number of available messages to deserialize. """ - number_of_messages = 194 + number_of_messages = 196 assert len(_SBP_TABLE) == number_of_messages def test_table_unqiue_count(): diff --git a/rust/sbp/src/messages/mod.rs b/rust/sbp/src/messages/mod.rs index 27cc79272b..6876882fb0 100644 --- a/rust/sbp/src/messages/mod.rs +++ b/rust/sbp/src/messages/mod.rs @@ -87,6 +87,7 @@ use self::navigation::MsgDops; use self::navigation::MsgDopsDepA; use self::navigation::MsgGPSTime; use self::navigation::MsgGPSTimeDepA; +use self::navigation::MsgGPSTimeGnss; use self::navigation::MsgPosECEF; use self::navigation::MsgPosECEFCov; use self::navigation::MsgPosECEFCovGnss; @@ -99,6 +100,7 @@ use self::navigation::MsgPosLLHDepA; use self::navigation::MsgPosLLHGnss; use self::navigation::MsgProtectionLevel; use self::navigation::MsgUtcTime; +use self::navigation::MsgUtcTimeGnss; use self::navigation::MsgVelBody; use self::navigation::MsgVelECEF; use self::navigation::MsgVelECEFCov; @@ -356,6 +358,8 @@ pub enum SBP { MsgExtEvent(MsgExtEvent), MsgGPSTime(MsgGPSTime), MsgUtcTime(MsgUtcTime), + MsgGPSTimeGnss(MsgGPSTimeGnss), + MsgUtcTimeGnss(MsgUtcTimeGnss), MsgSettingsRegisterResp(MsgSettingsRegisterResp), MsgPosECEFDepA(MsgPosECEFDepA), MsgPosLLHDepA(MsgPosLLHDepA), @@ -1012,6 +1016,16 @@ impl SBP { msg.set_sender_id(sender_id); Ok(SBP::MsgUtcTime(msg)) } + 260 => { + let mut msg = MsgGPSTimeGnss::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgGPSTimeGnss(msg)) + } + 261 => { + let mut msg = MsgUtcTimeGnss::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgUtcTimeGnss(msg)) + } 431 => { let mut msg = MsgSettingsRegisterResp::parse(payload)?; msg.set_sender_id(sender_id); @@ -1540,6 +1554,8 @@ impl SBP { SBP::MsgExtEvent(msg) => msg, SBP::MsgGPSTime(msg) => msg, SBP::MsgUtcTime(msg) => msg, + SBP::MsgGPSTimeGnss(msg) => msg, + SBP::MsgUtcTimeGnss(msg) => msg, SBP::MsgSettingsRegisterResp(msg) => msg, SBP::MsgPosECEFDepA(msg) => msg, SBP::MsgPosLLHDepA(msg) => msg, diff --git a/rust/sbp/src/messages/navigation.rs b/rust/sbp/src/messages/navigation.rs index edd7a3377a..ad69317f18 100644 --- a/rust/sbp/src/messages/navigation.rs +++ b/rust/sbp/src/messages/navigation.rs @@ -868,6 +868,88 @@ impl crate::serialize::SbpSerialize for MsgGPSTimeDepA { } } +/// GPS Time +/// +/// This message reports the GPS time, representing the time since +/// the GPS epoch began on midnight January 6, 1980 UTC. GPS time +/// counts the weeks and seconds of the week. The weeks begin at the +/// Saturday/Sunday transition. GPS week 0 began at the beginning of +/// the GPS time scale. +/// +/// Within each week number, the GPS time of the week is between +/// between 0 and 604800 seconds (=60*60*24*7). Note that GPS time +/// does not accumulate leap seconds, and as of now, has a small +/// offset from UTC. In a message stream, this message precedes a +/// set of other navigation messages referenced to the same time +/// (but lacking the ns field) and indicates a more precise time of +/// these messages. +/// +#[cfg_attr(feature = "sbp_serde", derive(Serialize, Deserialize))] +#[derive(Debug, Clone)] +#[allow(non_snake_case)] +pub struct MsgGPSTimeGnss { + pub sender_id: Option, + /// GPS week number + pub wn: u16, + /// GPS time of week rounded to the nearest millisecond + pub tow: u32, + /// Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to + /// 500000) + pub ns_residual: i32, + /// Status flags (reserved) + pub flags: u8, +} + +impl MsgGPSTimeGnss { + #[rustfmt::skip] + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok( MsgGPSTimeGnss{ + sender_id: None, + wn: _buf.read_u16::()?, + tow: _buf.read_u32::()?, + ns_residual: _buf.read_i32::()?, + flags: _buf.read_u8()?, + } ) + } +} +impl super::SBPMessage for MsgGPSTimeGnss { + fn get_message_type(&self) -> u16 { + 260 + } + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } + + fn to_frame(&self) -> std::result::Result, crate::framer::FramerError> { + let trait_object = self as &dyn super::SBPMessage; + crate::framer::to_frame(trait_object) + } +} + +impl crate::serialize::SbpSerialize for MsgGPSTimeGnss { + #[allow(unused_variables)] + fn append_to_sbp_buffer(&self, buf: &mut Vec) { + self.wn.append_to_sbp_buffer(buf); + self.tow.append_to_sbp_buffer(buf); + self.ns_residual.append_to_sbp_buffer(buf); + self.flags.append_to_sbp_buffer(buf); + } + + fn sbp_size(&self) -> usize { + let mut size = 0; + size += self.wn.sbp_size(); + size += self.tow.sbp_size(); + size += self.ns_residual.sbp_size(); + size += self.flags.sbp_size(); + size + } +} + /// Single-point position in ECEF /// /// The position solution message reports absolute Earth Centered @@ -2076,6 +2158,101 @@ impl crate::serialize::SbpSerialize for MsgUtcTime { } } +/// UTC Time +/// +/// This message reports the Universal Coordinated Time (UTC). Note the flags +/// which indicate the source of the UTC offset value and source of the time fix. +/// +#[cfg_attr(feature = "sbp_serde", derive(Serialize, Deserialize))] +#[derive(Debug, Clone)] +#[allow(non_snake_case)] +pub struct MsgUtcTimeGnss { + pub sender_id: Option, + /// Indicates source and time validity + pub flags: u8, + /// GPS time of week rounded to the nearest millisecond + pub tow: u32, + /// Year + pub year: u16, + /// Month (range 1 .. 12) + pub month: u8, + /// days in the month (range 1-31) + pub day: u8, + /// hours of day (range 0-23) + pub hours: u8, + /// minutes of hour (range 0-59) + pub minutes: u8, + /// seconds of minute (range 0-60) rounded down + pub seconds: u8, + /// nanoseconds of second (range 0-999999999) + pub ns: u32, +} + +impl MsgUtcTimeGnss { + #[rustfmt::skip] + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok( MsgUtcTimeGnss{ + sender_id: None, + flags: _buf.read_u8()?, + tow: _buf.read_u32::()?, + year: _buf.read_u16::()?, + month: _buf.read_u8()?, + day: _buf.read_u8()?, + hours: _buf.read_u8()?, + minutes: _buf.read_u8()?, + seconds: _buf.read_u8()?, + ns: _buf.read_u32::()?, + } ) + } +} +impl super::SBPMessage for MsgUtcTimeGnss { + fn get_message_type(&self) -> u16 { + 261 + } + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } + + fn to_frame(&self) -> std::result::Result, crate::framer::FramerError> { + let trait_object = self as &dyn super::SBPMessage; + crate::framer::to_frame(trait_object) + } +} + +impl crate::serialize::SbpSerialize for MsgUtcTimeGnss { + #[allow(unused_variables)] + fn append_to_sbp_buffer(&self, buf: &mut Vec) { + self.flags.append_to_sbp_buffer(buf); + self.tow.append_to_sbp_buffer(buf); + self.year.append_to_sbp_buffer(buf); + self.month.append_to_sbp_buffer(buf); + self.day.append_to_sbp_buffer(buf); + self.hours.append_to_sbp_buffer(buf); + self.minutes.append_to_sbp_buffer(buf); + self.seconds.append_to_sbp_buffer(buf); + self.ns.append_to_sbp_buffer(buf); + } + + fn sbp_size(&self) -> usize { + let mut size = 0; + size += self.flags.sbp_size(); + size += self.tow.sbp_size(); + size += self.year.sbp_size(); + size += self.month.sbp_size(); + size += self.day.sbp_size(); + size += self.hours.sbp_size(); + size += self.minutes.sbp_size(); + size += self.seconds.sbp_size(); + size += self.ns.sbp_size(); + size + } +} + /// Velocity in User Frame /// /// This message reports the velocity in the Vehicle Body Frame. By convention, diff --git a/rust/sbp/src/messages/system.rs b/rust/sbp/src/messages/system.rs index f7f9190338..82ab544d20 100644 --- a/rust/sbp/src/messages/system.rs +++ b/rust/sbp/src/messages/system.rs @@ -301,13 +301,6 @@ pub struct MsgGroupMeta { pub sender_id: Option, /// Id of the Msgs Group, 0 is Unknown, 1 is Bestpos, 2 is Gnss pub group_id: u8, - /// GPS Week Number or zero if Reference epoch is not GPS - pub wn: u16, - /// Time of Measurement in Milliseconds since reference epoch - pub tom: u32, - /// Nanosecond residual of millisecond-rounded TOM (ranges from -500000 to - /// 500000) - pub ns_residual: i32, /// Status flags (reserved) pub flags: u8, /// Size of list group_msgs @@ -323,9 +316,6 @@ impl MsgGroupMeta { Ok( MsgGroupMeta{ sender_id: None, group_id: _buf.read_u8()?, - wn: _buf.read_u16::()?, - tom: _buf.read_u32::()?, - ns_residual: _buf.read_i32::()?, flags: _buf.read_u8()?, n_group_msgs: _buf.read_u8()?, group_msgs: crate::parser::read_u16_array(_buf)?, @@ -355,9 +345,6 @@ impl crate::serialize::SbpSerialize for MsgGroupMeta { #[allow(unused_variables)] fn append_to_sbp_buffer(&self, buf: &mut Vec) { self.group_id.append_to_sbp_buffer(buf); - self.wn.append_to_sbp_buffer(buf); - self.tom.append_to_sbp_buffer(buf); - self.ns_residual.append_to_sbp_buffer(buf); self.flags.append_to_sbp_buffer(buf); self.n_group_msgs.append_to_sbp_buffer(buf); self.group_msgs.append_to_sbp_buffer(buf); @@ -366,9 +353,6 @@ impl crate::serialize::SbpSerialize for MsgGroupMeta { fn sbp_size(&self) -> usize { let mut size = 0; size += self.group_id.sbp_size(); - size += self.wn.sbp_size(); - size += self.tom.sbp_size(); - size += self.ns_residual.sbp_size(); size += self.flags.sbp_size(); size += self.n_group_msgs.sbp_size(); size += self.group_msgs.sbp_size(); diff --git a/rust/sbp/tests/auto_check_sbp_system_36.rs b/rust/sbp/tests/auto_check_sbp_system_36.rs index 251ceb143f..20d822451e 100644 --- a/rust/sbp/tests/auto_check_sbp_system_36.rs +++ b/rust/sbp/tests/auto_check_sbp_system_36.rs @@ -22,8 +22,7 @@ use common::AlmostEq; fn test_auto_check_sbp_system_36() { { let payload: Vec = vec![ - 85, 10, 255, 238, 238, 19, 1, 192, 7, 64, 226, 1, 0, 0, 0, 0, 0, 3, 3, 10, 255, 10, 2, - 2, 255, 253, 141, + 85, 10, 255, 238, 238, 9, 1, 2, 3, 10, 255, 10, 2, 2, 255, 2, 14, ]; // Test the round trip payload parsing @@ -46,8 +45,8 @@ fn test_auto_check_sbp_system_36() { sender_id ); assert_eq!( - msg.flags, 3, - "incorrect value for flags, expected 3, is {}", + msg.flags, 2, + "incorrect value for flags, expected 2, is {}", msg.flags ); assert_eq!( @@ -75,21 +74,6 @@ fn test_auto_check_sbp_system_36() { "incorrect value for n_group_msgs, expected 3, is {}", msg.n_group_msgs ); - assert_eq!( - msg.ns_residual, 0, - "incorrect value for ns_residual, expected 0, is {}", - msg.ns_residual - ); - assert_eq!( - msg.tom, 123456, - "incorrect value for tom, expected 123456, is {}", - msg.tom - ); - assert_eq!( - msg.wn, 1984, - "incorrect value for wn, expected 1984, is {}", - msg.wn - ); } _ => panic!("Invalid message type! Expected a MsgGroupMeta"), }; diff --git a/spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml b/spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml index df89693b8a..50c1fd9c0d 100644 --- a/spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml +++ b/spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml @@ -7,25 +7,23 @@ tests: - msg: fields: group_id: 1 - wn: 1984 - tom: 123456 - ns_residual: 0 - flags: 0b00000011 + flags: 0b00000010 # gnss+ins (fuzed) n_group_msgs: 3 # includes group_meta itself group_msgs: [65290, 522, 65282] # group_meta, pos_lla & msg_ins_updates module: sbp.system name: MsgGroupMeta msg_type: '0xFF0A' - raw_json: '{"crc": 36349, "flags": 3, "group_id": 1, "wn": 1984, "sender": 61166, "msg_type": 65290, - "tom": 123456, "ns_residual": 0, "length": 19, "n_group_msgs": 3 ,"group_msgs": [65290, 522, 65282], "preamble": 85, "payload": - "AcAHQOIBAAAAAAADAwr/CgIC/w=="}' + raw_json: '{"crc": 3586, "flags": 2, "group_id": 1, "sender": 61166, "msg_type": 65290, "length": 9, + "n_group_msgs": 3 ,"group_msgs": [65290, 522, 65282], "preamble": 85, "payload": + "AQIDCv8KAgL/"}' + # base64 - raw_packet: VQr/7u4TAcAHQOIBAAAAAAADAwr/CgIC//2N + raw_packet: VQr/7u4JAQIDCv8KAgL/Ag4= sbp: - crc: '0x8dfd' - length: 19 + crc: '0xe02' + length: 9 msg_type: '0xFF0A' - payload: AcAHQOIBAAAAAAADAwr/CgIC/w== + payload: AQIDCv8KAgL/ preamble: '0x55' sender: '0xEEEE' version: 3.1 diff --git a/spec/yaml/swiftnav/sbp/navigation.yaml b/spec/yaml/swiftnav/sbp/navigation.yaml index 9864f762a0..fc9d5f1e2a 100644 --- a/spec/yaml/swiftnav/sbp/navigation.yaml +++ b/spec/yaml/swiftnav/sbp/navigation.yaml @@ -80,6 +80,51 @@ definitions: - 1: GNSS Solution - 2: Propagated + - MSG_GPS_TIME_GNSS: + id: 0x0104 + short_desc: GPS Time + desc: | + This message reports the GPS time, representing the time since + the GPS epoch began on midnight January 6, 1980 UTC. GPS time + counts the weeks and seconds of the week. The weeks begin at the + Saturday/Sunday transition. GPS week 0 began at the beginning of + the GPS time scale. + + Within each week number, the GPS time of the week is between + between 0 and 604800 seconds (=60*60*24*7). Note that GPS time + does not accumulate leap seconds, and as of now, has a small + offset from UTC. In a message stream, this message precedes a + set of other navigation messages referenced to the same time + (but lacking the ns field) and indicates a more precise time of + these messages. + fields: + - wn: + type: u16 + units: weeks + desc: GPS week number + - tow: + type: u32 + units: ms + desc: GPS time of week rounded to the nearest millisecond + - ns_residual: + type: s32 + units: ns + desc: | + Nanosecond residual of millisecond-rounded TOW (ranges + from -500000 to 500000) + - flags: + type: u8 + desc: Status flags (reserved) + fields: + - 3-7: + desc: Reserved + - 0-2: + desc: Time source + values: + - 0: None (invalid) + - 1: GNSS Solution + - 2: Propagated + - MSG_UTC_TIME: id: 0x0103 short_desc: UTC Time @@ -139,6 +184,65 @@ definitions: desc: nanoseconds of second (range 0-999999999) + - MSG_UTC_TIME_GNSS: + id: 0x0105 + short_desc: UTC Time + desc: | + This message reports the Universal Coordinated Time (UTC). Note the flags + which indicate the source of the UTC offset value and source of the time fix. + fields: + - flags: + type: u8 + desc: Indicates source and time validity + fields: + - 5-7: + desc: Reserved + - 3-4: + desc: UTC offset source + values: + - 0: Factory Default + - 1: Non Volatile Memory + - 2: Decoded this Session + - 0-2: + desc: Time source + values: + - 0: None (invalid) + - 1: GNSS Solution + - 2: Propagated + - tow: + type: u32 + units: ms + desc: GPS time of week rounded to the nearest millisecond + - year: + type: u16 + units: year + desc: Year + - month: + type: u8 + units: months + desc: Month (range 1 .. 12) + - day: + type: u8 + units: day + desc: days in the month (range 1-31) + - hours: + type: u8 + units: hours + desc: hours of day (range 0-23) + - minutes: + type: u8 + units: minutes + desc: minutes of hour (range 0-59) + - seconds: + type: u8 + units: seconds + desc: seconds of minute (range 0-60) rounded down + - ns: + type: u32 + units: nanoseconds + desc: nanoseconds of second + (range 0-999999999) + - MSG_DOPS: id: 0x0208 short_desc: Dilution of Precision diff --git a/spec/yaml/swiftnav/sbp/system.yaml b/spec/yaml/swiftnav/sbp/system.yaml index d2574cb6d7..55b558e661 100644 --- a/spec/yaml/swiftnav/sbp/system.yaml +++ b/spec/yaml/swiftnav/sbp/system.yaml @@ -319,47 +319,19 @@ definitions: - group_id: type: u8 desc: Id of the Msgs Group, 0 is Unknown, 1 is Bestpos, 2 is Gnss - - wn: - type: u16 - units: weeks - desc: GPS Week Number or zero if Reference epoch is not GPS - - tom: - type: u32 - units: ms - desc: Time of Measurement in Milliseconds since reference epoch - - ns_residual: - type: s32 - units: ns - desc: | - Nanosecond residual of millisecond-rounded TOM (ranges - from -500000 to 500000) - flags: type: u8 desc: Status flags (reserved) fields: - - 6-7: + - 2-7: desc: Reserved - - 4-5: - desc: Time quality - values: - - 0: Unknown, CPU local, or Invalid - - 1: Coarse (order of 1ms) - - 2: Propagated - - 3: Finer or Finest - - 2-3: + - 0-1: desc: Solution Group type values: - 0: None (invalid) - 1: GNSS only - 2: GNSS+INS (Fuzed) - 3: Reserved - - 0-1: - desc: Time reference - values: - - 0: Reference epoch is start of current GPS week - - 1: Reference epoch is Sensor Time Init - - 2: Reference epoch is unknown - - 3: Reference epoch is last PPS - n_group_msgs: type: u8 desc: Size of list group_msgs @@ -368,4 +340,4 @@ definitions: fill: u16 desc: | An inorder list of message types included in the Solution Group, - including GROUP_META itself + including GROUP_META itself \ No newline at end of file