/* Do not modify this file. Changes will be overwritten.                      */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
/* packet-nr-rrc.c                                                            */
/* asn2wrs.py -L -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn PC5-RRC-Definitions.asn */

/* packet-nr-rrc-template.c
 * NR;
 * Radio Resource Control (RRC) protocol specification
 * (3GPP TS 38.331 V17.5.0 Release 17) packet dissection
 * Copyright 2018-2023, Pascal Quantin
 *
 * Wireshark - Network traffic analyzer
 * By Gerald Combs <gerald@wireshark.org>
 * Copyright 1998 Gerald Combs
 *
 * SPDX-License-Identifier: GPL-2.0-or-later
 */

#include "config.h"

#include <stdlib.h>

#include <epan/packet.h>
#include <epan/asn1.h>
#include <epan/expert.h>
#include <epan/reassemble.h>
#include <epan/exceptions.h>
#include <epan/show_exception.h>
#include <epan/proto_data.h>
#include <epan/prefs.h>

#include <wsutil/str_util.h>
#include <wsutil/epochs.h>

#include "packet-per.h"
#include "packet-gsm_map.h"
#include "packet-cell_broadcast.h"
#include "packet-mac-nr.h"
#include "packet-rlc-nr.h"
#include "packet-pdcp-nr.h"
#include "packet-rrc.h"
#include "packet-lte-rrc.h"
#include "packet-nr-rrc.h"
#include "packet-gsm_a_common.h"
#include "packet-lpp.h"

#define PNAME  "NR Radio Resource Control (RRC) protocol"
#define PSNAME "NR RRC"
#define PFNAME "nr-rrc"

void proto_register_nr_rrc(void);
void proto_reg_handoff_nr_rrc(void);

static dissector_handle_t nas_5gs_handle = NULL;
static dissector_handle_t lte_rrc_conn_reconf_handle = NULL;
static dissector_handle_t lte_rrc_conn_reconf_compl_handle = NULL;
static dissector_handle_t lte_rrc_ul_dcch_handle = NULL;
static dissector_handle_t lte_rrc_dl_dcch_handle = NULL;

static wmem_map_t *nr_rrc_etws_cmas_dcs_hash = NULL;

static reassembly_table nr_rrc_sib7_reassembly_table;
static reassembly_table nr_rrc_sib8_reassembly_table;

static gboolean nr_rrc_nas_in_root_tree;

extern int proto_mac_nr;
extern int proto_pdcp_nr;

/* Include constants */
#define maxMeasFreqsMN                 32
#define maxMeasFreqsSN                 32
#define maxMeasIdentitiesMN            62
#define maxCellPrep                    32
#define maxAdditionalRACH_r17          256
#define maxAI_DCI_PayloadSize_r16      128
#define maxAI_DCI_PayloadSize_1_r16    127
#define maxBandComb                    65536
#define maxBandsUTRA_FDD_r16           64
#define maxBH_RLC_ChannelID_r16        65536
#define maxBT_IdReport_r16             32
#define maxBT_Name_r16                 4
#define maxCAG_Cell_r16                16
#define maxTwoPUCCH_Grp_ConfigList_r16 32
#define maxTwoPUCCH_Grp_ConfigList_r17 16
#define maxCBR_Config_r16              8
#define maxCBR_Config_1_r16            7
#define maxCBR_Level_r16               16
#define maxCBR_Level_1_r16             15
#define maxCellExcluded                16
#define maxCellGroupings_r16           32
#define maxCellHistory_r16             16
#define maxPSCellHistory_r17           16
#define maxCellInter                   16
#define maxCellIntra                   16
#define maxCellMeasEUTRA               32
#define maxCellMeasIdle_r16            8
#define maxCellMeasUTRA_FDD_r16        32
#define maxCellNTN_r17                 4
#define maxCarrierTypePairList_r16     16
#define maxCellAllowed                 16
#define maxEARFCN                      262143
#define maxEUTRA_CellExcluded          16
#define maxEUTRA_NS_Pmax               8
#define maxFeatureCombPreamblesPerRACHResource_r17 256
#define maxLogMeasReport_r16           520
#define maxMultiBands                  8
#define maxNARFCN                      3279165
#define maxNR_NS_Pmax                  8
#define maxFreqIdle_r16                8
#define maxNrofServingCells            32
#define maxNrofServingCells_1          31
#define maxNrofAggregatedCellsPerCellGroup 16
#define maxNrofAggregatedCellsPerCellGroupMinus4_r16 12
#define maxNrofDUCells_r16             512
#define maxNrofAppLayerMeas_r17        16
#define maxNrofAppLayerMeas_1_r17      15
#define maxNrofAvailabilityCombinationsPerSet_r16 512
#define maxNrofAvailabilityCombinationsPerSet_1_r16 511
#define maxNrofIABResourceConfig_r17   65536
#define maxNrofIABResourceConfig_1_r17 65535
#define maxNrofSCellActRS_r17          255
#define maxNrofSCells                  31
#define maxNrofCellMeas                32
#define maxNrofCRS_IM_InterfCell_r17   8
#define maxNrofRelayMeas_r17           32
#define maxNrofCG_SL_r16               8
#define maxNrofCG_SL_1_r16             7
#define maxSL_GC_BC_DRX_QoS_r17        16
#define maxNrofSL_RxInfoSet_r17        4
#define maxNrofSS_BlocksToAverage      16
#define maxNrofCondCells_r16           8
#define maxNrofCondCells_1_r17         7
#define maxNrofCSI_RS_ResourcesToAverage 16
#define maxNrofDL_Allocations          16
#define maxNrofDL_AllocationsExt_r17   64
#define maxNrofPDU_Sessions_r17        256
#define maxNrofSR_ConfigPerCellGroup   8
#define maxLCG_ID                      7
#define maxLCG_ID_IAB_r17              255
#define maxLC_ID                       32
#define maxLC_ID_Iab_r16               65855
#define maxLTE_CRS_Patterns_r16        3
#define maxNrofTAGs                    4
#define maxNrofTAGs_1                  3
#define maxNrofBWPs                    4
#define maxNrofCombIDC                 128
#define maxNrofSymbols_1               13
#define maxNrofSlots                   320
#define maxNrofSlots_1                 319
#define maxNrofPhysicalResourceBlocks  275
#define maxNrofPhysicalResourceBlocks_1 274
#define maxNrofPhysicalResourceBlocksPlus1 276
#define maxNrofControlResourceSets     12
#define maxNrofControlResourceSets_1   11
#define maxNrofControlResourceSets_1_r16 15
#define maxNrofCoresetPools_r16        2
#define maxCoReSetDuration             3
#define maxNrofSearchSpaces_1          39
#define maxNrofSearchSpacesLinks_1_r17 39
#define maxNrofBFDResourcePerSet_r17   64
#define maxSFI_DCI_PayloadSize         128
#define maxSFI_DCI_PayloadSize_1       127
#define maxIAB_IP_Address_r16          32
#define maxINT_DCI_PayloadSize         126
#define maxINT_DCI_PayloadSize_1       125
#define maxNrofRateMatchPatterns       4
#define maxNrofRateMatchPatterns_1     3
#define maxNrofRateMatchPatternsPerGroup 8
#define maxNrofCSI_ReportConfigurations 48
#define maxNrofCSI_ReportConfigurations_1 47
#define maxNrofCSI_ResourceConfigurations 112
#define maxNrofCSI_ResourceConfigurations_1 111
#define maxNrofAP_CSI_RS_ResourcesPerSet 16
#define maxNrOfCSI_AperiodicTriggers   128
#define maxNrofReportConfigPerAperiodicTrigger 16
#define maxNrofNZP_CSI_RS_Resources    192
#define maxNrofNZP_CSI_RS_Resources_1  191
#define maxNrofNZP_CSI_RS_ResourcesPerSet 64
#define maxNrofNZP_CSI_RS_ResourceSets 64
#define maxNrofNZP_CSI_RS_ResourceSets_1 63
#define maxNrofNZP_CSI_RS_ResourceSetsPerConfig 16
#define maxNrofNZP_CSI_RS_ResourcesPerConfig 128
#define maxNrofZP_CSI_RS_Resources     32
#define maxNrofZP_CSI_RS_Resources_1   31
#define maxNrofZP_CSI_RS_ResourceSets_1 15
#define maxNrofZP_CSI_RS_ResourcesPerSet 16
#define maxNrofZP_CSI_RS_ResourceSets  16
#define maxNrofCSI_IM_Resources        32
#define maxNrofCSI_IM_Resources_1      31
#define maxNrofCSI_IM_ResourcesPerSet  8
#define maxNrofCSI_IM_ResourceSets     64
#define maxNrofCSI_IM_ResourceSets_1   63
#define maxNrofCSI_IM_ResourceSetsPerConfig 16
#define maxNrofCSI_SSB_ResourcePerSet  64
#define maxNrofCSI_SSB_ResourceSets    64
#define maxNrofCSI_SSB_ResourceSets_1  63
#define maxNrofCSI_SSB_ResourceSetsPerConfig 1
#define maxNrofCSI_SSB_ResourceSetsPerConfigExt 2
#define maxNrofFailureDetectionResources 10
#define maxNrofFailureDetectionResources_1 9
#define maxNrofFailureDetectionResources_1_r17 63
#define maxNrofFreqSL_r16              8
#define maxNrofSL_BWPs_r16             4
#define maxFreqSL_EUTRA_r16            8
#define maxNrofSL_MeasId_r16           64
#define maxNrofSL_ObjectId_r16         64
#define maxNrofSL_ReportConfigId_r16   64
#define maxNrofSL_PoolToMeasureNR_r16  8
#define maxFreqSL_NR_r16               8
#define maxNrofSL_QFIs_r16             2048
#define maxNrofSL_QFIsPerDest_r16      64
#define maxNrofObjectId                64
#define maxNrofPageRec                 32
#define maxNrofPCI_Ranges              8
#define maxPLMN                        12
#define maxTAC_r17                     12
#define maxNrofCSI_RS_ResourcesRRM     96
#define maxNrofCSI_RS_ResourcesRRM_1   95
#define maxNrofMeasId                  64
#define maxNrofQuantityConfig          2
#define maxNrofCSI_RS_CellsRRM         96
#define maxNrofSL_Dest_r16             32
#define maxNrofSL_Dest_1_r16           31
#define maxNrofSLRB_r16                512
#define maxSL_LCID_r16                 512
#define maxSL_SyncConfig_r16           16
#define maxNrofRXPool_r16              16
#define maxNrofTXPool_r16              8
#define maxNrofPoolID_r16              16
#define maxNrofSRS_PathlossReferenceRS_r16 64
#define maxNrofSRS_PathlossReferenceRS_1_r16 63
#define maxNrofSRS_ResourceSets        16
#define maxNrofSRS_ResourceSets_1      15
#define maxNrofSRS_PosResourceSets_r16 16
#define maxNrofSRS_PosResourceSets_1_r16 15
#define maxNrofSRS_Resources           64
#define maxNrofSRS_Resources_1         63
#define maxNrofSRS_PosResources_r16    64
#define maxNrofSRS_PosResources_1_r16  63
#define maxNrofSRS_ResourcesPerSet     16
#define maxNrofSRS_TriggerStates_1     3
#define maxNrofSRS_TriggerStates_2     2
#define maxRAT_CapabilityContainers    8
#define maxSimultaneousBands           32
#define maxULTxSwitchingBandPairs      32
#define maxNrofSlotFormatCombinationsPerSet 512
#define maxNrofSlotFormatCombinationsPerSet_1 511
#define maxNrofTrafficPattern_r16      8
#define maxNrofPUCCH_Resources         128
#define maxNrofPUCCH_Resources_1       127
#define maxNrofPUCCH_ResourceSets      4
#define maxNrofPUCCH_ResourceSets_1    3
#define maxNrofPUCCH_ResourcesPerSet   32
#define maxNrofPUCCH_P0_PerSet         8
#define maxNrofPUCCH_PathlossReferenceRSs 4
#define maxNrofPUCCH_PathlossReferenceRSs_1 3
#define maxNrofPUCCH_PathlossReferenceRSs_r16 64
#define maxNrofPUCCH_PathlossReferenceRSs_1_r16 63
#define maxNrofPUCCH_PathlossReferenceRSs_1_r17 7
#define maxNrofPUCCH_PathlossReferenceRSsDiff_r16 60
#define maxNrofPUCCH_ResourceGroups_r16 4
#define maxNrofPUCCH_ResourcesPerGroup_r16 128
#define maxNrofPowerControlSetInfos_r17 8
#define maxNrofMultiplePUSCHs_r16      8
#define maxNrofP0_PUSCH_AlphaSets      30
#define maxNrofP0_PUSCH_AlphaSets_1    29
#define maxNrofPUSCH_PathlossReferenceRSs 4
#define maxNrofPUSCH_PathlossReferenceRSs_1 3
#define maxNrofPUSCH_PathlossReferenceRSs_r16 64
#define maxNrofPUSCH_PathlossReferenceRSs_1_r16 63
#define maxNrofPUSCH_PathlossReferenceRSsDiff_r16 60
#define maxNrofPathlossReferenceRSs_r17 64
#define maxNrofPathlossReferenceRSs_1_r17 63
#define maxNrofNAICS_Entries           8
#define maxBands                       1024
#define maxBandsMRDC                   1280
#define maxBandsEUTRA                  256
#define maxCellReport                  8
#define maxDRB                         29
#define maxFreq                        8
#define maxFreqLayers                  4
#define maxFreqPlus1                   9
#define maxFreqIDC_r16                 128
#define maxCombIDC_r16                 128
#define maxFreqIDC_MRDC                32
#define maxNrofCandidateBeams          16
#define maxNrofCandidateBeams_r16      64
#define maxNrofCandidateBeamsExt_r16   48
#define maxNrofPCIsPerSMTC             64
#define maxNrofQFIs                    64
#define maxNrofResourceAvailabilityPerCombination_r16 256
#define maxNrOfSemiPersistentPUSCH_Triggers 64
#define maxNrofSR_Resources            8
#define maxNrofSlotFormatsPerCombination 256
#define maxNrofSpatialRelationInfos    8
#define maxNrofSpatialRelationInfos_plus_1 9
#define maxNrofSpatialRelationInfos_r16 64
#define maxNrofSpatialRelationInfosDiff_r16 56
#define maxNrofIndexesToReport         32
#define maxNrofIndexesToReport2        64
#define maxNrofSSBs_r16                64
#define maxNrofSSBs_1                  63
#define maxNrofS_NSSAI                 8
#define maxNrofTCI_StatesPDCCH         64
#define maxNrofTCI_States              128
#define maxNrofTCI_States_1            127
#define maxUL_TCI_r17                  64
#define maxUL_TCI_1_r17                63
#define maxNrofAdditionalPCI_r17       7
#define maxMPE_Resources_r17           64
#define maxNrofUL_Allocations          16
#define maxQFI                         63
#define maxRA_CSIRS_Resources          96
#define maxRA_OccasionsPerCSIRS        64
#define maxRA_Occasions_1              511
#define maxRA_SSB_Resources            64
#define maxSCSs                        5
#define maxSecondaryCellGroups         3
#define maxNrofServingCellsEUTRA       32
#define maxMBSFN_Allocations           8
#define maxNrofMultiBands              8
#define maxCellSFTD                    3
#define maxReportConfigId              64
#define maxNrofCodebooks               16
#define maxNrofCSI_RS_ResourcesExt_r16 16
#define maxNrofCSI_RS_ResourcesExt_r17 8
#define maxNrofCSI_RS_Resources        7
#define maxNrofCSI_RS_ResourcesAlt_r16 512
#define maxNrofCSI_RS_ResourcesAlt_1_r16 511
#define maxNrofSRI_PUSCH_Mappings      16
#define maxNrofSRI_PUSCH_Mappings_1    15
#define maxSIB                         32
#define maxSI_Message                  32
#define maxSIB_MessagePlus1_r17        33
#define maxPO_perPF                    4
#define maxPEI_perPF_r17               4
#define maxAccessCat_1                 63
#define maxBarringInfoSet              8
#define maxCellEUTRA                   8
#define maxEUTRA_Carrier               8
#define maxPLMNIdentities              8
#define maxDownlinkFeatureSets         1024
#define maxUplinkFeatureSets           1024
#define maxEUTRA_DL_FeatureSets        256
#define maxEUTRA_UL_FeatureSets        256
#define maxFeatureSetsPerBand          128
#define maxPerCC_FeatureSets           1024
#define maxFeatureSetCombinations      1024
#define maxInterRAT_RSTD_Freq          3
#define maxGIN_r17                     24
#define maxHRNN_Len_r16                48
#define maxNPN_r16                     12
#define maxNrOfMinSchedulingOffsetValues_r16 2
#define maxK0_SchedulingOffset_r16     16
#define maxK2_SchedulingOffset_r16     16
#define maxK0_SchedulingOffset_r17     64
#define maxK2_SchedulingOffset_r17     64
#define maxDCI_2_6_Size_r16            140
#define maxDCI_2_7_Size_r17            43
#define maxDCI_2_6_Size_1_r16          139
#define maxNrofUL_Allocations_r16      64
#define maxNrofP0_PUSCH_Set_r16        2
#define maxOnDemandSIB_r16             8
#define maxOnDemandPosSIB_r16          32
#define maxCI_DCI_PayloadSize_r16      126
#define maxCI_DCI_PayloadSize_1_r16    125
#define maxUu_RelayRLC_ChannelID_r17   32
#define maxWLAN_Id_Report_r16          32
#define maxWLAN_Name_r16               4
#define maxRAReport_r16                8
#define maxTxConfig_r16                64
#define maxTxConfig_1_r16              63
#define maxPSSCH_TxConfig_r16          16
#define maxNrofCLI_RSSI_Resources_r16  64
#define maxNrofCLI_RSSI_Resources_1_r16 63
#define maxNrofCLI_SRS_Resources_r16   32
#define maxCLI_Report_r16              8
#define maxNrofCC_Group_r17            16
#define maxNrofConfiguredGrantConfig_r16 12
#define maxNrofConfiguredGrantConfig_1_r16 11
#define maxNrofCG_Type2DeactivationState 16
#define maxNrofConfiguredGrantConfigMAC_1_r16 31
#define maxNrofSPS_Config_r16          8
#define maxNrofSPS_Config_1_r16        7
#define maxNrofSPS_DeactivationState   16
#define maxNrofPPW_Config_r17          4
#define maxNrofPPW_ID_1_r17            15
#define maxNrOfTxTEGReport_r17         256
#define maxNrOfTxTEG_ID_1_r17          7
#define maxNrofPagingSubgroups_r17     8
#define maxNrofPUCCH_ResourceGroups_1_r16 3
#define maxNrofReqComDC_Location_r17   128
#define maxNrofServingCellsTCI_r16     32
#define maxNrofTxDC_TwoCarrier_r16     64
#define maxNrofRB_SetGroups_r17        8
#define maxNrofRB_Sets_r17             8
#define maxNrofEnhType3HARQ_ACK_r17    8
#define maxNrofEnhType3HARQ_ACK_1_r17  7
#define maxNrofPRS_ResourcesPerSet_r17 64
#define maxNrofPRS_ResourcesPerSet_1_r17 63
#define maxNrofPRS_ResourceOffsetValue_1_r17 511
#define maxNrofGapId_r17               8
#define maxNrofPreConfigPosGapId_r17   16
#define maxNrOfGapPri_r17              16
#define maxCEFReport_r17               4
#define maxNrofMultiplePDSCHs_r17      8
#define maxSliceInfo_r17               8
#define maxCellSlice_r17               16
#define maxNrofTRS_ResourceSets_r17    64
#define maxNrofSearchSpaceGroups_1_r17 2
#define maxNrofRemoteUE_r17            32
#define maxDCI_4_2_Size_r17            140
#define maxFreqMBS_r17                 16
#define maxNrofDRX_ConfigPTM_r17       64
#define maxNrofDRX_ConfigPTM_1_r17     63
#define maxNrofMBS_ServiceListPerUE_r17 16
#define maxNrofMBS_Session_r17         1024
#define maxNrofMTCH_SSB_MappingWindow_r17 16
#define maxNrofMTCH_SSB_MappingWindow_1_r17 15
#define maxNrofMRB_Broadcast_r17       4
#define maxNrofPageGroup_r17           32
#define maxNrofPDSCH_ConfigPTM_r17     16
#define maxNrofPDSCH_ConfigPTM_1_r17   15
#define maxG_RNTI_r17                  16
#define maxG_RNTI_1_r17                15
#define maxG_CS_RNTI_r17               8
#define maxG_CS_RNTI_1_r17             7
#define maxMRB_r17                     32
#define maxFSAI_MBS_r17                64
#define maxNeighCellMBS_r17            8
#define maxNrofPdcch_BlindDetectionMixed_1_r16 7
#define maxNrofPdcch_BlindDetection_r17 16

typedef enum _RAT_Type_enum {
  RAT_Type_nr  =   0,
  RAT_Type_eutra_nr =   1,
  RAT_Type_eutra =   2,
  RAT_Type_utra_fdd_v1610 =   3
} RAT_Type_enum;

typedef enum _T_targetRAT_Type_enum {
  T_targetRAT_Type_eutra =   0,
  T_targetRAT_Type_utra_fdd_v1610 =   1,
  T_targetRAT_Type_spare2 =   2,
  T_targetRAT_Type_spare1 =   3
} T_targetRAT_Type_enum;

/* Initialize the protocol and registered fields */
static int proto_nr_rrc = -1;
static int hf_nr_rrc_nr_rrc_HandoverCommand_PDU = -1;  /* HandoverCommand */
static int hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU = -1;  /* HandoverPreparationInformation */
static int hf_nr_rrc_nr_rrc_ConfigRestrictInfoDAPS_r16_PDU = -1;  /* ConfigRestrictInfoDAPS_r16 */
static int hf_nr_rrc_nr_rrc_CG_Config_PDU = -1;   /* CG_Config */
static int hf_nr_rrc_nr_rrc_PH_TypeListSCG_PDU = -1;  /* PH_TypeListSCG */
static int hf_nr_rrc_nr_rrc_BandCombinationIndex_PDU = -1;  /* BandCombinationIndex */
static int hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU = -1;  /* BandCombinationInfoSN */
static int hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU = -1;  /* CG_ConfigInfo */
static int hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU = -1;  /* ConfigRestrictInfoSCG */
static int hf_nr_rrc_nr_rrc_PH_TypeListMCG_PDU = -1;  /* PH_TypeListMCG */
static int hf_nr_rrc_nr_rrc_FeatureSetEntryIndex_PDU = -1;  /* FeatureSetEntryIndex */
static int hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU = -1;  /* MeasurementTimingConfiguration */
static int hf_nr_rrc_nr_rrc_UERadioPagingInformation_PDU = -1;  /* UERadioPagingInformation */
static int hf_nr_rrc_UERadioAccessCapabilityInformation_PDU = -1;  /* UERadioAccessCapabilityInformation */
static int hf_nr_rrc_BCCH_BCH_Message_PDU = -1;   /* BCCH_BCH_Message */
static int hf_nr_rrc_BCCH_DL_SCH_Message_PDU = -1;  /* BCCH_DL_SCH_Message */
static int hf_nr_rrc_DL_CCCH_Message_PDU = -1;    /* DL_CCCH_Message */
static int hf_nr_rrc_DL_DCCH_Message_PDU = -1;    /* DL_DCCH_Message */
static int hf_nr_rrc_MCCH_Message_r17_PDU = -1;   /* MCCH_Message_r17 */
static int hf_nr_rrc_PCCH_Message_PDU = -1;       /* PCCH_Message */
static int hf_nr_rrc_UL_CCCH_Message_PDU = -1;    /* UL_CCCH_Message */
static int hf_nr_rrc_UL_CCCH1_Message_PDU = -1;   /* UL_CCCH1_Message */
static int hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU = -1;  /* UL_DCCH_Message */
static int hf_nr_rrc_nr_rrc_MBSInterestIndication_r17_PDU = -1;  /* MBSInterestIndication_r17 */
static int hf_nr_rrc_nr_rrc_MIB_PDU = -1;         /* MIB */
static int hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU = -1;  /* RRCReconfiguration */
static int hf_nr_rrc_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16_PDU = -1;  /* SL_ConfigDedicatedEUTRA_Info_r16 */
static int hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU = -1;  /* RRCReconfigurationComplete */
static int hf_nr_rrc_nr_rrc_SDT_MAC_PHY_CG_Config_r17_PDU = -1;  /* SDT_MAC_PHY_CG_Config_r17 */
static int hf_nr_rrc_nr_rrc_SRS_PosRRC_InactiveConfig_r17_PDU = -1;  /* SRS_PosRRC_InactiveConfig_r17 */
static int hf_nr_rrc_nr_rrc_SIB1_PDU = -1;        /* SIB1 */
static int hf_nr_rrc_nr_rrc_SidelinkUEInformationNR_r16_PDU = -1;  /* SidelinkUEInformationNR_r16 */
static int hf_nr_rrc_nr_rrc_UEAssistanceInformation_PDU = -1;  /* UEAssistanceInformation */
static int hf_nr_rrc_nr_rrc_OverheatingAssistance_PDU = -1;  /* OverheatingAssistance */
static int hf_nr_rrc_nr_rrc_OverheatingAssistance_r17_PDU = -1;  /* OverheatingAssistance_r17 */
static int hf_nr_rrc_nr_rrc_RA_ReportList_r16_PDU = -1;  /* RA_ReportList_r16 */
static int hf_nr_rrc_nr_rrc_SuccessHO_Report_r17_PDU = -1;  /* SuccessHO_Report_r17 */
static int hf_nr_rrc_nr_rrc_SIB2_PDU = -1;        /* SIB2 */
static int hf_nr_rrc_nr_rrc_SIB3_PDU = -1;        /* SIB3 */
static int hf_nr_rrc_nr_rrc_SIB4_PDU = -1;        /* SIB4 */
static int hf_nr_rrc_nr_rrc_SIB5_PDU = -1;        /* SIB5 */
static int hf_nr_rrc_nr_rrc_SIB6_PDU = -1;        /* SIB6 */
static int hf_nr_rrc_nr_rrc_SIB7_PDU = -1;        /* SIB7 */
static int hf_nr_rrc_nr_rrc_SIB8_PDU = -1;        /* SIB8 */
static int hf_nr_rrc_nr_rrc_SIB9_PDU = -1;        /* SIB9 */
static int hf_nr_rrc_nr_rrc_SIB10_r16_PDU = -1;   /* SIB10_r16 */
static int hf_nr_rrc_nr_rrc_SIB11_r16_PDU = -1;   /* SIB11_r16 */
static int hf_nr_rrc_nr_rrc_SIB12_r16_PDU = -1;   /* SIB12_r16 */
static int hf_nr_rrc_nr_rrc_SIB13_r16_PDU = -1;   /* SIB13_r16 */
static int hf_nr_rrc_nr_rrc_SIB14_r16_PDU = -1;   /* SIB14_r16 */
static int hf_nr_rrc_nr_rrc_SIB15_r17_PDU = -1;   /* SIB15_r17 */
static int hf_nr_rrc_nr_rrc_SIB16_r17_PDU = -1;   /* SIB16_r17 */
static int hf_nr_rrc_nr_rrc_SIB17_r17_PDU = -1;   /* SIB17_r17 */
static int hf_nr_rrc_nr_rrc_SIB18_r17_PDU = -1;   /* SIB18_r17 */
static int hf_nr_rrc_nr_rrc_SIB19_r17_PDU = -1;   /* SIB19_r17 */
static int hf_nr_rrc_nr_rrc_SIB20_r17_PDU = -1;   /* SIB20_r17 */
static int hf_nr_rrc_nr_rrc_SIB21_r17_PDU = -1;   /* SIB21_r17 */
static int hf_nr_rrc_nr_rrc_CellGroupConfig_PDU = -1;  /* CellGroupConfig */
static int hf_nr_rrc_nr_rrc_CondReconfigExecCondSCG_r17_PDU = -1;  /* CondReconfigExecCondSCG_r17 */
static int hf_nr_rrc_nr_rrc_DRX_Config_PDU = -1;  /* DRX_Config */
static int hf_nr_rrc_nr_rrc_LocationMeasurementInfo_PDU = -1;  /* LocationMeasurementInfo */
static int hf_nr_rrc_nr_rrc_MeasConfig_PDU = -1;  /* MeasConfig */
static int hf_nr_rrc_nr_rrc_MeasGapConfig_PDU = -1;  /* MeasGapConfig */
static int hf_nr_rrc_nr_rrc_PosMeasGapPreConfigToAddModList_r17_PDU = -1;  /* PosMeasGapPreConfigToAddModList_r17 */
static int hf_nr_rrc_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_PDU = -1;  /* PosMeasGapPreConfigToReleaseList_r17 */
static int hf_nr_rrc_nr_rrc_MeasGapSharingConfig_PDU = -1;  /* MeasGapSharingConfig */
static int hf_nr_rrc_nr_rrc_MeasObjectToAddMod_PDU = -1;  /* MeasObjectToAddMod */
static int hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU = -1;  /* MeasResultSCG_Failure */
static int hf_nr_rrc_nr_rrc_MUSIM_GapConfig_r17_PDU = -1;  /* MUSIM_GapConfig_r17 */
static int hf_nr_rrc_nr_rrc_NeedForGapsInfoNR_r16_PDU = -1;  /* NeedForGapsInfoNR_r16 */
static int hf_nr_rrc_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17_PDU = -1;  /* NeedForGapNCSG_InfoEUTRA_r17 */
static int hf_nr_rrc_nr_rrc_NeedForGapNCSG_InfoNR_r17_PDU = -1;  /* NeedForGapNCSG_InfoNR_r17 */
static int hf_nr_rrc_nr_rrc_NonCellDefiningSSB_r17_PDU = -1;  /* NonCellDefiningSSB_r17 */
static int hf_nr_rrc_nr_rrc_NZP_CSI_RS_Resource_PDU = -1;  /* NZP_CSI_RS_Resource */
static int hf_nr_rrc_nr_rrc_P_Max_PDU = -1;       /* P_Max */
static int hf_nr_rrc_nr_rrc_PDCCH_ConfigSIB1_PDU = -1;  /* PDCCH_ConfigSIB1 */
static int hf_nr_rrc_nr_rrc_RACH_ConfigCommon_PDU = -1;  /* RACH_ConfigCommon */
static int hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU = -1;  /* RadioBearerConfig */
static int hf_nr_rrc_nr_rrc_ReferenceTime_r16_PDU = -1;  /* ReferenceTime_r16 */
static int hf_nr_rrc_nr_rrc_ReportConfigToAddMod_PDU = -1;  /* ReportConfigToAddMod */
static int hf_nr_rrc_nr_rrc_RLC_BearerConfig_PDU = -1;  /* RLC_BearerConfig */
static int hf_nr_rrc_nr_rrc_SchedulingRequestResourceConfig_PDU = -1;  /* SchedulingRequestResourceConfig */
static int hf_nr_rrc_nr_rrc_TDD_UL_DL_ConfigCommon_PDU = -1;  /* TDD_UL_DL_ConfigCommon */
static int hf_nr_rrc_nr_rrc_UL_GapFR2_Config_r17_PDU = -1;  /* UL_GapFR2_Config_r17 */
static int hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU = -1;  /* UplinkTxDirectCurrentList */
static int hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_PDU = -1;  /* UplinkTxDirectCurrentTwoCarrierList_r16 */
static int hf_nr_rrc_nr_rrc_BandParametersSidelink_r16_PDU = -1;  /* BandParametersSidelink_r16 */
static int hf_nr_rrc_nr_rrc_FreqBandList_PDU = -1;  /* FreqBandList */
static int hf_nr_rrc_nr_rrc_SidelinkParametersNR_r16_PDU = -1;  /* SidelinkParametersNR_r16 */
static int hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU = -1;  /* UE_CapabilityRAT_ContainerList */
static int hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterCommon_PDU = -1;  /* UE_CapabilityRequestFilterCommon */
static int hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterNR_PDU = -1;  /* UE_CapabilityRequestFilterNR */
static int hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU = -1;  /* UE_MRDC_Capability */
static int hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU = -1;  /* UE_NR_Capability */
static int hf_nr_rrc_nr_rrc_VisitedCellInfoList_r16_PDU = -1;  /* VisitedCellInfoList_r16 */
static int hf_nr_rrc_nr_rrc_SL_ConfigDedicatedNR_r16_PDU = -1;  /* SL_ConfigDedicatedNR_r16 */
static int hf_nr_rrc_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU = -1;  /* SL_PHY_MAC_RLC_Config_r16 */
static int hf_nr_rrc_nr_rrc_SL_RLC_ChannelToAddModList_r17_PDU = -1;  /* SL_RLC_ChannelToAddModList_r17 */
static int hf_nr_rrc_nr_rrc_MBS_NeighbourCellList_r17_PDU = -1;  /* MBS_NeighbourCellList_r17 */
static int hf_nr_rrc_nr_rrc_MRB_PDCP_ConfigBroadcast_r17_PDU = -1;  /* MRB_PDCP_ConfigBroadcast_r17 */
static int hf_nr_rrc_SBCCH_SL_BCH_Message_PDU = -1;  /* SBCCH_SL_BCH_Message */
static int hf_nr_rrc_SCCH_Message_PDU = -1;       /* SCCH_Message */
static int hf_nr_rrc_SL_MeasResultListRelay_r17_PDU = -1;  /* SL_MeasResultListRelay_r17 */
static int hf_nr_rrc_SL_MeasResultRelay_r17_PDU = -1;  /* SL_MeasResultRelay_r17 */
static int hf_nr_rrc_UECapabilityInformationSidelink_PDU = -1;  /* UECapabilityInformationSidelink */
static int hf_nr_rrc_MeasResultList2NR_PDU = -1;  /* MeasResultList2NR */
static int hf_nr_rrc_UE_RadioPagingInfo_r17_PDU = -1;  /* UE_RadioPagingInfo_r17 */
static int hf_nr_rrc_SystemInformation_PDU = -1;  /* SystemInformation */
static int hf_nr_rrc_PosSystemInformation_r16_IEs_PDU = -1;  /* PosSystemInformation_r16_IEs */
static int hf_nr_rrc_Paging_PDU = -1;             /* Paging */
static int hf_nr_rrc_UECapabilityEnquiry_v1560_IEs_PDU = -1;  /* UECapabilityEnquiry_v1560_IEs */
static int hf_nr_rrc_UE_MRDC_Capability_v15g0_PDU = -1;  /* UE_MRDC_Capability_v15g0 */
static int hf_nr_rrc_UE_NR_Capability_v15c0_PDU = -1;  /* UE_NR_Capability_v15c0 */
static int hf_nr_rrc_PagingRecord_PDU = -1;       /* PagingRecord */
static int hf_nr_rrc_criticalExtensions = -1;     /* T_criticalExtensions */
static int hf_nr_rrc_c1 = -1;                     /* T_c1 */
static int hf_nr_rrc_handoverCommand = -1;        /* HandoverCommand_IEs */
static int hf_nr_rrc_spare3 = -1;                 /* NULL */
static int hf_nr_rrc_spare2 = -1;                 /* NULL */
static int hf_nr_rrc_spare1 = -1;                 /* NULL */
static int hf_nr_rrc_criticalExtensionsFuture = -1;  /* T_criticalExtensionsFuture */
static int hf_nr_rrc_handoverCommandMessage = -1;  /* T_handoverCommandMessage */
static int hf_nr_rrc_nonCriticalExtension = -1;   /* T_nonCriticalExtension */
static int hf_nr_rrc_criticalExtensions_01 = -1;  /* T_criticalExtensions_01 */
static int hf_nr_rrc_c1_01 = -1;                  /* T_c1_01 */
static int hf_nr_rrc_handoverPreparationInformation = -1;  /* HandoverPreparationInformation_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_01 = -1;  /* T_criticalExtensionsFuture_01 */
static int hf_nr_rrc_ue_CapabilityRAT_List = -1;  /* UE_CapabilityRAT_ContainerList */
static int hf_nr_rrc_sourceConfig = -1;           /* AS_Config */
static int hf_nr_rrc_rrm_Config = -1;             /* RRM_Config */
static int hf_nr_rrc_as_Context = -1;             /* AS_Context */
static int hf_nr_rrc_nonCriticalExtension_01 = -1;  /* T_nonCriticalExtension_01 */
static int hf_nr_rrc_rrcReconfiguration = -1;     /* T_rrcReconfiguration */
static int hf_nr_rrc_sourceRB_SN_Config = -1;     /* T_sourceRB_SN_Config */
static int hf_nr_rrc_sourceSCG_NR_Config = -1;    /* T_sourceSCG_NR_Config */
static int hf_nr_rrc_sourceSCG_EUTRA_Config = -1;  /* T_sourceSCG_EUTRA_Config */
static int hf_nr_rrc_sourceSCG_Configured = -1;   /* T_sourceSCG_Configured */
static int hf_nr_rrc_sdt_Config_r17 = -1;         /* SDT_Config_r17 */
static int hf_nr_rrc_reestablishmentInfo = -1;    /* ReestablishmentInfo */
static int hf_nr_rrc_configRestrictInfo = -1;     /* ConfigRestrictInfoSCG */
static int hf_nr_rrc_ran_NotificationAreaInfo = -1;  /* RAN_NotificationAreaInfo */
static int hf_nr_rrc_ueAssistanceInformation = -1;  /* T_ueAssistanceInformation */
static int hf_nr_rrc_selectedBandCombinationSN = -1;  /* BandCombinationInfoSN */
static int hf_nr_rrc_configRestrictInfoDAPS_r16 = -1;  /* ConfigRestrictInfoDAPS_r16 */
static int hf_nr_rrc_sidelinkUEInformationNR_r16 = -1;  /* T_sidelinkUEInformationNR_r16 */
static int hf_nr_rrc_sidelinkUEInformationEUTRA_r16 = -1;  /* T_sidelinkUEInformationEUTRA_r16 */
static int hf_nr_rrc_ueAssistanceInformationEUTRA_r16 = -1;  /* T_ueAssistanceInformationEUTRA_r16 */
static int hf_nr_rrc_ueAssistanceInformationSCG_r16 = -1;  /* T_ueAssistanceInformationSCG_r16 */
static int hf_nr_rrc_needForGapsInfoNR_r16 = -1;  /* NeedForGapsInfoNR_r16 */
static int hf_nr_rrc_configRestrictInfoDAPS_v1640 = -1;  /* ConfigRestrictInfoDAPS_v1640 */
static int hf_nr_rrc_needForGapNCSG_InfoNR_r17 = -1;  /* NeedForGapNCSG_InfoNR_r17 */
static int hf_nr_rrc_needForGapNCSG_InfoEUTRA_r17 = -1;  /* NeedForGapNCSG_InfoEUTRA_r17 */
static int hf_nr_rrc_mbsInterestIndication_r17 = -1;  /* T_mbsInterestIndication_r17 */
static int hf_nr_rrc_powerCoordination_r16 = -1;  /* T_powerCoordination_r16 */
static int hf_nr_rrc_p_DAPS_Source_r16 = -1;      /* P_Max */
static int hf_nr_rrc_p_DAPS_Target_r16 = -1;      /* P_Max */
static int hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16 = -1;  /* T_uplinkPowerSharingDAPS_Mode_r16 */
static int hf_nr_rrc_sourceFeatureSetPerDownlinkCC_r16 = -1;  /* FeatureSetDownlinkPerCC_Id */
static int hf_nr_rrc_sourceFeatureSetPerUplinkCC_r16 = -1;  /* FeatureSetUplinkPerCC_Id */
static int hf_nr_rrc_sourcePhysCellId = -1;       /* PhysCellId */
static int hf_nr_rrc_targetCellShortMAC_I = -1;   /* ShortMAC_I */
static int hf_nr_rrc_additionalReestabInfoList = -1;  /* ReestabNCellInfoList */
static int hf_nr_rrc_ReestabNCellInfoList_item = -1;  /* ReestabNCellInfo */
static int hf_nr_rrc_cellIdentity = -1;           /* CellIdentity */
static int hf_nr_rrc_key_gNodeB_Star = -1;        /* BIT_STRING_SIZE_256 */
static int hf_nr_rrc_shortMAC_I = -1;             /* ShortMAC_I */
static int hf_nr_rrc_ue_InactiveTime = -1;        /* T_ue_InactiveTime */
static int hf_nr_rrc_candidateCellInfoList = -1;  /* MeasResultList2NR */
static int hf_nr_rrc_rRM_Config_eag_1_candidateCellInfoListSN_EUTRA = -1;  /* MeasResultServFreqListEUTRA_SCG */
static int hf_nr_rrc_criticalExtensions_02 = -1;  /* T_criticalExtensions_02 */
static int hf_nr_rrc_c1_02 = -1;                  /* T_c1_02 */
static int hf_nr_rrc_cg_Config = -1;              /* CG_Config_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_02 = -1;  /* T_criticalExtensionsFuture_02 */
static int hf_nr_rrc_scg_CellGroupConfig = -1;    /* T_scg_CellGroupConfig */
static int hf_nr_rrc_scg_RB_Config = -1;          /* T_scg_RB_Config */
static int hf_nr_rrc_configRestrictModReq = -1;   /* ConfigRestrictModReqSCG */
static int hf_nr_rrc_drx_InfoSCG = -1;            /* DRX_Info */
static int hf_nr_rrc_candidateCellInfoListSN = -1;  /* T_candidateCellInfoListSN */
static int hf_nr_rrc_measConfigSN = -1;           /* MeasConfigSN */
static int hf_nr_rrc_selectedBandCombination = -1;  /* BandCombinationInfoSN */
static int hf_nr_rrc_fr_InfoListSCG = -1;         /* FR_InfoList */
static int hf_nr_rrc_candidateServingFreqListNR = -1;  /* CandidateServingFreqListNR */
static int hf_nr_rrc_nonCriticalExtension_02 = -1;  /* CG_Config_v1540_IEs */
static int hf_nr_rrc_pSCellFrequency = -1;        /* ARFCN_ValueNR */
static int hf_nr_rrc_reportCGI_RequestNR = -1;    /* T_reportCGI_RequestNR */
static int hf_nr_rrc_requestedCellInfo = -1;      /* T_requestedCellInfo */
static int hf_nr_rrc_ssbFrequency = -1;           /* ARFCN_ValueNR */
static int hf_nr_rrc_cellForWhichToReportCGI = -1;  /* PhysCellId */
static int hf_nr_rrc_ph_InfoSCG = -1;             /* PH_TypeListSCG */
static int hf_nr_rrc_nonCriticalExtension_03 = -1;  /* CG_Config_v1560_IEs */
static int hf_nr_rrc_pSCellFrequencyEUTRA = -1;   /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_scg_CellGroupConfigEUTRA = -1;  /* T_scg_CellGroupConfigEUTRA */
static int hf_nr_rrc_cG_Config_v1560_IEs_candidateCellInfoListSN_EUTRA = -1;  /* T_cG_Config_v1560_IEs_candidateCellInfoListSN_EUTRA */
static int hf_nr_rrc_candidateServingFreqListEUTRA = -1;  /* CandidateServingFreqListEUTRA */
static int hf_nr_rrc_needForGaps = -1;            /* T_needForGaps */
static int hf_nr_rrc_drx_ConfigSCG = -1;          /* DRX_Config */
static int hf_nr_rrc_reportCGI_RequestEUTRA = -1;  /* T_reportCGI_RequestEUTRA */
static int hf_nr_rrc_requestedCellInfoEUTRA = -1;  /* T_requestedCellInfoEUTRA */
static int hf_nr_rrc_eutraFrequency = -1;         /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_cellForWhichToReportCGI_EUTRA = -1;  /* EUTRA_PhysCellId */
static int hf_nr_rrc_nonCriticalExtension_04 = -1;  /* CG_Config_v1590_IEs */
static int hf_nr_rrc_scellFrequenciesSN_NR = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR */
static int hf_nr_rrc_scellFrequenciesSN_NR_item = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_scellFrequenciesSN_EUTRA = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA */
static int hf_nr_rrc_scellFrequenciesSN_EUTRA_item = -1;  /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_nonCriticalExtension_05 = -1;  /* CG_Config_v1610_IEs */
static int hf_nr_rrc_drx_InfoSCG2 = -1;           /* DRX_Info2 */
static int hf_nr_rrc_nonCriticalExtension_06 = -1;  /* CG_Config_v1620_IEs */
static int hf_nr_rrc_ueAssistanceInformationSCG_r16_01 = -1;  /* T_ueAssistanceInformationSCG_r16_01 */
static int hf_nr_rrc_nonCriticalExtension_07 = -1;  /* CG_Config_v1630_IEs */
static int hf_nr_rrc_selectedToffset_r16 = -1;    /* T_Offset_r16 */
static int hf_nr_rrc_nonCriticalExtension_08 = -1;  /* CG_Config_v1640_IEs */
static int hf_nr_rrc_servCellInfoListSCG_NR_r16 = -1;  /* ServCellInfoListSCG_NR_r16 */
static int hf_nr_rrc_servCellInfoListSCG_EUTRA_r16 = -1;  /* ServCellInfoListSCG_EUTRA_r16 */
static int hf_nr_rrc_nonCriticalExtension_09 = -1;  /* CG_Config_v1700_IEs */
static int hf_nr_rrc_candidateCellInfoListCPC_r17 = -1;  /* CandidateCellInfoListCPC_r17 */
static int hf_nr_rrc_twoPHRModeSCG_r17 = -1;      /* T_twoPHRModeSCG_r17 */
static int hf_nr_rrc_nonCriticalExtension_10 = -1;  /* CG_Config_v1730_IEs */
static int hf_nr_rrc_fr1_Carriers_SCG_r17 = -1;   /* INTEGER_1_32 */
static int hf_nr_rrc_fr2_Carriers_SCG_r17 = -1;   /* INTEGER_1_32 */
static int hf_nr_rrc_nonCriticalExtension_11 = -1;  /* T_nonCriticalExtension_02 */
static int hf_nr_rrc_ServCellInfoListSCG_NR_r16_item = -1;  /* ServCellInfoXCG_NR_r16 */
static int hf_nr_rrc_dl_FreqInfo_NR_r16 = -1;     /* FrequencyConfig_NR_r16 */
static int hf_nr_rrc_ul_FreqInfo_NR_r16 = -1;     /* FrequencyConfig_NR_r16 */
static int hf_nr_rrc_freqBandIndicatorNR_r16 = -1;  /* FreqBandIndicatorNR */
static int hf_nr_rrc_carrierCenterFreq_NR_r16 = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_carrierBandwidth_NR_r16 = -1;  /* INTEGER_1_maxNrofPhysicalResourceBlocks */
static int hf_nr_rrc_subcarrierSpacing_NR_r16 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_ServCellInfoListSCG_EUTRA_r16_item = -1;  /* ServCellInfoXCG_EUTRA_r16 */
static int hf_nr_rrc_dl_CarrierFreq_EUTRA_r16 = -1;  /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_ul_CarrierFreq_EUTRA_r16 = -1;  /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_transmissionBandwidth_EUTRA_r16 = -1;  /* TransmissionBandwidth_EUTRA_r16 */
static int hf_nr_rrc_PH_TypeListSCG_item = -1;    /* PH_InfoSCG */
static int hf_nr_rrc_servCellIndex = -1;          /* ServCellIndex */
static int hf_nr_rrc_ph_Uplink = -1;              /* PH_UplinkCarrierSCG */
static int hf_nr_rrc_ph_SupplementaryUplink = -1;  /* PH_UplinkCarrierSCG */
static int hf_nr_rrc_twoSRS_PUSCH_Repetition_r17 = -1;  /* T_twoSRS_PUSCH_Repetition_r17 */
static int hf_nr_rrc_ph_Type1or3 = -1;            /* T_ph_Type1or3 */
static int hf_nr_rrc_measuredFrequenciesSN = -1;  /* SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo */
static int hf_nr_rrc_measuredFrequenciesSN_item = -1;  /* NR_FreqInfo */
static int hf_nr_rrc_measuredFrequency = -1;      /* ARFCN_ValueNR */
static int hf_nr_rrc_requestedBC_MRDC = -1;       /* BandCombinationInfoSN */
static int hf_nr_rrc_requestedP_MaxFR1 = -1;      /* P_Max */
static int hf_nr_rrc_requestedPDCCH_BlindDetectionSCG = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_requestedP_MaxEUTRA = -1;    /* P_Max */
static int hf_nr_rrc_requestedP_MaxFR2_r16 = -1;  /* P_Max */
static int hf_nr_rrc_requestedMaxInterFreqMeasIdSCG_r16 = -1;  /* INTEGER_1_maxMeasIdentitiesMN */
static int hf_nr_rrc_requestedMaxIntraFreqMeasIdSCG_r16 = -1;  /* INTEGER_1_maxMeasIdentitiesMN */
static int hf_nr_rrc_requestedToffset_r16 = -1;   /* T_Offset_r16 */
static int hf_nr_rrc_bandCombinationIndex = -1;   /* BandCombinationIndex */
static int hf_nr_rrc_requestedFeatureSets = -1;   /* FeatureSetEntryIndex */
static int hf_nr_rrc_FR_InfoList_item = -1;       /* FR_Info */
static int hf_nr_rrc_fr_Type = -1;                /* T_fr_Type */
static int hf_nr_rrc_CandidateServingFreqListNR_item = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_CandidateServingFreqListEUTRA_item = -1;  /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_CandidateCellInfoListCPC_r17_item = -1;  /* CandidateCellInfo_r17 */
static int hf_nr_rrc_ssbFrequency_r17 = -1;       /* ARFCN_ValueNR */
static int hf_nr_rrc_candidateList_r17 = -1;      /* SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17 */
static int hf_nr_rrc_candidateList_r17_item = -1;  /* CandidateCell_r17 */
static int hf_nr_rrc_physCellId_r17 = -1;         /* PhysCellId */
static int hf_nr_rrc_condExecutionCondSCG_r17 = -1;  /* T_condExecutionCondSCG_r17 */
static int hf_nr_rrc_criticalExtensions_03 = -1;  /* T_criticalExtensions_03 */
static int hf_nr_rrc_c1_03 = -1;                  /* T_c1_03 */
static int hf_nr_rrc_cg_ConfigInfo = -1;          /* CG_ConfigInfo_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_03 = -1;  /* T_criticalExtensionsFuture_03 */
static int hf_nr_rrc_ue_CapabilityInfo = -1;      /* T_ue_CapabilityInfo */
static int hf_nr_rrc_candidateCellInfoListMN = -1;  /* MeasResultList2NR */
static int hf_nr_rrc_candidateCellInfoListSN_01 = -1;  /* T_candidateCellInfoListSN_01 */
static int hf_nr_rrc_measResultCellListSFTD_NR = -1;  /* MeasResultCellListSFTD_NR */
static int hf_nr_rrc_scgFailureInfo = -1;         /* T_scgFailureInfo */
static int hf_nr_rrc_failureType = -1;            /* T_failureType */
static int hf_nr_rrc_measResultSCG = -1;          /* T_measResultSCG */
static int hf_nr_rrc_drx_InfoMCG = -1;            /* DRX_Info */
static int hf_nr_rrc_measConfigMN = -1;           /* MeasConfigMN */
static int hf_nr_rrc_sourceConfigSCG = -1;        /* T_sourceConfigSCG */
static int hf_nr_rrc_scg_RB_Config_01 = -1;       /* T_scg_RB_Config_01 */
static int hf_nr_rrc_mcg_RB_Config = -1;          /* T_mcg_RB_Config */
static int hf_nr_rrc_mrdc_AssistanceInfo = -1;    /* MRDC_AssistanceInfo */
static int hf_nr_rrc_nonCriticalExtension_12 = -1;  /* CG_ConfigInfo_v1540_IEs */
static int hf_nr_rrc_ph_InfoMCG = -1;             /* PH_TypeListMCG */
static int hf_nr_rrc_measResultReportCGI = -1;    /* T_measResultReportCGI */
static int hf_nr_rrc_cgi_Info = -1;               /* CGI_InfoNR */
static int hf_nr_rrc_nonCriticalExtension_13 = -1;  /* CG_ConfigInfo_v1560_IEs */
static int hf_nr_rrc_candidateCellInfoListMN_EUTRA = -1;  /* T_candidateCellInfoListMN_EUTRA */
static int hf_nr_rrc_cG_ConfigInfo_v1560_IEs_candidateCellInfoListSN_EUTRA = -1;  /* T_cG_ConfigInfo_v1560_IEs_candidateCellInfoListSN_EUTRA */
static int hf_nr_rrc_sourceConfigSCG_EUTRA = -1;  /* T_sourceConfigSCG_EUTRA */
static int hf_nr_rrc_scgFailureInfoEUTRA = -1;    /* T_scgFailureInfoEUTRA */
static int hf_nr_rrc_failureTypeEUTRA = -1;       /* T_failureTypeEUTRA */
static int hf_nr_rrc_measResultSCG_EUTRA = -1;    /* T_measResultSCG_EUTRA */
static int hf_nr_rrc_drx_ConfigMCG = -1;          /* DRX_Config */
static int hf_nr_rrc_measResultReportCGI_EUTRA = -1;  /* T_measResultReportCGI_EUTRA */
static int hf_nr_rrc_cgi_InfoEUTRA = -1;          /* CGI_InfoEUTRA */
static int hf_nr_rrc_measResultCellListSFTD_EUTRA = -1;  /* MeasResultCellListSFTD_EUTRA */
static int hf_nr_rrc_fr_InfoListMCG = -1;         /* FR_InfoList */
static int hf_nr_rrc_nonCriticalExtension_14 = -1;  /* CG_ConfigInfo_v1570_IEs */
static int hf_nr_rrc_sftdFrequencyList_NR = -1;   /* SFTD_FrequencyList_NR */
static int hf_nr_rrc_sftdFrequencyList_EUTRA = -1;  /* SFTD_FrequencyList_EUTRA */
static int hf_nr_rrc_nonCriticalExtension_15 = -1;  /* CG_ConfigInfo_v1590_IEs */
static int hf_nr_rrc_servFrequenciesMN_NR = -1;   /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR */
static int hf_nr_rrc_servFrequenciesMN_NR_item = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_nonCriticalExtension_16 = -1;  /* CG_ConfigInfo_v1610_IEs */
static int hf_nr_rrc_drx_InfoMCG2 = -1;           /* DRX_Info2 */
static int hf_nr_rrc_alignedDRX_Indication = -1;  /* T_alignedDRX_Indication */
static int hf_nr_rrc_scgFailureInfo_r16 = -1;     /* T_scgFailureInfo_r16 */
static int hf_nr_rrc_failureType_r16 = -1;        /* T_failureType_r16 */
static int hf_nr_rrc_measResultSCG_r16 = -1;      /* T_measResultSCG_r16 */
static int hf_nr_rrc_dummy1 = -1;                 /* T_dummy1 */
static int hf_nr_rrc_failureTypeEUTRA_r16 = -1;   /* T_failureTypeEUTRA_r16 */
static int hf_nr_rrc_measResultSCG_EUTRA_r16 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_sidelinkUEInformationNR_r16_01 = -1;  /* T_sidelinkUEInformationNR_r16_01 */
static int hf_nr_rrc_sidelinkUEInformationEUTRA_r16_01 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_nonCriticalExtension_17 = -1;  /* CG_ConfigInfo_v1620_IEs */
static int hf_nr_rrc_ueAssistanceInformationSourceSCG_r16 = -1;  /* T_ueAssistanceInformationSourceSCG_r16 */
static int hf_nr_rrc_nonCriticalExtension_18 = -1;  /* CG_ConfigInfo_v1640_IEs */
static int hf_nr_rrc_servCellInfoListMCG_NR_r16 = -1;  /* ServCellInfoListMCG_NR_r16 */
static int hf_nr_rrc_servCellInfoListMCG_EUTRA_r16 = -1;  /* ServCellInfoListMCG_EUTRA_r16 */
static int hf_nr_rrc_nonCriticalExtension_19 = -1;  /* CG_ConfigInfo_v1700_IEs */
static int hf_nr_rrc_candidateCellListCPC_r17 = -1;  /* CandidateCellListCPC_r17 */
static int hf_nr_rrc_twoPHRModeMCG_r17 = -1;      /* T_twoPHRModeMCG_r17 */
static int hf_nr_rrc_lowMobilityEvaluationConnectedInPCell_r17 = -1;  /* T_lowMobilityEvaluationConnectedInPCell_r17 */
static int hf_nr_rrc_nonCriticalExtension_20 = -1;  /* CG_ConfigInfo_v1730_IEs */
static int hf_nr_rrc_fr1_Carriers_MCG_r17 = -1;   /* INTEGER_1_32 */
static int hf_nr_rrc_fr2_Carriers_MCG_r17 = -1;   /* INTEGER_1_32 */
static int hf_nr_rrc_nonCriticalExtension_21 = -1;  /* T_nonCriticalExtension_03 */
static int hf_nr_rrc_ServCellInfoListMCG_NR_r16_item = -1;  /* ServCellInfoXCG_NR_r16 */
static int hf_nr_rrc_ServCellInfoListMCG_EUTRA_r16_item = -1;  /* ServCellInfoXCG_EUTRA_r16 */
static int hf_nr_rrc_SFTD_FrequencyList_NR_item = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_SFTD_FrequencyList_EUTRA_item = -1;  /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_allowedBC_ListMRDC = -1;     /* BandCombinationInfoList */
static int hf_nr_rrc_powerCoordination_FR1 = -1;  /* T_powerCoordination_FR1 */
static int hf_nr_rrc_p_maxNR_FR1 = -1;            /* P_Max */
static int hf_nr_rrc_p_maxEUTRA = -1;             /* P_Max */
static int hf_nr_rrc_p_maxUE_FR1 = -1;            /* P_Max */
static int hf_nr_rrc_servCellIndexRangeSCG = -1;  /* T_servCellIndexRangeSCG */
static int hf_nr_rrc_lowBound = -1;               /* ServCellIndex */
static int hf_nr_rrc_upBound = -1;                /* ServCellIndex */
static int hf_nr_rrc_maxMeasFreqsSCG = -1;        /* INTEGER_1_maxMeasFreqsMN */
static int hf_nr_rrc_configRestrictInfoSCG_dummy = -1;  /* INTEGER_1_maxMeasIdentitiesMN */
static int hf_nr_rrc_selectedBandEntriesMNList = -1;  /* SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN */
static int hf_nr_rrc_selectedBandEntriesMNList_item = -1;  /* SelectedBandEntriesMN */
static int hf_nr_rrc_pdcch_BlindDetectionSCG = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_maxNumberROHC_ContextSessionsSN = -1;  /* INTEGER_0_16384 */
static int hf_nr_rrc_maxIntraFreqMeasIdentitiesSCG = -1;  /* INTEGER_1_maxMeasIdentitiesMN */
static int hf_nr_rrc_maxInterFreqMeasIdentitiesSCG = -1;  /* INTEGER_1_maxMeasIdentitiesMN */
static int hf_nr_rrc_p_maxNR_FR1_MCG_r16 = -1;    /* P_Max */
static int hf_nr_rrc_powerCoordination_FR2_r16 = -1;  /* T_powerCoordination_FR2_r16 */
static int hf_nr_rrc_p_maxNR_FR2_MCG_r16 = -1;    /* P_Max */
static int hf_nr_rrc_p_maxNR_FR2_SCG_r16 = -1;    /* P_Max */
static int hf_nr_rrc_p_maxUE_FR2_r16 = -1;        /* P_Max */
static int hf_nr_rrc_nrdc_PC_mode_FR1_r16 = -1;   /* T_nrdc_PC_mode_FR1_r16 */
static int hf_nr_rrc_nrdc_PC_mode_FR2_r16 = -1;   /* T_nrdc_PC_mode_FR2_r16 */
static int hf_nr_rrc_maxMeasSRS_ResourceSCG_r16 = -1;  /* INTEGER_0_maxNrofCLI_SRS_Resources_r16 */
static int hf_nr_rrc_maxMeasCLI_ResourceSCG_r16 = -1;  /* INTEGER_0_maxNrofCLI_RSSI_Resources_r16 */
static int hf_nr_rrc_maxNumberEHC_ContextsSN_r16 = -1;  /* INTEGER_0_65536 */
static int hf_nr_rrc_allowedReducedConfigForOverheating_r16 = -1;  /* OverheatingAssistance */
static int hf_nr_rrc_maxToffset_r16 = -1;         /* T_Offset_r16 */
static int hf_nr_rrc_allowedReducedConfigForOverheating_r17 = -1;  /* OverheatingAssistance_r17 */
static int hf_nr_rrc_maxNumberUDC_DRB_r17 = -1;   /* INTEGER_0_2 */
static int hf_nr_rrc_maxNumberCPCCandidates_r17 = -1;  /* INTEGER_0_maxNrofCondCells_1_r17 */
static int hf_nr_rrc_SelectedBandEntriesMN_item = -1;  /* BandEntryIndex */
static int hf_nr_rrc_PH_TypeListMCG_item = -1;    /* PH_InfoMCG */
static int hf_nr_rrc_ph_Uplink_01 = -1;           /* PH_UplinkCarrierMCG */
static int hf_nr_rrc_ph_SupplementaryUplink_01 = -1;  /* PH_UplinkCarrierMCG */
static int hf_nr_rrc_twoSRS_PUSCH_Repetition_r17_01 = -1;  /* T_twoSRS_PUSCH_Repetition_r17_01 */
static int hf_nr_rrc_ph_Type1or3_01 = -1;         /* T_ph_Type1or3_01 */
static int hf_nr_rrc_BandCombinationInfoList_item = -1;  /* BandCombinationInfo */
static int hf_nr_rrc_allowedFeatureSetsList = -1;  /* SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex */
static int hf_nr_rrc_allowedFeatureSetsList_item = -1;  /* FeatureSetEntryIndex */
static int hf_nr_rrc_drx_LongCycleStartOffset = -1;  /* T_drx_LongCycleStartOffset */
static int hf_nr_rrc_ms10 = -1;                   /* INTEGER_0_9 */
static int hf_nr_rrc_ms20 = -1;                   /* INTEGER_0_19 */
static int hf_nr_rrc_ms32 = -1;                   /* INTEGER_0_31 */
static int hf_nr_rrc_ms40 = -1;                   /* INTEGER_0_39 */
static int hf_nr_rrc_ms60 = -1;                   /* INTEGER_0_59 */
static int hf_nr_rrc_ms64 = -1;                   /* INTEGER_0_63 */
static int hf_nr_rrc_ms70 = -1;                   /* INTEGER_0_69 */
static int hf_nr_rrc_ms80 = -1;                   /* INTEGER_0_79 */
static int hf_nr_rrc_ms128 = -1;                  /* INTEGER_0_127 */
static int hf_nr_rrc_ms160 = -1;                  /* INTEGER_0_159 */
static int hf_nr_rrc_ms256 = -1;                  /* INTEGER_0_255 */
static int hf_nr_rrc_ms320 = -1;                  /* INTEGER_0_319 */
static int hf_nr_rrc_ms512 = -1;                  /* INTEGER_0_511 */
static int hf_nr_rrc_ms640 = -1;                  /* INTEGER_0_639 */
static int hf_nr_rrc_ms1024 = -1;                 /* INTEGER_0_1023 */
static int hf_nr_rrc_ms1280 = -1;                 /* INTEGER_0_1279 */
static int hf_nr_rrc_ms2048 = -1;                 /* INTEGER_0_2047 */
static int hf_nr_rrc_ms2560 = -1;                 /* INTEGER_0_2559 */
static int hf_nr_rrc_ms5120 = -1;                 /* INTEGER_0_5119 */
static int hf_nr_rrc_ms10240 = -1;                /* INTEGER_0_10239 */
static int hf_nr_rrc_shortDRX = -1;               /* T_shortDRX */
static int hf_nr_rrc_drx_ShortCycle = -1;         /* T_drx_ShortCycle */
static int hf_nr_rrc_drx_ShortCycleTimer = -1;    /* INTEGER_1_16 */
static int hf_nr_rrc_drx_onDurationTimer = -1;    /* T_drx_onDurationTimer */
static int hf_nr_rrc_subMilliSeconds = -1;        /* INTEGER_1_31 */
static int hf_nr_rrc_milliSeconds = -1;           /* T_milliSeconds */
static int hf_nr_rrc_measuredFrequenciesMN = -1;  /* SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo */
static int hf_nr_rrc_measuredFrequenciesMN_item = -1;  /* NR_FreqInfo */
static int hf_nr_rrc_measGapConfig = -1;          /* T_measGapConfig */
static int hf_nr_rrc_release = -1;                /* NULL */
static int hf_nr_rrc_setup = -1;                  /* GapConfig */
static int hf_nr_rrc_gapPurpose = -1;             /* T_gapPurpose */
static int hf_nr_rrc_measGapConfigFR2 = -1;       /* T_measGapConfigFR2 */
static int hf_nr_rrc_interFreqNoGap_r16 = -1;     /* T_interFreqNoGap_r16 */
static int hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC = -1;  /* SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC */
static int hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item = -1;  /* AffectedCarrierFreqCombInfoMRDC */
static int hf_nr_rrc_overheatingAssistanceSCG_r16 = -1;  /* T_overheatingAssistanceSCG_r16 */
static int hf_nr_rrc_overheatingAssistanceSCG_FR2_2_r17 = -1;  /* T_overheatingAssistanceSCG_FR2_2_r17 */
static int hf_nr_rrc_victimSystemType = -1;       /* VictimSystemType */
static int hf_nr_rrc_interferenceDirectionMRDC = -1;  /* T_interferenceDirectionMRDC */
static int hf_nr_rrc_affectedCarrierFreqCombMRDC = -1;  /* T_affectedCarrierFreqCombMRDC */
static int hf_nr_rrc_affectedCarrierFreqCombEUTRA = -1;  /* AffectedCarrierFreqCombEUTRA */
static int hf_nr_rrc_affectedCarrierFreqCombNR = -1;  /* AffectedCarrierFreqCombNR */
static int hf_nr_rrc_gps = -1;                    /* T_gps */
static int hf_nr_rrc_glonass = -1;                /* T_glonass */
static int hf_nr_rrc_bds = -1;                    /* T_bds */
static int hf_nr_rrc_galileo = -1;                /* T_galileo */
static int hf_nr_rrc_wlan = -1;                   /* T_wlan */
static int hf_nr_rrc_bluetooth = -1;              /* T_bluetooth */
static int hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item = -1;  /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_AffectedCarrierFreqCombNR_item = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_CandidateCellListCPC_r17_item = -1;  /* CandidateCellCPC_r17 */
static int hf_nr_rrc_candidateCellList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId */
static int hf_nr_rrc_candidateCellList_r17_item = -1;  /* PhysCellId */
static int hf_nr_rrc_criticalExtensions_04 = -1;  /* T_criticalExtensions_04 */
static int hf_nr_rrc_c1_04 = -1;                  /* T_c1_04 */
static int hf_nr_rrc_measTimingConf = -1;         /* MeasurementTimingConfiguration_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_04 = -1;  /* T_criticalExtensionsFuture_04 */
static int hf_nr_rrc_measTiming = -1;             /* MeasTimingList */
static int hf_nr_rrc_nonCriticalExtension_22 = -1;  /* MeasurementTimingConfiguration_v1550_IEs */
static int hf_nr_rrc_campOnFirstSSB = -1;         /* BOOLEAN */
static int hf_nr_rrc_psCellOnlyOnFirstSSB = -1;   /* BOOLEAN */
static int hf_nr_rrc_nonCriticalExtension_23 = -1;  /* MeasurementTimingConfiguration_v1610_IEs */
static int hf_nr_rrc_csi_RS_Config_r16 = -1;      /* T_csi_RS_Config_r16 */
static int hf_nr_rrc_csi_RS_SubcarrierSpacing_r16 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_csi_RS_CellMobility_r16 = -1;  /* CSI_RS_CellMobility */
static int hf_nr_rrc_refSSBFreq_r16 = -1;         /* ARFCN_ValueNR */
static int hf_nr_rrc_nonCriticalExtension_24 = -1;  /* T_nonCriticalExtension_04 */
static int hf_nr_rrc_MeasTimingList_item = -1;    /* MeasTiming */
static int hf_nr_rrc_frequencyAndTiming = -1;     /* T_frequencyAndTiming */
static int hf_nr_rrc_carrierFreq = -1;            /* ARFCN_ValueNR */
static int hf_nr_rrc_ssbSubcarrierSpacing = -1;   /* SubcarrierSpacing */
static int hf_nr_rrc_ssb_MeasurementTimingConfiguration = -1;  /* SSB_MTC */
static int hf_nr_rrc_ss_RSSI_Measurement = -1;    /* SS_RSSI_Measurement */
static int hf_nr_rrc_ssb_ToMeasure = -1;          /* SSB_ToMeasure */
static int hf_nr_rrc_physCellId = -1;             /* PhysCellId */
static int hf_nr_rrc_criticalExtensions_05 = -1;  /* T_criticalExtensions_05 */
static int hf_nr_rrc_c1_05 = -1;                  /* T_c1_05 */
static int hf_nr_rrc_ueRadioPagingInformation = -1;  /* UERadioPagingInformation_IEs */
static int hf_nr_rrc_spare7 = -1;                 /* NULL */
static int hf_nr_rrc_spare6 = -1;                 /* NULL */
static int hf_nr_rrc_spare5 = -1;                 /* NULL */
static int hf_nr_rrc_spare4 = -1;                 /* NULL */
static int hf_nr_rrc_criticalExtensionsFuture_05 = -1;  /* T_criticalExtensionsFuture_05 */
static int hf_nr_rrc_supportedBandListNRForPaging = -1;  /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */
static int hf_nr_rrc_supportedBandListNRForPaging_item = -1;  /* FreqBandIndicatorNR */
static int hf_nr_rrc_nonCriticalExtension_25 = -1;  /* UERadioPagingInformation_v15e0_IEs */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1 = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1 */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1 = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1 */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2 = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2 */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1 = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1 */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1 = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1 */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2 = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2 */
static int hf_nr_rrc_nonCriticalExtension_26 = -1;  /* UERadioPagingInformation_v1700_IEs */
static int hf_nr_rrc_ue_RadioPagingInfo_r17 = -1;  /* T_ue_RadioPagingInfo_r17 */
static int hf_nr_rrc_inactiveStatePO_Determination_r17 = -1;  /* T_inactiveStatePO_Determination_r17 */
static int hf_nr_rrc_numberOfRxRedCap_r17 = -1;   /* T_numberOfRxRedCap_r17 */
static int hf_nr_rrc_halfDuplexFDD_TypeA_RedCap_r17 = -1;  /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */
static int hf_nr_rrc_halfDuplexFDD_TypeA_RedCap_r17_item = -1;  /* FreqBandIndicatorNR */
static int hf_nr_rrc_nonCriticalExtension_27 = -1;  /* T_nonCriticalExtension_05 */
static int hf_nr_rrc_criticalExtensions_06 = -1;  /* T_criticalExtensions_06 */
static int hf_nr_rrc_c1_06 = -1;                  /* T_c1_06 */
static int hf_nr_rrc_ueRadioAccessCapabilityInformation = -1;  /* UERadioAccessCapabilityInformation_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_06 = -1;  /* T_criticalExtensionsFuture_06 */
static int hf_nr_rrc_ue_RadioAccessCapabilityInfo = -1;  /* T_ue_RadioAccessCapabilityInfo */
static int hf_nr_rrc_nonCriticalExtension_28 = -1;  /* T_nonCriticalExtension_06 */
static int hf_nr_rrc_message = -1;                /* BCCH_BCH_MessageType */
static int hf_nr_rrc_mib = -1;                    /* MIB */
static int hf_nr_rrc_messageClassExtension = -1;  /* T_messageClassExtension */
static int hf_nr_rrc_message_01 = -1;             /* BCCH_DL_SCH_MessageType */
static int hf_nr_rrc_c1_07 = -1;                  /* T_c1_07 */
static int hf_nr_rrc_systemInformation = -1;      /* SystemInformation */
static int hf_nr_rrc_systemInformationBlockType1 = -1;  /* SIB1 */
static int hf_nr_rrc_messageClassExtension_01 = -1;  /* T_messageClassExtension_01 */
static int hf_nr_rrc_message_02 = -1;             /* DL_CCCH_MessageType */
static int hf_nr_rrc_c1_08 = -1;                  /* T_c1_08 */
static int hf_nr_rrc_rrcReject = -1;              /* RRCReject */
static int hf_nr_rrc_rrcSetup = -1;               /* RRCSetup */
static int hf_nr_rrc_messageClassExtension_02 = -1;  /* T_messageClassExtension_02 */
static int hf_nr_rrc_message_03 = -1;             /* DL_DCCH_MessageType */
static int hf_nr_rrc_c1_09 = -1;                  /* T_c1_09 */
static int hf_nr_rrc_rrcReconfiguration_01 = -1;  /* RRCReconfiguration */
static int hf_nr_rrc_rrcResume = -1;              /* RRCResume */
static int hf_nr_rrc_rrcRelease = -1;             /* RRCRelease */
static int hf_nr_rrc_rrcReestablishment = -1;     /* RRCReestablishment */
static int hf_nr_rrc_securityModeCommand = -1;    /* SecurityModeCommand */
static int hf_nr_rrc_dlInformationTransfer = -1;  /* DLInformationTransfer */
static int hf_nr_rrc_ueCapabilityEnquiry = -1;    /* UECapabilityEnquiry */
static int hf_nr_rrc_counterCheck = -1;           /* CounterCheck */
static int hf_nr_rrc_mobilityFromNRCommand = -1;  /* MobilityFromNRCommand */
static int hf_nr_rrc_dlDedicatedMessageSegment_r16 = -1;  /* DLDedicatedMessageSegment_r16 */
static int hf_nr_rrc_ueInformationRequest_r16 = -1;  /* UEInformationRequest_r16 */
static int hf_nr_rrc_dlInformationTransferMRDC_r16 = -1;  /* DLInformationTransferMRDC_r16 */
static int hf_nr_rrc_loggedMeasurementConfiguration_r16 = -1;  /* LoggedMeasurementConfiguration_r16 */
static int hf_nr_rrc_messageClassExtension_03 = -1;  /* T_messageClassExtension_03 */
static int hf_nr_rrc_message_04 = -1;             /* MCCH_MessageType_r17 */
static int hf_nr_rrc_c1_10 = -1;                  /* T_c1_10 */
static int hf_nr_rrc_mbsBroadcastConfiguration_r17 = -1;  /* MBSBroadcastConfiguration_r17 */
static int hf_nr_rrc_messageClassExtension_04 = -1;  /* T_messageClassExtension_04 */
static int hf_nr_rrc_message_05 = -1;             /* PCCH_MessageType */
static int hf_nr_rrc_c1_11 = -1;                  /* T_c1_11 */
static int hf_nr_rrc_paging = -1;                 /* Paging */
static int hf_nr_rrc_messageClassExtension_05 = -1;  /* T_messageClassExtension_05 */
static int hf_nr_rrc_message_06 = -1;             /* UL_CCCH_MessageType */
static int hf_nr_rrc_c1_12 = -1;                  /* T_c1_12 */
static int hf_nr_rrc_rrcSetupRequest = -1;        /* RRCSetupRequest */
static int hf_nr_rrc_rrcResumeRequest = -1;       /* RRCResumeRequest */
static int hf_nr_rrc_rrcReestablishmentRequest = -1;  /* RRCReestablishmentRequest */
static int hf_nr_rrc_rrcSystemInfoRequest = -1;   /* RRCSystemInfoRequest */
static int hf_nr_rrc_messageClassExtension_06 = -1;  /* T_messageClassExtension_06 */
static int hf_nr_rrc_message_07 = -1;             /* UL_CCCH1_MessageType */
static int hf_nr_rrc_c1_13 = -1;                  /* T_c1_13 */
static int hf_nr_rrc_rrcResumeRequest1 = -1;      /* RRCResumeRequest1 */
static int hf_nr_rrc_messageClassExtension_07 = -1;  /* T_messageClassExtension_07 */
static int hf_nr_rrc_message_08 = -1;             /* UL_DCCH_MessageType */
static int hf_nr_rrc_c1_14 = -1;                  /* T_c1_14 */
static int hf_nr_rrc_measurementReport = -1;      /* MeasurementReport */
static int hf_nr_rrc_rrcReconfigurationComplete = -1;  /* RRCReconfigurationComplete */
static int hf_nr_rrc_rrcSetupComplete = -1;       /* RRCSetupComplete */
static int hf_nr_rrc_rrcReestablishmentComplete = -1;  /* RRCReestablishmentComplete */
static int hf_nr_rrc_rrcResumeComplete = -1;      /* RRCResumeComplete */
static int hf_nr_rrc_securityModeComplete = -1;   /* SecurityModeComplete */
static int hf_nr_rrc_securityModeFailure = -1;    /* SecurityModeFailure */
static int hf_nr_rrc_ulInformationTransfer = -1;  /* ULInformationTransfer */
static int hf_nr_rrc_locationMeasurementIndication = -1;  /* LocationMeasurementIndication */
static int hf_nr_rrc_ueCapabilityInformation = -1;  /* UECapabilityInformation */
static int hf_nr_rrc_counterCheckResponse = -1;   /* CounterCheckResponse */
static int hf_nr_rrc_ueAssistanceInformation_01 = -1;  /* UEAssistanceInformation */
static int hf_nr_rrc_failureInformation = -1;     /* FailureInformation */
static int hf_nr_rrc_ulInformationTransferMRDC = -1;  /* ULInformationTransferMRDC */
static int hf_nr_rrc_scgFailureInformation = -1;  /* SCGFailureInformation */
static int hf_nr_rrc_scgFailureInformationEUTRA = -1;  /* SCGFailureInformationEUTRA */
static int hf_nr_rrc_messageClassExtension_08 = -1;  /* T_messageClassExtension_08 */
static int hf_nr_rrc_c2 = -1;                     /* T_c2 */
static int hf_nr_rrc_ulDedicatedMessageSegment_r16 = -1;  /* ULDedicatedMessageSegment_r16 */
static int hf_nr_rrc_dedicatedSIBRequest_r16 = -1;  /* DedicatedSIBRequest_r16 */
static int hf_nr_rrc_mcgFailureInformation_r16 = -1;  /* MCGFailureInformation_r16 */
static int hf_nr_rrc_ueInformationResponse_r16 = -1;  /* UEInformationResponse_r16 */
static int hf_nr_rrc_sidelinkUEInformationNR_r16_02 = -1;  /* SidelinkUEInformationNR_r16 */
static int hf_nr_rrc_ulInformationTransferIRAT_r16 = -1;  /* ULInformationTransferIRAT_r16 */
static int hf_nr_rrc_iabOtherInformation_r16 = -1;  /* IABOtherInformation_r16 */
static int hf_nr_rrc_mbsInterestIndication_r17_01 = -1;  /* MBSInterestIndication_r17 */
static int hf_nr_rrc_uePositioningAssistanceInfo_r17 = -1;  /* UEPositioningAssistanceInfo_r17 */
static int hf_nr_rrc_measurementReportAppLayer_r17 = -1;  /* MeasurementReportAppLayer_r17 */
static int hf_nr_rrc_messageClassExtensionFuture_r16 = -1;  /* T_messageClassExtensionFuture_r16 */
static int hf_nr_rrc_rrc_TransactionIdentifier = -1;  /* RRC_TransactionIdentifier */
static int hf_nr_rrc_criticalExtensions_07 = -1;  /* T_criticalExtensions_07 */
static int hf_nr_rrc_counterCheck_01 = -1;        /* CounterCheck_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_07 = -1;  /* T_criticalExtensionsFuture_07 */
static int hf_nr_rrc_drb_CountMSB_InfoList = -1;  /* DRB_CountMSB_InfoList */
static int hf_nr_rrc_lateNonCriticalExtension = -1;  /* OCTET_STRING */
static int hf_nr_rrc_nonCriticalExtension_29 = -1;  /* T_nonCriticalExtension_07 */
static int hf_nr_rrc_DRB_CountMSB_InfoList_item = -1;  /* DRB_CountMSB_Info */
static int hf_nr_rrc_drb_Identity = -1;           /* DRB_Identity */
static int hf_nr_rrc_countMSB_Uplink = -1;        /* INTEGER_0_33554431 */
static int hf_nr_rrc_countMSB_Downlink = -1;      /* INTEGER_0_33554431 */
static int hf_nr_rrc_criticalExtensions_08 = -1;  /* T_criticalExtensions_08 */
static int hf_nr_rrc_counterCheckResponse_01 = -1;  /* CounterCheckResponse_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_08 = -1;  /* T_criticalExtensionsFuture_08 */
static int hf_nr_rrc_drb_CountInfoList = -1;      /* DRB_CountInfoList */
static int hf_nr_rrc_nonCriticalExtension_30 = -1;  /* T_nonCriticalExtension_08 */
static int hf_nr_rrc_DRB_CountInfoList_item = -1;  /* DRB_CountInfo */
static int hf_nr_rrc_count_Uplink = -1;           /* INTEGER_0_4294967295 */
static int hf_nr_rrc_count_Downlink = -1;         /* INTEGER_0_4294967295 */
static int hf_nr_rrc_criticalExtensions_09 = -1;  /* T_criticalExtensions_09 */
static int hf_nr_rrc_dedicatedSIBRequest_r16_01 = -1;  /* DedicatedSIBRequest_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_09 = -1;  /* T_criticalExtensionsFuture_09 */
static int hf_nr_rrc_onDemandSIB_RequestList_r16 = -1;  /* T_onDemandSIB_RequestList_r16 */
static int hf_nr_rrc_requestedSIB_List_r16 = -1;  /* SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16 */
static int hf_nr_rrc_requestedSIB_List_r16_item = -1;  /* SIB_ReqInfo_r16 */
static int hf_nr_rrc_requestedPosSIB_List_r16 = -1;  /* SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16 */
static int hf_nr_rrc_requestedPosSIB_List_r16_item = -1;  /* PosSIB_ReqInfo_r16 */
static int hf_nr_rrc_nonCriticalExtension_31 = -1;  /* T_nonCriticalExtension_09 */
static int hf_nr_rrc_gnss_id_r16 = -1;            /* GNSS_ID_r16 */
static int hf_nr_rrc_sbas_id_r16 = -1;            /* SBAS_ID_r16 */
static int hf_nr_rrc_posSibType_r16 = -1;         /* T_posSibType_r16 */
static int hf_nr_rrc_criticalExtensions_10 = -1;  /* T_criticalExtensions_10 */
static int hf_nr_rrc_dlDedicatedMessageSegment_r16_01 = -1;  /* DLDedicatedMessageSegment_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_10 = -1;  /* T_criticalExtensionsFuture_10 */
static int hf_nr_rrc_segmentNumber_r16 = -1;      /* INTEGER_0_4 */
static int hf_nr_rrc_rrc_MessageSegmentContainer_r16 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_rrc_MessageSegmentType_r16 = -1;  /* T_rrc_MessageSegmentType_r16 */
static int hf_nr_rrc_nonCriticalExtension_32 = -1;  /* T_nonCriticalExtension_10 */
static int hf_nr_rrc_criticalExtensions_11 = -1;  /* T_criticalExtensions_11 */
static int hf_nr_rrc_dlInformationTransfer_01 = -1;  /* DLInformationTransfer_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_11 = -1;  /* T_criticalExtensionsFuture_11 */
static int hf_nr_rrc_dedicatedNAS_Message = -1;   /* DedicatedNAS_Message */
static int hf_nr_rrc_nonCriticalExtension_33 = -1;  /* DLInformationTransfer_v1610_IEs */
static int hf_nr_rrc_referenceTimeInfo_r16 = -1;  /* ReferenceTimeInfo_r16 */
static int hf_nr_rrc_nonCriticalExtension_34 = -1;  /* DLInformationTransfer_v1700_IEs */
static int hf_nr_rrc_dedicatedInfoF1c_r17 = -1;   /* DedicatedInfoF1c_r17 */
static int hf_nr_rrc_rxTxTimeDiff_gNB_r17 = -1;   /* RxTxTimeDiff_r17 */
static int hf_nr_rrc_ta_PDC_r17 = -1;             /* T_ta_PDC_r17 */
static int hf_nr_rrc_sib9Fallback_r17 = -1;       /* T_sib9Fallback_r17 */
static int hf_nr_rrc_nonCriticalExtension_35 = -1;  /* T_nonCriticalExtension_11 */
static int hf_nr_rrc_criticalExtensions_12 = -1;  /* T_criticalExtensions_12 */
static int hf_nr_rrc_c1_15 = -1;                  /* T_c1_15 */
static int hf_nr_rrc_dlInformationTransferMRDC_r16_01 = -1;  /* DLInformationTransferMRDC_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_12 = -1;  /* T_criticalExtensionsFuture_12 */
static int hf_nr_rrc_dl_DCCH_MessageNR_r16 = -1;  /* T_dl_DCCH_MessageNR_r16 */
static int hf_nr_rrc_dl_DCCH_MessageEUTRA_r16 = -1;  /* T_dl_DCCH_MessageEUTRA_r16 */
static int hf_nr_rrc_nonCriticalExtension_36 = -1;  /* T_nonCriticalExtension_12 */
static int hf_nr_rrc_criticalExtensions_13 = -1;  /* T_criticalExtensions_13 */
static int hf_nr_rrc_failureInformation_01 = -1;  /* FailureInformation_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_13 = -1;  /* T_criticalExtensionsFuture_13 */
static int hf_nr_rrc_failureInfoRLC_Bearer = -1;  /* FailureInfoRLC_Bearer */
static int hf_nr_rrc_nonCriticalExtension_37 = -1;  /* FailureInformation_v1610_IEs */
static int hf_nr_rrc_cellGroupId = -1;            /* CellGroupId */
static int hf_nr_rrc_logicalChannelIdentity = -1;  /* LogicalChannelIdentity */
static int hf_nr_rrc_failureType_01 = -1;         /* T_failureType_01 */
static int hf_nr_rrc_failureInfoDAPS_r16 = -1;    /* FailureInfoDAPS_r16 */
static int hf_nr_rrc_nonCriticalExtension_38 = -1;  /* T_nonCriticalExtension_13 */
static int hf_nr_rrc_failureType_r16_01 = -1;     /* T_failureType_r16_01 */
static int hf_nr_rrc_criticalExtensions_14 = -1;  /* T_criticalExtensions_14 */
static int hf_nr_rrc_iabOtherInformation_r16_01 = -1;  /* IABOtherInformation_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_14 = -1;  /* T_criticalExtensionsFuture_14 */
static int hf_nr_rrc_ip_InfoType_r16 = -1;        /* T_ip_InfoType_r16 */
static int hf_nr_rrc_iab_IP_Request_r16 = -1;     /* T_iab_IP_Request_r16 */
static int hf_nr_rrc_iab_IPv4_AddressNumReq_r16 = -1;  /* IAB_IP_AddressNumReq_r16 */
static int hf_nr_rrc_iab_IPv6_AddressReq_r16 = -1;  /* T_iab_IPv6_AddressReq_r16 */
static int hf_nr_rrc_iab_IPv6_AddressNumReq_r16 = -1;  /* IAB_IP_AddressNumReq_r16 */
static int hf_nr_rrc_iab_IPv6_AddressPrefixReq_r16 = -1;  /* IAB_IP_AddressPrefixReq_r16 */
static int hf_nr_rrc_iab_IP_Report_r16 = -1;      /* T_iab_IP_Report_r16 */
static int hf_nr_rrc_iab_IPv4_AddressReport_r16 = -1;  /* IAB_IP_AddressAndTraffic_r16 */
static int hf_nr_rrc_iab_IPv6_Report_r16 = -1;    /* T_iab_IPv6_Report_r16 */
static int hf_nr_rrc_iab_IPv6_AddressReport_r16 = -1;  /* IAB_IP_AddressAndTraffic_r16 */
static int hf_nr_rrc_iab_IPv6_PrefixReport_r16 = -1;  /* IAB_IP_PrefixAndTraffic_r16 */
static int hf_nr_rrc_nonCriticalExtension_39 = -1;  /* T_nonCriticalExtension_14 */
static int hf_nr_rrc_all_Traffic_NumReq_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_f1_C_Traffic_NumReq_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_f1_U_Traffic_NumReq_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_non_F1_Traffic_NumReq_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_all_Traffic_PrefixReq_r16 = -1;  /* T_all_Traffic_PrefixReq_r16 */
static int hf_nr_rrc_f1_C_Traffic_PrefixReq_r16 = -1;  /* T_f1_C_Traffic_PrefixReq_r16 */
static int hf_nr_rrc_f1_U_Traffic_PrefixReq_r16 = -1;  /* T_f1_U_Traffic_PrefixReq_r16 */
static int hf_nr_rrc_non_F1_Traffic_PrefixReq_r16 = -1;  /* T_non_F1_Traffic_PrefixReq_r16 */
static int hf_nr_rrc_all_Traffic_IAB_IP_Address_r16 = -1;  /* SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 */
static int hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_item = -1;  /* IAB_IP_Address_r16 */
static int hf_nr_rrc_f1_C_Traffic_IP_Address_r16 = -1;  /* SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 */
static int hf_nr_rrc_f1_C_Traffic_IP_Address_r16_item = -1;  /* IAB_IP_Address_r16 */
static int hf_nr_rrc_f1_U_Traffic_IP_Address_r16 = -1;  /* SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 */
static int hf_nr_rrc_f1_U_Traffic_IP_Address_r16_item = -1;  /* IAB_IP_Address_r16 */
static int hf_nr_rrc_non_F1_Traffic_IP_Address_r16 = -1;  /* SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 */
static int hf_nr_rrc_non_F1_Traffic_IP_Address_r16_item = -1;  /* IAB_IP_Address_r16 */
static int hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_01 = -1;  /* IAB_IP_Address_r16 */
static int hf_nr_rrc_f1_C_Traffic_IP_Address_r16_01 = -1;  /* IAB_IP_Address_r16 */
static int hf_nr_rrc_f1_U_Traffic_IP_Address_r16_01 = -1;  /* IAB_IP_Address_r16 */
static int hf_nr_rrc_non_F1_Traffic_IP_Address_r16_01 = -1;  /* IAB_IP_Address_r16 */
static int hf_nr_rrc_criticalExtensions_15 = -1;  /* T_criticalExtensions_15 */
static int hf_nr_rrc_locationMeasurementIndication_01 = -1;  /* LocationMeasurementIndication_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_15 = -1;  /* T_criticalExtensionsFuture_15 */
static int hf_nr_rrc_measurementIndication = -1;  /* T_measurementIndication */
static int hf_nr_rrc_setup_01 = -1;               /* LocationMeasurementInfo */
static int hf_nr_rrc_nonCriticalExtension_40 = -1;  /* T_nonCriticalExtension_15 */
static int hf_nr_rrc_criticalExtensions_16 = -1;  /* T_criticalExtensions_16 */
static int hf_nr_rrc_loggedMeasurementConfiguration_r16_01 = -1;  /* LoggedMeasurementConfiguration_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_16 = -1;  /* T_criticalExtensionsFuture_16 */
static int hf_nr_rrc_traceReference_r16 = -1;     /* TraceReference_r16 */
static int hf_nr_rrc_traceRecordingSessionRef_r16 = -1;  /* OCTET_STRING_SIZE_2 */
static int hf_nr_rrc_tce_Id_r16 = -1;             /* OCTET_STRING_SIZE_1 */
static int hf_nr_rrc_absoluteTimeInfo_r16 = -1;   /* AbsoluteTimeInfo_r16 */
static int hf_nr_rrc_areaConfiguration_r16 = -1;  /* AreaConfiguration_r16 */
static int hf_nr_rrc_plmn_IdentityList_r16 = -1;  /* PLMN_IdentityList2_r16 */
static int hf_nr_rrc_bt_NameList_r16 = -1;        /* T_bt_NameList_r16 */
static int hf_nr_rrc_setup_02 = -1;               /* BT_NameList_r16 */
static int hf_nr_rrc_wlan_NameList_r16 = -1;      /* T_wlan_NameList_r16 */
static int hf_nr_rrc_setup_03 = -1;               /* WLAN_NameList_r16 */
static int hf_nr_rrc_sensor_NameList_r16 = -1;    /* T_sensor_NameList_r16 */
static int hf_nr_rrc_setup_04 = -1;               /* Sensor_NameList_r16 */
static int hf_nr_rrc_loggingDuration_r16 = -1;    /* LoggingDuration_r16 */
static int hf_nr_rrc_reportType = -1;             /* T_reportType */
static int hf_nr_rrc_periodical = -1;             /* LoggedPeriodicalReportConfig_r16 */
static int hf_nr_rrc_eventTriggered = -1;         /* LoggedEventTriggerConfig_r16 */
static int hf_nr_rrc_nonCriticalExtension_41 = -1;  /* LoggedMeasurementConfiguration_v1700_IEs */
static int hf_nr_rrc_sigLoggedMeasType_r17 = -1;  /* T_sigLoggedMeasType_r17 */
static int hf_nr_rrc_earlyMeasIndication_r17 = -1;  /* T_earlyMeasIndication_r17 */
static int hf_nr_rrc_areaConfiguration_v1700 = -1;  /* AreaConfiguration_v1700 */
static int hf_nr_rrc_nonCriticalExtension_42 = -1;  /* T_nonCriticalExtension_16 */
static int hf_nr_rrc_loggingInterval_r16 = -1;    /* LoggingInterval_r16 */
static int hf_nr_rrc_eventType_r16 = -1;          /* EventType_r16 */
static int hf_nr_rrc_outOfCoverage = -1;          /* NULL */
static int hf_nr_rrc_eventL1 = -1;                /* T_eventL1 */
static int hf_nr_rrc_l1_Threshold = -1;           /* MeasTriggerQuantity */
static int hf_nr_rrc_hysteresis = -1;             /* Hysteresis */
static int hf_nr_rrc_timeToTrigger = -1;          /* TimeToTrigger */
static int hf_nr_rrc_criticalExtensions_17 = -1;  /* T_criticalExtensions_17 */
static int hf_nr_rrc_mbsBroadcastConfiguration_r17_01 = -1;  /* MBSBroadcastConfiguration_r17_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_17 = -1;  /* T_criticalExtensionsFuture_17 */
static int hf_nr_rrc_mbs_SessionInfoList_r17 = -1;  /* MBS_SessionInfoList_r17 */
static int hf_nr_rrc_mbs_NeighbourCellList_r17 = -1;  /* MBS_NeighbourCellList_r17 */
static int hf_nr_rrc_drx_ConfigPTM_List_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17 */
static int hf_nr_rrc_drx_ConfigPTM_List_r17_item = -1;  /* DRX_ConfigPTM_r17 */
static int hf_nr_rrc_pdsch_ConfigMTCH_r17 = -1;   /* PDSCH_ConfigBroadcast_r17 */
static int hf_nr_rrc_mtch_SSB_MappingWindowList_r17 = -1;  /* MTCH_SSB_MappingWindowList_r17 */
static int hf_nr_rrc_nonCriticalExtension_43 = -1;  /* T_nonCriticalExtension_17 */
static int hf_nr_rrc_criticalExtensions_18 = -1;  /* T_criticalExtensions_18 */
static int hf_nr_rrc_mbsInterestIndication_r17_02 = -1;  /* MBSInterestIndication_r17_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_18 = -1;  /* T_criticalExtensionsFuture_18 */
static int hf_nr_rrc_mbs_FreqList_r17 = -1;       /* CarrierFreqListMBS_r17 */
static int hf_nr_rrc_mbs_Priority_r17 = -1;       /* T_mbs_Priority_r17 */
static int hf_nr_rrc_mbs_ServiceList_r17 = -1;    /* MBS_ServiceList_r17 */
static int hf_nr_rrc_nonCriticalExtension_44 = -1;  /* T_nonCriticalExtension_18 */
static int hf_nr_rrc_criticalExtensions_19 = -1;  /* T_criticalExtensions_19 */
static int hf_nr_rrc_mcgFailureInformation_r16_01 = -1;  /* MCGFailureInformation_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_19 = -1;  /* T_criticalExtensionsFuture_19 */
static int hf_nr_rrc_failureReportMCG_r16 = -1;   /* FailureReportMCG_r16 */
static int hf_nr_rrc_nonCriticalExtension_45 = -1;  /* T_nonCriticalExtension_19 */
static int hf_nr_rrc_failureType_r16_02 = -1;     /* T_failureType_r16_02 */
static int hf_nr_rrc_measResultFreqList_r16 = -1;  /* MeasResultList2NR */
static int hf_nr_rrc_measResultFreqListEUTRA_r16 = -1;  /* MeasResultList2EUTRA */
static int hf_nr_rrc_measResultSCG_r16_01 = -1;   /* T_measResultSCG_r16_01 */
static int hf_nr_rrc_measResultSCG_EUTRA_r16_01 = -1;  /* T_measResultSCG_EUTRA_r16 */
static int hf_nr_rrc_measResultFreqListUTRA_FDD_r16 = -1;  /* MeasResultList2UTRA */
static int hf_nr_rrc_MeasResultList2UTRA_item = -1;  /* MeasResult2UTRA_FDD_r16 */
static int hf_nr_rrc_carrierFreq_r16 = -1;        /* ARFCN_ValueUTRA_FDD_r16 */
static int hf_nr_rrc_measResultNeighCellList_r16 = -1;  /* MeasResultListUTRA_FDD_r16 */
static int hf_nr_rrc_MeasResultList2EUTRA_item = -1;  /* MeasResult2EUTRA_r16 */
static int hf_nr_rrc_criticalExtensions_20 = -1;  /* T_criticalExtensions_20 */
static int hf_nr_rrc_measurementReport_01 = -1;   /* MeasurementReport_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_20 = -1;  /* T_criticalExtensionsFuture_20 */
static int hf_nr_rrc_measResults = -1;            /* MeasResults */
static int hf_nr_rrc_nonCriticalExtension_46 = -1;  /* T_nonCriticalExtension_20 */
static int hf_nr_rrc_criticalExtensions_21 = -1;  /* T_criticalExtensions_21 */
static int hf_nr_rrc_measurementReportAppLayer_r17_01 = -1;  /* MeasurementReportAppLayer_r17_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_21 = -1;  /* T_criticalExtensionsFuture_21 */
static int hf_nr_rrc_measurementReportAppLayerList_r17 = -1;  /* MeasurementReportAppLayerList_r17 */
static int hf_nr_rrc_nonCriticalExtension_47 = -1;  /* T_nonCriticalExtension_21 */
static int hf_nr_rrc_MeasurementReportAppLayerList_r17_item = -1;  /* MeasReportAppLayer_r17 */
static int hf_nr_rrc_measConfigAppLayerId_r17 = -1;  /* MeasConfigAppLayerId_r17 */
static int hf_nr_rrc_measReportAppLayerContainer_r17 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_appLayerSessionStatus_r17 = -1;  /* T_appLayerSessionStatus_r17 */
static int hf_nr_rrc_ran_VisibleMeasurements_r17 = -1;  /* RAN_VisibleMeasurements_r17 */
static int hf_nr_rrc_appLayerBufferLevelList_r17 = -1;  /* SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17 */
static int hf_nr_rrc_appLayerBufferLevelList_r17_item = -1;  /* AppLayerBufferLevel_r17 */
static int hf_nr_rrc_playoutDelayForMediaStartup_r17 = -1;  /* INTEGER_0_30000 */
static int hf_nr_rrc_pdu_SessionIdList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID */
static int hf_nr_rrc_pdu_SessionIdList_r17_item = -1;  /* PDU_SessionID */
static int hf_nr_rrc_systemFrameNumber = -1;      /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_subCarrierSpacingCommon = -1;  /* T_subCarrierSpacingCommon */
static int hf_nr_rrc_ssb_SubcarrierOffset = -1;   /* INTEGER_0_15 */
static int hf_nr_rrc_dmrs_TypeA_Position = -1;    /* T_dmrs_TypeA_Position */
static int hf_nr_rrc_pdcch_ConfigSIB1 = -1;       /* PDCCH_ConfigSIB1 */
static int hf_nr_rrc_cellBarred = -1;             /* T_cellBarred */
static int hf_nr_rrc_intraFreqReselection = -1;   /* T_intraFreqReselection */
static int hf_nr_rrc_spare = -1;                  /* BIT_STRING_SIZE_1 */
static int hf_nr_rrc_criticalExtensions_22 = -1;  /* T_criticalExtensions_22 */
static int hf_nr_rrc_mobilityFromNRCommand_01 = -1;  /* MobilityFromNRCommand_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_22 = -1;  /* T_criticalExtensionsFuture_22 */
static int hf_nr_rrc_targetRAT_Type = -1;         /* T_targetRAT_Type */
static int hf_nr_rrc_targetRAT_MessageContainer = -1;  /* T_targetRAT_MessageContainer */
static int hf_nr_rrc_nas_SecurityParamFromNR = -1;  /* T_nas_SecurityParamFromNR */
static int hf_nr_rrc_nonCriticalExtension_48 = -1;  /* MobilityFromNRCommand_v1610_IEs */
static int hf_nr_rrc_voiceFallbackIndication_r16 = -1;  /* T_voiceFallbackIndication_r16 */
static int hf_nr_rrc_nonCriticalExtension_49 = -1;  /* T_nonCriticalExtension_22 */
static int hf_nr_rrc_pagingRecordList = -1;       /* PagingRecordList */
static int hf_nr_rrc_nonCriticalExtension_50 = -1;  /* Paging_v1700_IEs */
static int hf_nr_rrc_pagingRecordList_v1700 = -1;  /* PagingRecordList_v1700 */
static int hf_nr_rrc_pagingGroupList_r17 = -1;    /* PagingGroupList_r17 */
static int hf_nr_rrc_nonCriticalExtension_51 = -1;  /* T_nonCriticalExtension_23 */
static int hf_nr_rrc_PagingRecordList_item = -1;  /* PagingRecord */
static int hf_nr_rrc_PagingRecordList_v1700_item = -1;  /* PagingRecord_v1700 */
static int hf_nr_rrc_PagingGroupList_r17_item = -1;  /* TMGI_r17 */
static int hf_nr_rrc_ue_Identity = -1;            /* PagingUE_Identity */
static int hf_nr_rrc_accessType = -1;             /* T_accessType */
static int hf_nr_rrc_pagingCause_r17 = -1;        /* T_pagingCause_r17 */
static int hf_nr_rrc_ng_5G_S_TMSI = -1;           /* NG_5G_S_TMSI */
static int hf_nr_rrc_fullI_RNTI = -1;             /* I_RNTI_Value */
static int hf_nr_rrc_criticalExtensions_23 = -1;  /* T_criticalExtensions_23 */
static int hf_nr_rrc_rrcReestablishment_01 = -1;  /* RRCReestablishment_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_23 = -1;  /* T_criticalExtensionsFuture_23 */
static int hf_nr_rrc_nextHopChainingCount = -1;   /* NextHopChainingCount */
static int hf_nr_rrc_nonCriticalExtension_52 = -1;  /* RRCReestablishment_v1700_IEs */
static int hf_nr_rrc_sl_L2RemoteUE_Config_r17 = -1;  /* T_sl_L2RemoteUE_Config_r17 */
static int hf_nr_rrc_setup_05 = -1;               /* SL_L2RemoteUE_Config_r17 */
static int hf_nr_rrc_nonCriticalExtension_53 = -1;  /* T_nonCriticalExtension_24 */
static int hf_nr_rrc_criticalExtensions_24 = -1;  /* T_criticalExtensions_24 */
static int hf_nr_rrc_rrcReestablishmentComplete_01 = -1;  /* RRCReestablishmentComplete_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_24 = -1;  /* T_criticalExtensionsFuture_24 */
static int hf_nr_rrc_nonCriticalExtension_54 = -1;  /* RRCReestablishmentComplete_v1610_IEs */
static int hf_nr_rrc_ue_MeasurementsAvailable_r16 = -1;  /* UE_MeasurementsAvailable_r16 */
static int hf_nr_rrc_nonCriticalExtension_55 = -1;  /* T_nonCriticalExtension_25 */
static int hf_nr_rrc_rrcReestablishmentRequest_01 = -1;  /* RRCReestablishmentRequest_IEs */
static int hf_nr_rrc_ue_Identity_01 = -1;         /* ReestabUE_Identity */
static int hf_nr_rrc_reestablishmentCause = -1;   /* ReestablishmentCause */
static int hf_nr_rrc_c_RNTI = -1;                 /* RNTI_Value */
static int hf_nr_rrc_criticalExtensions_25 = -1;  /* T_criticalExtensions_25 */
static int hf_nr_rrc_rrcReconfiguration_02 = -1;  /* RRCReconfiguration_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_25 = -1;  /* T_criticalExtensionsFuture_25 */
static int hf_nr_rrc_radioBearerConfig = -1;      /* RadioBearerConfig */
static int hf_nr_rrc_secondaryCellGroup = -1;     /* T_secondaryCellGroup */
static int hf_nr_rrc_measConfig = -1;             /* MeasConfig */
static int hf_nr_rrc_nonCriticalExtension_56 = -1;  /* RRCReconfiguration_v1530_IEs */
static int hf_nr_rrc_masterCellGroup = -1;        /* T_masterCellGroup */
static int hf_nr_rrc_fullConfig = -1;             /* T_fullConfig */
static int hf_nr_rrc_dedicatedNAS_MessageList = -1;  /* SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message */
static int hf_nr_rrc_dedicatedNAS_MessageList_item = -1;  /* DedicatedNAS_Message */
static int hf_nr_rrc_masterKeyUpdate = -1;        /* MasterKeyUpdate */
static int hf_nr_rrc_dedicatedSIB1_Delivery = -1;  /* T_dedicatedSIB1_Delivery */
static int hf_nr_rrc_dedicatedSystemInformationDelivery = -1;  /* T_dedicatedSystemInformationDelivery */
static int hf_nr_rrc_otherConfig = -1;            /* OtherConfig */
static int hf_nr_rrc_nonCriticalExtension_57 = -1;  /* RRCReconfiguration_v1540_IEs */
static int hf_nr_rrc_otherConfig_v1540 = -1;      /* OtherConfig_v1540 */
static int hf_nr_rrc_nonCriticalExtension_58 = -1;  /* RRCReconfiguration_v1560_IEs */
static int hf_nr_rrc_mrdc_SecondaryCellGroupConfig = -1;  /* T_mrdc_SecondaryCellGroupConfig */
static int hf_nr_rrc_setup_06 = -1;               /* MRDC_SecondaryCellGroupConfig */
static int hf_nr_rrc_radioBearerConfig2 = -1;     /* T_radioBearerConfig2 */
static int hf_nr_rrc_sk_Counter = -1;             /* SK_Counter */
static int hf_nr_rrc_nonCriticalExtension_59 = -1;  /* RRCReconfiguration_v1610_IEs */
static int hf_nr_rrc_otherConfig_v1610 = -1;      /* OtherConfig_v1610 */
static int hf_nr_rrc_bap_Config_r16 = -1;         /* T_bap_Config_r16 */
static int hf_nr_rrc_setup_07 = -1;               /* BAP_Config_r16 */
static int hf_nr_rrc_iab_IP_AddressConfigurationList_r16 = -1;  /* IAB_IP_AddressConfigurationList_r16 */
static int hf_nr_rrc_conditionalReconfiguration_r16 = -1;  /* ConditionalReconfiguration_r16 */
static int hf_nr_rrc_daps_SourceRelease_r16 = -1;  /* T_daps_SourceRelease_r16 */
static int hf_nr_rrc_t316_r16 = -1;               /* T_t316_r16 */
static int hf_nr_rrc_setup_08 = -1;               /* T316_r16 */
static int hf_nr_rrc_needForGapsConfigNR_r16 = -1;  /* T_needForGapsConfigNR_r16 */
static int hf_nr_rrc_setup_09 = -1;               /* NeedForGapsConfigNR_r16 */
static int hf_nr_rrc_onDemandSIB_Request_r16 = -1;  /* T_onDemandSIB_Request_r16 */
static int hf_nr_rrc_setup_10 = -1;               /* OnDemandSIB_Request_r16 */
static int hf_nr_rrc_dedicatedPosSysInfoDelivery_r16 = -1;  /* T_dedicatedPosSysInfoDelivery_r16 */
static int hf_nr_rrc_sl_ConfigDedicatedNR_r16 = -1;  /* T_sl_ConfigDedicatedNR_r16 */
static int hf_nr_rrc_setup_11 = -1;               /* SL_ConfigDedicatedNR_r16 */
static int hf_nr_rrc_sl_ConfigDedicatedEUTRA_Info_r16 = -1;  /* T_sl_ConfigDedicatedEUTRA_Info_r16 */
static int hf_nr_rrc_setup_12 = -1;               /* SL_ConfigDedicatedEUTRA_Info_r16 */
static int hf_nr_rrc_targetCellSMTC_SCG_r16 = -1;  /* SSB_MTC */
static int hf_nr_rrc_nonCriticalExtension_60 = -1;  /* RRCReconfiguration_v1700_IEs */
static int hf_nr_rrc_otherConfig_v1700 = -1;      /* OtherConfig_v1700 */
static int hf_nr_rrc_sl_L2RelayUE_Config_r17 = -1;  /* T_sl_L2RelayUE_Config_r17 */
static int hf_nr_rrc_setup_13 = -1;               /* SL_L2RelayUE_Config_r17 */
static int hf_nr_rrc_sl_L2RemoteUE_Config_r17_01 = -1;  /* T_sl_L2RemoteUE_Config_r17_01 */
static int hf_nr_rrc_dedicatedPagingDelivery_r17 = -1;  /* T_dedicatedPagingDelivery_r17 */
static int hf_nr_rrc_needForGapNCSG_ConfigNR_r17 = -1;  /* T_needForGapNCSG_ConfigNR_r17 */
static int hf_nr_rrc_setup_14 = -1;               /* NeedForGapNCSG_ConfigNR_r17 */
static int hf_nr_rrc_needForGapNCSG_ConfigEUTRA_r17 = -1;  /* T_needForGapNCSG_ConfigEUTRA_r17 */
static int hf_nr_rrc_setup_15 = -1;               /* NeedForGapNCSG_ConfigEUTRA_r17 */
static int hf_nr_rrc_musim_GapConfig_r17 = -1;    /* T_musim_GapConfig_r17 */
static int hf_nr_rrc_setup_16 = -1;               /* MUSIM_GapConfig_r17 */
static int hf_nr_rrc_ul_GapFR2_Config_r17 = -1;   /* T_ul_GapFR2_Config_r17 */
static int hf_nr_rrc_setup_17 = -1;               /* UL_GapFR2_Config_r17 */
static int hf_nr_rrc_scg_State_r17 = -1;          /* T_scg_State_r17 */
static int hf_nr_rrc_appLayerMeasConfig_r17 = -1;  /* AppLayerMeasConfig_r17 */
static int hf_nr_rrc_ue_TxTEG_RequestUL_TDOA_Config_r17 = -1;  /* T_ue_TxTEG_RequestUL_TDOA_Config_r17 */
static int hf_nr_rrc_setup_18 = -1;               /* UE_TxTEG_RequestUL_TDOA_Config_r17 */
static int hf_nr_rrc_nonCriticalExtension_61 = -1;  /* T_nonCriticalExtension_26 */
static int hf_nr_rrc_mrdc_ReleaseAndAdd = -1;     /* T_mrdc_ReleaseAndAdd */
static int hf_nr_rrc_mrdc_SecondaryCellGroup = -1;  /* T_mrdc_SecondaryCellGroup */
static int hf_nr_rrc_nr_SCG = -1;                 /* T_nr_SCG */
static int hf_nr_rrc_eutra_SCG = -1;              /* T_eutra_SCG */
static int hf_nr_rrc_bap_Address_r16 = -1;        /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_defaultUL_BAP_RoutingID_r16 = -1;  /* BAP_RoutingID_r16 */
static int hf_nr_rrc_defaultUL_BH_RLC_Channel_r16 = -1;  /* BH_RLC_ChannelID_r16 */
static int hf_nr_rrc_flowControlFeedbackType_r16 = -1;  /* T_flowControlFeedbackType_r16 */
static int hf_nr_rrc_keySetChangeIndicator = -1;  /* BOOLEAN */
static int hf_nr_rrc_nas_Container = -1;          /* T_nas_Container */
static int hf_nr_rrc_onDemandSIB_RequestProhibitTimer_r16 = -1;  /* T_onDemandSIB_RequestProhibitTimer_r16 */
static int hf_nr_rrc_iab_IP_AddressToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16 */
static int hf_nr_rrc_iab_IP_AddressToAddModList_r16_item = -1;  /* IAB_IP_AddressConfiguration_r16 */
static int hf_nr_rrc_iab_IP_AddressToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16 */
static int hf_nr_rrc_iab_IP_AddressToReleaseList_r16_item = -1;  /* IAB_IP_AddressIndex_r16 */
static int hf_nr_rrc_iab_IP_AddressIndex_r16 = -1;  /* IAB_IP_AddressIndex_r16 */
static int hf_nr_rrc_iab_IP_Address_r16 = -1;     /* IAB_IP_Address_r16 */
static int hf_nr_rrc_iab_IP_Usage_r16 = -1;       /* IAB_IP_Usage_r16 */
static int hf_nr_rrc_iab_donor_DU_BAP_Address_r16 = -1;  /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_sl_ConfigDedicatedEUTRA_r16 = -1;  /* T_sl_ConfigDedicatedEUTRA_r16 */
static int hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16 = -1;  /* SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16 */
static int hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16_item = -1;  /* SL_TimeOffsetEUTRA_r16 */
static int hf_nr_rrc_oneShot_r17 = -1;            /* NULL */
static int hf_nr_rrc_periodicReporting_r17 = -1;  /* T_periodicReporting_r17 */
static int hf_nr_rrc_criticalExtensions_26 = -1;  /* T_criticalExtensions_26 */
static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1;  /* RRCReconfigurationComplete_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_26 = -1;  /* T_criticalExtensionsFuture_26 */
static int hf_nr_rrc_nonCriticalExtension_62 = -1;  /* RRCReconfigurationComplete_v1530_IEs */
static int hf_nr_rrc_uplinkTxDirectCurrentList = -1;  /* UplinkTxDirectCurrentList */
static int hf_nr_rrc_nonCriticalExtension_63 = -1;  /* RRCReconfigurationComplete_v1560_IEs */
static int hf_nr_rrc_scg_Response = -1;           /* T_scg_Response */
static int hf_nr_rrc_nr_SCG_Response = -1;        /* T_nr_SCG_Response */
static int hf_nr_rrc_eutra_SCG_Response = -1;     /* T_eutra_SCG_Response */
static int hf_nr_rrc_nonCriticalExtension_64 = -1;  /* RRCReconfigurationComplete_v1610_IEs */
static int hf_nr_rrc_nonCriticalExtension_65 = -1;  /* RRCReconfigurationComplete_v1640_IEs */
static int hf_nr_rrc_uplinkTxDirectCurrentTwoCarrierList_r16 = -1;  /* UplinkTxDirectCurrentTwoCarrierList_r16 */
static int hf_nr_rrc_nonCriticalExtension_66 = -1;  /* RRCReconfigurationComplete_v1700_IEs */
static int hf_nr_rrc_selectedCondRRCReconfig_r17 = -1;  /* CondReconfigId_r16 */
static int hf_nr_rrc_nonCriticalExtension_67 = -1;  /* RRCReconfigurationComplete_v1720_IEs */
static int hf_nr_rrc_uplinkTxDirectCurrentMoreCarrierList_r17 = -1;  /* UplinkTxDirectCurrentMoreCarrierList_r17 */
static int hf_nr_rrc_nonCriticalExtension_68 = -1;  /* T_nonCriticalExtension_27 */
static int hf_nr_rrc_criticalExtensions_27 = -1;  /* T_criticalExtensions_27 */
static int hf_nr_rrc_rrcReject_01 = -1;           /* RRCReject_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_27 = -1;  /* T_criticalExtensionsFuture_27 */
static int hf_nr_rrc_waitTime = -1;               /* RejectWaitTime */
static int hf_nr_rrc_nonCriticalExtension_69 = -1;  /* T_nonCriticalExtension_28 */
static int hf_nr_rrc_criticalExtensions_28 = -1;  /* T_criticalExtensions_28 */
static int hf_nr_rrc_rrcRelease_01 = -1;          /* RRCRelease_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_28 = -1;  /* T_criticalExtensionsFuture_28 */
static int hf_nr_rrc_redirectedCarrierInfo = -1;  /* RedirectedCarrierInfo */
static int hf_nr_rrc_cellReselectionPriorities = -1;  /* CellReselectionPriorities */
static int hf_nr_rrc_suspendConfig = -1;          /* SuspendConfig */
static int hf_nr_rrc_deprioritisationReq = -1;    /* T_deprioritisationReq */
static int hf_nr_rrc_deprioritisationType = -1;   /* T_deprioritisationType */
static int hf_nr_rrc_deprioritisationTimer = -1;  /* T_deprioritisationTimer */
static int hf_nr_rrc_nonCriticalExtension_70 = -1;  /* RRCRelease_v1540_IEs */
static int hf_nr_rrc_nonCriticalExtension_71 = -1;  /* RRCRelease_v1610_IEs */
static int hf_nr_rrc_voiceFallbackIndication_r16_01 = -1;  /* T_voiceFallbackIndication_r16_01 */
static int hf_nr_rrc_measIdleConfig_r16 = -1;     /* T_measIdleConfig_r16 */
static int hf_nr_rrc_setup_19 = -1;               /* MeasIdleConfigDedicated_r16 */
static int hf_nr_rrc_nonCriticalExtension_72 = -1;  /* RRCRelease_v1650_IEs */
static int hf_nr_rrc_mpsPriorityIndication_r16 = -1;  /* T_mpsPriorityIndication_r16 */
static int hf_nr_rrc_nonCriticalExtension_73 = -1;  /* RRCRelease_v1710_IEs */
static int hf_nr_rrc_noLastCellUpdate_r17 = -1;   /* T_noLastCellUpdate_r17 */
static int hf_nr_rrc_nonCriticalExtension_74 = -1;  /* T_nonCriticalExtension_29 */
static int hf_nr_rrc_nr = -1;                     /* CarrierInfoNR */
static int hf_nr_rrc_eutra = -1;                  /* RedirectedCarrierInfo_EUTRA */
static int hf_nr_rrc_cnType = -1;                 /* T_cnType */
static int hf_nr_rrc_smtc = -1;                   /* SSB_MTC */
static int hf_nr_rrc_shortI_RNTI = -1;            /* ShortI_RNTI_Value */
static int hf_nr_rrc_ran_PagingCycle = -1;        /* PagingCycle */
static int hf_nr_rrc_t380 = -1;                   /* PeriodicRNAU_TimerValue */
static int hf_nr_rrc_sl_UEIdentityRemote_r17 = -1;  /* RNTI_Value */
static int hf_nr_rrc_sdt_Config_r17_01 = -1;      /* T_sdt_Config_r17 */
static int hf_nr_rrc_setup_20 = -1;               /* SDT_Config_r17 */
static int hf_nr_rrc_srs_PosRRC_Inactive_r17 = -1;  /* T_srs_PosRRC_Inactive_r17 */
static int hf_nr_rrc_setup_21 = -1;               /* SRS_PosRRC_Inactive_r17 */
static int hf_nr_rrc_ran_ExtendedPagingCycle_r17 = -1;  /* ExtendedPagingCycle_r17 */
static int hf_nr_rrc_ncd_SSB_RedCapInitialBWP_SDT_r17 = -1;  /* T_ncd_SSB_RedCapInitialBWP_SDT_r17 */
static int hf_nr_rrc_setup_22 = -1;               /* NonCellDefiningSSB_r17 */
static int hf_nr_rrc_freqPriorityListEUTRA = -1;  /* FreqPriorityListEUTRA */
static int hf_nr_rrc_freqPriorityListNR = -1;     /* FreqPriorityListNR */
static int hf_nr_rrc_t320 = -1;                   /* T_t320 */
static int hf_nr_rrc_freqPriorityListDedicatedSlicing_r17 = -1;  /* FreqPriorityListDedicatedSlicing_r17 */
static int hf_nr_rrc_FreqPriorityListEUTRA_item = -1;  /* FreqPriorityEUTRA */
static int hf_nr_rrc_FreqPriorityListNR_item = -1;  /* FreqPriorityNR */
static int hf_nr_rrc_carrierFreq_01 = -1;         /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_cellReselectionPriority = -1;  /* CellReselectionPriority */
static int hf_nr_rrc_cellReselectionSubPriority = -1;  /* CellReselectionSubPriority */
static int hf_nr_rrc_cellList = -1;               /* PLMN_RAN_AreaCellList */
static int hf_nr_rrc_ran_AreaConfigList = -1;     /* PLMN_RAN_AreaConfigList */
static int hf_nr_rrc_PLMN_RAN_AreaCellList_item = -1;  /* PLMN_RAN_AreaCell */
static int hf_nr_rrc_plmn_Identity = -1;          /* PLMN_Identity */
static int hf_nr_rrc_ran_AreaCells = -1;          /* SEQUENCE_SIZE_1_32_OF_CellIdentity */
static int hf_nr_rrc_ran_AreaCells_item = -1;     /* CellIdentity */
static int hf_nr_rrc_PLMN_RAN_AreaConfigList_item = -1;  /* PLMN_RAN_AreaConfig */
static int hf_nr_rrc_ran_Area = -1;               /* SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig */
static int hf_nr_rrc_ran_Area_item = -1;          /* RAN_AreaConfig */
static int hf_nr_rrc_trackingAreaCode = -1;       /* TrackingAreaCode */
static int hf_nr_rrc_ran_AreaCodeList = -1;       /* SEQUENCE_SIZE_1_32_OF_RAN_AreaCode */
static int hf_nr_rrc_ran_AreaCodeList_item = -1;  /* RAN_AreaCode */
static int hf_nr_rrc_sdt_DRB_List_r17 = -1;       /* SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity */
static int hf_nr_rrc_sdt_DRB_List_r17_item = -1;  /* DRB_Identity */
static int hf_nr_rrc_sdt_SRB2_Indication_r17 = -1;  /* T_sdt_SRB2_Indication_r17 */
static int hf_nr_rrc_sdt_MAC_PHY_CG_Config_r17 = -1;  /* T_sdt_MAC_PHY_CG_Config_r17 */
static int hf_nr_rrc_setup_23 = -1;               /* SDT_CG_Config_r17 */
static int hf_nr_rrc_sdt_DRB_ContinueROHC_r17 = -1;  /* T_sdt_DRB_ContinueROHC_r17 */
static int hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17 */
static int hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToAddModList_r17_item = -1;  /* CG_SDT_ConfigLCH_Restriction_r17 */
static int hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity */
static int hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToReleaseList_r17_item = -1;  /* LogicalChannelIdentity */
static int hf_nr_rrc_cg_SDT_ConfigInitialBWP_NUL_r17 = -1;  /* T_cg_SDT_ConfigInitialBWP_NUL_r17 */
static int hf_nr_rrc_setup_24 = -1;               /* BWP_UplinkDedicatedSDT_r17 */
static int hf_nr_rrc_cg_SDT_ConfigInitialBWP_SUL_r17 = -1;  /* T_cg_SDT_ConfigInitialBWP_SUL_r17 */
static int hf_nr_rrc_cg_SDT_ConfigInitialBWP_DL_r17 = -1;  /* BWP_DownlinkDedicatedSDT_r17 */
static int hf_nr_rrc_cg_SDT_TimeAlignmentTimer_r17 = -1;  /* TimeAlignmentTimer */
static int hf_nr_rrc_cg_SDT_RSRP_ThresholdSSB_r17 = -1;  /* RSRP_Range */
static int hf_nr_rrc_cg_SDT_TA_ValidationConfig_r17 = -1;  /* T_cg_SDT_TA_ValidationConfig_r17 */
static int hf_nr_rrc_setup_25 = -1;               /* CG_SDT_TA_ValidationConfig_r17 */
static int hf_nr_rrc_cg_SDT_CS_RNTI_r17 = -1;     /* RNTI_Value */
static int hf_nr_rrc_cg_SDT_RSRP_ChangeThreshold_r17 = -1;  /* T_cg_SDT_RSRP_ChangeThreshold_r17 */
static int hf_nr_rrc_pdcch_Config_r17 = -1;       /* T_pdcch_Config_r17 */
static int hf_nr_rrc_setup_26 = -1;               /* PDCCH_Config */
static int hf_nr_rrc_pdsch_Config_r17 = -1;       /* T_pdsch_Config_r17 */
static int hf_nr_rrc_setup_27 = -1;               /* PDSCH_Config */
static int hf_nr_rrc_pusch_Config_r17 = -1;       /* T_pusch_Config_r17 */
static int hf_nr_rrc_setup_28 = -1;               /* PUSCH_Config */
static int hf_nr_rrc_configuredGrantConfigToAddModList_r17 = -1;  /* ConfiguredGrantConfigToAddModList_r16 */
static int hf_nr_rrc_configuredGrantConfigToReleaseList_r17 = -1;  /* ConfiguredGrantConfigToReleaseList_r16 */
static int hf_nr_rrc_logicalChannelIdentity_r17 = -1;  /* LogicalChannelIdentity */
static int hf_nr_rrc_configuredGrantType1Allowed_r17 = -1;  /* T_configuredGrantType1Allowed_r17 */
static int hf_nr_rrc_allowedCG_List_r17 = -1;     /* SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16 */
static int hf_nr_rrc_allowedCG_List_r17_item = -1;  /* ConfiguredGrantConfigIndexMAC_r16 */
static int hf_nr_rrc_srs_PosConfigNUL_r17 = -1;   /* SRS_PosConfig_r17 */
static int hf_nr_rrc_srs_PosConfigSUL_r17 = -1;   /* SRS_PosConfig_r17 */
static int hf_nr_rrc_bwp_NUL_r17 = -1;            /* BWP */
static int hf_nr_rrc_bwp_SUL_r17 = -1;            /* BWP */
static int hf_nr_rrc_inactivePosSRS_TimeAlignmentTimer_r17 = -1;  /* TimeAlignmentTimer */
static int hf_nr_rrc_inactivePosSRS_RSRP_ChangeThreshold_r17 = -1;  /* RSRP_ChangeThreshold_r17 */
static int hf_nr_rrc_srs_PosResourceSetToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16 */
static int hf_nr_rrc_srs_PosResourceSetToReleaseList_r17_item = -1;  /* SRS_PosResourceSetId_r16 */
static int hf_nr_rrc_srs_PosResourceSetToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16 */
static int hf_nr_rrc_srs_PosResourceSetToAddModList_r17_item = -1;  /* SRS_PosResourceSet_r16 */
static int hf_nr_rrc_srs_PosResourceToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 */
static int hf_nr_rrc_srs_PosResourceToReleaseList_r17_item = -1;  /* SRS_PosResourceId_r16 */
static int hf_nr_rrc_srs_PosResourceToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16 */
static int hf_nr_rrc_srs_PosResourceToAddModList_r17_item = -1;  /* SRS_PosResource_r16 */
static int hf_nr_rrc_criticalExtensions_29 = -1;  /* T_criticalExtensions_29 */
static int hf_nr_rrc_rrcResume_01 = -1;           /* RRCResume_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_29 = -1;  /* T_criticalExtensionsFuture_29 */
static int hf_nr_rrc_masterCellGroup_01 = -1;     /* T_masterCellGroup_01 */
static int hf_nr_rrc_fullConfig_01 = -1;          /* T_fullConfig_01 */
static int hf_nr_rrc_nonCriticalExtension_75 = -1;  /* RRCResume_v1560_IEs */
static int hf_nr_rrc_radioBearerConfig2_01 = -1;  /* T_radioBearerConfig2_01 */
static int hf_nr_rrc_nonCriticalExtension_76 = -1;  /* RRCResume_v1610_IEs */
static int hf_nr_rrc_idleModeMeasurementReq_r16 = -1;  /* T_idleModeMeasurementReq_r16 */
static int hf_nr_rrc_restoreMCG_SCells_r16 = -1;  /* T_restoreMCG_SCells_r16 */
static int hf_nr_rrc_restoreSCG_r16 = -1;         /* T_restoreSCG_r16 */
static int hf_nr_rrc_mrdc_SecondaryCellGroup_r16 = -1;  /* T_mrdc_SecondaryCellGroup_r16 */
static int hf_nr_rrc_nr_SCG_r16 = -1;             /* T_nr_SCG_r16 */
static int hf_nr_rrc_eutra_SCG_r16 = -1;          /* T_eutra_SCG_r16 */
static int hf_nr_rrc_needForGapsConfigNR_r16_01 = -1;  /* T_needForGapsConfigNR_r16_01 */
static int hf_nr_rrc_nonCriticalExtension_77 = -1;  /* RRCResume_v1700_IEs */
static int hf_nr_rrc_sl_ConfigDedicatedNR_r17 = -1;  /* T_sl_ConfigDedicatedNR_r17 */
static int hf_nr_rrc_sl_L2RemoteUE_Config_r17_02 = -1;  /* T_sl_L2RemoteUE_Config_r17_02 */
static int hf_nr_rrc_needForGapNCSG_ConfigNR_r17_01 = -1;  /* T_needForGapNCSG_ConfigNR_r17_01 */
static int hf_nr_rrc_needForGapNCSG_ConfigEUTRA_r17_01 = -1;  /* T_needForGapNCSG_ConfigEUTRA_r17_01 */
static int hf_nr_rrc_scg_State_r17_01 = -1;       /* T_scg_State_r17_01 */
static int hf_nr_rrc_nonCriticalExtension_78 = -1;  /* T_nonCriticalExtension_30 */
static int hf_nr_rrc_criticalExtensions_30 = -1;  /* T_criticalExtensions_30 */
static int hf_nr_rrc_rrcResumeComplete_01 = -1;   /* RRCResumeComplete_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_30 = -1;  /* T_criticalExtensionsFuture_30 */
static int hf_nr_rrc_selectedPLMN_Identity = -1;  /* INTEGER_1_maxPLMN */
static int hf_nr_rrc_nonCriticalExtension_79 = -1;  /* RRCResumeComplete_v1610_IEs */
static int hf_nr_rrc_idleMeasAvailable_r16 = -1;  /* T_idleMeasAvailable_r16 */
static int hf_nr_rrc_measResultIdleEUTRA_r16 = -1;  /* MeasResultIdleEUTRA_r16 */
static int hf_nr_rrc_measResultIdleNR_r16 = -1;   /* MeasResultIdleNR_r16 */
static int hf_nr_rrc_scg_Response_r16 = -1;       /* T_scg_Response_r16 */
static int hf_nr_rrc_nr_SCG_Response_01 = -1;     /* T_nr_SCG_Response_01 */
static int hf_nr_rrc_eutra_SCG_Response_01 = -1;  /* T_eutra_SCG_Response_01 */
static int hf_nr_rrc_mobilityHistoryAvail_r16 = -1;  /* T_mobilityHistoryAvail_r16 */
static int hf_nr_rrc_mobilityState_r16 = -1;      /* T_mobilityState_r16 */
static int hf_nr_rrc_nonCriticalExtension_80 = -1;  /* RRCResumeComplete_v1640_IEs */
static int hf_nr_rrc_nonCriticalExtension_81 = -1;  /* RRCResumeComplete_v1700_IEs */
static int hf_nr_rrc_nonCriticalExtension_82 = -1;  /* RRCResumeComplete_v1720_IEs */
static int hf_nr_rrc_nonCriticalExtension_83 = -1;  /* T_nonCriticalExtension_31 */
static int hf_nr_rrc_rrcResumeRequest_01 = -1;    /* RRCResumeRequest_IEs */
static int hf_nr_rrc_resumeIdentity = -1;         /* ShortI_RNTI_Value */
static int hf_nr_rrc_resumeMAC_I = -1;            /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_resumeCause = -1;            /* ResumeCause */
static int hf_nr_rrc_rrcResumeRequest1_01 = -1;   /* RRCResumeRequest1_IEs */
static int hf_nr_rrc_resumeIdentity_01 = -1;      /* I_RNTI_Value */
static int hf_nr_rrc_criticalExtensions_31 = -1;  /* T_criticalExtensions_31 */
static int hf_nr_rrc_rrcSetup_01 = -1;            /* RRCSetup_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_31 = -1;  /* T_criticalExtensionsFuture_31 */
static int hf_nr_rrc_masterCellGroup_02 = -1;     /* T_masterCellGroup_02 */
static int hf_nr_rrc_nonCriticalExtension_84 = -1;  /* RRCSetup_v1700_IEs */
static int hf_nr_rrc_sl_ConfigDedicatedNR_r17_01 = -1;  /* SL_ConfigDedicatedNR_r16 */
static int hf_nr_rrc_sl_L2RemoteUE_Config_r17_03 = -1;  /* SL_L2RemoteUE_Config_r17 */
static int hf_nr_rrc_nonCriticalExtension_85 = -1;  /* T_nonCriticalExtension_32 */
static int hf_nr_rrc_criticalExtensions_32 = -1;  /* T_criticalExtensions_32 */
static int hf_nr_rrc_rrcSetupComplete_01 = -1;    /* RRCSetupComplete_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_32 = -1;  /* T_criticalExtensionsFuture_32 */
static int hf_nr_rrc_registeredAMF = -1;          /* RegisteredAMF */
static int hf_nr_rrc_guami_Type = -1;             /* T_guami_Type */
static int hf_nr_rrc_s_NSSAI_List = -1;           /* SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI */
static int hf_nr_rrc_s_NSSAI_List_item = -1;      /* S_NSSAI */
static int hf_nr_rrc_ng_5G_S_TMSI_Value = -1;     /* T_ng_5G_S_TMSI_Value */
static int hf_nr_rrc_ng_5G_S_TMSI_Part2 = -1;     /* BIT_STRING_SIZE_9 */
static int hf_nr_rrc_nonCriticalExtension_86 = -1;  /* RRCSetupComplete_v1610_IEs */
static int hf_nr_rrc_iab_NodeIndication_r16 = -1;  /* T_iab_NodeIndication_r16 */
static int hf_nr_rrc_idleMeasAvailable_r16_01 = -1;  /* T_idleMeasAvailable_r16_01 */
static int hf_nr_rrc_mobilityHistoryAvail_r16_01 = -1;  /* T_mobilityHistoryAvail_r16_01 */
static int hf_nr_rrc_mobilityState_r16_01 = -1;   /* T_mobilityState_r16_01 */
static int hf_nr_rrc_nonCriticalExtension_87 = -1;  /* RRCSetupComplete_v1690_IEs */
static int hf_nr_rrc_ul_RRC_Segmentation_r16 = -1;  /* T_ul_RRC_Segmentation_r16 */
static int hf_nr_rrc_nonCriticalExtension_88 = -1;  /* RRCSetupComplete_v1700_IEs */
static int hf_nr_rrc_onboardingRequest_r17 = -1;  /* T_onboardingRequest_r17 */
static int hf_nr_rrc_nonCriticalExtension_89 = -1;  /* T_nonCriticalExtension_33 */
static int hf_nr_rrc_amf_Identifier = -1;         /* AMF_Identifier */
static int hf_nr_rrc_rrcSetupRequest_01 = -1;     /* RRCSetupRequest_IEs */
static int hf_nr_rrc_ue_Identity_02 = -1;         /* InitialUE_Identity */
static int hf_nr_rrc_establishmentCause = -1;     /* EstablishmentCause */
static int hf_nr_rrc_ng_5G_S_TMSI_Part1 = -1;     /* BIT_STRING_SIZE_39 */
static int hf_nr_rrc_randomValue = -1;            /* BIT_STRING_SIZE_39 */
static int hf_nr_rrc_criticalExtensions_33 = -1;  /* T_criticalExtensions_33 */
static int hf_nr_rrc_rrcSystemInfoRequest_01 = -1;  /* RRCSystemInfoRequest_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_r16 = -1;  /* T_criticalExtensionsFuture_r16 */
static int hf_nr_rrc_rrcPosSystemInfoRequest_r16 = -1;  /* RRC_PosSystemInfoRequest_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_33 = -1;  /* T_criticalExtensionsFuture_33 */
static int hf_nr_rrc_requested_SI_List = -1;      /* BIT_STRING_SIZE_maxSI_Message */
static int hf_nr_rrc_spare_01 = -1;               /* BIT_STRING_SIZE_12 */
static int hf_nr_rrc_requestedPosSI_List = -1;    /* BIT_STRING_SIZE_maxSI_Message */
static int hf_nr_rrc_spare_02 = -1;               /* BIT_STRING_SIZE_11 */
static int hf_nr_rrc_criticalExtensions_34 = -1;  /* T_criticalExtensions_34 */
static int hf_nr_rrc_scgFailureInformation_01 = -1;  /* SCGFailureInformation_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_34 = -1;  /* T_criticalExtensionsFuture_34 */
static int hf_nr_rrc_failureReportSCG = -1;       /* FailureReportSCG */
static int hf_nr_rrc_nonCriticalExtension_90 = -1;  /* SCGFailureInformation_v1590_IEs */
static int hf_nr_rrc_nonCriticalExtension_91 = -1;  /* T_nonCriticalExtension_34 */
static int hf_nr_rrc_failureType_02 = -1;         /* T_failureType_02 */
static int hf_nr_rrc_measResultFreqList = -1;     /* MeasResultFreqList */
static int hf_nr_rrc_measResultSCG_Failure = -1;  /* T_measResultSCG_Failure */
static int hf_nr_rrc_locationInfo_r16 = -1;       /* LocationInfo_r16 */
static int hf_nr_rrc_failureType_v1610 = -1;      /* T_failureType_v1610 */
static int hf_nr_rrc_previousPSCellId_r17 = -1;   /* T_previousPSCellId_r17 */
static int hf_nr_rrc_carrierFreq_r17 = -1;        /* ARFCN_ValueNR */
static int hf_nr_rrc_failedPSCellId_r17 = -1;     /* T_failedPSCellId_r17 */
static int hf_nr_rrc_timeSCGFailure_r17 = -1;     /* INTEGER_0_1023 */
static int hf_nr_rrc_perRAInfoList_r17 = -1;      /* PerRAInfoList_r16 */
static int hf_nr_rrc_MeasResultFreqList_item = -1;  /* MeasResult2NR */
static int hf_nr_rrc_criticalExtensions_35 = -1;  /* T_criticalExtensions_35 */
static int hf_nr_rrc_scgFailureInformationEUTRA_01 = -1;  /* SCGFailureInformationEUTRA_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_35 = -1;  /* T_criticalExtensionsFuture_35 */
static int hf_nr_rrc_failureReportSCG_EUTRA = -1;  /* FailureReportSCG_EUTRA */
static int hf_nr_rrc_nonCriticalExtension_92 = -1;  /* SCGFailureInformationEUTRA_v1590_IEs */
static int hf_nr_rrc_nonCriticalExtension_93 = -1;  /* T_nonCriticalExtension_35 */
static int hf_nr_rrc_failureType_03 = -1;         /* T_failureType_03 */
static int hf_nr_rrc_measResultFreqListMRDC = -1;  /* MeasResultFreqListFailMRDC */
static int hf_nr_rrc_measResultSCG_FailureMRDC = -1;  /* T_measResultSCG_FailureMRDC */
static int hf_nr_rrc_MeasResultFreqListFailMRDC_item = -1;  /* MeasResult2EUTRA */
static int hf_nr_rrc_criticalExtensions_36 = -1;  /* T_criticalExtensions_36 */
static int hf_nr_rrc_securityModeCommand_01 = -1;  /* SecurityModeCommand_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_36 = -1;  /* T_criticalExtensionsFuture_36 */
static int hf_nr_rrc_securityConfigSMC = -1;      /* SecurityConfigSMC */
static int hf_nr_rrc_nonCriticalExtension_94 = -1;  /* T_nonCriticalExtension_36 */
static int hf_nr_rrc_securityAlgorithmConfig = -1;  /* SecurityAlgorithmConfig */
static int hf_nr_rrc_criticalExtensions_37 = -1;  /* T_criticalExtensions_37 */
static int hf_nr_rrc_securityModeComplete_01 = -1;  /* SecurityModeComplete_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_37 = -1;  /* T_criticalExtensionsFuture_37 */
static int hf_nr_rrc_nonCriticalExtension_95 = -1;  /* T_nonCriticalExtension_37 */
static int hf_nr_rrc_criticalExtensions_38 = -1;  /* T_criticalExtensions_38 */
static int hf_nr_rrc_securityModeFailure_01 = -1;  /* SecurityModeFailure_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_38 = -1;  /* T_criticalExtensionsFuture_38 */
static int hf_nr_rrc_nonCriticalExtension_96 = -1;  /* T_nonCriticalExtension_38 */
static int hf_nr_rrc_cellSelectionInfo = -1;      /* T_cellSelectionInfo */
static int hf_nr_rrc_q_RxLevMin = -1;             /* Q_RxLevMin */
static int hf_nr_rrc_q_RxLevMinOffset = -1;       /* INTEGER_1_8 */
static int hf_nr_rrc_q_RxLevMinSUL = -1;          /* Q_RxLevMin */
static int hf_nr_rrc_q_QualMin = -1;              /* Q_QualMin */
static int hf_nr_rrc_q_QualMinOffset = -1;        /* INTEGER_1_8 */
static int hf_nr_rrc_cellAccessRelatedInfo = -1;  /* CellAccessRelatedInfo */
static int hf_nr_rrc_connEstFailureControl = -1;  /* ConnEstFailureControl */
static int hf_nr_rrc_si_SchedulingInfo = -1;      /* SI_SchedulingInfo */
static int hf_nr_rrc_servingCellConfigCommon = -1;  /* ServingCellConfigCommonSIB */
static int hf_nr_rrc_ims_EmergencySupport = -1;   /* T_ims_EmergencySupport */
static int hf_nr_rrc_eCallOverIMS_Support = -1;   /* T_eCallOverIMS_Support */
static int hf_nr_rrc_ue_TimersAndConstants = -1;  /* UE_TimersAndConstants */
static int hf_nr_rrc_uac_BarringInfo = -1;        /* T_uac_BarringInfo */
static int hf_nr_rrc_uac_BarringForCommon = -1;   /* UAC_BarringPerCatList */
static int hf_nr_rrc_uac_BarringPerPLMN_List = -1;  /* UAC_BarringPerPLMN_List */
static int hf_nr_rrc_uac_BarringInfoSetList = -1;  /* UAC_BarringInfoSetList */
static int hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo = -1;  /* T_uac_AccessCategory1_SelectionAssistanceInfo */
static int hf_nr_rrc_plmnCommon = -1;             /* UAC_AccessCategory1_SelectionAssistanceInfo */
static int hf_nr_rrc_individualPLMNList = -1;     /* SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo */
static int hf_nr_rrc_individualPLMNList_item = -1;  /* UAC_AccessCategory1_SelectionAssistanceInfo */
static int hf_nr_rrc_useFullResumeID = -1;        /* T_useFullResumeID */
static int hf_nr_rrc_nonCriticalExtension_97 = -1;  /* SIB1_v1610_IEs */
static int hf_nr_rrc_idleModeMeasurementsEUTRA_r16 = -1;  /* T_idleModeMeasurementsEUTRA_r16 */
static int hf_nr_rrc_idleModeMeasurementsNR_r16 = -1;  /* T_idleModeMeasurementsNR_r16 */
static int hf_nr_rrc_posSI_SchedulingInfo_r16 = -1;  /* PosSI_SchedulingInfo_r16 */
static int hf_nr_rrc_nonCriticalExtension_98 = -1;  /* SIB1_v1630_IEs */
static int hf_nr_rrc_uac_BarringInfo_v1630 = -1;  /* T_uac_BarringInfo_v1630 */
static int hf_nr_rrc_uac_AC1_SelectAssistInfo_r16 = -1;  /* SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16 */
static int hf_nr_rrc_uac_AC1_SelectAssistInfo_r16_item = -1;  /* UAC_AC1_SelectAssistInfo_r16 */
static int hf_nr_rrc_nonCriticalExtension_99 = -1;  /* SIB1_v1700_IEs */
static int hf_nr_rrc_hsdn_Cell_r17 = -1;          /* T_hsdn_Cell_r17 */
static int hf_nr_rrc_uac_BarringInfo_v1700 = -1;  /* T_uac_BarringInfo_v1700 */
static int hf_nr_rrc_uac_BarringInfoSetList_v1700 = -1;  /* UAC_BarringInfoSetList_v1700 */
static int hf_nr_rrc_sdt_ConfigCommon_r17 = -1;   /* SDT_ConfigCommonSIB_r17 */
static int hf_nr_rrc_redCap_ConfigCommon_r17 = -1;  /* RedCap_ConfigCommonSIB_r17 */
static int hf_nr_rrc_featurePriorities_r17 = -1;  /* T_featurePriorities_r17 */
static int hf_nr_rrc_redCapPriority_r17 = -1;     /* FeaturePriority_r17 */
static int hf_nr_rrc_slicingPriority_r17 = -1;    /* FeaturePriority_r17 */
static int hf_nr_rrc_msg3_Repetitions_Priority_r17 = -1;  /* FeaturePriority_r17 */
static int hf_nr_rrc_sdt_Priority_r17 = -1;       /* FeaturePriority_r17 */
static int hf_nr_rrc_si_SchedulingInfo_v1700 = -1;  /* SI_SchedulingInfo_v1700 */
static int hf_nr_rrc_hyperSFN_r17 = -1;           /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_eDRX_AllowedIdle_r17 = -1;   /* T_eDRX_AllowedIdle_r17 */
static int hf_nr_rrc_eDRX_AllowedInactive_r17 = -1;  /* T_eDRX_AllowedInactive_r17 */
static int hf_nr_rrc_intraFreqReselectionRedCap_r17 = -1;  /* T_intraFreqReselectionRedCap_r17 */
static int hf_nr_rrc_cellBarredNTN_r17 = -1;      /* T_cellBarredNTN_r17 */
static int hf_nr_rrc_nonCriticalExtension_100 = -1;  /* SIB1_v1740_IEs */
static int hf_nr_rrc_si_SchedulingInfo_v1740 = -1;  /* SI_SchedulingInfo_v1740 */
static int hf_nr_rrc_nonCriticalExtension_101 = -1;  /* T_nonCriticalExtension_39 */
static int hf_nr_rrc_sdt_RSRP_Threshold_r17 = -1;  /* RSRP_Range */
static int hf_nr_rrc_sdt_LogicalChannelSR_DelayTimer_r17 = -1;  /* T_sdt_LogicalChannelSR_DelayTimer_r17 */
static int hf_nr_rrc_sdt_DataVolumeThreshold_r17 = -1;  /* T_sdt_DataVolumeThreshold_r17 */
static int hf_nr_rrc_t319a_r17 = -1;              /* T_t319a_r17 */
static int hf_nr_rrc_halfDuplexRedCapAllowed_r17 = -1;  /* T_halfDuplexRedCapAllowed_r17 */
static int hf_nr_rrc_cellBarredRedCap_r17 = -1;   /* T_cellBarredRedCap_r17 */
static int hf_nr_rrc_cellBarredRedCap1Rx_r17 = -1;  /* T_cellBarredRedCap1Rx_r17 */
static int hf_nr_rrc_cellBarredRedCap2Rx_r17 = -1;  /* T_cellBarredRedCap2Rx_r17 */
static int hf_nr_rrc_criticalExtensions_39 = -1;  /* T_criticalExtensions_39 */
static int hf_nr_rrc_sidelinkUEInformationNR_r16_03 = -1;  /* SidelinkUEInformationNR_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_39 = -1;  /* T_criticalExtensionsFuture_39 */
static int hf_nr_rrc_sl_RxInterestedFreqList_r16 = -1;  /* SL_InterestedFreqList_r16 */
static int hf_nr_rrc_sl_TxResourceReqList_r16 = -1;  /* SL_TxResourceReqList_r16 */
static int hf_nr_rrc_sl_FailureList_r16 = -1;     /* SL_FailureList_r16 */
static int hf_nr_rrc_nonCriticalExtension_102 = -1;  /* SidelinkUEInformationNR_v1700_IEs */
static int hf_nr_rrc_sl_TxResourceReqList_v1700 = -1;  /* SL_TxResourceReqList_v1700 */
static int hf_nr_rrc_sl_RxDRX_ReportList_v1700 = -1;  /* SL_RxDRX_ReportList_v1700 */
static int hf_nr_rrc_sl_RxInterestedGC_BC_DestList_r17 = -1;  /* SL_RxInterestedGC_BC_DestList_r17 */
static int hf_nr_rrc_sl_RxInterestedFreqListDisc_r17 = -1;  /* SL_InterestedFreqList_r16 */
static int hf_nr_rrc_sl_TxResourceReqListDisc_r17 = -1;  /* SL_TxResourceReqListDisc_r17 */
static int hf_nr_rrc_sl_TxResourceReqListCommRelay_r17 = -1;  /* SL_TxResourceReqListCommRelay_r17 */
static int hf_nr_rrc_ue_Type_r17 = -1;            /* T_ue_Type_r17 */
static int hf_nr_rrc_sl_SourceIdentityRemoteUE_r17 = -1;  /* SL_SourceIdentity_r17 */
static int hf_nr_rrc_nonCriticalExtension_103 = -1;  /* T_nonCriticalExtension_40 */
static int hf_nr_rrc_SL_InterestedFreqList_r16_item = -1;  /* INTEGER_1_maxNrofFreqSL_r16 */
static int hf_nr_rrc_SL_TxResourceReqList_r16_item = -1;  /* SL_TxResourceReq_r16 */
static int hf_nr_rrc_sl_DestinationIdentity_r16 = -1;  /* SL_DestinationIdentity_r16 */
static int hf_nr_rrc_sl_CastType_r16 = -1;        /* T_sl_CastType_r16 */
static int hf_nr_rrc_sl_RLC_ModeIndicationList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16 */
static int hf_nr_rrc_sl_RLC_ModeIndicationList_r16_item = -1;  /* SL_RLC_ModeIndication_r16 */
static int hf_nr_rrc_sl_QoS_InfoList_r16 = -1;    /* SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 */
static int hf_nr_rrc_sl_QoS_InfoList_r16_item = -1;  /* SL_QoS_Info_r16 */
static int hf_nr_rrc_sl_TypeTxSyncList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 */
static int hf_nr_rrc_sl_TypeTxSyncList_r16_item = -1;  /* SL_TypeTxSync_r16 */
static int hf_nr_rrc_sl_TxInterestedFreqList_r16 = -1;  /* SL_TxInterestedFreqList_r16 */
static int hf_nr_rrc_sl_CapabilityInformationSidelink_r16 = -1;  /* T_sl_CapabilityInformationSidelink_r16 */
static int hf_nr_rrc_SL_TxResourceReqList_v1700_item = -1;  /* SL_TxResourceReq_v1700 */
static int hf_nr_rrc_SL_RxDRX_ReportList_v1700_item = -1;  /* SL_RxDRX_Report_v1700 */
static int hf_nr_rrc_sl_DRX_InfoFromRxList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17 */
static int hf_nr_rrc_sl_DRX_InfoFromRxList_r17_item = -1;  /* SL_DRX_ConfigUC_SemiStatic_r17 */
static int hf_nr_rrc_sl_DRX_Indication_r17 = -1;  /* T_sl_DRX_Indication_r17 */
static int hf_nr_rrc_sl_DRX_ConfigFromTx_r17 = -1;  /* SL_DRX_ConfigUC_SemiStatic_r17 */
static int hf_nr_rrc_SL_RxInterestedGC_BC_DestList_r17_item = -1;  /* SL_RxInterestedGC_BC_Dest_r17 */
static int hf_nr_rrc_sl_RxInterestedQoS_InfoList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 */
static int hf_nr_rrc_sl_RxInterestedQoS_InfoList_r17_item = -1;  /* SL_QoS_Info_r16 */
static int hf_nr_rrc_SL_TxResourceReqListDisc_r17_item = -1;  /* SL_TxResourceReqDisc_r17 */
static int hf_nr_rrc_sl_DestinationIdentityDisc_r17 = -1;  /* SL_DestinationIdentity_r16 */
static int hf_nr_rrc_sl_SourceIdentityRelayUE_r17 = -1;  /* SL_SourceIdentity_r17 */
static int hf_nr_rrc_sl_CastTypeDisc_r17 = -1;    /* T_sl_CastTypeDisc_r17 */
static int hf_nr_rrc_sl_TxInterestedFreqListDisc_r17 = -1;  /* SL_TxInterestedFreqList_r16 */
static int hf_nr_rrc_sl_TypeTxSyncListDisc_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 */
static int hf_nr_rrc_sl_TypeTxSyncListDisc_r17_item = -1;  /* SL_TypeTxSync_r16 */
static int hf_nr_rrc_sl_DiscoveryType_r17 = -1;   /* T_sl_DiscoveryType_r17 */
static int hf_nr_rrc_SL_TxResourceReqListCommRelay_r17_item = -1;  /* SL_TxResourceReqCommRelayInfo_r17 */
static int hf_nr_rrc_sl_RelayDRXConfig_r17 = -1;  /* SL_TxResourceReq_v1700 */
static int hf_nr_rrc_sl_TxResourceReqCommRelay_r17 = -1;  /* SL_TxResourceReqCommRelay_r17 */
static int hf_nr_rrc_sl_TxResourceReqL2U2N_Relay_r17 = -1;  /* SL_TxResourceReqL2U2N_Relay_r17 */
static int hf_nr_rrc_sl_TxResourceReqL3U2N_Relay_r17 = -1;  /* SL_TxResourceReq_r16 */
static int hf_nr_rrc_sl_DestinationIdentityL2U2N_r17 = -1;  /* SL_DestinationIdentity_r16 */
static int hf_nr_rrc_sl_TxInterestedFreqListL2U2N_r17 = -1;  /* SL_TxInterestedFreqList_r16 */
static int hf_nr_rrc_sl_TypeTxSyncListL2U2N_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 */
static int hf_nr_rrc_sl_TypeTxSyncListL2U2N_r17_item = -1;  /* SL_TypeTxSync_r16 */
static int hf_nr_rrc_sl_LocalID_Request_r17 = -1;  /* T_sl_LocalID_Request_r17 */
static int hf_nr_rrc_sl_PagingIdentityRemoteUE_r17 = -1;  /* SL_PagingIdentityRemoteUE_r17 */
static int hf_nr_rrc_sl_CapabilityInformationSidelink_r17 = -1;  /* T_sl_CapabilityInformationSidelink_r17 */
static int hf_nr_rrc_SL_TxInterestedFreqList_r16_item = -1;  /* INTEGER_1_maxNrofFreqSL_r16 */
static int hf_nr_rrc_sl_QoS_FlowIdentity_r16 = -1;  /* SL_QoS_FlowIdentity_r16 */
static int hf_nr_rrc_sl_QoS_Profile_r16 = -1;     /* SL_QoS_Profile_r16 */
static int hf_nr_rrc_sl_Mode_r16 = -1;            /* T_sl_Mode_r16 */
static int hf_nr_rrc_sl_AM_Mode_r16 = -1;         /* NULL */
static int hf_nr_rrc_sl_UM_Mode_r16 = -1;         /* NULL */
static int hf_nr_rrc_SL_FailureList_r16_item = -1;  /* SL_Failure_r16 */
static int hf_nr_rrc_sl_Failure_r16 = -1;         /* T_sl_Failure_r16 */
static int hf_nr_rrc_criticalExtensions_40 = -1;  /* T_criticalExtensions_40 */
static int hf_nr_rrc_systemInformation_01 = -1;   /* SystemInformation_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_r16_01 = -1;  /* T_criticalExtensionsFuture_r16_01 */
static int hf_nr_rrc_posSystemInformation_r16 = -1;  /* PosSystemInformation_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_40 = -1;  /* T_criticalExtensionsFuture_40 */
static int hf_nr_rrc_sib_TypeAndInfo = -1;        /* T_sib_TypeAndInfo */
static int hf_nr_rrc_sib_TypeAndInfo_item = -1;   /* T_sib_TypeAndInfo_item */
static int hf_nr_rrc_sib2 = -1;                   /* SIB2 */
static int hf_nr_rrc_sib3 = -1;                   /* SIB3 */
static int hf_nr_rrc_sib4 = -1;                   /* SIB4 */
static int hf_nr_rrc_sib5 = -1;                   /* SIB5 */
static int hf_nr_rrc_sib6 = -1;                   /* SIB6 */
static int hf_nr_rrc_sib7 = -1;                   /* SIB7 */
static int hf_nr_rrc_sib8 = -1;                   /* SIB8 */
static int hf_nr_rrc_sib9 = -1;                   /* SIB9 */
static int hf_nr_rrc_sib10_v1610 = -1;            /* SIB10_r16 */
static int hf_nr_rrc_sib11_v1610 = -1;            /* SIB11_r16 */
static int hf_nr_rrc_sib12_v1610 = -1;            /* SIB12_r16 */
static int hf_nr_rrc_sib13_v1610 = -1;            /* SIB13_r16 */
static int hf_nr_rrc_sib14_v1610 = -1;            /* SIB14_r16 */
static int hf_nr_rrc_sib15_v1700 = -1;            /* SIB15_r17 */
static int hf_nr_rrc_sib16_v1700 = -1;            /* SIB16_r17 */
static int hf_nr_rrc_sib17_v1700 = -1;            /* SIB17_r17 */
static int hf_nr_rrc_sib18_v1700 = -1;            /* SIB18_r17 */
static int hf_nr_rrc_sib19_v1700 = -1;            /* SIB19_r17 */
static int hf_nr_rrc_sib20_v1700 = -1;            /* SIB20_r17 */
static int hf_nr_rrc_sib21_v1700 = -1;            /* SIB21_r17 */
static int hf_nr_rrc_nonCriticalExtension_104 = -1;  /* T_nonCriticalExtension_41 */
static int hf_nr_rrc_criticalExtensions_41 = -1;  /* T_criticalExtensions_41 */
static int hf_nr_rrc_ueAssistanceInformation_02 = -1;  /* UEAssistanceInformation_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_41 = -1;  /* T_criticalExtensionsFuture_41 */
static int hf_nr_rrc_delayBudgetReport = -1;      /* DelayBudgetReport */
static int hf_nr_rrc_nonCriticalExtension_105 = -1;  /* UEAssistanceInformation_v1540_IEs */
static int hf_nr_rrc_type1 = -1;                  /* T_type1 */
static int hf_nr_rrc_overheatingAssistance = -1;  /* OverheatingAssistance */
static int hf_nr_rrc_nonCriticalExtension_106 = -1;  /* UEAssistanceInformation_v1610_IEs */
static int hf_nr_rrc_reducedMaxCCs = -1;          /* ReducedMaxCCs_r16 */
static int hf_nr_rrc_reducedMaxBW_FR1 = -1;       /* ReducedMaxBW_FRx_r16 */
static int hf_nr_rrc_reducedMaxBW_FR2 = -1;       /* ReducedMaxBW_FRx_r16 */
static int hf_nr_rrc_reducedMaxMIMO_LayersFR1 = -1;  /* T_reducedMaxMIMO_LayersFR1 */
static int hf_nr_rrc_reducedMIMO_LayersFR1_DL = -1;  /* MIMO_LayersDL */
static int hf_nr_rrc_reducedMIMO_LayersFR1_UL = -1;  /* MIMO_LayersUL */
static int hf_nr_rrc_reducedMaxMIMO_LayersFR2 = -1;  /* T_reducedMaxMIMO_LayersFR2 */
static int hf_nr_rrc_reducedMIMO_LayersFR2_DL = -1;  /* MIMO_LayersDL */
static int hf_nr_rrc_reducedMIMO_LayersFR2_UL = -1;  /* MIMO_LayersUL */
static int hf_nr_rrc_reducedMaxBW_FR2_2_r17 = -1;  /* T_reducedMaxBW_FR2_2_r17 */
static int hf_nr_rrc_reducedBW_FR2_2_DL_r17 = -1;  /* ReducedAggregatedBandwidth_r17 */
static int hf_nr_rrc_reducedBW_FR2_2_UL_r17 = -1;  /* ReducedAggregatedBandwidth_r17 */
static int hf_nr_rrc_reducedMaxMIMO_LayersFR2_2 = -1;  /* T_reducedMaxMIMO_LayersFR2_2 */
static int hf_nr_rrc_reducedMIMO_LayersFR2_2_DL = -1;  /* MIMO_LayersDL */
static int hf_nr_rrc_reducedMIMO_LayersFR2_2_UL = -1;  /* MIMO_LayersUL */
static int hf_nr_rrc_idc_Assistance_r16 = -1;     /* IDC_Assistance_r16 */
static int hf_nr_rrc_drx_Preference_r16 = -1;     /* DRX_Preference_r16 */
static int hf_nr_rrc_maxBW_Preference_r16 = -1;   /* MaxBW_Preference_r16 */
static int hf_nr_rrc_maxCC_Preference_r16 = -1;   /* MaxCC_Preference_r16 */
static int hf_nr_rrc_maxMIMO_LayerPreference_r16 = -1;  /* MaxMIMO_LayerPreference_r16 */
static int hf_nr_rrc_minSchedulingOffsetPreference_r16 = -1;  /* MinSchedulingOffsetPreference_r16 */
static int hf_nr_rrc_releasePreference_r16 = -1;  /* ReleasePreference_r16 */
static int hf_nr_rrc_sl_UE_AssistanceInformationNR_r16 = -1;  /* SL_UE_AssistanceInformationNR_r16 */
static int hf_nr_rrc_referenceTimeInfoPreference_r16 = -1;  /* BOOLEAN */
static int hf_nr_rrc_nonCriticalExtension_107 = -1;  /* UEAssistanceInformation_v1700_IEs */
static int hf_nr_rrc_ul_GapFR2_Preference_r17 = -1;  /* UL_GapFR2_Preference_r17 */
static int hf_nr_rrc_musim_Assistance_r17 = -1;   /* MUSIM_Assistance_r17 */
static int hf_nr_rrc_overheatingAssistance_r17 = -1;  /* OverheatingAssistance_r17 */
static int hf_nr_rrc_maxBW_PreferenceFR2_2_r17 = -1;  /* MaxBW_PreferenceFR2_2_r17 */
static int hf_nr_rrc_maxMIMO_LayerPreferenceFR2_2_r17 = -1;  /* MaxMIMO_LayerPreferenceFR2_2_r17 */
static int hf_nr_rrc_minSchedulingOffsetPreferenceExt_r17 = -1;  /* MinSchedulingOffsetPreferenceExt_r17 */
static int hf_nr_rrc_rlm_MeasRelaxationState_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_bfd_MeasRelaxationState_r17 = -1;  /* BIT_STRING_SIZE_1_maxNrofServingCells */
static int hf_nr_rrc_nonSDT_DataIndication_r17 = -1;  /* T_nonSDT_DataIndication_r17 */
static int hf_nr_rrc_resumeCause_r17 = -1;        /* ResumeCause */
static int hf_nr_rrc_scg_DeactivationPreference_r17 = -1;  /* T_scg_DeactivationPreference_r17 */
static int hf_nr_rrc_uplinkData_r17 = -1;         /* T_uplinkData_r17 */
static int hf_nr_rrc_rrm_MeasRelaxationFulfilment_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_propagationDelayDifference_r17 = -1;  /* PropagationDelayDifference_r17 */
static int hf_nr_rrc_nonCriticalExtension_108 = -1;  /* T_nonCriticalExtension_42 */
static int hf_nr_rrc_affectedCarrierFreqList_r16 = -1;  /* AffectedCarrierFreqList_r16 */
static int hf_nr_rrc_affectedCarrierFreqCombList_r16 = -1;  /* AffectedCarrierFreqCombList_r16 */
static int hf_nr_rrc_AffectedCarrierFreqList_r16_item = -1;  /* AffectedCarrierFreq_r16 */
static int hf_nr_rrc_carrierFreq_r16_01 = -1;     /* ARFCN_ValueNR */
static int hf_nr_rrc_interferenceDirection_r16 = -1;  /* T_interferenceDirection_r16 */
static int hf_nr_rrc_AffectedCarrierFreqCombList_r16_item = -1;  /* AffectedCarrierFreqComb_r16 */
static int hf_nr_rrc_affectedCarrierFreqComb_r16 = -1;  /* SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR */
static int hf_nr_rrc_affectedCarrierFreqComb_r16_item = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_victimSystemType_r16 = -1;   /* VictimSystemType_r16 */
static int hf_nr_rrc_gps_r16 = -1;                /* T_gps_r16 */
static int hf_nr_rrc_glonass_r16 = -1;            /* T_glonass_r16 */
static int hf_nr_rrc_bds_r16 = -1;                /* T_bds_r16 */
static int hf_nr_rrc_galileo_r16 = -1;            /* T_galileo_r16 */
static int hf_nr_rrc_navIC_r16 = -1;              /* T_navIC_r16 */
static int hf_nr_rrc_wlan_r16 = -1;               /* T_wlan_r16 */
static int hf_nr_rrc_bluetooth_r16 = -1;          /* T_bluetooth_r16 */
static int hf_nr_rrc_preferredDRX_InactivityTimer_r16 = -1;  /* T_preferredDRX_InactivityTimer_r16 */
static int hf_nr_rrc_preferredDRX_LongCycle_r16 = -1;  /* T_preferredDRX_LongCycle_r16 */
static int hf_nr_rrc_preferredDRX_ShortCycle_r16 = -1;  /* T_preferredDRX_ShortCycle_r16 */
static int hf_nr_rrc_preferredDRX_ShortCycleTimer_r16 = -1;  /* INTEGER_1_16 */
static int hf_nr_rrc_reducedMaxBW_FR1_r16 = -1;   /* ReducedMaxBW_FRx_r16 */
static int hf_nr_rrc_reducedMaxBW_FR2_r16 = -1;   /* ReducedMaxBW_FRx_r16 */
static int hf_nr_rrc_reducedMaxBW_FR2_2_r17_01 = -1;  /* T_reducedMaxBW_FR2_2_r17_01 */
static int hf_nr_rrc_reducedMaxCCs_r16 = -1;      /* ReducedMaxCCs_r16 */
static int hf_nr_rrc_reducedMaxMIMO_LayersFR1_r16 = -1;  /* T_reducedMaxMIMO_LayersFR1_r16 */
static int hf_nr_rrc_reducedMIMO_LayersFR1_DL_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_reducedMIMO_LayersFR1_UL_r16 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_reducedMaxMIMO_LayersFR2_r16 = -1;  /* T_reducedMaxMIMO_LayersFR2_r16 */
static int hf_nr_rrc_reducedMIMO_LayersFR2_DL_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_reducedMIMO_LayersFR2_UL_r16 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_reducedMaxMIMO_LayersFR2_2_r17 = -1;  /* T_reducedMaxMIMO_LayersFR2_2_r17 */
static int hf_nr_rrc_reducedMIMO_LayersFR2_2_DL_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_reducedMIMO_LayersFR2_2_UL_r17 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_preferredK0_r16 = -1;        /* T_preferredK0_r16 */
static int hf_nr_rrc_preferredK0_SCS_15kHz_r16 = -1;  /* T_preferredK0_SCS_15kHz_r16 */
static int hf_nr_rrc_preferredK0_SCS_30kHz_r16 = -1;  /* T_preferredK0_SCS_30kHz_r16 */
static int hf_nr_rrc_preferredK0_SCS_60kHz_r16 = -1;  /* T_preferredK0_SCS_60kHz_r16 */
static int hf_nr_rrc_preferredK0_SCS_120kHz_r16 = -1;  /* T_preferredK0_SCS_120kHz_r16 */
static int hf_nr_rrc_preferredK2_r16 = -1;        /* T_preferredK2_r16 */
static int hf_nr_rrc_preferredK2_SCS_15kHz_r16 = -1;  /* T_preferredK2_SCS_15kHz_r16 */
static int hf_nr_rrc_preferredK2_SCS_30kHz_r16 = -1;  /* T_preferredK2_SCS_30kHz_r16 */
static int hf_nr_rrc_preferredK2_SCS_60kHz_r16 = -1;  /* T_preferredK2_SCS_60kHz_r16 */
static int hf_nr_rrc_preferredK2_SCS_120kHz_r16 = -1;  /* T_preferredK2_SCS_120kHz_r16 */
static int hf_nr_rrc_preferredK0_r17 = -1;        /* T_preferredK0_r17 */
static int hf_nr_rrc_preferredK0_SCS_480kHz_r17 = -1;  /* T_preferredK0_SCS_480kHz_r17 */
static int hf_nr_rrc_preferredK0_SCS_960kHz_r17 = -1;  /* T_preferredK0_SCS_960kHz_r17 */
static int hf_nr_rrc_preferredK2_r17 = -1;        /* T_preferredK2_r17 */
static int hf_nr_rrc_preferredK2_SCS_480kHz_r17 = -1;  /* T_preferredK2_SCS_480kHz_r17 */
static int hf_nr_rrc_preferredK2_SCS_960kHz_r17 = -1;  /* T_preferredK2_SCS_960kHz_r17 */
static int hf_nr_rrc_musim_PreferredRRC_State_r17 = -1;  /* T_musim_PreferredRRC_State_r17 */
static int hf_nr_rrc_musim_GapPreferenceList_r17 = -1;  /* MUSIM_GapPreferenceList_r17 */
static int hf_nr_rrc_MUSIM_GapPreferenceList_r17_item = -1;  /* MUSIM_GapInfo_r17 */
static int hf_nr_rrc_preferredRRC_State_r16 = -1;  /* T_preferredRRC_State_r16 */
static int hf_nr_rrc_reducedBW_DL_r16 = -1;       /* ReducedAggregatedBandwidth */
static int hf_nr_rrc_reducedBW_UL_r16 = -1;       /* ReducedAggregatedBandwidth */
static int hf_nr_rrc_reducedCCsDL_r16 = -1;       /* INTEGER_0_31 */
static int hf_nr_rrc_reducedCCsUL_r16 = -1;       /* INTEGER_0_31 */
static int hf_nr_rrc_SL_UE_AssistanceInformationNR_r16_item = -1;  /* SL_TrafficPatternInfo_r16 */
static int hf_nr_rrc_trafficPeriodicity_r16 = -1;  /* T_trafficPeriodicity_r16 */
static int hf_nr_rrc_timingOffset_r16 = -1;       /* INTEGER_0_10239 */
static int hf_nr_rrc_messageSize_r16 = -1;        /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_ul_GapFR2_PatternPreference_r17 = -1;  /* INTEGER_0_3 */
static int hf_nr_rrc_PropagationDelayDifference_r17_item = -1;  /* INTEGER_M270_270 */
static int hf_nr_rrc_criticalExtensions_42 = -1;  /* T_criticalExtensions_42 */
static int hf_nr_rrc_ueCapabilityEnquiry_01 = -1;  /* UECapabilityEnquiry_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_42 = -1;  /* T_criticalExtensionsFuture_42 */
static int hf_nr_rrc_ue_CapabilityRAT_RequestList = -1;  /* UE_CapabilityRAT_RequestList */
static int hf_nr_rrc_ue_CapabilityEnquiryExt = -1;  /* T_ue_CapabilityEnquiryExt */
static int hf_nr_rrc_capabilityRequestFilterCommon = -1;  /* UE_CapabilityRequestFilterCommon */
static int hf_nr_rrc_nonCriticalExtension_109 = -1;  /* UECapabilityEnquiry_v1610_IEs */
static int hf_nr_rrc_rrc_SegAllowed_r16 = -1;     /* T_rrc_SegAllowed_r16 */
static int hf_nr_rrc_nonCriticalExtension_110 = -1;  /* T_nonCriticalExtension_43 */
static int hf_nr_rrc_criticalExtensions_43 = -1;  /* T_criticalExtensions_43 */
static int hf_nr_rrc_ueCapabilityInformation_01 = -1;  /* UECapabilityInformation_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_43 = -1;  /* T_criticalExtensionsFuture_43 */
static int hf_nr_rrc_ue_CapabilityRAT_ContainerList = -1;  /* UE_CapabilityRAT_ContainerList */
static int hf_nr_rrc_nonCriticalExtension_111 = -1;  /* T_nonCriticalExtension_44 */
static int hf_nr_rrc_criticalExtensions_44 = -1;  /* T_criticalExtensions_44 */
static int hf_nr_rrc_ueInformationRequest_r16_01 = -1;  /* UEInformationRequest_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_44 = -1;  /* T_criticalExtensionsFuture_44 */
static int hf_nr_rrc_idleModeMeasurementReq_r16_01 = -1;  /* T_idleModeMeasurementReq_r16_01 */
static int hf_nr_rrc_logMeasReportReq_r16 = -1;   /* T_logMeasReportReq_r16 */
static int hf_nr_rrc_connEstFailReportReq_r16 = -1;  /* T_connEstFailReportReq_r16 */
static int hf_nr_rrc_ra_ReportReq_r16 = -1;       /* T_ra_ReportReq_r16 */
static int hf_nr_rrc_rlf_ReportReq_r16 = -1;      /* T_rlf_ReportReq_r16 */
static int hf_nr_rrc_mobilityHistoryReportReq_r16 = -1;  /* T_mobilityHistoryReportReq_r16 */
static int hf_nr_rrc_nonCriticalExtension_112 = -1;  /* UEInformationRequest_v1700_IEs */
static int hf_nr_rrc_successHO_ReportReq_r17 = -1;  /* T_successHO_ReportReq_r17 */
static int hf_nr_rrc_coarseLocationRequest_r17 = -1;  /* T_coarseLocationRequest_r17 */
static int hf_nr_rrc_nonCriticalExtension_113 = -1;  /* T_nonCriticalExtension_45 */
static int hf_nr_rrc_criticalExtensions_45 = -1;  /* T_criticalExtensions_45 */
static int hf_nr_rrc_ueInformationResponse_r16_01 = -1;  /* UEInformationResponse_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_45 = -1;  /* T_criticalExtensionsFuture_45 */
static int hf_nr_rrc_logMeasReport_r16 = -1;      /* LogMeasReport_r16 */
static int hf_nr_rrc_connEstFailReport_r16 = -1;  /* ConnEstFailReport_r16 */
static int hf_nr_rrc_ra_ReportList_r16 = -1;      /* RA_ReportList_r16 */
static int hf_nr_rrc_rlf_Report_r16 = -1;         /* RLF_Report_r16 */
static int hf_nr_rrc_mobilityHistoryReport_r16 = -1;  /* MobilityHistoryReport_r16 */
static int hf_nr_rrc_nonCriticalExtension_114 = -1;  /* UEInformationResponse_v1700_IEs */
static int hf_nr_rrc_successHO_Report_r17 = -1;   /* SuccessHO_Report_r17 */
static int hf_nr_rrc_connEstFailReportList_r17 = -1;  /* ConnEstFailReportList_r17 */
static int hf_nr_rrc_coarseLocationInfo_r17 = -1;  /* T_coarseLocationInfo_r17 */
static int hf_nr_rrc_nonCriticalExtension_115 = -1;  /* T_nonCriticalExtension_46 */
static int hf_nr_rrc_absoluteTimeStamp_r16 = -1;  /* AbsoluteTimeInfo_r16 */
static int hf_nr_rrc_logMeasInfoList_r16 = -1;    /* LogMeasInfoList_r16 */
static int hf_nr_rrc_logMeasAvailable_r16 = -1;   /* T_logMeasAvailable_r16 */
static int hf_nr_rrc_logMeasAvailableBT_r16 = -1;  /* T_logMeasAvailableBT_r16 */
static int hf_nr_rrc_logMeasAvailableWLAN_r16 = -1;  /* T_logMeasAvailableWLAN_r16 */
static int hf_nr_rrc_LogMeasInfoList_r16_item = -1;  /* LogMeasInfo_r16 */
static int hf_nr_rrc_relativeTimeStamp_r16 = -1;  /* INTEGER_0_7200 */
static int hf_nr_rrc_servCellIdentity_r16 = -1;   /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_measResultServingCell_r16 = -1;  /* MeasResultServingCell_r16 */
static int hf_nr_rrc_measResultNeighCells_r16 = -1;  /* T_measResultNeighCells_r16 */
static int hf_nr_rrc_measResultNeighCellListNR = -1;  /* MeasResultListLogging2NR_r16 */
static int hf_nr_rrc_measResultNeighCellListEUTRA = -1;  /* MeasResultList2EUTRA_r16 */
static int hf_nr_rrc_anyCellSelectionDetected_r16 = -1;  /* T_anyCellSelectionDetected_r16 */
static int hf_nr_rrc_inDeviceCoexDetected_r17 = -1;  /* T_inDeviceCoexDetected_r17 */
static int hf_nr_rrc_measResultFailedCell_r16 = -1;  /* MeasResultFailedCell_r16 */
static int hf_nr_rrc_measResultNeighCells_r16_01 = -1;  /* T_measResultNeighCells_r16_01 */
static int hf_nr_rrc_measResultNeighCellListNR_01 = -1;  /* MeasResultList2NR_r16 */
static int hf_nr_rrc_numberOfConnFail_r16 = -1;   /* INTEGER_1_8 */
static int hf_nr_rrc_perRAInfoList_r16 = -1;      /* PerRAInfoList_r16 */
static int hf_nr_rrc_timeSinceFailure_r16 = -1;   /* TimeSinceFailure_r16 */
static int hf_nr_rrc_ConnEstFailReportList_r17_item = -1;  /* ConnEstFailReport_r16 */
static int hf_nr_rrc_resultsSSB_Cell = -1;        /* MeasQuantityResults */
static int hf_nr_rrc_resultsSSB = -1;             /* T_resultsSSB */
static int hf_nr_rrc_best_ssb_Index = -1;         /* SSB_Index */
static int hf_nr_rrc_best_ssb_Results = -1;       /* MeasQuantityResults */
static int hf_nr_rrc_numberOfGoodSSB = -1;        /* INTEGER_1_maxNrofSSBs_r16 */
static int hf_nr_rrc_cgi_Info_01 = -1;            /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_measResult_r16 = -1;         /* T_measResult_r16 */
static int hf_nr_rrc_cellResults_r16 = -1;        /* T_cellResults_r16 */
static int hf_nr_rrc_resultsSSB_Cell_r16 = -1;    /* MeasQuantityResults */
static int hf_nr_rrc_rsIndexResults_r16 = -1;     /* T_rsIndexResults_r16 */
static int hf_nr_rrc_resultsSSB_Indexes_r16 = -1;  /* ResultsPerSSB_IndexList */
static int hf_nr_rrc_RA_ReportList_r16_item = -1;  /* RA_Report_r16 */
static int hf_nr_rrc_cellId_r16 = -1;             /* T_cellId_r16 */
static int hf_nr_rrc_cellGlobalId_r16 = -1;       /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_pci_arfcn_r16 = -1;          /* PCI_ARFCN_NR_r16 */
static int hf_nr_rrc_ra_InformationCommon_r16 = -1;  /* RA_InformationCommon_r16 */
static int hf_nr_rrc_raPurpose_r16 = -1;          /* T_raPurpose_r16 */
static int hf_nr_rrc_spCellID_r17 = -1;           /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_absoluteFrequencyPointA_r16 = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_locationAndBandwidth_r16 = -1;  /* INTEGER_0_37949 */
static int hf_nr_rrc_subcarrierSpacing_r16 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_msg1_FrequencyStart_r16 = -1;  /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_msg1_FrequencyStartCFRA_r16 = -1;  /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_msg1_SubcarrierSpacing_r16 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_msg1_SubcarrierSpacingCFRA_r16 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_msg1_FDM_r16 = -1;           /* T_msg1_FDM_r16 */
static int hf_nr_rrc_msg1_FDMCFRA_r16 = -1;       /* T_msg1_FDMCFRA_r16 */
static int hf_nr_rrc_perRAInfoList_v1660 = -1;    /* PerRAInfoList_v1660 */
static int hf_nr_rrc_msg1_SCS_From_prach_ConfigurationIndex_r16 = -1;  /* T_msg1_SCS_From_prach_ConfigurationIndex_r16 */
static int hf_nr_rrc_msg1_SCS_From_prach_ConfigurationIndexCFRA_r16 = -1;  /* T_msg1_SCS_From_prach_ConfigurationIndexCFRA_r16 */
static int hf_nr_rrc_msgA_RO_FrequencyStart_r17 = -1;  /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_msgA_RO_FrequencyStartCFRA_r17 = -1;  /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_msgA_SubcarrierSpacing_r17 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_msgA_RO_FDM_r17 = -1;        /* T_msgA_RO_FDM_r17 */
static int hf_nr_rrc_msgA_RO_FDMCFRA_r17 = -1;    /* T_msgA_RO_FDMCFRA_r17 */
static int hf_nr_rrc_msgA_SCS_From_prach_ConfigurationIndex_r17 = -1;  /* T_msgA_SCS_From_prach_ConfigurationIndex_r17 */
static int hf_nr_rrc_msgA_TransMax_r17 = -1;      /* T_msgA_TransMax_r17 */
static int hf_nr_rrc_msgA_MCS_r17 = -1;           /* INTEGER_0_15 */
static int hf_nr_rrc_nrofPRBs_PerMsgA_PO_r17 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r17 = -1;  /* INTEGER_1_maxNrofUL_Allocations */
static int hf_nr_rrc_frequencyStartMsgA_PUSCH_r17 = -1;  /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_nrofMsgA_PO_FDM_r17 = -1;    /* T_nrofMsgA_PO_FDM_r17 */
static int hf_nr_rrc_dlPathlossRSRP_r17 = -1;     /* RSRP_Range */
static int hf_nr_rrc_intendedSIBs_r17 = -1;       /* SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17 */
static int hf_nr_rrc_intendedSIBs_r17_item = -1;  /* SIB_Type_r17 */
static int hf_nr_rrc_ssbsForSI_Acquisition_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index */
static int hf_nr_rrc_ssbsForSI_Acquisition_r17_item = -1;  /* SSB_Index */
static int hf_nr_rrc_msgA_PUSCH_PayloadSize_r17 = -1;  /* BIT_STRING_SIZE_5 */
static int hf_nr_rrc_onDemandSISuccess_r17 = -1;  /* T_onDemandSISuccess_r17 */
static int hf_nr_rrc_PerRAInfoList_r16_item = -1;  /* PerRAInfo_r16 */
static int hf_nr_rrc_PerRAInfoList_v1660_item = -1;  /* PerRACSI_RSInfo_v1660 */
static int hf_nr_rrc_perRASSBInfoList_r16 = -1;   /* PerRASSBInfo_r16 */
static int hf_nr_rrc_perRACSI_RSInfoList_r16 = -1;  /* PerRACSI_RSInfo_r16 */
static int hf_nr_rrc_ssb_Index_r16 = -1;          /* SSB_Index */
static int hf_nr_rrc_numberOfPreamblesSentOnSSB_r16 = -1;  /* INTEGER_1_200 */
static int hf_nr_rrc_perRAAttemptInfoList_r16 = -1;  /* PerRAAttemptInfoList_r16 */
static int hf_nr_rrc_csi_RS_Index_r16 = -1;       /* CSI_RS_Index */
static int hf_nr_rrc_numberOfPreamblesSentOnCSI_RS_r16 = -1;  /* INTEGER_1_200 */
static int hf_nr_rrc_csi_RS_Index_v1660 = -1;     /* INTEGER_1_96 */
static int hf_nr_rrc_PerRAAttemptInfoList_r16_item = -1;  /* PerRAAttemptInfo_r16 */
static int hf_nr_rrc_contentionDetected_r16 = -1;  /* BOOLEAN */
static int hf_nr_rrc_dlRSRPAboveThreshold_r16 = -1;  /* BOOLEAN */
static int hf_nr_rrc_fallbackToFourStepRA_r17 = -1;  /* T_fallbackToFourStepRA_r17 */
static int hf_nr_rrc_nr_RLF_Report_r16 = -1;      /* T_nr_RLF_Report_r16 */
static int hf_nr_rrc_measResultLastServCell_r16 = -1;  /* MeasResultRLFNR_r16 */
static int hf_nr_rrc_measResultNeighCells_r16_02 = -1;  /* T_measResultNeighCells_r16_02 */
static int hf_nr_rrc_measResultListNR_r16 = -1;   /* MeasResultList2NR_r16 */
static int hf_nr_rrc_measResultListEUTRA_r16 = -1;  /* MeasResultList2EUTRA_r16 */
static int hf_nr_rrc_c_RNTI_r16 = -1;             /* RNTI_Value */
static int hf_nr_rrc_previousPCellId_r16 = -1;    /* T_previousPCellId_r16 */
static int hf_nr_rrc_nrPreviousCell_r16 = -1;     /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_eutraPreviousCell_r16 = -1;  /* CGI_InfoEUTRALogging */
static int hf_nr_rrc_failedPCellId_r16 = -1;      /* T_failedPCellId_r16 */
static int hf_nr_rrc_nrFailedPCellId_r16 = -1;    /* T_nrFailedPCellId_r16 */
static int hf_nr_rrc_eutraFailedPCellId_r16 = -1;  /* T_eutraFailedPCellId_r16 */
static int hf_nr_rrc_cellGlobalId_r16_01 = -1;    /* CGI_InfoEUTRALogging */
static int hf_nr_rrc_pci_arfcn_r16_01 = -1;       /* PCI_ARFCN_EUTRA_r16 */
static int hf_nr_rrc_reconnectCellId_r16 = -1;    /* T_reconnectCellId_r16 */
static int hf_nr_rrc_nrReconnectCellId_r16 = -1;  /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_eutraReconnectCellId_r16 = -1;  /* CGI_InfoEUTRALogging */
static int hf_nr_rrc_timeUntilReconnection_r16 = -1;  /* TimeUntilReconnection_r16 */
static int hf_nr_rrc_reestablishmentCellId_r16 = -1;  /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_timeConnFailure_r16 = -1;    /* INTEGER_0_1023 */
static int hf_nr_rrc_connectionFailureType_r16 = -1;  /* T_connectionFailureType_r16 */
static int hf_nr_rrc_rlf_Cause_r16 = -1;          /* T_rlf_Cause_r16 */
static int hf_nr_rrc_noSuitableCellFound_r16 = -1;  /* T_noSuitableCellFound_r16 */
static int hf_nr_rrc_csi_rsRLMConfigBitmap_v1650 = -1;  /* BIT_STRING_SIZE_96 */
static int hf_nr_rrc_lastHO_Type_r17 = -1;        /* T_lastHO_Type_r17 */
static int hf_nr_rrc_timeConnSourceDAPS_Failure_r17 = -1;  /* TimeConnSourceDAPS_Failure_r17 */
static int hf_nr_rrc_timeSinceCHO_Reconfig_r17 = -1;  /* TimeSinceCHO_Reconfig_r17 */
static int hf_nr_rrc_choCellId_r17 = -1;          /* T_choCellId_r17 */
static int hf_nr_rrc_cellGlobalId_r17 = -1;       /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_pci_arfcn_r17 = -1;          /* PCI_ARFCN_NR_r16 */
static int hf_nr_rrc_choCandidateCellList_r17 = -1;  /* ChoCandidateCellList_r17 */
static int hf_nr_rrc_eutra_RLF_Report_r16 = -1;   /* T_eutra_RLF_Report_r16 */
static int hf_nr_rrc_failedPCellId_EUTRA = -1;    /* CGI_InfoEUTRALogging */
static int hf_nr_rrc_measResult_RLF_Report_EUTRA_r16 = -1;  /* T_measResult_RLF_Report_EUTRA_r16 */
static int hf_nr_rrc_measResult_RLF_Report_EUTRA_v1690 = -1;  /* T_measResult_RLF_Report_EUTRA_v1690 */
static int hf_nr_rrc_sourceCellInfo_r17 = -1;     /* T_sourceCellInfo_r17 */
static int hf_nr_rrc_sourcePCellId_r17 = -1;      /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_sourceCellMeas_r17 = -1;     /* MeasResultSuccessHONR_r17 */
static int hf_nr_rrc_rlf_InSourceDAPS_r17 = -1;   /* T_rlf_InSourceDAPS_r17 */
static int hf_nr_rrc_targetCellInfo_r17 = -1;     /* T_targetCellInfo_r17 */
static int hf_nr_rrc_targetPCellId_r17 = -1;      /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_targetCellMeas_r17 = -1;     /* MeasResultSuccessHONR_r17 */
static int hf_nr_rrc_measResultNeighCells_r17 = -1;  /* T_measResultNeighCells_r17 */
static int hf_nr_rrc_measResultListNR_r17 = -1;   /* MeasResultList2NR_r16 */
static int hf_nr_rrc_measResultListEUTRA_r17 = -1;  /* MeasResultList2EUTRA_r16 */
static int hf_nr_rrc_locationInfo_r17 = -1;       /* LocationInfo_r16 */
static int hf_nr_rrc_shr_Cause_r17 = -1;          /* SHR_Cause_r17 */
static int hf_nr_rrc_ra_InformationCommon_r17 = -1;  /* RA_InformationCommon_r16 */
static int hf_nr_rrc_upInterruptionTimeAtHO_r17 = -1;  /* UPInterruptionTimeAtHO_r17 */
static int hf_nr_rrc_c_RNTI_r17 = -1;             /* RNTI_Value */
static int hf_nr_rrc_MeasResultList2NR_r16_item = -1;  /* MeasResult2NR_r16 */
static int hf_nr_rrc_MeasResultList2EUTRA_r16_item = -1;  /* MeasResult2EUTRA_r16 */
static int hf_nr_rrc_ssbFrequency_r16 = -1;       /* ARFCN_ValueNR */
static int hf_nr_rrc_refFreqCSI_RS_r16 = -1;      /* ARFCN_ValueNR */
static int hf_nr_rrc_measResultList_r16 = -1;     /* MeasResultListNR */
static int hf_nr_rrc_MeasResultListLogging2NR_r16_item = -1;  /* MeasResultLogging2NR_r16 */
static int hf_nr_rrc_measResultListLoggingNR_r16 = -1;  /* MeasResultListLoggingNR_r16 */
static int hf_nr_rrc_MeasResultListLoggingNR_r16_item = -1;  /* MeasResultLoggingNR_r16 */
static int hf_nr_rrc_physCellId_r16 = -1;         /* PhysCellId */
static int hf_nr_rrc_numberOfGoodSSB_r16 = -1;    /* INTEGER_1_maxNrofSSBs_r16 */
static int hf_nr_rrc_carrierFreq_r16_02 = -1;     /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_measResultList_r16_01 = -1;  /* MeasResultListEUTRA */
static int hf_nr_rrc_measResult_r16_01 = -1;      /* T_measResult_r16_01 */
static int hf_nr_rrc_cellResults_r16_01 = -1;     /* T_cellResults_r16_01 */
static int hf_nr_rrc_resultsCSI_RS_Cell_r16 = -1;  /* MeasQuantityResults */
static int hf_nr_rrc_rsIndexResults_r16_01 = -1;  /* T_rsIndexResults_r16_01 */
static int hf_nr_rrc_ssbRLMConfigBitmap_r16 = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_resultsCSI_RS_Indexes_r16 = -1;  /* ResultsPerCSI_RS_IndexList */
static int hf_nr_rrc_csi_rsRLMConfigBitmap_r16 = -1;  /* BIT_STRING_SIZE_96 */
static int hf_nr_rrc_measResult_r17 = -1;         /* T_measResult_r17 */
static int hf_nr_rrc_cellResults_r17 = -1;        /* T_cellResults_r17 */
static int hf_nr_rrc_resultsSSB_Cell_r17 = -1;    /* MeasQuantityResults */
static int hf_nr_rrc_resultsCSI_RS_Cell_r17 = -1;  /* MeasQuantityResults */
static int hf_nr_rrc_rsIndexResults_r17 = -1;     /* T_rsIndexResults_r17 */
static int hf_nr_rrc_resultsSSB_Indexes_r17 = -1;  /* ResultsPerSSB_IndexList */
static int hf_nr_rrc_resultsCSI_RS_Indexes_r17 = -1;  /* ResultsPerCSI_RS_IndexList */
static int hf_nr_rrc_ChoCandidateCellList_r17_item = -1;  /* ChoCandidateCell_r17 */
static int hf_nr_rrc_t304_cause_r17 = -1;         /* T_t304_cause_r17 */
static int hf_nr_rrc_t310_cause_r17 = -1;         /* T_t310_cause_r17 */
static int hf_nr_rrc_t312_cause_r17 = -1;         /* T_t312_cause_r17 */
static int hf_nr_rrc_sourceDAPS_Failure_r17 = -1;  /* T_sourceDAPS_Failure_r17 */
static int hf_nr_rrc_criticalExtensions_46 = -1;  /* T_criticalExtensions_46 */
static int hf_nr_rrc_uePositioningAssistanceInfo_r17_01 = -1;  /* UEPositioningAssistanceInfo_r17_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_46 = -1;  /* T_criticalExtensionsFuture_46 */
static int hf_nr_rrc_ue_TxTEG_AssociationList_r17 = -1;  /* UE_TxTEG_AssociationList_r17 */
static int hf_nr_rrc_nonCriticalExtension_116 = -1;  /* UEPositioningAssistanceInfo_v1720_IEs */
static int hf_nr_rrc_ue_TxTEG_TimingErrorMarginValue_r17 = -1;  /* T_ue_TxTEG_TimingErrorMarginValue_r17 */
static int hf_nr_rrc_nonCriticalExtension_117 = -1;  /* T_nonCriticalExtension_47 */
static int hf_nr_rrc_UE_TxTEG_AssociationList_r17_item = -1;  /* UE_TxTEG_Association_r17 */
static int hf_nr_rrc_ue_TxTEG_ID_r17 = -1;        /* INTEGER_0_maxNrOfTxTEG_ID_1_r17 */
static int hf_nr_rrc_nr_TimeStamp_r17 = -1;       /* NR_TimeStamp_r17 */
static int hf_nr_rrc_associatedSRS_PosResourceIdList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 */
static int hf_nr_rrc_associatedSRS_PosResourceIdList_r17_item = -1;  /* SRS_PosResourceId_r16 */
static int hf_nr_rrc_servCellId_r17 = -1;         /* ServCellIndex */
static int hf_nr_rrc_nr_SFN_r17 = -1;             /* INTEGER_0_1023 */
static int hf_nr_rrc_nr_Slot_r17 = -1;            /* T_nr_Slot_r17 */
static int hf_nr_rrc_scs15_r17 = -1;              /* INTEGER_0_9 */
static int hf_nr_rrc_scs30_r17 = -1;              /* INTEGER_0_19 */
static int hf_nr_rrc_scs60_r17 = -1;              /* INTEGER_0_39 */
static int hf_nr_rrc_scs120_r17 = -1;             /* INTEGER_0_79 */
static int hf_nr_rrc_criticalExtensions_47 = -1;  /* T_criticalExtensions_47 */
static int hf_nr_rrc_ulDedicatedMessageSegment_r16_01 = -1;  /* ULDedicatedMessageSegment_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_47 = -1;  /* T_criticalExtensionsFuture_47 */
static int hf_nr_rrc_segmentNumber_r16_01 = -1;   /* INTEGER_0_15 */
static int hf_nr_rrc_rrc_MessageSegmentType_r16_01 = -1;  /* T_rrc_MessageSegmentType_r16_01 */
static int hf_nr_rrc_nonCriticalExtension_118 = -1;  /* T_nonCriticalExtension_48 */
static int hf_nr_rrc_criticalExtensions_48 = -1;  /* T_criticalExtensions_48 */
static int hf_nr_rrc_ulInformationTransfer_01 = -1;  /* ULInformationTransfer_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_48 = -1;  /* T_criticalExtensionsFuture_48 */
static int hf_nr_rrc_nonCriticalExtension_119 = -1;  /* ULInformationTransfer_v1700_IEs */
static int hf_nr_rrc_nonCriticalExtension_120 = -1;  /* T_nonCriticalExtension_49 */
static int hf_nr_rrc_criticalExtensions_49 = -1;  /* T_criticalExtensions_49 */
static int hf_nr_rrc_c1_16 = -1;                  /* T_c1_16 */
static int hf_nr_rrc_ulInformationTransferIRAT_r16_01 = -1;  /* ULInformationTransferIRAT_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_49 = -1;  /* T_criticalExtensionsFuture_49 */
static int hf_nr_rrc_ul_DCCH_MessageEUTRA_r16 = -1;  /* T_ul_DCCH_MessageEUTRA_r16 */
static int hf_nr_rrc_nonCriticalExtension_121 = -1;  /* T_nonCriticalExtension_50 */
static int hf_nr_rrc_criticalExtensions_50 = -1;  /* T_criticalExtensions_50 */
static int hf_nr_rrc_c1_17 = -1;                  /* T_c1_17 */
static int hf_nr_rrc_ulInformationTransferMRDC_01 = -1;  /* ULInformationTransferMRDC_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_50 = -1;  /* T_criticalExtensionsFuture_50 */
static int hf_nr_rrc_ul_DCCH_MessageNR = -1;      /* T_ul_DCCH_MessageNR */
static int hf_nr_rrc_ul_DCCH_MessageEUTRA = -1;   /* T_ul_DCCH_MessageEUTRA */
static int hf_nr_rrc_nonCriticalExtension_122 = -1;  /* T_nonCriticalExtension_51 */
static int hf_nr_rrc_cellReselectionInfoCommon = -1;  /* T_cellReselectionInfoCommon */
static int hf_nr_rrc_nrofSS_BlocksToAverage = -1;  /* INTEGER_2_maxNrofSS_BlocksToAverage */
static int hf_nr_rrc_absThreshSS_BlocksConsolidation = -1;  /* ThresholdNR */
static int hf_nr_rrc_rangeToBestCell = -1;        /* RangeToBestCell */
static int hf_nr_rrc_q_Hyst = -1;                 /* T_q_Hyst */
static int hf_nr_rrc_speedStateReselectionPars = -1;  /* T_speedStateReselectionPars */
static int hf_nr_rrc_mobilityStateParameters = -1;  /* MobilityStateParameters */
static int hf_nr_rrc_q_HystSF = -1;               /* T_q_HystSF */
static int hf_nr_rrc_sf_Medium = -1;              /* T_sf_Medium */
static int hf_nr_rrc_sf_High = -1;                /* T_sf_High */
static int hf_nr_rrc_cellReselectionServingFreqInfo = -1;  /* T_cellReselectionServingFreqInfo */
static int hf_nr_rrc_s_NonIntraSearchP = -1;      /* ReselectionThreshold */
static int hf_nr_rrc_s_NonIntraSearchQ = -1;      /* ReselectionThresholdQ */
static int hf_nr_rrc_threshServingLowP = -1;      /* ReselectionThreshold */
static int hf_nr_rrc_threshServingLowQ = -1;      /* ReselectionThresholdQ */
static int hf_nr_rrc_intraFreqCellReselectionInfo = -1;  /* T_intraFreqCellReselectionInfo */
static int hf_nr_rrc_s_IntraSearchP = -1;         /* ReselectionThreshold */
static int hf_nr_rrc_s_IntraSearchQ = -1;         /* ReselectionThresholdQ */
static int hf_nr_rrc_t_ReselectionNR = -1;        /* T_Reselection */
static int hf_nr_rrc_frequencyBandList = -1;      /* MultiFrequencyBandListNR_SIB */
static int hf_nr_rrc_frequencyBandListSUL = -1;   /* MultiFrequencyBandListNR_SIB */
static int hf_nr_rrc_p_Max = -1;                  /* P_Max */
static int hf_nr_rrc_deriveSSB_IndexFromCell = -1;  /* BOOLEAN */
static int hf_nr_rrc_t_ReselectionNR_SF = -1;     /* SpeedStateScaleFactors */
static int hf_nr_rrc_smtc2_LP_r16 = -1;           /* SSB_MTC2_LP_r16 */
static int hf_nr_rrc_ssb_PositionQCL_Common_r16 = -1;  /* SSB_PositionQCL_Relation_r16 */
static int hf_nr_rrc_ssb_PositionQCL_Common_r17 = -1;  /* SSB_PositionQCL_Relation_r17 */
static int hf_nr_rrc_smtc4list_r17 = -1;          /* SSB_MTC4List_r17 */
static int hf_nr_rrc_relaxedMeasurement_r16 = -1;  /* T_relaxedMeasurement_r16 */
static int hf_nr_rrc_lowMobilityEvaluation_r16 = -1;  /* T_lowMobilityEvaluation_r16 */
static int hf_nr_rrc_s_SearchDeltaP_r16 = -1;     /* T_s_SearchDeltaP_r16 */
static int hf_nr_rrc_t_SearchDeltaP_r16 = -1;     /* T_t_SearchDeltaP_r16 */
static int hf_nr_rrc_cellEdgeEvaluation_r16 = -1;  /* T_cellEdgeEvaluation_r16 */
static int hf_nr_rrc_s_SearchThresholdP_r16 = -1;  /* ReselectionThreshold */
static int hf_nr_rrc_s_SearchThresholdQ_r16 = -1;  /* ReselectionThresholdQ */
static int hf_nr_rrc_combineRelaxedMeasCondition_r16 = -1;  /* T_combineRelaxedMeasCondition_r16 */
static int hf_nr_rrc_highPriorityMeasRelax_r16 = -1;  /* T_highPriorityMeasRelax_r16 */
static int hf_nr_rrc_cellEquivalentSize_r17 = -1;  /* INTEGER_2_16 */
static int hf_nr_rrc_relaxedMeasurement_r17 = -1;  /* T_relaxedMeasurement_r17 */
static int hf_nr_rrc_stationaryMobilityEvaluation_r17 = -1;  /* T_stationaryMobilityEvaluation_r17 */
static int hf_nr_rrc_s_SearchDeltaP_Stationary_r17 = -1;  /* T_s_SearchDeltaP_Stationary_r17 */
static int hf_nr_rrc_t_SearchDeltaP_Stationary_r17 = -1;  /* T_t_SearchDeltaP_Stationary_r17 */
static int hf_nr_rrc_cellEdgeEvaluationWhileStationary_r17 = -1;  /* T_cellEdgeEvaluationWhileStationary_r17 */
static int hf_nr_rrc_s_SearchThresholdP2_r17 = -1;  /* ReselectionThreshold */
static int hf_nr_rrc_s_SearchThresholdQ2_r17 = -1;  /* ReselectionThresholdQ */
static int hf_nr_rrc_combineRelaxedMeasCondition2_r17 = -1;  /* T_combineRelaxedMeasCondition2_r17 */
static int hf_nr_rrc_intraFreqNeighCellList = -1;  /* IntraFreqNeighCellList */
static int hf_nr_rrc_intraFreqExcludedCellList = -1;  /* IntraFreqExcludedCellList */
static int hf_nr_rrc_intraFreqNeighCellList_v1610 = -1;  /* IntraFreqNeighCellList_v1610 */
static int hf_nr_rrc_intraFreqAllowedCellList_r16 = -1;  /* IntraFreqAllowedCellList_r16 */
static int hf_nr_rrc_intraFreqCAG_CellList_r16 = -1;  /* SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16 */
static int hf_nr_rrc_intraFreqCAG_CellList_r16_item = -1;  /* IntraFreqCAG_CellListPerPLMN_r16 */
static int hf_nr_rrc_intraFreqNeighHSDN_CellList_r17 = -1;  /* IntraFreqNeighHSDN_CellList_r17 */
static int hf_nr_rrc_intraFreqNeighCellList_v1710 = -1;  /* IntraFreqNeighCellList_v1710 */
static int hf_nr_rrc_channelAccessMode2_r17 = -1;  /* T_channelAccessMode2_r17 */
static int hf_nr_rrc_IntraFreqNeighCellList_item = -1;  /* IntraFreqNeighCellInfo */
static int hf_nr_rrc_IntraFreqNeighCellList_v1610_item = -1;  /* IntraFreqNeighCellInfo_v1610 */
static int hf_nr_rrc_IntraFreqNeighCellList_v1710_item = -1;  /* IntraFreqNeighCellInfo_v1710 */
static int hf_nr_rrc_q_OffsetCell = -1;           /* Q_OffsetRange */
static int hf_nr_rrc_q_RxLevMinOffsetCell = -1;   /* INTEGER_1_8 */
static int hf_nr_rrc_q_RxLevMinOffsetCellSUL = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_q_QualMinOffsetCell = -1;    /* INTEGER_1_8 */
static int hf_nr_rrc_ssb_PositionQCL_r16 = -1;    /* SSB_PositionQCL_Relation_r16 */
static int hf_nr_rrc_ssb_PositionQCL_r17 = -1;    /* SSB_PositionQCL_Relation_r17 */
static int hf_nr_rrc_IntraFreqExcludedCellList_item = -1;  /* PCI_Range */
static int hf_nr_rrc_IntraFreqAllowedCellList_r16_item = -1;  /* PCI_Range */
static int hf_nr_rrc_plmn_IdentityIndex_r16 = -1;  /* INTEGER_1_maxPLMN */
static int hf_nr_rrc_cag_CellList_r16 = -1;       /* SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range */
static int hf_nr_rrc_cag_CellList_r16_item = -1;  /* PCI_Range */
static int hf_nr_rrc_IntraFreqNeighHSDN_CellList_r17_item = -1;  /* PCI_Range */
static int hf_nr_rrc_interFreqCarrierFreqList = -1;  /* InterFreqCarrierFreqList */
static int hf_nr_rrc_interFreqCarrierFreqList_v1610 = -1;  /* InterFreqCarrierFreqList_v1610 */
static int hf_nr_rrc_interFreqCarrierFreqList_v1700 = -1;  /* InterFreqCarrierFreqList_v1700 */
static int hf_nr_rrc_interFreqCarrierFreqList_v1720 = -1;  /* InterFreqCarrierFreqList_v1720 */
static int hf_nr_rrc_interFreqCarrierFreqList_v1730 = -1;  /* InterFreqCarrierFreqList_v1730 */
static int hf_nr_rrc_InterFreqCarrierFreqList_item = -1;  /* InterFreqCarrierFreqInfo */
static int hf_nr_rrc_InterFreqCarrierFreqList_v1610_item = -1;  /* InterFreqCarrierFreqInfo_v1610 */
static int hf_nr_rrc_InterFreqCarrierFreqList_v1700_item = -1;  /* InterFreqCarrierFreqInfo_v1700 */
static int hf_nr_rrc_InterFreqCarrierFreqList_v1720_item = -1;  /* InterFreqCarrierFreqInfo_v1720 */
static int hf_nr_rrc_InterFreqCarrierFreqList_v1730_item = -1;  /* InterFreqCarrierFreqInfo_v1730 */
static int hf_nr_rrc_dl_CarrierFreq = -1;         /* ARFCN_ValueNR */
static int hf_nr_rrc_threshX_HighP = -1;          /* ReselectionThreshold */
static int hf_nr_rrc_threshX_LowP = -1;           /* ReselectionThreshold */
static int hf_nr_rrc_threshX_Q = -1;              /* T_threshX_Q */
static int hf_nr_rrc_threshX_HighQ = -1;          /* ReselectionThresholdQ */
static int hf_nr_rrc_threshX_LowQ = -1;           /* ReselectionThresholdQ */
static int hf_nr_rrc_q_OffsetFreq = -1;           /* Q_OffsetRange */
static int hf_nr_rrc_interFreqNeighCellList = -1;  /* InterFreqNeighCellList */
static int hf_nr_rrc_interFreqExcludedCellList = -1;  /* InterFreqExcludedCellList */
static int hf_nr_rrc_interFreqNeighCellList_v1610 = -1;  /* InterFreqNeighCellList_v1610 */
static int hf_nr_rrc_interFreqAllowedCellList_r16 = -1;  /* InterFreqAllowedCellList_r16 */
static int hf_nr_rrc_interFreqCAG_CellList_r16 = -1;  /* SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16 */
static int hf_nr_rrc_interFreqCAG_CellList_r16_item = -1;  /* InterFreqCAG_CellListPerPLMN_r16 */
static int hf_nr_rrc_interFreqNeighHSDN_CellList_r17 = -1;  /* InterFreqNeighHSDN_CellList_r17 */
static int hf_nr_rrc_highSpeedMeasInterFreq_r17 = -1;  /* T_highSpeedMeasInterFreq_r17 */
static int hf_nr_rrc_redCapAccessAllowed_r17 = -1;  /* T_redCapAccessAllowed_r17 */
static int hf_nr_rrc_interFreqNeighCellList_v1710 = -1;  /* InterFreqNeighCellList_v1710 */
static int hf_nr_rrc_channelAccessMode2_r17_01 = -1;  /* T_channelAccessMode2_r17_01 */
static int hf_nr_rrc_InterFreqNeighHSDN_CellList_r17_item = -1;  /* PCI_Range */
static int hf_nr_rrc_InterFreqNeighCellList_item = -1;  /* InterFreqNeighCellInfo */
static int hf_nr_rrc_InterFreqNeighCellList_v1610_item = -1;  /* InterFreqNeighCellInfo_v1610 */
static int hf_nr_rrc_InterFreqNeighCellList_v1710_item = -1;  /* InterFreqNeighCellInfo_v1710 */
static int hf_nr_rrc_InterFreqExcludedCellList_item = -1;  /* PCI_Range */
static int hf_nr_rrc_InterFreqAllowedCellList_r16_item = -1;  /* PCI_Range */
static int hf_nr_rrc_carrierFreqListEUTRA = -1;   /* CarrierFreqListEUTRA */
static int hf_nr_rrc_t_ReselectionEUTRA = -1;     /* T_Reselection */
static int hf_nr_rrc_t_ReselectionEUTRA_SF = -1;  /* SpeedStateScaleFactors */
static int hf_nr_rrc_carrierFreqListEUTRA_v1610 = -1;  /* CarrierFreqListEUTRA_v1610 */
static int hf_nr_rrc_carrierFreqListEUTRA_v1700 = -1;  /* CarrierFreqListEUTRA_v1700 */
static int hf_nr_rrc_idleModeMeasVoiceFallback_r17 = -1;  /* T_idleModeMeasVoiceFallback_r17 */
static int hf_nr_rrc_CarrierFreqListEUTRA_item = -1;  /* CarrierFreqEUTRA */
static int hf_nr_rrc_CarrierFreqListEUTRA_v1610_item = -1;  /* CarrierFreqEUTRA_v1610 */
static int hf_nr_rrc_CarrierFreqListEUTRA_v1700_item = -1;  /* CarrierFreqEUTRA_v1700 */
static int hf_nr_rrc_eutra_multiBandInfoList = -1;  /* EUTRA_MultiBandInfoList */
static int hf_nr_rrc_eutra_FreqNeighCellList = -1;  /* EUTRA_FreqNeighCellList */
static int hf_nr_rrc_eutra_ExcludedCellList = -1;  /* EUTRA_FreqExcludedCellList */
static int hf_nr_rrc_allowedMeasBandwidth = -1;   /* EUTRA_AllowedMeasBandwidth */
static int hf_nr_rrc_presenceAntennaPort1 = -1;   /* EUTRA_PresenceAntennaPort1 */
static int hf_nr_rrc_threshX_High = -1;           /* ReselectionThreshold */
static int hf_nr_rrc_threshX_Low = -1;            /* ReselectionThreshold */
static int hf_nr_rrc_q_RxLevMin_01 = -1;          /* INTEGER_M70_M22 */
static int hf_nr_rrc_q_QualMin_01 = -1;           /* INTEGER_M34_M3 */
static int hf_nr_rrc_p_MaxEUTRA = -1;             /* INTEGER_M30_33 */
static int hf_nr_rrc_threshX_Q_01 = -1;           /* T_threshX_Q_01 */
static int hf_nr_rrc_highSpeedEUTRACarrier_r16 = -1;  /* T_highSpeedEUTRACarrier_r16 */
static int hf_nr_rrc_eutra_FreqNeighHSDN_CellList_r17 = -1;  /* EUTRA_FreqNeighHSDN_CellList_r17 */
static int hf_nr_rrc_EUTRA_FreqNeighHSDN_CellList_r17_item = -1;  /* EUTRA_PhysCellIdRange */
static int hf_nr_rrc_EUTRA_FreqExcludedCellList_item = -1;  /* EUTRA_PhysCellIdRange */
static int hf_nr_rrc_EUTRA_FreqNeighCellList_item = -1;  /* EUTRA_FreqNeighCellInfo */
static int hf_nr_rrc_physCellId_01 = -1;          /* EUTRA_PhysCellId */
static int hf_nr_rrc_eUTRA_FreqNeighCellInfo_dummy = -1;  /* EUTRA_Q_OffsetRange */
static int hf_nr_rrc_messageIdentifier = -1;      /* T_messageIdentifier */
static int hf_nr_rrc_serialNumber = -1;           /* T_serialNumber */
static int hf_nr_rrc_warningType = -1;            /* T_warningType */
static int hf_nr_rrc_messageIdentifier_01 = -1;   /* T_messageIdentifier_01 */
static int hf_nr_rrc_serialNumber_01 = -1;        /* T_serialNumber_01 */
static int hf_nr_rrc_warningMessageSegmentType = -1;  /* T_warningMessageSegmentType */
static int hf_nr_rrc_warningMessageSegmentNumber = -1;  /* T_warningMessageSegmentNumber */
static int hf_nr_rrc_warningMessageSegment = -1;  /* T_warningMessageSegment */
static int hf_nr_rrc_dataCodingScheme = -1;       /* T_dataCodingScheme */
static int hf_nr_rrc_messageIdentifier_02 = -1;   /* T_messageIdentifier_02 */
static int hf_nr_rrc_serialNumber_02 = -1;        /* T_serialNumber_02 */
static int hf_nr_rrc_warningMessageSegmentType_01 = -1;  /* T_warningMessageSegmentType_01 */
static int hf_nr_rrc_warningMessageSegmentNumber_01 = -1;  /* T_warningMessageSegmentNumber_01 */
static int hf_nr_rrc_warningMessageSegment_01 = -1;  /* T_warningMessageSegment_01 */
static int hf_nr_rrc_dataCodingScheme_01 = -1;    /* T_dataCodingScheme_01 */
static int hf_nr_rrc_warningAreaCoordinatesSegment = -1;  /* OCTET_STRING */
static int hf_nr_rrc_timeInfo = -1;               /* T_timeInfo */
static int hf_nr_rrc_timeInfoUTC = -1;            /* T_timeInfoUTC */
static int hf_nr_rrc_dayLightSavingTime = -1;     /* T_dayLightSavingTime */
static int hf_nr_rrc_leapSeconds = -1;            /* INTEGER_M127_128 */
static int hf_nr_rrc_localTimeOffset = -1;        /* INTEGER_M63_64 */
static int hf_nr_rrc_hrnn_List_r16 = -1;          /* HRNN_List_r16 */
static int hf_nr_rrc_HRNN_List_r16_item = -1;     /* HRNN_r16 */
static int hf_nr_rrc_hrnn_r16 = -1;               /* OCTET_STRING_SIZE_1_maxHRNN_Len_r16 */
static int hf_nr_rrc_measIdleConfigSIB_r16 = -1;  /* MeasIdleConfigSIB_r16 */
static int hf_nr_rrc_segmentNumber_r16_02 = -1;   /* INTEGER_0_63 */
static int hf_nr_rrc_segmentType_r16 = -1;        /* T_segmentType_r16 */
static int hf_nr_rrc_segmentContainer_r16 = -1;   /* OCTET_STRING */
static int hf_nr_rrc_sl_V2X_ConfigCommon_r16 = -1;  /* T_sl_V2X_ConfigCommon_r16 */
static int hf_nr_rrc_sIB13_r16_dummy = -1;        /* OCTET_STRING */
static int hf_nr_rrc_tdd_Config_r16 = -1;         /* T_tdd_Config_r16 */
static int hf_nr_rrc_sl_V2X_ConfigCommonExt_r16 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_commonPLMNsWithDisasterCondition_r17 = -1;  /* SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity */
static int hf_nr_rrc_commonPLMNsWithDisasterCondition_r17_item = -1;  /* PLMN_Identity */
static int hf_nr_rrc_applicableDisasterInfoList_r17 = -1;  /* SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17 */
static int hf_nr_rrc_applicableDisasterInfoList_r17_item = -1;  /* ApplicableDisasterInfo_r17 */
static int hf_nr_rrc_noDisasterRoaming_r17 = -1;  /* NULL */
static int hf_nr_rrc_disasterRelatedIndication_r17 = -1;  /* NULL */
static int hf_nr_rrc_commonPLMNs_r17 = -1;        /* NULL */
static int hf_nr_rrc_dedicatedPLMNs_r17 = -1;     /* SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity */
static int hf_nr_rrc_dedicatedPLMNs_r17_item = -1;  /* PLMN_Identity */
static int hf_nr_rrc_freqPriorityListSlicing_r17 = -1;  /* FreqPriorityListSlicing_r17 */
static int hf_nr_rrc_segmentNumber_r17 = -1;      /* INTEGER_0_63 */
static int hf_nr_rrc_segmentType_r17 = -1;        /* T_segmentType_r17 */
static int hf_nr_rrc_segmentContainer_r17 = -1;   /* OCTET_STRING */
static int hf_nr_rrc_gin_ElementList_r17 = -1;    /* SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17 */
static int hf_nr_rrc_gin_ElementList_r17_item = -1;  /* GIN_Element_r17 */
static int hf_nr_rrc_gins_PerSNPN_List_r17 = -1;  /* SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17 */
static int hf_nr_rrc_gins_PerSNPN_List_r17_item = -1;  /* GINs_PerSNPN_r17 */
static int hf_nr_rrc_plmn_Identity_r17 = -1;      /* PLMN_Identity */
static int hf_nr_rrc_nid_List_r17 = -1;           /* SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16 */
static int hf_nr_rrc_nid_List_r17_item = -1;      /* NID_r16 */
static int hf_nr_rrc_supportedGINs_r17 = -1;      /* BIT_STRING_SIZE_1_maxGIN_r17 */
static int hf_nr_rrc_ntn_Config_r17 = -1;         /* NTN_Config_r17 */
static int hf_nr_rrc_t_Service_r17 = -1;          /* INTEGER_0_549755813887 */
static int hf_nr_rrc_referenceLocation_r17 = -1;  /* ReferenceLocation_r17 */
static int hf_nr_rrc_distanceThresh_r17 = -1;     /* INTEGER_0_65525 */
static int hf_nr_rrc_ntn_NeighCellConfigList_r17 = -1;  /* NTN_NeighCellConfigList_r17 */
static int hf_nr_rrc_ntn_NeighCellConfigListExt_v1720 = -1;  /* NTN_NeighCellConfigList_r17 */
static int hf_nr_rrc_NTN_NeighCellConfigList_r17_item = -1;  /* NTN_NeighCellConfig_r17 */
static int hf_nr_rrc_mcch_Config_r17 = -1;        /* MCCH_Config_r17 */
static int hf_nr_rrc_cfr_ConfigMCCH_MTCH_r17 = -1;  /* CFR_ConfigMCCH_MTCH_r17 */
static int hf_nr_rrc_mcch_RepetitionPeriodAndOffset_r17 = -1;  /* MCCH_RepetitionPeriodAndOffset_r17 */
static int hf_nr_rrc_mcch_WindowStartSlot_r17 = -1;  /* INTEGER_0_79 */
static int hf_nr_rrc_mcch_WindowDuration_r17 = -1;  /* T_mcch_WindowDuration_r17 */
static int hf_nr_rrc_mcch_ModificationPeriod_r17 = -1;  /* T_mcch_ModificationPeriod_r17 */
static int hf_nr_rrc_rf1_r17 = -1;                /* INTEGER_0 */
static int hf_nr_rrc_rf2_r17 = -1;                /* INTEGER_0_1 */
static int hf_nr_rrc_rf4_r17 = -1;                /* INTEGER_0_3 */
static int hf_nr_rrc_rf8_r17 = -1;                /* INTEGER_0_7 */
static int hf_nr_rrc_rf16_r17 = -1;               /* INTEGER_0_15 */
static int hf_nr_rrc_rf32_r17 = -1;               /* INTEGER_0_31 */
static int hf_nr_rrc_rf64_r17 = -1;               /* INTEGER_0_63 */
static int hf_nr_rrc_rf128_r17 = -1;              /* INTEGER_0_127 */
static int hf_nr_rrc_rf256_r17 = -1;              /* INTEGER_0_255 */
static int hf_nr_rrc_mbs_FSAI_IntraFreq_r17 = -1;  /* MBS_FSAI_List_r17 */
static int hf_nr_rrc_mbs_FSAI_InterFreqList_r17 = -1;  /* MBS_FSAI_InterFreqList_r17 */
static int hf_nr_rrc_MBS_FSAI_List_r17_item = -1;  /* MBS_FSAI_r17 */
static int hf_nr_rrc_MBS_FSAI_InterFreqList_r17_item = -1;  /* MBS_FSAI_InterFreq_r17 */
static int hf_nr_rrc_dl_CarrierFreq_r17 = -1;     /* ARFCN_ValueNR */
static int hf_nr_rrc_mbs_FSAI_List_r17 = -1;      /* MBS_FSAI_List_r17 */
static int hf_nr_rrc_posSIB_TypeAndInfo_r16 = -1;  /* T_posSIB_TypeAndInfo_r16 */
static int hf_nr_rrc_posSIB_TypeAndInfo_r16_item = -1;  /* T_posSIB_TypeAndInfo_r16_item */
static int hf_nr_rrc_posSib1_1_r16 = -1;          /* T_posSib1_1_r16 */
static int hf_nr_rrc_posSib1_2_r16 = -1;          /* T_posSib1_2_r16 */
static int hf_nr_rrc_posSib1_3_r16 = -1;          /* T_posSib1_3_r16 */
static int hf_nr_rrc_posSib1_4_r16 = -1;          /* T_posSib1_4_r16 */
static int hf_nr_rrc_posSib1_5_r16 = -1;          /* T_posSib1_5_r16 */
static int hf_nr_rrc_posSib1_6_r16 = -1;          /* T_posSib1_6_r16 */
static int hf_nr_rrc_posSib1_7_r16 = -1;          /* T_posSib1_7_r16 */
static int hf_nr_rrc_posSib1_8_r16 = -1;          /* T_posSib1_8_r16 */
static int hf_nr_rrc_posSib2_1_r16 = -1;          /* T_posSib2_1_r16 */
static int hf_nr_rrc_posSib2_2_r16 = -1;          /* T_posSib2_2_r16 */
static int hf_nr_rrc_posSib2_3_r16 = -1;          /* T_posSib2_3_r16 */
static int hf_nr_rrc_posSib2_4_r16 = -1;          /* T_posSib2_4_r16 */
static int hf_nr_rrc_posSib2_5_r16 = -1;          /* T_posSib2_5_r16 */
static int hf_nr_rrc_posSib2_6_r16 = -1;          /* T_posSib2_6_r16 */
static int hf_nr_rrc_posSib2_7_r16 = -1;          /* T_posSib2_7_r16 */
static int hf_nr_rrc_posSib2_8_r16 = -1;          /* T_posSib2_8_r16 */
static int hf_nr_rrc_posSib2_9_r16 = -1;          /* T_posSib2_9_r16 */
static int hf_nr_rrc_posSib2_10_r16 = -1;         /* T_posSib2_10_r16 */
static int hf_nr_rrc_posSib2_11_r16 = -1;         /* T_posSib2_11_r16 */
static int hf_nr_rrc_posSib2_12_r16 = -1;         /* T_posSib2_12_r16 */
static int hf_nr_rrc_posSib2_13_r16 = -1;         /* T_posSib2_13_r16 */
static int hf_nr_rrc_posSib2_14_r16 = -1;         /* T_posSib2_14_r16 */
static int hf_nr_rrc_posSib2_15_r16 = -1;         /* T_posSib2_15_r16 */
static int hf_nr_rrc_posSib2_16_r16 = -1;         /* T_posSib2_16_r16 */
static int hf_nr_rrc_posSib2_17_r16 = -1;         /* T_posSib2_17_r16 */
static int hf_nr_rrc_posSib2_18_r16 = -1;         /* T_posSib2_18_r16 */
static int hf_nr_rrc_posSib2_19_r16 = -1;         /* T_posSib2_19_r16 */
static int hf_nr_rrc_posSib2_20_r16 = -1;         /* T_posSib2_20_r16 */
static int hf_nr_rrc_posSib2_21_r16 = -1;         /* T_posSib2_21_r16 */
static int hf_nr_rrc_posSib2_22_r16 = -1;         /* T_posSib2_22_r16 */
static int hf_nr_rrc_posSib2_23_r16 = -1;         /* T_posSib2_23_r16 */
static int hf_nr_rrc_posSib3_1_r16 = -1;          /* T_posSib3_1_r16 */
static int hf_nr_rrc_posSib4_1_r16 = -1;          /* T_posSib4_1_r16 */
static int hf_nr_rrc_posSib5_1_r16 = -1;          /* T_posSib5_1_r16 */
static int hf_nr_rrc_posSib6_1_r16 = -1;          /* T_posSib6_1_r16 */
static int hf_nr_rrc_posSib6_2_r16 = -1;          /* T_posSib6_2_r16 */
static int hf_nr_rrc_posSib6_3_r16 = -1;          /* T_posSib6_3_r16 */
static int hf_nr_rrc_posSib1_9_v1700 = -1;        /* T_posSib1_9_v1700 */
static int hf_nr_rrc_posSib1_10_v1700 = -1;       /* T_posSib1_10_v1700 */
static int hf_nr_rrc_posSib2_24_v1700 = -1;       /* T_posSib2_24_v1700 */
static int hf_nr_rrc_posSib2_25_v1700 = -1;       /* T_posSib2_25_v1700 */
static int hf_nr_rrc_posSib6_4_v1700 = -1;        /* T_posSib6_4_v1700 */
static int hf_nr_rrc_posSib6_5_v1700 = -1;        /* T_posSib6_5_v1700 */
static int hf_nr_rrc_posSib6_6_v1700 = -1;        /* T_posSib6_6_v1700 */
static int hf_nr_rrc_nonCriticalExtension_123 = -1;  /* T_nonCriticalExtension_52 */
static int hf_nr_rrc_posSchedulingInfoList_r16 = -1;  /* SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16 */
static int hf_nr_rrc_posSchedulingInfoList_r16_item = -1;  /* PosSchedulingInfo_r16 */
static int hf_nr_rrc_posSI_RequestConfig_r16 = -1;  /* SI_RequestConfig */
static int hf_nr_rrc_posSI_RequestConfigSUL_r16 = -1;  /* SI_RequestConfig */
static int hf_nr_rrc_posSI_RequestConfigRedCap_r17 = -1;  /* SI_RequestConfig */
static int hf_nr_rrc_offsetToSI_Used_r16 = -1;    /* T_offsetToSI_Used_r16 */
static int hf_nr_rrc_posSI_Periodicity_r16 = -1;  /* T_posSI_Periodicity_r16 */
static int hf_nr_rrc_posSI_BroadcastStatus_r16 = -1;  /* T_posSI_BroadcastStatus_r16 */
static int hf_nr_rrc_posSIB_MappingInfo_r16 = -1;  /* PosSIB_MappingInfo_r16 */
static int hf_nr_rrc_PosSIB_MappingInfo_r16_item = -1;  /* PosSIB_Type_r16 */
static int hf_nr_rrc_encrypted_r16 = -1;          /* T_encrypted_r16 */
static int hf_nr_rrc_posSibType_r16_01 = -1;      /* T_posSibType_r16_01 */
static int hf_nr_rrc_areaScope_r16 = -1;          /* T_areaScope_r16 */
static int hf_nr_rrc_gnss_id_r16_01 = -1;         /* T_gnss_id_r16 */
static int hf_nr_rrc_sbas_id_r16_01 = -1;         /* T_sbas_id_r16 */
static int hf_nr_rrc_assistanceDataSIB_Element_r16 = -1;  /* T_assistanceDataSIB_Element_r16 */
static int hf_nr_rrc_availabilityCombinationsPerCellIndex_r16 = -1;  /* AvailabilityCombinationsPerCellIndex_r16 */
static int hf_nr_rrc_iab_DU_CellIdentity_r16 = -1;  /* CellIdentity */
static int hf_nr_rrc_positionInDCI_AI_r16 = -1;   /* INTEGER_0_maxAI_DCI_PayloadSize_1_r16 */
static int hf_nr_rrc_availabilityCombinations_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16 */
static int hf_nr_rrc_availabilityCombinations_r16_item = -1;  /* AvailabilityCombination_r16 */
static int hf_nr_rrc_availabilityCombinationsRB_Groups_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17 */
static int hf_nr_rrc_availabilityCombinationsRB_Groups_r17_item = -1;  /* AvailabilityCombinationRB_Groups_r17 */
static int hf_nr_rrc_positionInDCI_AI_RBGroups_v1720 = -1;  /* INTEGER_0_maxAI_DCI_PayloadSize_1_r16 */
static int hf_nr_rrc_availabilityCombinationId_r16 = -1;  /* AvailabilityCombinationId_r16 */
static int hf_nr_rrc_resourceAvailability_r16 = -1;  /* T_resourceAvailability_r16 */
static int hf_nr_rrc_resourceAvailability_r16_item = -1;  /* INTEGER_0_7 */
static int hf_nr_rrc_availabilityCombinationId_r17 = -1;  /* AvailabilityCombinationId_r16 */
static int hf_nr_rrc_rb_SetGroups_r17 = -1;       /* SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17 */
static int hf_nr_rrc_rb_SetGroups_r17_item = -1;  /* RB_SetGroup_r17 */
static int hf_nr_rrc_resourceAvailability_r17 = -1;  /* T_resourceAvailability_r17 */
static int hf_nr_rrc_resourceAvailability_r17_item = -1;  /* INTEGER_0_7 */
static int hf_nr_rrc_resourceAvailability_r17_01 = -1;  /* T_resourceAvailability_r17_01 */
static int hf_nr_rrc_rb_Sets_r17 = -1;            /* T_rb_Sets_r17 */
static int hf_nr_rrc_rb_Sets_r17_item = -1;       /* INTEGER_0_7 */
static int hf_nr_rrc_ai_RNTI_r16 = -1;            /* AI_RNTI_r16 */
static int hf_nr_rrc_dci_PayloadSizeAI_r16 = -1;  /* INTEGER_1_maxAI_DCI_PayloadSize_r16 */
static int hf_nr_rrc_availableCombToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16 */
static int hf_nr_rrc_availableCombToAddModList_r16_item = -1;  /* AvailabilityCombinationsPerCell_r16 */
static int hf_nr_rrc_availableCombToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16 */
static int hf_nr_rrc_availableCombToReleaseList_r16_item = -1;  /* AvailabilityCombinationsPerCellIndex_r16 */
static int hf_nr_rrc_bap_PathId_r16 = -1;         /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_rootSequenceIndex_BFR = -1;  /* INTEGER_0_137 */
static int hf_nr_rrc_rach_ConfigBFR = -1;         /* RACH_ConfigGeneric */
static int hf_nr_rrc_rsrp_ThresholdSSB = -1;      /* RSRP_Range */
static int hf_nr_rrc_candidateBeamRSList = -1;    /* SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR */
static int hf_nr_rrc_candidateBeamRSList_item = -1;  /* PRACH_ResourceDedicatedBFR */
static int hf_nr_rrc_ssb_perRACH_Occasion = -1;   /* T_ssb_perRACH_Occasion */
static int hf_nr_rrc_ra_ssb_OccasionMaskIndex = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_recoverySearchSpaceId = -1;  /* SearchSpaceId */
static int hf_nr_rrc_ra_Prioritization = -1;      /* RA_Prioritization */
static int hf_nr_rrc_beamFailureRecoveryTimer = -1;  /* T_beamFailureRecoveryTimer */
static int hf_nr_rrc_msg1_SubcarrierSpacing = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_ra_PrioritizationTwoStep_r16 = -1;  /* RA_Prioritization */
static int hf_nr_rrc_candidateBeamRSListExt_v1610 = -1;  /* T_candidateBeamRSListExt_v1610 */
static int hf_nr_rrc_setup_29 = -1;               /* CandidateBeamRSListExt_r16 */
static int hf_nr_rrc_spCell_BFR_CBRA_r16 = -1;    /* T_spCell_BFR_CBRA_r16 */
static int hf_nr_rrc_ssb = -1;                    /* BFR_SSB_Resource */
static int hf_nr_rrc_csi_RS = -1;                 /* BFR_CSIRS_Resource */
static int hf_nr_rrc_ssb_01 = -1;                 /* SSB_Index */
static int hf_nr_rrc_ra_PreambleIndex = -1;       /* INTEGER_0_63 */
static int hf_nr_rrc_csi_RS_01 = -1;              /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_ra_OccasionList = -1;        /* T_ra_OccasionList */
static int hf_nr_rrc_ra_OccasionList_item = -1;   /* INTEGER_0_maxRA_Occasions_1 */
static int hf_nr_rrc_CandidateBeamRSListExt_r16_item = -1;  /* PRACH_ResourceDedicatedBFR */
static int hf_nr_rrc_rsrp_ThresholdBFR_r16 = -1;  /* RSRP_Range */
static int hf_nr_rrc_candidateBeamRS_List_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16 */
static int hf_nr_rrc_candidateBeamRS_List_r16_item = -1;  /* CandidateBeamRS_r16 */
static int hf_nr_rrc_candidateBeamRS_List2_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16 */
static int hf_nr_rrc_candidateBeamRS_List2_r17_item = -1;  /* CandidateBeamRS_r16 */
static int hf_nr_rrc_betaOffsetACK_Index1 = -1;   /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetACK_Index2 = -1;   /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetACK_Index3 = -1;   /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetCSI_Part1_Index1 = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetCSI_Part1_Index2 = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetCSI_Part2_Index1 = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetCSI_Part2_Index2 = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_BetaOffsetsCrossPri_r17_item = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_bh_LogicalChannelIdentity_r16 = -1;  /* LogicalChannelIdentity */
static int hf_nr_rrc_bh_LogicalChannelIdentityExt_r16 = -1;  /* BH_LogicalChannelIdentity_Ext_r16 */
static int hf_nr_rrc_bh_LogicalChannelIdentity_r16_01 = -1;  /* BH_LogicalChannelIdentity_r16 */
static int hf_nr_rrc_bh_RLC_ChannelID_r16 = -1;   /* BH_RLC_ChannelID_r16 */
static int hf_nr_rrc_reestablishRLC_r16 = -1;     /* T_reestablishRLC_r16 */
static int hf_nr_rrc_rlc_Config_r16 = -1;         /* RLC_Config */
static int hf_nr_rrc_mac_LogicalChannelConfig_r16 = -1;  /* LogicalChannelConfig */
static int hf_nr_rrc_periodicBSR_Timer = -1;      /* T_periodicBSR_Timer */
static int hf_nr_rrc_retxBSR_Timer = -1;          /* T_retxBSR_Timer */
static int hf_nr_rrc_logicalChannelSR_DelayTimer = -1;  /* T_logicalChannelSR_DelayTimer */
static int hf_nr_rrc_locationAndBandwidth = -1;   /* INTEGER_0_37949 */
static int hf_nr_rrc_subcarrierSpacing = -1;      /* SubcarrierSpacing */
static int hf_nr_rrc_cyclicPrefix = -1;           /* T_cyclicPrefix */
static int hf_nr_rrc_bwp_Id = -1;                 /* BWP_Id */
static int hf_nr_rrc_bwp_Common = -1;             /* BWP_DownlinkCommon */
static int hf_nr_rrc_bwp_Dedicated = -1;          /* BWP_DownlinkDedicated */
static int hf_nr_rrc_genericParameters = -1;      /* BWP */
static int hf_nr_rrc_pdcch_ConfigCommon = -1;     /* T_pdcch_ConfigCommon */
static int hf_nr_rrc_setup_30 = -1;               /* PDCCH_ConfigCommon */
static int hf_nr_rrc_pdsch_ConfigCommon = -1;     /* T_pdsch_ConfigCommon */
static int hf_nr_rrc_setup_31 = -1;               /* PDSCH_ConfigCommon */
static int hf_nr_rrc_pdcch_Config = -1;           /* T_pdcch_Config */
static int hf_nr_rrc_pdsch_Config = -1;           /* T_pdsch_Config */
static int hf_nr_rrc_sps_Config = -1;             /* T_sps_Config */
static int hf_nr_rrc_setup_32 = -1;               /* SPS_Config */
static int hf_nr_rrc_radioLinkMonitoringConfig = -1;  /* T_radioLinkMonitoringConfig */
static int hf_nr_rrc_setup_33 = -1;               /* RadioLinkMonitoringConfig */
static int hf_nr_rrc_sps_ConfigToAddModList_r16 = -1;  /* SPS_ConfigToAddModList_r16 */
static int hf_nr_rrc_sps_ConfigToReleaseList_r16 = -1;  /* SPS_ConfigToReleaseList_r16 */
static int hf_nr_rrc_sps_ConfigDeactivationStateList_r16 = -1;  /* SPS_ConfigDeactivationStateList_r16 */
static int hf_nr_rrc_beamFailureRecoverySCellConfig_r16 = -1;  /* T_beamFailureRecoverySCellConfig_r16 */
static int hf_nr_rrc_setup_34 = -1;               /* BeamFailureRecoveryRSConfig_r16 */
static int hf_nr_rrc_sl_PDCCH_Config_r16 = -1;    /* T_sl_PDCCH_Config_r16 */
static int hf_nr_rrc_sl_V2X_PDCCH_Config_r16 = -1;  /* T_sl_V2X_PDCCH_Config_r16 */
static int hf_nr_rrc_preConfGapStatus_r17 = -1;   /* BIT_STRING_SIZE_maxNrofGapId_r17 */
static int hf_nr_rrc_beamFailureRecoverySpCellConfig_r17 = -1;  /* T_beamFailureRecoverySpCellConfig_r17 */
static int hf_nr_rrc_harq_FeedbackEnablingforSPSactive_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_cfr_ConfigMulticast_r17 = -1;  /* T_cfr_ConfigMulticast_r17 */
static int hf_nr_rrc_setup_35 = -1;               /* CFR_ConfigMulticast_r17 */
static int hf_nr_rrc_dl_PPW_PreConfigToAddModList_r17 = -1;  /* DL_PPW_PreConfigToAddModList_r17 */
static int hf_nr_rrc_dl_PPW_PreConfigToReleaseList_r17 = -1;  /* DL_PPW_PreConfigToReleaseList_r17 */
static int hf_nr_rrc_nonCellDefiningSSB_r17 = -1;  /* NonCellDefiningSSB_r17 */
static int hf_nr_rrc_servingCellMO_r17 = -1;      /* MeasObjectId */
static int hf_nr_rrc_SPS_ConfigToAddModList_r16_item = -1;  /* SPS_Config */
static int hf_nr_rrc_SPS_ConfigToReleaseList_r16_item = -1;  /* SPS_ConfigIndex_r16 */
static int hf_nr_rrc_SPS_ConfigDeactivationState_r16_item = -1;  /* SPS_ConfigIndex_r16 */
static int hf_nr_rrc_SPS_ConfigDeactivationStateList_r16_item = -1;  /* SPS_ConfigDeactivationState_r16 */
static int hf_nr_rrc_DL_PPW_PreConfigToAddModList_r17_item = -1;  /* DL_PPW_PreConfig_r17 */
static int hf_nr_rrc_DL_PPW_PreConfigToReleaseList_r17_item = -1;  /* DL_PPW_ID_r17 */
static int hf_nr_rrc_bwp_Common_01 = -1;          /* BWP_UplinkCommon */
static int hf_nr_rrc_bwp_Dedicated_01 = -1;       /* BWP_UplinkDedicated */
static int hf_nr_rrc_rach_ConfigCommon = -1;      /* T_rach_ConfigCommon */
static int hf_nr_rrc_setup_36 = -1;               /* RACH_ConfigCommon */
static int hf_nr_rrc_pusch_ConfigCommon = -1;     /* T_pusch_ConfigCommon */
static int hf_nr_rrc_setup_37 = -1;               /* PUSCH_ConfigCommon */
static int hf_nr_rrc_pucch_ConfigCommon = -1;     /* T_pucch_ConfigCommon */
static int hf_nr_rrc_setup_38 = -1;               /* PUCCH_ConfigCommon */
static int hf_nr_rrc_rach_ConfigCommonIAB_r16 = -1;  /* T_rach_ConfigCommonIAB_r16 */
static int hf_nr_rrc_useInterlacePUCCH_PUSCH_r16 = -1;  /* T_useInterlacePUCCH_PUSCH_r16 */
static int hf_nr_rrc_msgA_ConfigCommon_r16 = -1;  /* T_msgA_ConfigCommon_r16 */
static int hf_nr_rrc_setup_39 = -1;               /* MsgA_ConfigCommon_r16 */
static int hf_nr_rrc_enableRA_PrioritizationForSlicing_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_additionalRACH_ConfigList_r17 = -1;  /* T_additionalRACH_ConfigList_r17 */
static int hf_nr_rrc_setup_40 = -1;               /* AdditionalRACH_ConfigList_r17 */
static int hf_nr_rrc_rsrp_ThresholdMsg3_r17 = -1;  /* RSRP_Range */
static int hf_nr_rrc_numberOfMsg3_RepetitionsList_r17 = -1;  /* SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17 */
static int hf_nr_rrc_numberOfMsg3_RepetitionsList_r17_item = -1;  /* NumberOfMsg3_Repetitions_r17 */
static int hf_nr_rrc_mcs_Msg3_Repetitions_r17 = -1;  /* T_mcs_Msg3_Repetitions_r17 */
static int hf_nr_rrc_mcs_Msg3_Repetitions_r17_item = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_AdditionalRACH_ConfigList_r17_item = -1;  /* AdditionalRACH_Config_r17 */
static int hf_nr_rrc_rach_ConfigCommon_r17 = -1;  /* RACH_ConfigCommon */
static int hf_nr_rrc_msgA_ConfigCommon_r17 = -1;  /* MsgA_ConfigCommon_r16 */
static int hf_nr_rrc_pucch_Config = -1;           /* T_pucch_Config */
static int hf_nr_rrc_setup_41 = -1;               /* PUCCH_Config */
static int hf_nr_rrc_pusch_Config = -1;           /* T_pusch_Config */
static int hf_nr_rrc_configuredGrantConfig = -1;  /* T_configuredGrantConfig */
static int hf_nr_rrc_setup_42 = -1;               /* ConfiguredGrantConfig */
static int hf_nr_rrc_srs_Config = -1;             /* T_srs_Config */
static int hf_nr_rrc_setup_43 = -1;               /* SRS_Config */
static int hf_nr_rrc_beamFailureRecoveryConfig = -1;  /* T_beamFailureRecoveryConfig */
static int hf_nr_rrc_setup_44 = -1;               /* BeamFailureRecoveryConfig */
static int hf_nr_rrc_sl_PUCCH_Config_r16 = -1;    /* T_sl_PUCCH_Config_r16 */
static int hf_nr_rrc_cp_ExtensionC2_r16 = -1;     /* INTEGER_1_28 */
static int hf_nr_rrc_cp_ExtensionC3_r16 = -1;     /* INTEGER_1_28 */
static int hf_nr_rrc_useInterlacePUCCH_PUSCH_r16_01 = -1;  /* T_useInterlacePUCCH_PUSCH_r16_01 */
static int hf_nr_rrc_pucch_ConfigurationList_r16 = -1;  /* T_pucch_ConfigurationList_r16 */
static int hf_nr_rrc_setup_45 = -1;               /* PUCCH_ConfigurationList_r16 */
static int hf_nr_rrc_lbt_FailureRecoveryConfig_r16 = -1;  /* T_lbt_FailureRecoveryConfig_r16 */
static int hf_nr_rrc_setup_46 = -1;               /* LBT_FailureRecoveryConfig_r16 */
static int hf_nr_rrc_configuredGrantConfigToAddModList_r16 = -1;  /* ConfiguredGrantConfigToAddModList_r16 */
static int hf_nr_rrc_configuredGrantConfigToReleaseList_r16 = -1;  /* ConfiguredGrantConfigToReleaseList_r16 */
static int hf_nr_rrc_configuredGrantConfigType2DeactivationStateList_r16 = -1;  /* ConfiguredGrantConfigType2DeactivationStateList_r16 */
static int hf_nr_rrc_ul_TCI_StateList_r17 = -1;   /* T_ul_TCI_StateList_r17 */
static int hf_nr_rrc_explicitlist = -1;           /* T_explicitlist */
static int hf_nr_rrc_ul_TCI_ToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17 */
static int hf_nr_rrc_ul_TCI_ToAddModList_r17_item = -1;  /* TCI_UL_State_r17 */
static int hf_nr_rrc_ul_TCI_ToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17 */
static int hf_nr_rrc_ul_TCI_ToReleaseList_r17_item = -1;  /* TCI_UL_StateId_r17 */
static int hf_nr_rrc_unifiedTCI_StateRef_r17 = -1;  /* ServingCellAndBWP_Id_r17 */
static int hf_nr_rrc_ul_powerControl_r17 = -1;    /* Uplink_powerControlId_r17 */
static int hf_nr_rrc_pucch_ConfigurationListMulticast1_r17 = -1;  /* T_pucch_ConfigurationListMulticast1_r17 */
static int hf_nr_rrc_pucch_ConfigurationListMulticast2_r17 = -1;  /* T_pucch_ConfigurationListMulticast2_r17 */
static int hf_nr_rrc_pucch_ConfigMulticast1_r17 = -1;  /* T_pucch_ConfigMulticast1_r17 */
static int hf_nr_rrc_pucch_ConfigMulticast2_r17 = -1;  /* T_pucch_ConfigMulticast2_r17 */
static int hf_nr_rrc_pathlossReferenceRSToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17 */
static int hf_nr_rrc_pathlossReferenceRSToAddModList_r17_item = -1;  /* PathlossReferenceRS_r17 */
static int hf_nr_rrc_pathlossReferenceRSToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17 */
static int hf_nr_rrc_pathlossReferenceRSToReleaseList_r17_item = -1;  /* PathlossReferenceRS_Id_r17 */
static int hf_nr_rrc_ConfiguredGrantConfigToAddModList_r16_item = -1;  /* ConfiguredGrantConfig */
static int hf_nr_rrc_ConfiguredGrantConfigToReleaseList_r16_item = -1;  /* ConfiguredGrantConfigIndex_r16 */
static int hf_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16_item = -1;  /* ConfiguredGrantConfigIndex_r16 */
static int hf_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16_item = -1;  /* ConfiguredGrantConfigType2DeactivationState_r16 */
static int hf_nr_rrc_candidateBeamConfig_r16 = -1;  /* T_candidateBeamConfig_r16 */
static int hf_nr_rrc_ssb_r16 = -1;                /* SSB_Index */
static int hf_nr_rrc_csi_RS_r16 = -1;             /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_servingCellId = -1;          /* ServCellIndex */
static int hf_nr_rrc_plmn_IdentityInfoList = -1;  /* PLMN_IdentityInfoList */
static int hf_nr_rrc_cellReservedForOtherUse = -1;  /* T_cellReservedForOtherUse */
static int hf_nr_rrc_cellReservedForFutureUse_r16 = -1;  /* T_cellReservedForFutureUse_r16 */
static int hf_nr_rrc_npn_IdentityInfoList_r16 = -1;  /* NPN_IdentityInfoList_r16 */
static int hf_nr_rrc_snpn_AccessInfoList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17 */
static int hf_nr_rrc_snpn_AccessInfoList_r17_item = -1;  /* SNPN_AccessInfo_r17 */
static int hf_nr_rrc_extCH_Supported_r17 = -1;    /* T_extCH_Supported_r17 */
static int hf_nr_rrc_extCH_WithoutConfigAllowed_r17 = -1;  /* T_extCH_WithoutConfigAllowed_r17 */
static int hf_nr_rrc_onboardingEnabled_r17 = -1;  /* T_onboardingEnabled_r17 */
static int hf_nr_rrc_imsEmergencySupportForSNPN_r17 = -1;  /* T_imsEmergencySupportForSNPN_r17 */
static int hf_nr_rrc_plmn_IdentityList_eutra_5gc = -1;  /* PLMN_IdentityList_EUTRA_5GC */
static int hf_nr_rrc_trackingAreaCode_eutra_5gc = -1;  /* TrackingAreaCode */
static int hf_nr_rrc_ranac_5gc = -1;              /* RAN_AreaCode */
static int hf_nr_rrc_cellAccessRelatedInfo_EUTRA_5GC_cellIdentity_eutra_5gc = -1;  /* CellIdentity_EUTRA_5GC */
static int hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item = -1;  /* PLMN_Identity_EUTRA_5GC */
static int hf_nr_rrc_plmn_Identity_EUTRA_5GC = -1;  /* PLMN_Identity */
static int hf_nr_rrc_plmn_index = -1;             /* INTEGER_1_maxPLMN */
static int hf_nr_rrc_cellIdentity_EUTRA = -1;     /* BIT_STRING_SIZE_28 */
static int hf_nr_rrc_cellId_index = -1;           /* INTEGER_1_maxPLMN */
static int hf_nr_rrc_plmn_IdentityList_eutra_epc = -1;  /* PLMN_IdentityList_EUTRA_EPC */
static int hf_nr_rrc_trackingAreaCode_eutra_epc = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_cellIdentity_eutra_epc = -1;  /* BIT_STRING_SIZE_28 */
static int hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item = -1;  /* PLMN_Identity */
static int hf_nr_rrc_rlc_BearerToAddModList = -1;  /* SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig */
static int hf_nr_rrc_rlc_BearerToAddModList_item = -1;  /* RLC_BearerConfig */
static int hf_nr_rrc_rlc_BearerToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity */
static int hf_nr_rrc_rlc_BearerToReleaseList_item = -1;  /* LogicalChannelIdentity */
static int hf_nr_rrc_mac_CellGroupConfig = -1;    /* MAC_CellGroupConfig */
static int hf_nr_rrc_physicalCellGroupConfig = -1;  /* PhysicalCellGroupConfig */
static int hf_nr_rrc_spCellConfig = -1;           /* SpCellConfig */
static int hf_nr_rrc_sCellToAddModList = -1;      /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig */
static int hf_nr_rrc_sCellToAddModList_item = -1;  /* SCellConfig */
static int hf_nr_rrc_sCellToReleaseList = -1;     /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex */
static int hf_nr_rrc_sCellToReleaseList_item = -1;  /* SCellIndex */
static int hf_nr_rrc_reportUplinkTxDirectCurrent = -1;  /* T_reportUplinkTxDirectCurrent */
static int hf_nr_rrc_bh_RLC_ChannelToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16 */
static int hf_nr_rrc_bh_RLC_ChannelToAddModList_r16_item = -1;  /* BH_RLC_ChannelConfig_r16 */
static int hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16 */
static int hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16_item = -1;  /* BH_RLC_ChannelID_r16 */
static int hf_nr_rrc_f1c_TransferPath_r16 = -1;   /* T_f1c_TransferPath_r16 */
static int hf_nr_rrc_simultaneousTCI_UpdateList1_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */
static int hf_nr_rrc_simultaneousTCI_UpdateList1_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_simultaneousTCI_UpdateList2_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */
static int hf_nr_rrc_simultaneousTCI_UpdateList2_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */
static int hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */
static int hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_uplinkTxSwitchingOption_r16 = -1;  /* T_uplinkTxSwitchingOption_r16 */
static int hf_nr_rrc_uplinkTxSwitchingPowerBoosting_r16 = -1;  /* T_uplinkTxSwitchingPowerBoosting_r16 */
static int hf_nr_rrc_reportUplinkTxDirectCurrentTwoCarrier_r16 = -1;  /* T_reportUplinkTxDirectCurrentTwoCarrier_r16 */
static int hf_nr_rrc_f1c_TransferPathNRDC_r17 = -1;  /* T_f1c_TransferPathNRDC_r17 */
static int hf_nr_rrc_uplinkTxSwitching_2T_Mode_r17 = -1;  /* T_uplinkTxSwitching_2T_Mode_r17 */
static int hf_nr_rrc_uplinkTxSwitching_DualUL_TxState_r17 = -1;  /* T_uplinkTxSwitching_DualUL_TxState_r17 */
static int hf_nr_rrc_uu_RelayRLC_ChannelToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17 */
static int hf_nr_rrc_uu_RelayRLC_ChannelToAddModList_r17_item = -1;  /* Uu_RelayRLC_ChannelConfig_r17 */
static int hf_nr_rrc_uu_RelayRLC_ChannelToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17 */
static int hf_nr_rrc_uu_RelayRLC_ChannelToReleaseList_r17_item = -1;  /* Uu_RelayRLC_ChannelID_r17 */
static int hf_nr_rrc_simultaneousU_TCI_UpdateList1_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */
static int hf_nr_rrc_simultaneousU_TCI_UpdateList1_r17_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_simultaneousU_TCI_UpdateList2_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */
static int hf_nr_rrc_simultaneousU_TCI_UpdateList2_r17_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_simultaneousU_TCI_UpdateList3_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */
static int hf_nr_rrc_simultaneousU_TCI_UpdateList3_r17_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_simultaneousU_TCI_UpdateList4_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */
static int hf_nr_rrc_simultaneousU_TCI_UpdateList4_r17_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_rlc_BearerToReleaseListExt_r17 = -1;  /* SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17 */
static int hf_nr_rrc_rlc_BearerToReleaseListExt_r17_item = -1;  /* LogicalChannelIdentityExt_r17 */
static int hf_nr_rrc_iab_ResourceConfigToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17 */
static int hf_nr_rrc_iab_ResourceConfigToAddModList_r17_item = -1;  /* IAB_ResourceConfig_r17 */
static int hf_nr_rrc_iab_ResourceConfigToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17 */
static int hf_nr_rrc_iab_ResourceConfigToReleaseList_r17_item = -1;  /* IAB_ResourceConfigID_r17 */
static int hf_nr_rrc_reportUplinkTxDirectCurrentMoreCarrier_r17 = -1;  /* ReportUplinkTxDirectCurrentMoreCarrier_r17 */
static int hf_nr_rrc_reconfigurationWithSync = -1;  /* ReconfigurationWithSync */
static int hf_nr_rrc_rlf_TimersAndConstants = -1;  /* T_rlf_TimersAndConstants */
static int hf_nr_rrc_setup_47 = -1;               /* RLF_TimersAndConstants */
static int hf_nr_rrc_rlmInSyncOutOfSyncThreshold = -1;  /* T_rlmInSyncOutOfSyncThreshold */
static int hf_nr_rrc_spCellConfigDedicated = -1;  /* ServingCellConfig */
static int hf_nr_rrc_lowMobilityEvaluationConnected_r17 = -1;  /* T_lowMobilityEvaluationConnected_r17 */
static int hf_nr_rrc_s_SearchDeltaP_Connected_r17 = -1;  /* T_s_SearchDeltaP_Connected_r17 */
static int hf_nr_rrc_t_SearchDeltaP_Connected_r17 = -1;  /* T_t_SearchDeltaP_Connected_r17 */
static int hf_nr_rrc_goodServingCellEvaluationRLM_r17 = -1;  /* GoodServingCellEvaluation_r17 */
static int hf_nr_rrc_goodServingCellEvaluationBFD_r17 = -1;  /* GoodServingCellEvaluation_r17 */
static int hf_nr_rrc_deactivatedSCG_Config_r17 = -1;  /* T_deactivatedSCG_Config_r17 */
static int hf_nr_rrc_setup_48 = -1;               /* DeactivatedSCG_Config_r17 */
static int hf_nr_rrc_spCellConfigCommon = -1;     /* ServingCellConfigCommon */
static int hf_nr_rrc_newUE_Identity = -1;         /* RNTI_Value */
static int hf_nr_rrc_t304 = -1;                   /* T_t304 */
static int hf_nr_rrc_rach_ConfigDedicated = -1;   /* T_rach_ConfigDedicated */
static int hf_nr_rrc_uplink = -1;                 /* RACH_ConfigDedicated */
static int hf_nr_rrc_supplementaryUplink = -1;    /* RACH_ConfigDedicated */
static int hf_nr_rrc_daps_UplinkPowerConfig_r16 = -1;  /* DAPS_UplinkPowerConfig_r16 */
static int hf_nr_rrc_sl_PathSwitchConfig_r17 = -1;  /* SL_PathSwitchConfig_r17 */
static int hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16_01 = -1;  /* T_uplinkPowerSharingDAPS_Mode_r16_01 */
static int hf_nr_rrc_sCellIndex = -1;             /* SCellIndex */
static int hf_nr_rrc_sCellConfigCommon = -1;      /* ServingCellConfigCommon */
static int hf_nr_rrc_sCellConfigDedicated = -1;   /* ServingCellConfig */
static int hf_nr_rrc_sCellState_r16 = -1;         /* T_sCellState_r16 */
static int hf_nr_rrc_secondaryDRX_GroupConfig_r16 = -1;  /* T_secondaryDRX_GroupConfig_r16 */
static int hf_nr_rrc_sCellSIB20_r17 = -1;         /* T_sCellSIB20_r17 */
static int hf_nr_rrc_setup_49 = -1;               /* SCellSIB20_r17 */
static int hf_nr_rrc_plmn_IdentityInfoList_r17 = -1;  /* T_plmn_IdentityInfoList_r17 */
static int hf_nr_rrc_setup_50 = -1;               /* PLMN_IdentityInfoList */
static int hf_nr_rrc_npn_IdentityInfoList_r17 = -1;  /* T_npn_IdentityInfoList_r17 */
static int hf_nr_rrc_setup_51 = -1;               /* NPN_IdentityInfoList_r16 */
static int hf_nr_rrc_bfd_and_RLM_r17 = -1;        /* BOOLEAN */
static int hf_nr_rrc_offset_r17 = -1;             /* T_offset_r17 */
static int hf_nr_rrc_targetRelayUE_Identity_r17 = -1;  /* SL_SourceIdentity_r17 */
static int hf_nr_rrc_t420_r17 = -1;               /* T_t420_r17 */
static int hf_nr_rrc_iab_ResourceConfigID_r17 = -1;  /* IAB_ResourceConfigID_r17 */
static int hf_nr_rrc_slotList_r17 = -1;           /* T_slotList_r17 */
static int hf_nr_rrc_slotList_r17_item = -1;      /* INTEGER_0_5119 */
static int hf_nr_rrc_periodicitySlotList_r17 = -1;  /* T_periodicitySlotList_r17 */
static int hf_nr_rrc_slotListSubcarrierSpacing_r17 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_ReportUplinkTxDirectCurrentMoreCarrier_r17_item = -1;  /* IntraBandCC_CombinationReqList_r17 */
static int hf_nr_rrc_servCellIndexList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex */
static int hf_nr_rrc_servCellIndexList_r17_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_cc_CombinationList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17 */
static int hf_nr_rrc_cc_CombinationList_r17_item = -1;  /* IntraBandCC_Combination_r17 */
static int hf_nr_rrc_IntraBandCC_Combination_r17_item = -1;  /* CC_State_r17 */
static int hf_nr_rrc_dlCarrier_r17 = -1;          /* CarrierState_r17 */
static int hf_nr_rrc_ulCarrier_r17 = -1;          /* CarrierState_r17 */
static int hf_nr_rrc_deActivated_r17 = -1;        /* NULL */
static int hf_nr_rrc_activeBWP_r17 = -1;          /* INTEGER_0_maxNrofBWPs */
static int hf_nr_rrc_locationAndBandwidthMulticast_r17 = -1;  /* INTEGER_0_37949 */
static int hf_nr_rrc_pdcch_ConfigMulticast_r17 = -1;  /* PDCCH_Config */
static int hf_nr_rrc_pdsch_ConfigMulticast_r17 = -1;  /* PDSCH_Config */
static int hf_nr_rrc_sps_ConfigMulticastToAddModList_r17 = -1;  /* SPS_ConfigMulticastToAddModList_r17 */
static int hf_nr_rrc_sps_ConfigMulticastToReleaseList_r17 = -1;  /* SPS_ConfigMulticastToReleaseList_r17 */
static int hf_nr_rrc_SPS_ConfigMulticastToAddModList_r17_item = -1;  /* SPS_Config */
static int hf_nr_rrc_SPS_ConfigMulticastToReleaseList_r17_item = -1;  /* SPS_ConfigIndex_r16 */
static int hf_nr_rrc_cgi_info_EPC = -1;           /* T_cgi_info_EPC */
static int hf_nr_rrc_cgi_info_EPC_legacy = -1;    /* CellAccessRelatedInfo_EUTRA_EPC */
static int hf_nr_rrc_cgi_info_EPC_list = -1;      /* SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC */
static int hf_nr_rrc_cgi_info_EPC_list_item = -1;  /* CellAccessRelatedInfo_EUTRA_EPC */
static int hf_nr_rrc_cgi_info_5GC = -1;           /* SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC */
static int hf_nr_rrc_cgi_info_5GC_item = -1;      /* CellAccessRelatedInfo_EUTRA_5GC */
static int hf_nr_rrc_freqBandIndicator = -1;      /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_multiBandInfoList = -1;      /* MultiBandInfoListEUTRA */
static int hf_nr_rrc_freqBandIndicatorPriority = -1;  /* T_freqBandIndicatorPriority */
static int hf_nr_rrc_plmn_Identity_eutra_5gc = -1;  /* PLMN_Identity */
static int hf_nr_rrc_cGI_InfoEUTRALogging_cellIdentity_eutra_5gc = -1;  /* BIT_STRING_SIZE_28 */
static int hf_nr_rrc_plmn_Identity_eutra_epc = -1;  /* PLMN_Identity */
static int hf_nr_rrc_frequencyBandList_01 = -1;   /* MultiFrequencyBandListNR */
static int hf_nr_rrc_noSIB1 = -1;                 /* T_noSIB1 */
static int hf_nr_rrc_cellReservedForOtherUse_r16 = -1;  /* T_cellReservedForOtherUse_r16 */
static int hf_nr_rrc_plmn_Identity_r16 = -1;      /* PLMN_Identity */
static int hf_nr_rrc_cellIdentity_r16 = -1;       /* CellIdentity */
static int hf_nr_rrc_trackingAreaCode_r16 = -1;   /* TrackingAreaCode */
static int hf_nr_rrc_codebookType = -1;           /* T_codebookType */
static int hf_nr_rrc_type1_01 = -1;               /* T_type1_01 */
static int hf_nr_rrc_subType = -1;                /* T_subType */
static int hf_nr_rrc_typeI_SinglePanel = -1;      /* T_typeI_SinglePanel */
static int hf_nr_rrc_nrOfAntennaPorts = -1;       /* T_nrOfAntennaPorts */
static int hf_nr_rrc_two = -1;                    /* T_two */
static int hf_nr_rrc_twoTX_CodebookSubsetRestriction = -1;  /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_moreThanTwo = -1;            /* T_moreThanTwo */
static int hf_nr_rrc_n1_n2 = -1;                  /* T_n1_n2 */
static int hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_96 */
static int hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_24 */
static int hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_128 */
static int hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_192 */
static int hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_192 */
static int hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_48 */
static int hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_256 */
static int hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_256 */
static int hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_typeI_SinglePanel_ri_Restriction = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_typeI_MultiPanel = -1;       /* T_typeI_MultiPanel */
static int hf_nr_rrc_ng_n1_n2 = -1;               /* T_ng_n1_n2 */
static int hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction = -1;  /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction = -1;  /* BIT_STRING_SIZE_128 */
static int hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_ri_Restriction = -1;         /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_codebookMode = -1;           /* INTEGER_1_2 */
static int hf_nr_rrc_type2 = -1;                  /* T_type2 */
static int hf_nr_rrc_subType_01 = -1;             /* T_subType_01 */
static int hf_nr_rrc_typeII = -1;                 /* T_typeII */
static int hf_nr_rrc_n1_n2_codebookSubsetRestriction = -1;  /* T_n1_n2_codebookSubsetRestriction */
static int hf_nr_rrc_two_one = -1;                /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_two_two = -1;                /* BIT_STRING_SIZE_43 */
static int hf_nr_rrc_four_one = -1;               /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_three_two = -1;              /* BIT_STRING_SIZE_59 */
static int hf_nr_rrc_six_one = -1;                /* BIT_STRING_SIZE_48 */
static int hf_nr_rrc_four_two = -1;               /* BIT_STRING_SIZE_75 */
static int hf_nr_rrc_eight_one = -1;              /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_four_three = -1;             /* BIT_STRING_SIZE_107 */
static int hf_nr_rrc_six_two = -1;                /* BIT_STRING_SIZE_107 */
static int hf_nr_rrc_twelve_one = -1;             /* BIT_STRING_SIZE_96 */
static int hf_nr_rrc_four_four = -1;              /* BIT_STRING_SIZE_139 */
static int hf_nr_rrc_eight_two = -1;              /* BIT_STRING_SIZE_139 */
static int hf_nr_rrc_sixteen_one = -1;            /* BIT_STRING_SIZE_128 */
static int hf_nr_rrc_typeII_RI_Restriction = -1;  /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_typeII_PortSelection = -1;   /* T_typeII_PortSelection */
static int hf_nr_rrc_portSelectionSamplingSize = -1;  /* T_portSelectionSamplingSize */
static int hf_nr_rrc_typeII_PortSelectionRI_Restriction = -1;  /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_phaseAlphabetSize = -1;      /* T_phaseAlphabetSize */
static int hf_nr_rrc_subbandAmplitude = -1;       /* BOOLEAN */
static int hf_nr_rrc_numberOfBeams = -1;          /* T_numberOfBeams */
static int hf_nr_rrc_codebookType_01 = -1;        /* T_codebookType_01 */
static int hf_nr_rrc_type2_01 = -1;               /* T_type2_01 */
static int hf_nr_rrc_subType_02 = -1;             /* T_subType_02 */
static int hf_nr_rrc_typeII_r16 = -1;             /* T_typeII_r16 */
static int hf_nr_rrc_n1_n2_codebookSubsetRestriction_r16 = -1;  /* T_n1_n2_codebookSubsetRestriction_r16 */
static int hf_nr_rrc_typeII_RI_Restriction_r16 = -1;  /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_typeII_PortSelection_r16 = -1;  /* T_typeII_PortSelection_r16 */
static int hf_nr_rrc_portSelectionSamplingSize_r16 = -1;  /* T_portSelectionSamplingSize_r16 */
static int hf_nr_rrc_typeII_PortSelectionRI_Restriction_r16 = -1;  /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_paramCombination_r16 = -1;   /* INTEGER_1_8 */
static int hf_nr_rrc_codebookType_02 = -1;        /* T_codebookType_02 */
static int hf_nr_rrc_type1_02 = -1;               /* T_type1_02 */
static int hf_nr_rrc_typeI_SinglePanel_Group1_r17 = -1;  /* T_typeI_SinglePanel_Group1_r17 */
static int hf_nr_rrc_nrOfAntennaPorts_01 = -1;    /* T_nrOfAntennaPorts_01 */
static int hf_nr_rrc_two_01 = -1;                 /* T_two_01 */
static int hf_nr_rrc_twoTX_CodebookSubsetRestriction1_r17 = -1;  /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_moreThanTwo_01 = -1;         /* T_moreThanTwo_01 */
static int hf_nr_rrc_n1_n2_01 = -1;               /* T_n1_n2_01 */
static int hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_96 */
static int hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_24 */
static int hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_128 */
static int hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_192 */
static int hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_192 */
static int hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_48 */
static int hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_256 */
static int hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_256 */
static int hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction1_r17 = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_typeI_SinglePanel_Group2_r17 = -1;  /* T_typeI_SinglePanel_Group2_r17 */
static int hf_nr_rrc_nrOfAntennaPorts_02 = -1;    /* T_nrOfAntennaPorts_02 */
static int hf_nr_rrc_two_02 = -1;                 /* T_two_02 */
static int hf_nr_rrc_twoTX_CodebookSubsetRestriction2_r17 = -1;  /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_moreThanTwo_02 = -1;         /* T_moreThanTwo_02 */
static int hf_nr_rrc_n1_n2_02 = -1;               /* T_n1_n2_02 */
static int hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_96 */
static int hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_24 */
static int hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_128 */
static int hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_192 */
static int hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_192 */
static int hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_48 */
static int hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_256 */
static int hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_256 */
static int hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction2_r17 = -1;  /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_typeI_SinglePanel_ri_RestrictionSTRP_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_typeI_SinglePanel_ri_RestrictionSDM_r17 = -1;  /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_type2_02 = -1;               /* T_type2_02 */
static int hf_nr_rrc_typeII_PortSelection_r17 = -1;  /* T_typeII_PortSelection_r17 */
static int hf_nr_rrc_paramCombination_r17 = -1;   /* INTEGER_1_8 */
static int hf_nr_rrc_valueOfN_r17 = -1;           /* T_valueOfN_r17 */
static int hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r17 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_typeII_PortSelectionRI_Restriction_r17 = -1;  /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_codebookType_03 = -1;        /* T_codebookType_03 */
static int hf_nr_rrc_type1_03 = -1;               /* T_type1_03 */
static int hf_nr_rrc_gnss_TOD_msec_r16 = -1;      /* OCTET_STRING */
static int hf_nr_rrc_locationTimestamp_r16 = -1;  /* T_locationTimestamp_r16 */
static int hf_nr_rrc_locationCoordinate_r16 = -1;  /* T_locationCoordinate_r16 */
static int hf_nr_rrc_locationError_r16 = -1;      /* T_locationError_r16 */
static int hf_nr_rrc_locationSource_r16 = -1;     /* T_locationSource_r16 */
static int hf_nr_rrc_velocityEstimate_r16 = -1;   /* T_velocityEstimate_r16 */
static int hf_nr_rrc_CondReconfigToAddModList_r16_item = -1;  /* CondReconfigToAddMod_r16 */
static int hf_nr_rrc_condReconfigId_r16 = -1;     /* CondReconfigId_r16 */
static int hf_nr_rrc_condExecutionCond_r16 = -1;  /* SEQUENCE_SIZE_1_2_OF_MeasId */
static int hf_nr_rrc_condExecutionCond_r16_item = -1;  /* MeasId */
static int hf_nr_rrc_condRRCReconfig_r16 = -1;    /* T_condRRCReconfig_r16 */
static int hf_nr_rrc_condExecutionCondSCG_r17_01 = -1;  /* T_condExecutionCondSCG_r17_01 */
static int hf_nr_rrc_CondReconfigExecCondSCG_r17_item = -1;  /* MeasId */
static int hf_nr_rrc_attemptCondReconfig_r16 = -1;  /* T_attemptCondReconfig_r16 */
static int hf_nr_rrc_condReconfigToRemoveList_r16 = -1;  /* CondReconfigToRemoveList_r16 */
static int hf_nr_rrc_condReconfigToAddModList_r16 = -1;  /* CondReconfigToAddModList_r16 */
static int hf_nr_rrc_CondReconfigToRemoveList_r16_item = -1;  /* CondReconfigId_r16 */
static int hf_nr_rrc_frequencyHopping = -1;       /* T_frequencyHopping */
static int hf_nr_rrc_cg_DMRS_Configuration = -1;  /* DMRS_UplinkConfig */
static int hf_nr_rrc_mcs_Table = -1;              /* T_mcs_Table */
static int hf_nr_rrc_mcs_TableTransformPrecoder = -1;  /* T_mcs_TableTransformPrecoder */
static int hf_nr_rrc_uci_OnPUSCH = -1;            /* T_uci_OnPUSCH */
static int hf_nr_rrc_setup_52 = -1;               /* CG_UCI_OnPUSCH */
static int hf_nr_rrc_resourceAllocation = -1;     /* T_resourceAllocation */
static int hf_nr_rrc_rbg_Size = -1;               /* T_rbg_Size */
static int hf_nr_rrc_powerControlLoopToUse = -1;  /* T_powerControlLoopToUse */
static int hf_nr_rrc_p0_PUSCH_Alpha = -1;         /* P0_PUSCH_AlphaSetId */
static int hf_nr_rrc_transformPrecoder = -1;      /* T_transformPrecoder */
static int hf_nr_rrc_nrofHARQ_Processes = -1;     /* INTEGER_1_16 */
static int hf_nr_rrc_repK = -1;                   /* T_repK */
static int hf_nr_rrc_repK_RV = -1;                /* T_repK_RV */
static int hf_nr_rrc_periodicity = -1;            /* T_periodicity */
static int hf_nr_rrc_configuredGrantTimer = -1;   /* INTEGER_1_64 */
static int hf_nr_rrc_rrc_ConfiguredUplinkGrant = -1;  /* T_rrc_ConfiguredUplinkGrant */
static int hf_nr_rrc_timeDomainOffset = -1;       /* INTEGER_0_5119 */
static int hf_nr_rrc_timeDomainAllocation = -1;   /* INTEGER_0_15 */
static int hf_nr_rrc_configuredGrantConfig_rrc_ConfiguredUplinkGrant_frequencyDomainAllocation = -1;  /* BIT_STRING_SIZE_18 */
static int hf_nr_rrc_antennaPort = -1;            /* INTEGER_0_31 */
static int hf_nr_rrc_dmrs_SeqInitialization = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_precodingAndNumberOfLayers = -1;  /* INTEGER_0_63 */
static int hf_nr_rrc_srs_ResourceIndicator = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_mcsAndTBS = -1;              /* INTEGER_0_31 */
static int hf_nr_rrc_frequencyHoppingOffset = -1;  /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_pathlossReferenceIndex = -1;  /* INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 */
static int hf_nr_rrc_pusch_RepTypeIndicator_r16 = -1;  /* T_pusch_RepTypeIndicator_r16 */
static int hf_nr_rrc_frequencyHoppingPUSCH_RepTypeB_r16 = -1;  /* T_frequencyHoppingPUSCH_RepTypeB_r16 */
static int hf_nr_rrc_timeReferenceSFN_r16 = -1;   /* T_timeReferenceSFN_r16 */
static int hf_nr_rrc_pathlossReferenceIndex2_r17 = -1;  /* INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 */
static int hf_nr_rrc_srs_ResourceIndicator2_r17 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_precodingAndNumberOfLayers2_r17 = -1;  /* INTEGER_0_63 */
static int hf_nr_rrc_timeDomainAllocation_v1710 = -1;  /* INTEGER_16_63 */
static int hf_nr_rrc_timeDomainOffset_r17 = -1;   /* INTEGER_0_40959 */
static int hf_nr_rrc_cg_SDT_Configuration_r17 = -1;  /* CG_SDT_Configuration_r17 */
static int hf_nr_rrc_cg_RetransmissionTimer_r16 = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_cg_minDFI_Delay_r16 = -1;    /* T_cg_minDFI_Delay_r16 */
static int hf_nr_rrc_cg_nrofPUSCH_InSlot_r16 = -1;  /* INTEGER_1_7 */
static int hf_nr_rrc_cg_nrofSlots_r16 = -1;       /* INTEGER_1_40 */
static int hf_nr_rrc_cg_StartingOffsets_r16 = -1;  /* CG_StartingOffsets_r16 */
static int hf_nr_rrc_cg_UCI_Multiplexing_r16 = -1;  /* T_cg_UCI_Multiplexing_r16 */
static int hf_nr_rrc_cg_COT_SharingOffset_r16 = -1;  /* INTEGER_1_39 */
static int hf_nr_rrc_betaOffsetCG_UCI_r16 = -1;   /* INTEGER_0_31 */
static int hf_nr_rrc_cg_COT_SharingList_r16 = -1;  /* SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16 */
static int hf_nr_rrc_cg_COT_SharingList_r16_item = -1;  /* CG_COT_Sharing_r16 */
static int hf_nr_rrc_harq_ProcID_Offset_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_harq_ProcID_Offset2_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_configuredGrantConfigIndex_r16 = -1;  /* ConfiguredGrantConfigIndex_r16 */
static int hf_nr_rrc_configuredGrantConfigIndexMAC_r16 = -1;  /* ConfiguredGrantConfigIndexMAC_r16 */
static int hf_nr_rrc_periodicityExt_r16 = -1;     /* INTEGER_1_5120 */
static int hf_nr_rrc_startingFromRV0_r16 = -1;    /* T_startingFromRV0_r16 */
static int hf_nr_rrc_phy_PriorityIndex_r16 = -1;  /* T_phy_PriorityIndex_r16 */
static int hf_nr_rrc_autonomousTx_r16 = -1;       /* T_autonomousTx_r16 */
static int hf_nr_rrc_cg_betaOffsetsCrossPri0_r17 = -1;  /* T_cg_betaOffsetsCrossPri0_r17 */
static int hf_nr_rrc_setup_53 = -1;               /* BetaOffsetsCrossPriSelCG_r17 */
static int hf_nr_rrc_cg_betaOffsetsCrossPri1_r17 = -1;  /* T_cg_betaOffsetsCrossPri1_r17 */
static int hf_nr_rrc_mappingPattern_r17 = -1;     /* T_mappingPattern_r17 */
static int hf_nr_rrc_sequenceOffsetForRV_r17 = -1;  /* INTEGER_0_3 */
static int hf_nr_rrc_p0_PUSCH_Alpha2_r17 = -1;    /* P0_PUSCH_AlphaSetId */
static int hf_nr_rrc_powerControlLoopToUse2_r17 = -1;  /* T_powerControlLoopToUse2_r17 */
static int hf_nr_rrc_cg_COT_SharingList_r17 = -1;  /* SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17 */
static int hf_nr_rrc_cg_COT_SharingList_r17_item = -1;  /* CG_COT_Sharing_r17 */
static int hf_nr_rrc_periodicityExt_r17 = -1;     /* INTEGER_1_40960 */
static int hf_nr_rrc_repK_v1710 = -1;             /* T_repK_v1710 */
static int hf_nr_rrc_nrofHARQ_Processes_v1700 = -1;  /* INTEGER_17_32 */
static int hf_nr_rrc_harq_ProcID_Offset2_v1700 = -1;  /* INTEGER_16_31 */
static int hf_nr_rrc_configuredGrantTimer_v1700 = -1;  /* INTEGER_33_288 */
static int hf_nr_rrc_cg_minDFI_Delay_v1710 = -1;  /* INTEGER_238_3584 */
static int hf_nr_rrc_harq_ProcID_Offset_v1730 = -1;  /* INTEGER_16_31 */
static int hf_nr_rrc_cg_nrofSlots_r17 = -1;       /* INTEGER_1_320 */
static int hf_nr_rrc_dynamic = -1;                /* SEQUENCE_SIZE_1_4_OF_BetaOffsets */
static int hf_nr_rrc_dynamic_item = -1;           /* BetaOffsets */
static int hf_nr_rrc_semiStatic = -1;             /* BetaOffsets */
static int hf_nr_rrc_noCOT_Sharing_r16 = -1;      /* NULL */
static int hf_nr_rrc_cot_Sharing_r16 = -1;        /* T_cot_Sharing_r16 */
static int hf_nr_rrc_duration_r16 = -1;           /* INTEGER_1_39 */
static int hf_nr_rrc_offset_r16 = -1;             /* INTEGER_1_39 */
static int hf_nr_rrc_channelAccessPriority_r16 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_noCOT_Sharing_r17 = -1;      /* NULL */
static int hf_nr_rrc_cot_Sharing_r17 = -1;        /* T_cot_Sharing_r17 */
static int hf_nr_rrc_duration_r17 = -1;           /* INTEGER_1_319 */
static int hf_nr_rrc_offset_r17_01 = -1;          /* INTEGER_1_319 */
static int hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16 = -1;  /* T_cg_StartingFullBW_InsideCOT_r16 */
static int hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16_item = -1;  /* INTEGER_0_6 */
static int hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16 = -1;  /* T_cg_StartingFullBW_OutsideCOT_r16 */
static int hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16_item = -1;  /* INTEGER_0_6 */
static int hf_nr_rrc_cg_StartingPartialBW_InsideCOT_r16 = -1;  /* INTEGER_0_6 */
static int hf_nr_rrc_cg_StartingPartialBW_OutsideCOT_r16 = -1;  /* INTEGER_0_6 */
static int hf_nr_rrc_dynamic_r17 = -1;            /* SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_dynamic_r17_item = -1;       /* BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_semiStatic_r17 = -1;         /* BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_cg_SDT_RetransmissionTimer = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_sdt_SSB_Subset_r17 = -1;     /* T_sdt_SSB_Subset_r17 */
static int hf_nr_rrc_shortBitmap_r17 = -1;        /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_mediumBitmap_r17 = -1;       /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_longBitmap_r17 = -1;         /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_sdt_SSB_PerCG_PUSCH_r17 = -1;  /* T_sdt_SSB_PerCG_PUSCH_r17 */
static int hf_nr_rrc_sdt_P0_PUSCH_r17 = -1;       /* INTEGER_M16_15 */
static int hf_nr_rrc_sdt_Alpha_r17 = -1;          /* T_sdt_Alpha_r17 */
static int hf_nr_rrc_sdt_DMRS_Ports_r17 = -1;     /* T_sdt_DMRS_Ports_r17 */
static int hf_nr_rrc_dmrsType1_r17 = -1;          /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_dmrsType2_r17 = -1;          /* BIT_STRING_SIZE_12 */
static int hf_nr_rrc_sdt_NrofDMRS_Sequences_r17 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_connEstFailCount = -1;       /* T_connEstFailCount */
static int hf_nr_rrc_connEstFailOffsetValidity = -1;  /* T_connEstFailOffsetValidity */
static int hf_nr_rrc_connEstFailOffset = -1;      /* INTEGER_0_15 */
static int hf_nr_rrc_controlResourceSetId = -1;   /* ControlResourceSetId */
static int hf_nr_rrc_frequencyDomainResources = -1;  /* BIT_STRING_SIZE_45 */
static int hf_nr_rrc_duration = -1;               /* INTEGER_1_maxCoReSetDuration */
static int hf_nr_rrc_cce_REG_MappingType = -1;    /* T_cce_REG_MappingType */
static int hf_nr_rrc_interleaved = -1;            /* T_interleaved */
static int hf_nr_rrc_reg_BundleSize = -1;         /* T_reg_BundleSize */
static int hf_nr_rrc_interleaverSize = -1;        /* T_interleaverSize */
static int hf_nr_rrc_shiftIndex = -1;             /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_nonInterleaved = -1;         /* NULL */
static int hf_nr_rrc_precoderGranularity = -1;    /* T_precoderGranularity */
static int hf_nr_rrc_tci_StatesPDCCH_ToAddList = -1;  /* SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId */
static int hf_nr_rrc_tci_StatesPDCCH_ToAddList_item = -1;  /* TCI_StateId */
static int hf_nr_rrc_tci_StatesPDCCH_ToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId */
static int hf_nr_rrc_tci_StatesPDCCH_ToReleaseList_item = -1;  /* TCI_StateId */
static int hf_nr_rrc_tci_PresentInDCI = -1;       /* T_tci_PresentInDCI */
static int hf_nr_rrc_pdcch_DMRS_ScramblingID = -1;  /* INTEGER_0_65535 */
static int hf_nr_rrc_rb_Offset_r16 = -1;          /* INTEGER_0_5 */
static int hf_nr_rrc_tci_PresentDCI_1_2_r16 = -1;  /* INTEGER_1_3 */
static int hf_nr_rrc_coresetPoolIndex_r16 = -1;   /* INTEGER_0_1 */
static int hf_nr_rrc_controlResourceSetId_v1610 = -1;  /* ControlResourceSetId_v1610 */
static int hf_nr_rrc_followUnifiedTCI_State_r17 = -1;  /* T_followUnifiedTCI_State_r17 */
static int hf_nr_rrc_schedulingCellInfo = -1;     /* T_schedulingCellInfo */
static int hf_nr_rrc_own = -1;                    /* T_own */
static int hf_nr_rrc_cif_Presence = -1;           /* BOOLEAN */
static int hf_nr_rrc_other = -1;                  /* T_other */
static int hf_nr_rrc_schedulingCellId = -1;       /* ServCellIndex */
static int hf_nr_rrc_cif_InSchedulingCell = -1;   /* INTEGER_1_7 */
static int hf_nr_rrc_carrierIndicatorSize_r16 = -1;  /* T_carrierIndicatorSize_r16 */
static int hf_nr_rrc_carrierIndicatorSizeDCI_1_2_r16 = -1;  /* INTEGER_0_3 */
static int hf_nr_rrc_carrierIndicatorSizeDCI_0_2_r16 = -1;  /* INTEGER_0_3 */
static int hf_nr_rrc_enableDefaultBeamForCCS_r16 = -1;  /* T_enableDefaultBeamForCCS_r16 */
static int hf_nr_rrc_ccs_BlindDetectionSplit_r17 = -1;  /* T_ccs_BlindDetectionSplit_r17 */
static int hf_nr_rrc_CSI_AperiodicTriggerStateList_item = -1;  /* CSI_AperiodicTriggerState */
static int hf_nr_rrc_associatedReportConfigInfoList = -1;  /* SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo */
static int hf_nr_rrc_associatedReportConfigInfoList_item = -1;  /* CSI_AssociatedReportConfigInfo */
static int hf_nr_rrc_ap_CSI_MultiplexingMode_r17 = -1;  /* T_ap_CSI_MultiplexingMode_r17 */
static int hf_nr_rrc_reportConfigId = -1;         /* CSI_ReportConfigId */
static int hf_nr_rrc_resourcesForChannel = -1;    /* T_resourcesForChannel */
static int hf_nr_rrc_nzp_CSI_RS = -1;             /* T_nzp_CSI_RS */
static int hf_nr_rrc_resourceSet = -1;            /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
static int hf_nr_rrc_qcl_info = -1;               /* SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId */
static int hf_nr_rrc_qcl_info_item = -1;          /* TCI_StateId */
static int hf_nr_rrc_csi_SSB_ResourceSet = -1;    /* INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig */
static int hf_nr_rrc_csi_IM_ResourcesForInterference = -1;  /* INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig */
static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference = -1;  /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
static int hf_nr_rrc_resourcesForChannel2_r17 = -1;  /* T_resourcesForChannel2_r17 */
static int hf_nr_rrc_nzp_CSI_RS2_r17 = -1;        /* T_nzp_CSI_RS2_r17 */
static int hf_nr_rrc_resourceSet2_r17 = -1;       /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
static int hf_nr_rrc_qcl_info2_r17 = -1;          /* SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId */
static int hf_nr_rrc_qcl_info2_r17_item = -1;     /* TCI_StateId */
static int hf_nr_rrc_csi_SSB_ResourceSet2_r17 = -1;  /* INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfigExt */
static int hf_nr_rrc_csi_SSB_ResourceSetExt = -1;  /* INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfigExt */
static int hf_nr_rrc_startingRB = -1;             /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_nrofRBs = -1;                /* INTEGER_24_maxNrofPhysicalResourceBlocksPlus1 */
static int hf_nr_rrc_csi_IM_ResourceId = -1;      /* CSI_IM_ResourceId */
static int hf_nr_rrc_csi_IM_ResourceElementPattern = -1;  /* T_csi_IM_ResourceElementPattern */
static int hf_nr_rrc_pattern0 = -1;               /* T_pattern0 */
static int hf_nr_rrc_subcarrierLocation_p0 = -1;  /* T_subcarrierLocation_p0 */
static int hf_nr_rrc_symbolLocation_p0 = -1;      /* INTEGER_0_12 */
static int hf_nr_rrc_pattern1 = -1;               /* T_pattern1 */
static int hf_nr_rrc_subcarrierLocation_p1 = -1;  /* T_subcarrierLocation_p1 */
static int hf_nr_rrc_symbolLocation_p1 = -1;      /* INTEGER_0_13 */
static int hf_nr_rrc_freqBand = -1;               /* CSI_FrequencyOccupation */
static int hf_nr_rrc_periodicityAndOffset = -1;   /* CSI_ResourcePeriodicityAndOffset */
static int hf_nr_rrc_csi_IM_ResourceSetId = -1;   /* CSI_IM_ResourceSetId */
static int hf_nr_rrc_csi_IM_Resources = -1;       /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId */
static int hf_nr_rrc_csi_IM_Resources_item = -1;  /* CSI_IM_ResourceId */
static int hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource */
static int hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item = -1;  /* NZP_CSI_RS_Resource */
static int hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item = -1;  /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item = -1;  /* NZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item = -1;  /* NZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_csi_IM_ResourceToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource */
static int hf_nr_rrc_csi_IM_ResourceToAddModList_item = -1;  /* CSI_IM_Resource */
static int hf_nr_rrc_csi_IM_ResourceToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId */
static int hf_nr_rrc_csi_IM_ResourceToReleaseList_item = -1;  /* CSI_IM_ResourceId */
static int hf_nr_rrc_csi_IM_ResourceSetToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet */
static int hf_nr_rrc_csi_IM_ResourceSetToAddModList_item = -1;  /* CSI_IM_ResourceSet */
static int hf_nr_rrc_csi_IM_ResourceSetToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId */
static int hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item = -1;  /* CSI_IM_ResourceSetId */
static int hf_nr_rrc_csi_SSB_ResourceSetToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet */
static int hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item = -1;  /* CSI_SSB_ResourceSet */
static int hf_nr_rrc_csi_SSB_ResourceSetToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId */
static int hf_nr_rrc_csi_SSB_ResourceSetToReleaseList_item = -1;  /* CSI_SSB_ResourceSetId */
static int hf_nr_rrc_csi_ResourceConfigToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig */
static int hf_nr_rrc_csi_ResourceConfigToAddModList_item = -1;  /* CSI_ResourceConfig */
static int hf_nr_rrc_csi_ResourceConfigToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId */
static int hf_nr_rrc_csi_ResourceConfigToReleaseList_item = -1;  /* CSI_ResourceConfigId */
static int hf_nr_rrc_csi_ReportConfigToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig */
static int hf_nr_rrc_csi_ReportConfigToAddModList_item = -1;  /* CSI_ReportConfig */
static int hf_nr_rrc_csi_ReportConfigToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId */
static int hf_nr_rrc_csi_ReportConfigToReleaseList_item = -1;  /* CSI_ReportConfigId */
static int hf_nr_rrc_reportTriggerSize = -1;      /* INTEGER_0_6 */
static int hf_nr_rrc_aperiodicTriggerStateList = -1;  /* T_aperiodicTriggerStateList */
static int hf_nr_rrc_setup_54 = -1;               /* CSI_AperiodicTriggerStateList */
static int hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList = -1;  /* T_semiPersistentOnPUSCH_TriggerStateList */
static int hf_nr_rrc_setup_55 = -1;               /* CSI_SemiPersistentOnPUSCH_TriggerStateList */
static int hf_nr_rrc_reportTriggerSizeDCI_0_2_r16 = -1;  /* INTEGER_0_6 */
static int hf_nr_rrc_sCellActivationRS_ConfigToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17 */
static int hf_nr_rrc_sCellActivationRS_ConfigToAddModList_r17_item = -1;  /* SCellActivationRS_Config_r17 */
static int hf_nr_rrc_sCellActivationRS_ConfigToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17 */
static int hf_nr_rrc_sCellActivationRS_ConfigToReleaseList_r17_item = -1;  /* SCellActivationRS_ConfigId_r17 */
static int hf_nr_rrc_carrier = -1;                /* ServCellIndex */
static int hf_nr_rrc_resourcesForChannelMeasurement = -1;  /* CSI_ResourceConfigId */
static int hf_nr_rrc_csi_IM_ResourcesForInterference_01 = -1;  /* CSI_ResourceConfigId */
static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01 = -1;  /* CSI_ResourceConfigId */
static int hf_nr_rrc_reportConfigType = -1;       /* T_reportConfigType */
static int hf_nr_rrc_periodic = -1;               /* T_periodic */
static int hf_nr_rrc_reportSlotConfig = -1;       /* CSI_ReportPeriodicityAndOffset */
static int hf_nr_rrc_pucch_CSI_ResourceList = -1;  /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource */
static int hf_nr_rrc_pucch_CSI_ResourceList_item = -1;  /* PUCCH_CSI_Resource */
static int hf_nr_rrc_semiPersistentOnPUCCH = -1;  /* T_semiPersistentOnPUCCH */
static int hf_nr_rrc_semiPersistentOnPUSCH = -1;  /* T_semiPersistentOnPUSCH */
static int hf_nr_rrc_reportSlotConfig_01 = -1;    /* T_reportSlotConfig */
static int hf_nr_rrc_reportSlotOffsetList = -1;   /* T_reportSlotOffsetList */
static int hf_nr_rrc_reportSlotOffsetList_item = -1;  /* INTEGER_0_32 */
static int hf_nr_rrc_p0alpha = -1;                /* P0_PUSCH_AlphaSetId */
static int hf_nr_rrc_aperiodic = -1;              /* T_aperiodic */
static int hf_nr_rrc_reportSlotOffsetList_01 = -1;  /* T_reportSlotOffsetList_01 */
static int hf_nr_rrc_reportQuantity = -1;         /* T_reportQuantity */
static int hf_nr_rrc_none = -1;                   /* NULL */
static int hf_nr_rrc_cri_RI_PMI_CQI = -1;         /* NULL */
static int hf_nr_rrc_cri_RI_i1 = -1;              /* NULL */
static int hf_nr_rrc_cri_RI_i1_CQI = -1;          /* T_cri_RI_i1_CQI */
static int hf_nr_rrc_pdsch_BundleSizeForCSI = -1;  /* T_pdsch_BundleSizeForCSI */
static int hf_nr_rrc_cri_RI_CQI = -1;             /* NULL */
static int hf_nr_rrc_cri_RSRP = -1;               /* NULL */
static int hf_nr_rrc_ssb_Index_RSRP = -1;         /* NULL */
static int hf_nr_rrc_cri_RI_LI_PMI_CQI = -1;      /* NULL */
static int hf_nr_rrc_reportFreqConfiguration = -1;  /* T_reportFreqConfiguration */
static int hf_nr_rrc_cqi_FormatIndicator = -1;    /* T_cqi_FormatIndicator */
static int hf_nr_rrc_pmi_FormatIndicator = -1;    /* T_pmi_FormatIndicator */
static int hf_nr_rrc_csi_ReportingBand = -1;      /* T_csi_ReportingBand */
static int hf_nr_rrc_subbands3 = -1;              /* BIT_STRING_SIZE_3 */
static int hf_nr_rrc_subbands4 = -1;              /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_subbands5 = -1;              /* BIT_STRING_SIZE_5 */
static int hf_nr_rrc_subbands6 = -1;              /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_subbands7 = -1;              /* BIT_STRING_SIZE_7 */
static int hf_nr_rrc_subbands8 = -1;              /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_subbands9 = -1;              /* BIT_STRING_SIZE_9 */
static int hf_nr_rrc_subbands10 = -1;             /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_subbands11 = -1;             /* BIT_STRING_SIZE_11 */
static int hf_nr_rrc_subbands12 = -1;             /* BIT_STRING_SIZE_12 */
static int hf_nr_rrc_subbands13 = -1;             /* BIT_STRING_SIZE_13 */
static int hf_nr_rrc_subbands14 = -1;             /* BIT_STRING_SIZE_14 */
static int hf_nr_rrc_subbands15 = -1;             /* BIT_STRING_SIZE_15 */
static int hf_nr_rrc_subbands16 = -1;             /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_subbands17 = -1;             /* BIT_STRING_SIZE_17 */
static int hf_nr_rrc_subbands18 = -1;             /* BIT_STRING_SIZE_18 */
static int hf_nr_rrc_subbands19_v1530 = -1;       /* BIT_STRING_SIZE_19 */
static int hf_nr_rrc_timeRestrictionForChannelMeasurements = -1;  /* T_timeRestrictionForChannelMeasurements */
static int hf_nr_rrc_timeRestrictionForInterferenceMeasurements = -1;  /* T_timeRestrictionForInterferenceMeasurements */
static int hf_nr_rrc_codebookConfig = -1;         /* CodebookConfig */
static int hf_nr_rrc_cSI_ReportConfig_dummy = -1;  /* T_cSI_ReportConfig_dummy */
static int hf_nr_rrc_groupBasedBeamReporting = -1;  /* T_groupBasedBeamReporting */
static int hf_nr_rrc_enabled = -1;                /* NULL */
static int hf_nr_rrc_disabled = -1;               /* T_disabled */
static int hf_nr_rrc_nrofReportedRS = -1;         /* T_nrofReportedRS */
static int hf_nr_rrc_cqi_Table = -1;              /* T_cqi_Table */
static int hf_nr_rrc_subbandSize = -1;            /* T_subbandSize */
static int hf_nr_rrc_non_PMI_PortIndication = -1;  /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks */
static int hf_nr_rrc_non_PMI_PortIndication_item = -1;  /* PortIndexFor8Ranks */
static int hf_nr_rrc_semiPersistentOnPUSCH_v1530 = -1;  /* T_semiPersistentOnPUSCH_v1530 */
static int hf_nr_rrc_reportSlotConfig_v1530 = -1;  /* T_reportSlotConfig_v1530 */
static int hf_nr_rrc_semiPersistentOnPUSCH_v1610 = -1;  /* T_semiPersistentOnPUSCH_v1610 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16 = -1;  /* T_reportSlotOffsetListDCI_0_2_r16 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16_item = -1;  /* INTEGER_0_32 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16 = -1;  /* T_reportSlotOffsetListDCI_0_1_r16 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16_item = -1;  /* INTEGER_0_32 */
static int hf_nr_rrc_aperiodic_v1610 = -1;        /* T_aperiodic_v1610 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16_01 = -1;  /* T_reportSlotOffsetListDCI_0_2_r16_01 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16_01 = -1;  /* T_reportSlotOffsetListDCI_0_1_r16_01 */
static int hf_nr_rrc_reportQuantity_r16 = -1;     /* T_reportQuantity_r16 */
static int hf_nr_rrc_cri_SINR_r16 = -1;           /* NULL */
static int hf_nr_rrc_ssb_Index_SINR_r16 = -1;     /* NULL */
static int hf_nr_rrc_codebookConfig_r16 = -1;     /* CodebookConfig_r16 */
static int hf_nr_rrc_cqi_BitsPerSubband_r17 = -1;  /* T_cqi_BitsPerSubband_r17 */
static int hf_nr_rrc_groupBasedBeamReporting_v1710 = -1;  /* T_groupBasedBeamReporting_v1710 */
static int hf_nr_rrc_nrofReportedGroups_r17 = -1;  /* T_nrofReportedGroups_r17 */
static int hf_nr_rrc_codebookConfig_r17 = -1;     /* CodebookConfig_r17 */
static int hf_nr_rrc_sharedCMR_r17 = -1;          /* T_sharedCMR_r17 */
static int hf_nr_rrc_csi_ReportMode_r17 = -1;     /* T_csi_ReportMode_r17 */
static int hf_nr_rrc_numberOfSingleTRP_CSI_Mode1_r17 = -1;  /* T_numberOfSingleTRP_CSI_Mode1_r17 */
static int hf_nr_rrc_reportQuantity_r17 = -1;     /* T_reportQuantity_r17 */
static int hf_nr_rrc_cri_RSRP_Index_r17 = -1;     /* NULL */
static int hf_nr_rrc_ssb_Index_RSRP_Index_r17 = -1;  /* NULL */
static int hf_nr_rrc_cri_SINR_Index_r17 = -1;     /* NULL */
static int hf_nr_rrc_ssb_Index_SINR_Index_r17 = -1;  /* NULL */
static int hf_nr_rrc_semiPersistentOnPUSCH_v1720 = -1;  /* T_semiPersistentOnPUSCH_v1720 */
static int hf_nr_rrc_reportSlotOffsetList_r17 = -1;  /* T_reportSlotOffsetList_r17 */
static int hf_nr_rrc_reportSlotOffsetList_r17_item = -1;  /* INTEGER_0_128 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17 = -1;  /* T_reportSlotOffsetListDCI_0_2_r17 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17_item = -1;  /* INTEGER_0_128 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17 = -1;  /* T_reportSlotOffsetListDCI_0_1_r17 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17_item = -1;  /* INTEGER_0_128 */
static int hf_nr_rrc_aperiodic_v1720 = -1;        /* T_aperiodic_v1720 */
static int hf_nr_rrc_reportSlotOffsetList_r17_01 = -1;  /* T_reportSlotOffsetList_r17_01 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17_01 = -1;  /* T_reportSlotOffsetListDCI_0_2_r17_01 */
static int hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17_01 = -1;  /* T_reportSlotOffsetListDCI_0_1_r17_01 */
static int hf_nr_rrc_codebookConfig_v1730 = -1;   /* CodebookConfig_v1730 */
static int hf_nr_rrc_slots4 = -1;                 /* INTEGER_0_3 */
static int hf_nr_rrc_slots5 = -1;                 /* INTEGER_0_4 */
static int hf_nr_rrc_slots8 = -1;                 /* INTEGER_0_7 */
static int hf_nr_rrc_slots10 = -1;                /* INTEGER_0_9 */
static int hf_nr_rrc_slots16 = -1;                /* INTEGER_0_15 */
static int hf_nr_rrc_slots20 = -1;                /* INTEGER_0_19 */
static int hf_nr_rrc_slots40 = -1;                /* INTEGER_0_39 */
static int hf_nr_rrc_slots80 = -1;                /* INTEGER_0_79 */
static int hf_nr_rrc_slots160 = -1;               /* INTEGER_0_159 */
static int hf_nr_rrc_slots320 = -1;               /* INTEGER_0_319 */
static int hf_nr_rrc_uplinkBandwidthPartId = -1;  /* BWP_Id */
static int hf_nr_rrc_pucch_Resource = -1;         /* PUCCH_ResourceId */
static int hf_nr_rrc_portIndex8 = -1;             /* T_portIndex8 */
static int hf_nr_rrc_rank1_8 = -1;                /* PortIndex8 */
static int hf_nr_rrc_rank2_8 = -1;                /* SEQUENCE_SIZE_2_OF_PortIndex8 */
static int hf_nr_rrc_rank2_8_item = -1;           /* PortIndex8 */
static int hf_nr_rrc_rank3_8 = -1;                /* SEQUENCE_SIZE_3_OF_PortIndex8 */
static int hf_nr_rrc_rank3_8_item = -1;           /* PortIndex8 */
static int hf_nr_rrc_rank4_8 = -1;                /* SEQUENCE_SIZE_4_OF_PortIndex8 */
static int hf_nr_rrc_rank4_8_item = -1;           /* PortIndex8 */
static int hf_nr_rrc_rank5_8 = -1;                /* SEQUENCE_SIZE_5_OF_PortIndex8 */
static int hf_nr_rrc_rank5_8_item = -1;           /* PortIndex8 */
static int hf_nr_rrc_rank6_8 = -1;                /* SEQUENCE_SIZE_6_OF_PortIndex8 */
static int hf_nr_rrc_rank6_8_item = -1;           /* PortIndex8 */
static int hf_nr_rrc_rank7_8 = -1;                /* SEQUENCE_SIZE_7_OF_PortIndex8 */
static int hf_nr_rrc_rank7_8_item = -1;           /* PortIndex8 */
static int hf_nr_rrc_rank8_8 = -1;                /* SEQUENCE_SIZE_8_OF_PortIndex8 */
static int hf_nr_rrc_rank8_8_item = -1;           /* PortIndex8 */
static int hf_nr_rrc_portIndex4 = -1;             /* T_portIndex4 */
static int hf_nr_rrc_rank1_4 = -1;                /* PortIndex4 */
static int hf_nr_rrc_rank2_4 = -1;                /* SEQUENCE_SIZE_2_OF_PortIndex4 */
static int hf_nr_rrc_rank2_4_item = -1;           /* PortIndex4 */
static int hf_nr_rrc_rank3_4 = -1;                /* SEQUENCE_SIZE_3_OF_PortIndex4 */
static int hf_nr_rrc_rank3_4_item = -1;           /* PortIndex4 */
static int hf_nr_rrc_rank4_4 = -1;                /* SEQUENCE_SIZE_4_OF_PortIndex4 */
static int hf_nr_rrc_rank4_4_item = -1;           /* PortIndex4 */
static int hf_nr_rrc_portIndex2 = -1;             /* T_portIndex2 */
static int hf_nr_rrc_rank1_2 = -1;                /* PortIndex2 */
static int hf_nr_rrc_rank2_2 = -1;                /* SEQUENCE_SIZE_2_OF_PortIndex2 */
static int hf_nr_rrc_rank2_2_item = -1;           /* PortIndex2 */
static int hf_nr_rrc_portIndex1 = -1;             /* NULL */
static int hf_nr_rrc_csi_ResourceConfigId = -1;   /* CSI_ResourceConfigId */
static int hf_nr_rrc_csi_RS_ResourceSetList = -1;  /* T_csi_RS_ResourceSetList */
static int hf_nr_rrc_nzp_CSI_RS_SSB = -1;         /* T_nzp_CSI_RS_SSB */
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetList = -1;  /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item = -1;  /* NZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_csi_SSB_ResourceSetList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId */
static int hf_nr_rrc_csi_SSB_ResourceSetList_item = -1;  /* CSI_SSB_ResourceSetId */
static int hf_nr_rrc_csi_IM_ResourceSetList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId */
static int hf_nr_rrc_csi_IM_ResourceSetList_item = -1;  /* CSI_IM_ResourceSetId */
static int hf_nr_rrc_resourceType = -1;           /* T_resourceType */
static int hf_nr_rrc_csi_SSB_ResourceSetListExt_r17 = -1;  /* CSI_SSB_ResourceSetId */
static int hf_nr_rrc_slots32 = -1;                /* INTEGER_0_31 */
static int hf_nr_rrc_slots64 = -1;                /* INTEGER_0_63 */
static int hf_nr_rrc_slots640 = -1;               /* INTEGER_0_639 */
static int hf_nr_rrc_csi_RS_CellList_Mobility = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility */
static int hf_nr_rrc_csi_RS_CellList_Mobility_item = -1;  /* CSI_RS_CellMobility */
static int hf_nr_rrc_refServCellIndex = -1;       /* ServCellIndex */
static int hf_nr_rrc_cellId = -1;                 /* PhysCellId */
static int hf_nr_rrc_csi_rs_MeasurementBW = -1;   /* T_csi_rs_MeasurementBW */
static int hf_nr_rrc_nrofPRBs = -1;               /* T_nrofPRBs */
static int hf_nr_rrc_startPRB = -1;               /* INTEGER_0_2169 */
static int hf_nr_rrc_density = -1;                /* T_density */
static int hf_nr_rrc_csi_rs_ResourceList_Mobility = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility */
static int hf_nr_rrc_csi_rs_ResourceList_Mobility_item = -1;  /* CSI_RS_Resource_Mobility */
static int hf_nr_rrc_csi_RS_Index = -1;           /* CSI_RS_Index */
static int hf_nr_rrc_slotConfig = -1;             /* T_slotConfig */
static int hf_nr_rrc_ms4 = -1;                    /* INTEGER_0_31 */
static int hf_nr_rrc_ms5 = -1;                    /* INTEGER_0_39 */
static int hf_nr_rrc_ms10_01 = -1;                /* INTEGER_0_79 */
static int hf_nr_rrc_ms20_01 = -1;                /* INTEGER_0_159 */
static int hf_nr_rrc_ms40_01 = -1;                /* INTEGER_0_319 */
static int hf_nr_rrc_associatedSSB = -1;          /* T_associatedSSB */
static int hf_nr_rrc_ssb_Index = -1;              /* SSB_Index */
static int hf_nr_rrc_isQuasiColocated = -1;       /* BOOLEAN */
static int hf_nr_rrc_frequencyDomainAllocation = -1;  /* T_frequencyDomainAllocation */
static int hf_nr_rrc_row1 = -1;                   /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_row2 = -1;                   /* BIT_STRING_SIZE_12 */
static int hf_nr_rrc_firstOFDMSymbolInTimeDomain = -1;  /* INTEGER_0_13 */
static int hf_nr_rrc_sequenceGenerationConfig = -1;  /* INTEGER_0_1023 */
static int hf_nr_rrc_slotConfig_r17 = -1;         /* T_slotConfig_r17 */
static int hf_nr_rrc_ms4_01 = -1;                 /* INTEGER_0_255 */
static int hf_nr_rrc_ms5_01 = -1;                 /* INTEGER_0_319 */
static int hf_nr_rrc_ms10_02 = -1;                /* INTEGER_0_639 */
static int hf_nr_rrc_ms20_02 = -1;                /* INTEGER_0_1279 */
static int hf_nr_rrc_ms40_02 = -1;                /* INTEGER_0_2559 */
static int hf_nr_rrc_frequencyDomainAllocation_01 = -1;  /* T_frequencyDomainAllocation_01 */
static int hf_nr_rrc_row4 = -1;                   /* BIT_STRING_SIZE_3 */
static int hf_nr_rrc_other_01 = -1;               /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_nrofPorts = -1;              /* T_nrofPorts */
static int hf_nr_rrc_firstOFDMSymbolInTimeDomain2 = -1;  /* INTEGER_2_12 */
static int hf_nr_rrc_cdm_Type = -1;               /* T_cdm_Type */
static int hf_nr_rrc_density_01 = -1;             /* T_density_01 */
static int hf_nr_rrc_dot5 = -1;                   /* T_dot5 */
static int hf_nr_rrc_one = -1;                    /* NULL */
static int hf_nr_rrc_three = -1;                  /* NULL */
static int hf_nr_rrc_spare_03 = -1;               /* NULL */
static int hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item = -1;  /* CSI_SemiPersistentOnPUSCH_TriggerState */
static int hf_nr_rrc_associatedReportConfigInfo = -1;  /* CSI_ReportConfigId */
static int hf_nr_rrc_sp_CSI_MultiplexingMode_r17 = -1;  /* T_sp_CSI_MultiplexingMode_r17 */
static int hf_nr_rrc_csi_SSB_ResourceSetId = -1;  /* CSI_SSB_ResourceSetId */
static int hf_nr_rrc_csi_SSB_ResourceList = -1;   /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index */
static int hf_nr_rrc_csi_SSB_ResourceList_item = -1;  /* SSB_Index */
static int hf_nr_rrc_servingAdditionalPCIList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17 */
static int hf_nr_rrc_servingAdditionalPCIList_r17_item = -1;  /* ServingAdditionalPCIIndex_r17 */
static int hf_nr_rrc_dl_PPW_ID_r17 = -1;          /* DL_PPW_ID_r17 */
static int hf_nr_rrc_dl_PPW_PeriodicityAndStartSlot_r17 = -1;  /* DL_PPW_PeriodicityAndStartSlot_r17 */
static int hf_nr_rrc_length_r17 = -1;             /* INTEGER_1_160 */
static int hf_nr_rrc_type_r17 = -1;               /* T_type_r17 */
static int hf_nr_rrc_priority_r17 = -1;           /* T_priority_r17 */
static int hf_nr_rrc_scs15 = -1;                  /* T_scs15 */
static int hf_nr_rrc_n4 = -1;                     /* INTEGER_0_3 */
static int hf_nr_rrc_n5 = -1;                     /* INTEGER_0_4 */
static int hf_nr_rrc_n8 = -1;                     /* INTEGER_0_7 */
static int hf_nr_rrc_n10 = -1;                    /* INTEGER_0_9 */
static int hf_nr_rrc_n16 = -1;                    /* INTEGER_0_15 */
static int hf_nr_rrc_n20 = -1;                    /* INTEGER_0_19 */
static int hf_nr_rrc_n32 = -1;                    /* INTEGER_0_31 */
static int hf_nr_rrc_n40 = -1;                    /* INTEGER_0_39 */
static int hf_nr_rrc_n64 = -1;                    /* INTEGER_0_63 */
static int hf_nr_rrc_n80 = -1;                    /* INTEGER_0_79 */
static int hf_nr_rrc_n160 = -1;                   /* INTEGER_0_159 */
static int hf_nr_rrc_n320 = -1;                   /* INTEGER_0_319 */
static int hf_nr_rrc_n640 = -1;                   /* INTEGER_0_639 */
static int hf_nr_rrc_n1280 = -1;                  /* INTEGER_0_1279 */
static int hf_nr_rrc_n2560 = -1;                  /* INTEGER_0_2559 */
static int hf_nr_rrc_n5120 = -1;                  /* INTEGER_0_5119 */
static int hf_nr_rrc_n10240 = -1;                 /* INTEGER_0_10239 */
static int hf_nr_rrc_scs30 = -1;                  /* T_scs30 */
static int hf_nr_rrc_n128 = -1;                   /* INTEGER_0_127 */
static int hf_nr_rrc_n20480 = -1;                 /* INTEGER_0_20479 */
static int hf_nr_rrc_scs60 = -1;                  /* T_scs60 */
static int hf_nr_rrc_n256 = -1;                   /* INTEGER_0_255 */
static int hf_nr_rrc_n40960 = -1;                 /* INTEGER_0_40959 */
static int hf_nr_rrc_scs120 = -1;                 /* T_scs120 */
static int hf_nr_rrc_n512 = -1;                   /* INTEGER_0_511 */
static int hf_nr_rrc_n81920 = -1;                 /* INTEGER_0_81919 */
static int hf_nr_rrc_pucch_DMRS_Bundling_r17 = -1;  /* T_pucch_DMRS_Bundling_r17 */
static int hf_nr_rrc_pucch_TimeDomainWindowLength_r17 = -1;  /* INTEGER_2_8 */
static int hf_nr_rrc_pucch_WindowRestart_r17 = -1;  /* T_pucch_WindowRestart_r17 */
static int hf_nr_rrc_pucch_FrequencyHoppingInterval_r17 = -1;  /* T_pucch_FrequencyHoppingInterval_r17 */
static int hf_nr_rrc_pusch_DMRS_Bundling_r17 = -1;  /* T_pusch_DMRS_Bundling_r17 */
static int hf_nr_rrc_pusch_TimeDomainWindowLength_r17 = -1;  /* INTEGER_2_32 */
static int hf_nr_rrc_pusch_WindowRestart_r17 = -1;  /* T_pusch_WindowRestart_r17 */
static int hf_nr_rrc_pusch_FrequencyHoppingInterval_r17 = -1;  /* T_pusch_FrequencyHoppingInterval_r17 */
static int hf_nr_rrc_dmrs_Type = -1;              /* T_dmrs_Type */
static int hf_nr_rrc_dmrs_AdditionalPosition = -1;  /* T_dmrs_AdditionalPosition */
static int hf_nr_rrc_maxLength = -1;              /* T_maxLength */
static int hf_nr_rrc_scramblingID0 = -1;          /* INTEGER_0_65535 */
static int hf_nr_rrc_scramblingID1 = -1;          /* INTEGER_0_65535 */
static int hf_nr_rrc_phaseTrackingRS = -1;        /* T_phaseTrackingRS */
static int hf_nr_rrc_setup_56 = -1;               /* PTRS_DownlinkConfig */
static int hf_nr_rrc_dmrs_Downlink_r16 = -1;      /* T_dmrs_Downlink_r16 */
static int hf_nr_rrc_dmrs_Type_01 = -1;           /* T_dmrs_Type_01 */
static int hf_nr_rrc_dmrs_AdditionalPosition_01 = -1;  /* T_dmrs_AdditionalPosition_01 */
static int hf_nr_rrc_phaseTrackingRS_01 = -1;     /* T_phaseTrackingRS_01 */
static int hf_nr_rrc_setup_57 = -1;               /* PTRS_UplinkConfig */
static int hf_nr_rrc_maxLength_01 = -1;           /* T_maxLength_01 */
static int hf_nr_rrc_transformPrecodingDisabled = -1;  /* T_transformPrecodingDisabled */
static int hf_nr_rrc_dmrs_Uplink_r16 = -1;        /* T_dmrs_Uplink_r16 */
static int hf_nr_rrc_transformPrecodingEnabled = -1;  /* T_transformPrecodingEnabled */
static int hf_nr_rrc_nPUSCH_Identity = -1;        /* INTEGER_0_1007 */
static int hf_nr_rrc_sequenceGroupHopping = -1;   /* T_sequenceGroupHopping */
static int hf_nr_rrc_sequenceHopping = -1;        /* T_sequenceHopping */
static int hf_nr_rrc_dmrs_UplinkTransformPrecoding_r16 = -1;  /* T_dmrs_UplinkTransformPrecoding_r16 */
static int hf_nr_rrc_setup_58 = -1;               /* DMRS_UplinkTransformPrecoding_r16 */
static int hf_nr_rrc_pi2BPSK_ScramblingID0 = -1;  /* INTEGER_0_65535 */
static int hf_nr_rrc_pi2BPSK_ScramblingID1 = -1;  /* INTEGER_0_65535 */
static int hf_nr_rrc_frequencyInfoDL = -1;        /* FrequencyInfoDL */
static int hf_nr_rrc_initialDownlinkBWP = -1;     /* BWP_DownlinkCommon */
static int hf_nr_rrc_initialDownlinkBWP_RedCap_r17 = -1;  /* BWP_DownlinkCommon */
static int hf_nr_rrc_frequencyInfoDL_01 = -1;     /* FrequencyInfoDL_SIB */
static int hf_nr_rrc_bcch_Config = -1;            /* BCCH_Config */
static int hf_nr_rrc_pcch_Config = -1;            /* PCCH_Config */
static int hf_nr_rrc_pei_Config_r17 = -1;         /* PEI_Config_r17 */
static int hf_nr_rrc_modificationPeriodCoeff = -1;  /* T_modificationPeriodCoeff */
static int hf_nr_rrc_defaultPagingCycle = -1;     /* PagingCycle */
static int hf_nr_rrc_nAndPagingFrameOffset = -1;  /* T_nAndPagingFrameOffset */
static int hf_nr_rrc_oneT = -1;                   /* NULL */
static int hf_nr_rrc_halfT = -1;                  /* INTEGER_0_1 */
static int hf_nr_rrc_quarterT = -1;               /* INTEGER_0_3 */
static int hf_nr_rrc_oneEighthT = -1;             /* INTEGER_0_7 */
static int hf_nr_rrc_oneSixteenthT = -1;          /* INTEGER_0_15 */
static int hf_nr_rrc_ns = -1;                     /* T_ns */
static int hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO = -1;  /* T_firstPDCCH_MonitoringOccasionOfPO */
static int hf_nr_rrc_sCS15KHZoneT = -1;           /* T_sCS15KHZoneT */
static int hf_nr_rrc_sCS15KHZoneT_item = -1;      /* INTEGER_0_139 */
static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT = -1;  /* T_sCS30KHZoneT_SCS15KHZhalfT */
static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item = -1;  /* INTEGER_0_279 */
static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT = -1;  /* T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT */
static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item = -1;  /* INTEGER_0_559 */
static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT = -1;  /* T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT */
static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item = -1;  /* INTEGER_0_1119 */
static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT = -1;  /* T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT */
static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item = -1;  /* INTEGER_0_2239 */
static int hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT = -1;  /* T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT */
static int hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item = -1;  /* INTEGER_0_4479 */
static int hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1;  /* T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT */
static int hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item = -1;  /* INTEGER_0_8959 */
static int hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT = -1;  /* T_sCS480KHZquarterT_SCS120KHZoneSixteenthT */
static int hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT_item = -1;  /* INTEGER_0_17919 */
static int hf_nr_rrc_nrofPDCCH_MonitoringOccasionPerSSB_InPO_r16 = -1;  /* INTEGER_2_4 */
static int hf_nr_rrc_ranPagingInIdlePO_r17 = -1;  /* T_ranPagingInIdlePO_r17 */
static int hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_v1710 = -1;  /* T_firstPDCCH_MonitoringOccasionOfPO_v1710 */
static int hf_nr_rrc_sCS480KHZoneEighthT = -1;    /* T_sCS480KHZoneEighthT */
static int hf_nr_rrc_sCS480KHZoneEighthT_item = -1;  /* INTEGER_0_35839 */
static int hf_nr_rrc_sCS480KHZoneSixteenthT = -1;  /* T_sCS480KHZoneSixteenthT */
static int hf_nr_rrc_sCS480KHZoneSixteenthT_item = -1;  /* INTEGER_0_71679 */
static int hf_nr_rrc_po_NumPerPEI_r17 = -1;       /* T_po_NumPerPEI_r17 */
static int hf_nr_rrc_payloadSizeDCI_2_7_r17 = -1;  /* INTEGER_1_maxDCI_2_7_Size_r17 */
static int hf_nr_rrc_pei_FrameOffset_r17 = -1;    /* INTEGER_0_16 */
static int hf_nr_rrc_subgroupConfig_r17 = -1;     /* SubgroupConfig_r17 */
static int hf_nr_rrc_lastUsedCellOnly_r17 = -1;   /* T_lastUsedCellOnly_r17 */
static int hf_nr_rrc_subgroupsNumPerPO_r17 = -1;  /* INTEGER_1_maxNrofPagingSubgroups_r17 */
static int hf_nr_rrc_subgroupsNumForUEID_r17 = -1;  /* INTEGER_1_maxNrofPagingSubgroups_r17 */
static int hf_nr_rrc_int_RNTI = -1;               /* RNTI_Value */
static int hf_nr_rrc_timeFrequencySet = -1;       /* T_timeFrequencySet */
static int hf_nr_rrc_dci_PayloadSize = -1;        /* INTEGER_0_maxINT_DCI_PayloadSize */
static int hf_nr_rrc_int_ConfigurationPerServingCell = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell */
static int hf_nr_rrc_int_ConfigurationPerServingCell_item = -1;  /* INT_ConfigurationPerServingCell */
static int hf_nr_rrc_positionInDCI = -1;          /* INTEGER_0_maxINT_DCI_PayloadSize_1 */
static int hf_nr_rrc_drx_onDurationTimer_01 = -1;  /* T_drx_onDurationTimer_01 */
static int hf_nr_rrc_milliSeconds_01 = -1;        /* T_milliSeconds_01 */
static int hf_nr_rrc_drx_InactivityTimer = -1;    /* T_drx_InactivityTimer */
static int hf_nr_rrc_drx_HARQ_RTT_TimerDL = -1;   /* INTEGER_0_56 */
static int hf_nr_rrc_drx_HARQ_RTT_TimerUL = -1;   /* INTEGER_0_56 */
static int hf_nr_rrc_drx_RetransmissionTimerDL = -1;  /* T_drx_RetransmissionTimerDL */
static int hf_nr_rrc_drx_RetransmissionTimerUL = -1;  /* T_drx_RetransmissionTimerUL */
static int hf_nr_rrc_drx_LongCycleStartOffset_01 = -1;  /* T_drx_LongCycleStartOffset_01 */
static int hf_nr_rrc_shortDRX_01 = -1;            /* T_shortDRX_01 */
static int hf_nr_rrc_drx_ShortCycle_01 = -1;      /* T_drx_ShortCycle_01 */
static int hf_nr_rrc_drx_SlotOffset = -1;         /* INTEGER_0_31 */
static int hf_nr_rrc_drx_HARQ_RTT_TimerDL_r17 = -1;  /* INTEGER_0_448 */
static int hf_nr_rrc_drx_HARQ_RTT_TimerUL_r17 = -1;  /* INTEGER_0_448 */
static int hf_nr_rrc_drx_onDurationTimer_r16 = -1;  /* T_drx_onDurationTimer_r16 */
static int hf_nr_rrc_milliSeconds_02 = -1;        /* T_milliSeconds_02 */
static int hf_nr_rrc_drx_InactivityTimer_r16 = -1;  /* T_drx_InactivityTimer_r16 */
static int hf_nr_rrc_drx_HARQ_RTT_TimerSL_r17 = -1;  /* INTEGER_0_56 */
static int hf_nr_rrc_drx_RetransmissionTimerSL_r17 = -1;  /* T_drx_RetransmissionTimerSL_r17 */
static int hf_nr_rrc_positionVelocity_r17 = -1;   /* PositionVelocity_r17 */
static int hf_nr_rrc_orbital_r17 = -1;            /* Orbital_r17 */
static int hf_nr_rrc_positionX_r17 = -1;          /* PositionStateVector_r17 */
static int hf_nr_rrc_positionY_r17 = -1;          /* PositionStateVector_r17 */
static int hf_nr_rrc_positionZ_r17 = -1;          /* PositionStateVector_r17 */
static int hf_nr_rrc_velocityVX_r17 = -1;         /* VelocityStateVector_r17 */
static int hf_nr_rrc_velocityVY_r17 = -1;         /* VelocityStateVector_r17 */
static int hf_nr_rrc_velocityVZ_r17 = -1;         /* VelocityStateVector_r17 */
static int hf_nr_rrc_semiMajorAxis_r17 = -1;      /* INTEGER_0_8589934591 */
static int hf_nr_rrc_eccentricity_r17 = -1;       /* INTEGER_0_1048575 */
static int hf_nr_rrc_periapsis_r17 = -1;          /* INTEGER_0_268435455 */
static int hf_nr_rrc_longitude_r17 = -1;          /* INTEGER_0_268435455 */
static int hf_nr_rrc_inclination_r17 = -1;        /* INTEGER_M67108864_67108863 */
static int hf_nr_rrc_meanAnomaly_r17 = -1;        /* INTEGER_0_268435455 */
static int hf_nr_rrc_redCap_r17 = -1;             /* T_redCap_r17 */
static int hf_nr_rrc_smallData_r17 = -1;          /* T_smallData_r17 */
static int hf_nr_rrc_nsag_r17 = -1;               /* NSAG_List_r17 */
static int hf_nr_rrc_msg3_Repetitions_r17 = -1;   /* T_msg3_Repetitions_r17 */
static int hf_nr_rrc_spare4_01 = -1;              /* T_spare4 */
static int hf_nr_rrc_spare3_01 = -1;              /* T_spare3 */
static int hf_nr_rrc_spare2_01 = -1;              /* T_spare2 */
static int hf_nr_rrc_spare1_01 = -1;              /* T_spare1 */
static int hf_nr_rrc_NSAG_List_r17_item = -1;     /* NSAG_ID_r17 */
static int hf_nr_rrc_featureCombination_r17 = -1;  /* FeatureCombination_r17 */
static int hf_nr_rrc_startPreambleForThisPartition_r17 = -1;  /* INTEGER_0_63 */
static int hf_nr_rrc_numberOfPreamblesPerSSB_ForThisPartition_r17 = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_ssb_SharedRO_MaskIndex_r17 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_groupBconfigured_r17 = -1;   /* T_groupBconfigured_r17 */
static int hf_nr_rrc_ra_SizeGroupA_r17 = -1;      /* T_ra_SizeGroupA_r17 */
static int hf_nr_rrc_messagePowerOffsetGroupB_r17 = -1;  /* T_messagePowerOffsetGroupB_r17 */
static int hf_nr_rrc_numberOfRA_PreamblesGroupA_r17 = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_separateMsgA_PUSCH_Config_r17 = -1;  /* MsgA_PUSCH_Config_r16 */
static int hf_nr_rrc_msgA_RSRP_Threshold_r17 = -1;  /* RSRP_Range */
static int hf_nr_rrc_rsrp_ThresholdSSB_r17 = -1;  /* RSRP_Range */
static int hf_nr_rrc_deltaPreamble_r17 = -1;      /* INTEGER_M1_6 */
static int hf_nr_rrc_FreqPriorityListDedicatedSlicing_r17_item = -1;  /* FreqPriorityDedicatedSlicing_r17 */
static int hf_nr_rrc_dl_ExplicitCarrierFreq_r17 = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_sliceInfoListDedicated_r17 = -1;  /* SliceInfoListDedicated_r17 */
static int hf_nr_rrc_SliceInfoListDedicated_r17_item = -1;  /* SliceInfoDedicated_r17 */
static int hf_nr_rrc_nsag_IdentityInfo_r17 = -1;  /* NSAG_IdentityInfo_r17 */
static int hf_nr_rrc_nsag_CellReselectionPriority_r17 = -1;  /* CellReselectionPriority */
static int hf_nr_rrc_nsag_CellReselectionSubPriority_r17 = -1;  /* CellReselectionSubPriority */
static int hf_nr_rrc_FreqPriorityListSlicing_r17_item = -1;  /* FreqPrioritySlicing_r17 */
static int hf_nr_rrc_dl_ImplicitCarrierFreq_r17 = -1;  /* INTEGER_0_maxFreq */
static int hf_nr_rrc_sliceInfoList_r17 = -1;      /* SliceInfoList_r17 */
static int hf_nr_rrc_SliceInfoList_r17_item = -1;  /* SliceInfo_r17 */
static int hf_nr_rrc_sliceCellListNR_r17 = -1;    /* T_sliceCellListNR_r17 */
static int hf_nr_rrc_sliceAllowedCellListNR_r17 = -1;  /* SliceCellListNR_r17 */
static int hf_nr_rrc_sliceExcludedCellListNR_r17 = -1;  /* SliceCellListNR_r17 */
static int hf_nr_rrc_SliceCellListNR_r17_item = -1;  /* PCI_Range */
static int hf_nr_rrc_absoluteFrequencySSB = -1;   /* ARFCN_ValueNR */
static int hf_nr_rrc_absoluteFrequencyPointA = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_scs_SpecificCarrierList = -1;  /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */
static int hf_nr_rrc_scs_SpecificCarrierList_item = -1;  /* SCS_SpecificCarrier */
static int hf_nr_rrc_offsetToPointA = -1;         /* INTEGER_0_2199 */
static int hf_nr_rrc_additionalSpectrumEmission = -1;  /* AdditionalSpectrumEmission */
static int hf_nr_rrc_frequencyShift7p5khz = -1;   /* T_frequencyShift7p5khz */
static int hf_nr_rrc_frequencyShift7p5khz_01 = -1;  /* T_frequencyShift7p5khz_01 */
static int hf_nr_rrc_highSpeedMeasFlag_r16 = -1;  /* T_highSpeedMeasFlag_r16 */
static int hf_nr_rrc_highSpeedDemodFlag_r16 = -1;  /* T_highSpeedDemodFlag_r16 */
static int hf_nr_rrc_highSpeedMeasCA_Scell_r17 = -1;  /* T_highSpeedMeasCA_Scell_r17 */
static int hf_nr_rrc_highSpeedMeasInterFreq_r17_01 = -1;  /* T_highSpeedMeasInterFreq_r17_01 */
static int hf_nr_rrc_highSpeedDemodCA_Scell_r17 = -1;  /* T_highSpeedDemodCA_Scell_r17 */
static int hf_nr_rrc_highSpeedMeasFlagFR2_r17 = -1;  /* T_highSpeedMeasFlagFR2_r17 */
static int hf_nr_rrc_highSpeedDeploymentTypeFR2_r17 = -1;  /* T_highSpeedDeploymentTypeFR2_r17 */
static int hf_nr_rrc_highSpeedLargeOneStepUL_TimingFR2_r17 = -1;  /* T_highSpeedLargeOneStepUL_TimingFR2_r17 */
static int hf_nr_rrc_symbols_r16 = -1;            /* T_symbols_r16 */
static int hf_nr_rrc_oneSlot = -1;                /* BIT_STRING_SIZE_14 */
static int hf_nr_rrc_twoSlots = -1;               /* BIT_STRING_SIZE_28 */
static int hf_nr_rrc_periodicityAndPattern_r16 = -1;  /* T_periodicityAndPattern_r16 */
static int hf_nr_rrc_n2 = -1;                     /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_n4_01 = -1;                  /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_n5_01 = -1;                  /* BIT_STRING_SIZE_5 */
static int hf_nr_rrc_n8_01 = -1;                  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_n10_01 = -1;                 /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_n20_01 = -1;                 /* BIT_STRING_SIZE_20 */
static int hf_nr_rrc_n40_01 = -1;                 /* BIT_STRING_SIZE_40 */
static int hf_nr_rrc_lbt_FailureInstanceMaxCount_r16 = -1;  /* T_lbt_FailureInstanceMaxCount_r16 */
static int hf_nr_rrc_lbt_FailureDetectionTimer_r16 = -1;  /* T_lbt_FailureDetectionTimer_r16 */
static int hf_nr_rrc_commonLocationInfo_r16 = -1;  /* CommonLocationInfo_r16 */
static int hf_nr_rrc_bt_LocationInfo_r16 = -1;    /* LogMeasResultListBT_r16 */
static int hf_nr_rrc_wlan_LocationInfo_r16 = -1;  /* LogMeasResultListWLAN_r16 */
static int hf_nr_rrc_sensor_LocationInfo_r16 = -1;  /* Sensor_LocationInfo_r16 */
static int hf_nr_rrc_eutra_RSTD = -1;             /* EUTRA_RSTD_InfoList */
static int hf_nr_rrc_eutra_FineTimingDetection = -1;  /* NULL */
static int hf_nr_rrc_nr_PRS_Measurement_r16 = -1;  /* NR_PRS_MeasurementInfoList_r16 */
static int hf_nr_rrc_EUTRA_RSTD_InfoList_item = -1;  /* EUTRA_RSTD_Info */
static int hf_nr_rrc_measPRS_Offset = -1;         /* INTEGER_0_39 */
static int hf_nr_rrc_NR_PRS_MeasurementInfoList_r16_item = -1;  /* NR_PRS_MeasurementInfo_r16 */
static int hf_nr_rrc_dl_PRS_PointA_r16 = -1;      /* ARFCN_ValueNR */
static int hf_nr_rrc_nr_MeasPRS_RepetitionAndOffset_r16 = -1;  /* T_nr_MeasPRS_RepetitionAndOffset_r16 */
static int hf_nr_rrc_ms20_r16 = -1;               /* INTEGER_0_19 */
static int hf_nr_rrc_ms40_r16 = -1;               /* INTEGER_0_39 */
static int hf_nr_rrc_ms80_r16 = -1;               /* INTEGER_0_79 */
static int hf_nr_rrc_ms160_r16 = -1;              /* INTEGER_0_159 */
static int hf_nr_rrc_nr_MeasPRS_length_r16 = -1;  /* T_nr_MeasPRS_length_r16 */
static int hf_nr_rrc_ul_SpecificParameters = -1;  /* T_ul_SpecificParameters */
static int hf_nr_rrc_priority = -1;               /* INTEGER_1_16 */
static int hf_nr_rrc_prioritisedBitRate = -1;     /* T_prioritisedBitRate */
static int hf_nr_rrc_bucketSizeDuration = -1;     /* T_bucketSizeDuration */
static int hf_nr_rrc_allowedServingCells = -1;    /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex */
static int hf_nr_rrc_allowedServingCells_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_allowedSCS_List = -1;        /* SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing */
static int hf_nr_rrc_allowedSCS_List_item = -1;   /* SubcarrierSpacing */
static int hf_nr_rrc_maxPUSCH_Duration = -1;      /* T_maxPUSCH_Duration */
static int hf_nr_rrc_configuredGrantType1Allowed = -1;  /* T_configuredGrantType1Allowed */
static int hf_nr_rrc_logicalChannelGroup = -1;    /* INTEGER_0_maxLCG_ID */
static int hf_nr_rrc_schedulingRequestID = -1;    /* SchedulingRequestId */
static int hf_nr_rrc_logicalChannelSR_Mask = -1;  /* BOOLEAN */
static int hf_nr_rrc_logicalChannelSR_DelayTimerApplied = -1;  /* BOOLEAN */
static int hf_nr_rrc_bitRateQueryProhibitTimer = -1;  /* T_bitRateQueryProhibitTimer */
static int hf_nr_rrc_allowedCG_List_r16 = -1;     /* SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16 */
static int hf_nr_rrc_allowedCG_List_r16_item = -1;  /* ConfiguredGrantConfigIndexMAC_r16 */
static int hf_nr_rrc_allowedPHY_PriorityIndex_r16 = -1;  /* T_allowedPHY_PriorityIndex_r16 */
static int hf_nr_rrc_logicalChannelGroupIAB_Ext_r17 = -1;  /* INTEGER_0_maxLCG_ID_IAB_r17 */
static int hf_nr_rrc_allowedHARQ_mode_r17 = -1;   /* T_allowedHARQ_mode_r17 */
static int hf_nr_rrc_bitRateMultiplier_r16 = -1;  /* T_bitRateMultiplier_r16 */
static int hf_nr_rrc_LTE_NeighCellsCRS_AssistInfoList_r17_item = -1;  /* LTE_NeighCellsCRS_AssistInfo_r17 */
static int hf_nr_rrc_neighCarrierBandwidthDL_r17 = -1;  /* T_neighCarrierBandwidthDL_r17 */
static int hf_nr_rrc_neighCarrierFreqDL_r17 = -1;  /* INTEGER_0_16383 */
static int hf_nr_rrc_neighCellId_r17 = -1;        /* EUTRA_PhysCellId */
static int hf_nr_rrc_neighCRS_muting_r17 = -1;    /* T_neighCRS_muting_r17 */
static int hf_nr_rrc_neighMBSFN_SubframeConfigList_r17 = -1;  /* EUTRA_MBSFN_SubframeConfigList */
static int hf_nr_rrc_neighNrofCRS_Ports_r17 = -1;  /* T_neighNrofCRS_Ports_r17 */
static int hf_nr_rrc_neighV_Shift_r17 = -1;       /* T_neighV_Shift_r17 */
static int hf_nr_rrc_drx_Config = -1;             /* T_drx_Config */
static int hf_nr_rrc_setup_59 = -1;               /* DRX_Config */
static int hf_nr_rrc_schedulingRequestConfig = -1;  /* SchedulingRequestConfig */
static int hf_nr_rrc_bsr_Config = -1;             /* BSR_Config */
static int hf_nr_rrc_tag_Config = -1;             /* TAG_Config */
static int hf_nr_rrc_phr_Config = -1;             /* T_phr_Config */
static int hf_nr_rrc_setup_60 = -1;               /* PHR_Config */
static int hf_nr_rrc_mAC_CellGroupConfig_skipUplinkTxDynamic = -1;  /* BOOLEAN */
static int hf_nr_rrc_csi_Mask = -1;               /* BOOLEAN */
static int hf_nr_rrc_dataInactivityTimer = -1;    /* T_dataInactivityTimer */
static int hf_nr_rrc_setup_61 = -1;               /* DataInactivityTimer */
static int hf_nr_rrc_usePreBSR_r16 = -1;          /* T_usePreBSR_r16 */
static int hf_nr_rrc_schedulingRequestID_LBT_SCell_r16 = -1;  /* SchedulingRequestId */
static int hf_nr_rrc_lch_BasedPrioritization_r16 = -1;  /* T_lch_BasedPrioritization_r16 */
static int hf_nr_rrc_schedulingRequestID_BFR_SCell_r16 = -1;  /* SchedulingRequestId */
static int hf_nr_rrc_drx_ConfigSecondaryGroup_r16 = -1;  /* T_drx_ConfigSecondaryGroup_r16 */
static int hf_nr_rrc_setup_62 = -1;               /* DRX_ConfigSecondaryGroup_r16 */
static int hf_nr_rrc_enhancedSkipUplinkTxDynamic_r16 = -1;  /* T_enhancedSkipUplinkTxDynamic_r16 */
static int hf_nr_rrc_enhancedSkipUplinkTxConfigured_r16 = -1;  /* T_enhancedSkipUplinkTxConfigured_r16 */
static int hf_nr_rrc_intraCG_Prioritization_r17 = -1;  /* T_intraCG_Prioritization_r17 */
static int hf_nr_rrc_drx_ConfigSL_r17 = -1;       /* T_drx_ConfigSL_r17 */
static int hf_nr_rrc_setup_63 = -1;               /* DRX_ConfigSL_r17 */
static int hf_nr_rrc_drx_ConfigExt_v1700 = -1;    /* T_drx_ConfigExt_v1700 */
static int hf_nr_rrc_setup_64 = -1;               /* DRX_ConfigExt_v1700 */
static int hf_nr_rrc_schedulingRequestID_BFR_r17 = -1;  /* SchedulingRequestId */
static int hf_nr_rrc_schedulingRequestID_BFR2_r17 = -1;  /* SchedulingRequestId */
static int hf_nr_rrc_schedulingRequestConfig_v1700 = -1;  /* SchedulingRequestConfig_v1700 */
static int hf_nr_rrc_tar_Config_r17 = -1;         /* T_tar_Config_r17 */
static int hf_nr_rrc_setup_65 = -1;               /* TAR_Config_r17 */
static int hf_nr_rrc_g_RNTI_ConfigToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17 */
static int hf_nr_rrc_g_RNTI_ConfigToAddModList_r17_item = -1;  /* MBS_RNTI_SpecificConfig_r17 */
static int hf_nr_rrc_g_RNTI_ConfigToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17 */
static int hf_nr_rrc_g_RNTI_ConfigToReleaseList_r17_item = -1;  /* MBS_RNTI_SpecificConfigId_r17 */
static int hf_nr_rrc_g_CS_RNTI_ConfigToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17 */
static int hf_nr_rrc_g_CS_RNTI_ConfigToAddModList_r17_item = -1;  /* MBS_RNTI_SpecificConfig_r17 */
static int hf_nr_rrc_g_CS_RNTI_ConfigToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17 */
static int hf_nr_rrc_g_CS_RNTI_ConfigToReleaseList_r17_item = -1;  /* MBS_RNTI_SpecificConfigId_r17 */
static int hf_nr_rrc_allowCSI_SRS_Tx_MulticastDRX_Active_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_schedulingRequestID_PosMG_Request_r17 = -1;  /* SchedulingRequestId */
static int hf_nr_rrc_drx_LastTransmissionUL_r17 = -1;  /* T_drx_LastTransmissionUL_r17 */
static int hf_nr_rrc_posMG_Request_r17 = -1;      /* T_posMG_Request_r17 */
static int hf_nr_rrc_mbs_RNTI_SpecificConfigId_r17 = -1;  /* MBS_RNTI_SpecificConfigId_r17 */
static int hf_nr_rrc_groupCommon_RNTI_r17 = -1;   /* T_groupCommon_RNTI_r17 */
static int hf_nr_rrc_g_RNTI = -1;                 /* RNTI_Value */
static int hf_nr_rrc_g_CS_RNTI = -1;              /* RNTI_Value */
static int hf_nr_rrc_drx_ConfigPTM_r17 = -1;      /* T_drx_ConfigPTM_r17 */
static int hf_nr_rrc_setup_66 = -1;               /* DRX_ConfigPTM_r17 */
static int hf_nr_rrc_harq_FeedbackEnablerMulticast_r17 = -1;  /* T_harq_FeedbackEnablerMulticast_r17 */
static int hf_nr_rrc_harq_FeedbackOptionMulticast_r17 = -1;  /* T_harq_FeedbackOptionMulticast_r17 */
static int hf_nr_rrc_pdsch_AggregationFactor_r17 = -1;  /* T_pdsch_AggregationFactor_r17 */
static int hf_nr_rrc_measObjectToRemoveList = -1;  /* MeasObjectToRemoveList */
static int hf_nr_rrc_measObjectToAddModList = -1;  /* MeasObjectToAddModList */
static int hf_nr_rrc_reportConfigToRemoveList = -1;  /* ReportConfigToRemoveList */
static int hf_nr_rrc_reportConfigToAddModList = -1;  /* ReportConfigToAddModList */
static int hf_nr_rrc_measIdToRemoveList = -1;     /* MeasIdToRemoveList */
static int hf_nr_rrc_measIdToAddModList = -1;     /* MeasIdToAddModList */
static int hf_nr_rrc_s_MeasureConfig = -1;        /* T_s_MeasureConfig */
static int hf_nr_rrc_ssb_RSRP = -1;               /* RSRP_Range */
static int hf_nr_rrc_csi_RSRP = -1;               /* RSRP_Range */
static int hf_nr_rrc_quantityConfig = -1;         /* QuantityConfig */
static int hf_nr_rrc_measGapConfig_01 = -1;       /* MeasGapConfig */
static int hf_nr_rrc_measGapSharingConfig = -1;   /* MeasGapSharingConfig */
static int hf_nr_rrc_interFrequencyConfig_NoGap_r16 = -1;  /* T_interFrequencyConfig_NoGap_r16 */
static int hf_nr_rrc_MeasObjectToRemoveList_item = -1;  /* MeasObjectId */
static int hf_nr_rrc_MeasIdToRemoveList_item = -1;  /* MeasId */
static int hf_nr_rrc_ReportConfigToRemoveList_item = -1;  /* ReportConfigId */
static int hf_nr_rrc_gapFR2 = -1;                 /* T_gapFR2 */
static int hf_nr_rrc_gapFR1 = -1;                 /* T_gapFR1 */
static int hf_nr_rrc_gapUE = -1;                  /* T_gapUE */
static int hf_nr_rrc_gapToAddModList_r17 = -1;    /* SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17 */
static int hf_nr_rrc_gapToAddModList_r17_item = -1;  /* GapConfig_r17 */
static int hf_nr_rrc_gapToReleaseList_r17 = -1;   /* SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17 */
static int hf_nr_rrc_gapToReleaseList_r17_item = -1;  /* MeasGapId_r17 */
static int hf_nr_rrc_posMeasGapPreConfigToAddModList_r17 = -1;  /* PosMeasGapPreConfigToAddModList_r17 */
static int hf_nr_rrc_posMeasGapPreConfigToReleaseList_r17 = -1;  /* PosMeasGapPreConfigToReleaseList_r17 */
static int hf_nr_rrc_gapOffset = -1;              /* INTEGER_0_159 */
static int hf_nr_rrc_mgl = -1;                    /* T_mgl */
static int hf_nr_rrc_mgrp = -1;                   /* T_mgrp */
static int hf_nr_rrc_mgta = -1;                   /* T_mgta */
static int hf_nr_rrc_refServCellIndicator = -1;   /* T_refServCellIndicator */
static int hf_nr_rrc_refFR2ServCellAsyncCA_r16 = -1;  /* ServCellIndex */
static int hf_nr_rrc_mgl_r16 = -1;                /* T_mgl_r16 */
static int hf_nr_rrc_measGapId_r17 = -1;          /* MeasGapId_r17 */
static int hf_nr_rrc_gapType_r17 = -1;            /* T_gapType_r17 */
static int hf_nr_rrc_gapOffset_r17 = -1;          /* INTEGER_0_159 */
static int hf_nr_rrc_mgl_r17 = -1;                /* T_mgl_r17 */
static int hf_nr_rrc_mgrp_r17 = -1;               /* T_mgrp_r17 */
static int hf_nr_rrc_mgta_r17 = -1;               /* T_mgta_r17 */
static int hf_nr_rrc_refServCellIndicator_r17 = -1;  /* T_refServCellIndicator_r17 */
static int hf_nr_rrc_refFR2_ServCellAsyncCA_r17 = -1;  /* ServCellIndex */
static int hf_nr_rrc_preConfigInd_r17 = -1;       /* T_preConfigInd_r17 */
static int hf_nr_rrc_ncsgInd_r17 = -1;            /* T_ncsgInd_r17 */
static int hf_nr_rrc_gapAssociationPRS_r17 = -1;  /* T_gapAssociationPRS_r17 */
static int hf_nr_rrc_gapSharing_r17 = -1;         /* MeasGapSharingScheme */
static int hf_nr_rrc_gapPriority_r17 = -1;        /* GapPriority_r17 */
static int hf_nr_rrc_PosMeasGapPreConfigToAddModList_r17_item = -1;  /* PosGapConfig_r17 */
static int hf_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_item = -1;  /* MeasPosPreConfigGapId_r17 */
static int hf_nr_rrc_measPosPreConfigGapId_r17 = -1;  /* MeasPosPreConfigGapId_r17 */
static int hf_nr_rrc_mgl_r17_01 = -1;             /* T_mgl_r17_01 */
static int hf_nr_rrc_mgrp_r17_01 = -1;            /* T_mgrp_r17_01 */
static int hf_nr_rrc_mgta_r17_01 = -1;            /* T_mgta_r17_01 */
static int hf_nr_rrc_gapType_r17_01 = -1;         /* T_gapType_r17_01 */
static int hf_nr_rrc_gapSharingFR2 = -1;          /* T_gapSharingFR2 */
static int hf_nr_rrc_setup_67 = -1;               /* MeasGapSharingScheme */
static int hf_nr_rrc_gapSharingFR1 = -1;          /* T_gapSharingFR1 */
static int hf_nr_rrc_gapSharingUE = -1;           /* T_gapSharingUE */
static int hf_nr_rrc_measIdleCarrierListNR_r16 = -1;  /* SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16 */
static int hf_nr_rrc_measIdleCarrierListNR_r16_item = -1;  /* MeasIdleCarrierNR_r16 */
static int hf_nr_rrc_measIdleCarrierListEUTRA_r16 = -1;  /* SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16 */
static int hf_nr_rrc_measIdleCarrierListEUTRA_r16_item = -1;  /* MeasIdleCarrierEUTRA_r16 */
static int hf_nr_rrc_measIdleDuration_r16 = -1;   /* T_measIdleDuration_r16 */
static int hf_nr_rrc_validityAreaList_r16 = -1;   /* ValidityAreaList_r16 */
static int hf_nr_rrc_ValidityAreaList_r16_item = -1;  /* ValidityArea_r16 */
static int hf_nr_rrc_validityCellList_r16 = -1;   /* ValidityCellList */
static int hf_nr_rrc_ValidityCellList_item = -1;  /* PCI_Range */
static int hf_nr_rrc_ssbSubcarrierSpacing_r16 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_measCellListNR_r16 = -1;     /* CellListNR_r16 */
static int hf_nr_rrc_reportQuantities_r16 = -1;   /* T_reportQuantities_r16 */
static int hf_nr_rrc_qualityThreshold_r16 = -1;   /* T_qualityThreshold_r16 */
static int hf_nr_rrc_idleRSRP_Threshold_NR_r16 = -1;  /* RSRP_Range */
static int hf_nr_rrc_idleRSRQ_Threshold_NR_r16 = -1;  /* RSRQ_Range */
static int hf_nr_rrc_ssb_MeasConfig_r16 = -1;     /* T_ssb_MeasConfig_r16 */
static int hf_nr_rrc_nrofSS_BlocksToAverage_r16 = -1;  /* INTEGER_2_maxNrofSS_BlocksToAverage */
static int hf_nr_rrc_absThreshSS_BlocksConsolidation_r16 = -1;  /* ThresholdNR */
static int hf_nr_rrc_smtc_r16 = -1;               /* SSB_MTC */
static int hf_nr_rrc_ssb_ToMeasure_r16 = -1;      /* SSB_ToMeasure */
static int hf_nr_rrc_deriveSSB_IndexFromCell_r16 = -1;  /* BOOLEAN */
static int hf_nr_rrc_ss_RSSI_Measurement_r16 = -1;  /* SS_RSSI_Measurement */
static int hf_nr_rrc_beamMeasConfigIdle_r16 = -1;  /* BeamMeasConfigIdle_NR_r16 */
static int hf_nr_rrc_carrierFreqEUTRA_r16 = -1;   /* ARFCN_ValueEUTRA */
static int hf_nr_rrc_allowedMeasBandwidth_r16 = -1;  /* EUTRA_AllowedMeasBandwidth */
static int hf_nr_rrc_measCellListEUTRA_r16 = -1;  /* CellListEUTRA_r16 */
static int hf_nr_rrc_reportQuantitiesEUTRA_r16 = -1;  /* T_reportQuantitiesEUTRA_r16 */
static int hf_nr_rrc_qualityThresholdEUTRA_r16 = -1;  /* T_qualityThresholdEUTRA_r16 */
static int hf_nr_rrc_idleRSRP_Threshold_EUTRA_r16 = -1;  /* RSRP_RangeEUTRA */
static int hf_nr_rrc_idleRSRQ_Threshold_EUTRA_r16 = -1;  /* RSRQ_RangeEUTRA_r16 */
static int hf_nr_rrc_CellListNR_r16_item = -1;    /* PCI_Range */
static int hf_nr_rrc_CellListEUTRA_r16_item = -1;  /* EUTRA_PhysCellIdRange */
static int hf_nr_rrc_reportQuantityRS_Indexes_r16 = -1;  /* T_reportQuantityRS_Indexes_r16 */
static int hf_nr_rrc_maxNrofRS_IndexesToReport_r16 = -1;  /* INTEGER_1_maxNrofIndexesToReport */
static int hf_nr_rrc_includeBeamMeasurements_r16 = -1;  /* BOOLEAN */
static int hf_nr_rrc_MeasIdToAddModList_item = -1;  /* MeasIdToAddMod */
static int hf_nr_rrc_measId = -1;                 /* MeasId */
static int hf_nr_rrc_measObjectId = -1;           /* MeasObjectId */
static int hf_nr_rrc_reportConfigId_01 = -1;      /* ReportConfigId */
static int hf_nr_rrc_cli_ResourceConfig_r16 = -1;  /* CLI_ResourceConfig_r16 */
static int hf_nr_rrc_srs_ResourceConfig_r16 = -1;  /* T_srs_ResourceConfig_r16 */
static int hf_nr_rrc_setup_68 = -1;               /* SRS_ResourceListConfigCLI_r16 */
static int hf_nr_rrc_rssi_ResourceConfig_r16 = -1;  /* T_rssi_ResourceConfig_r16 */
static int hf_nr_rrc_setup_69 = -1;               /* RSSI_ResourceListConfigCLI_r16 */
static int hf_nr_rrc_SRS_ResourceListConfigCLI_r16_item = -1;  /* SRS_ResourceConfigCLI_r16 */
static int hf_nr_rrc_RSSI_ResourceListConfigCLI_r16_item = -1;  /* RSSI_ResourceConfigCLI_r16 */
static int hf_nr_rrc_srs_Resource_r16 = -1;       /* SRS_Resource */
static int hf_nr_rrc_srs_SCS_r16 = -1;            /* SubcarrierSpacing */
static int hf_nr_rrc_refServCellIndex_r16 = -1;   /* ServCellIndex */
static int hf_nr_rrc_refBWP_r16 = -1;             /* BWP_Id */
static int hf_nr_rrc_rssi_ResourceId_r16 = -1;    /* RSSI_ResourceId_r16 */
static int hf_nr_rrc_rssi_SCS_r16 = -1;           /* SubcarrierSpacing */
static int hf_nr_rrc_startPRB_r16 = -1;           /* INTEGER_0_2169 */
static int hf_nr_rrc_nrofPRBs_r16 = -1;           /* INTEGER_4_maxNrofPhysicalResourceBlocksPlus1 */
static int hf_nr_rrc_startPosition_r16 = -1;      /* INTEGER_0_13 */
static int hf_nr_rrc_nrofSymbols_r16 = -1;        /* INTEGER_1_14 */
static int hf_nr_rrc_rssi_PeriodicityAndOffset_r16 = -1;  /* RSSI_PeriodicityAndOffset_r16 */
static int hf_nr_rrc_sl10 = -1;                   /* INTEGER_0_9 */
static int hf_nr_rrc_sl20 = -1;                   /* INTEGER_0_19 */
static int hf_nr_rrc_sl40 = -1;                   /* INTEGER_0_39 */
static int hf_nr_rrc_sl80 = -1;                   /* INTEGER_0_79 */
static int hf_nr_rrc_sl160 = -1;                  /* INTEGER_0_159 */
static int hf_nr_rrc_sl320 = -1;                  /* INTEGER_0_319 */
static int hf_nr_rrc_s1640 = -1;                  /* INTEGER_0_639 */
static int hf_nr_rrc_cellsToRemoveListEUTRAN = -1;  /* EUTRA_CellIndexList */
static int hf_nr_rrc_cellsToAddModListEUTRAN = -1;  /* SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell */
static int hf_nr_rrc_cellsToAddModListEUTRAN_item = -1;  /* EUTRA_Cell */
static int hf_nr_rrc_excludedCellsToRemoveListEUTRAN = -1;  /* EUTRA_CellIndexList */
static int hf_nr_rrc_excludedCellsToAddModListEUTRAN = -1;  /* SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell */
static int hf_nr_rrc_excludedCellsToAddModListEUTRAN_item = -1;  /* EUTRA_ExcludedCell */
static int hf_nr_rrc_eutra_PresenceAntennaPort1 = -1;  /* EUTRA_PresenceAntennaPort1 */
static int hf_nr_rrc_eutra_Q_OffsetRange = -1;    /* EUTRA_Q_OffsetRange */
static int hf_nr_rrc_widebandRSRQ_Meas = -1;      /* BOOLEAN */
static int hf_nr_rrc_associatedMeasGap_r17 = -1;  /* MeasGapId_r17 */
static int hf_nr_rrc_EUTRA_CellIndexList_item = -1;  /* EUTRA_CellIndex */
static int hf_nr_rrc_cellIndexEUTRA = -1;         /* EUTRA_CellIndex */
static int hf_nr_rrc_cellIndividualOffset = -1;   /* EUTRA_Q_OffsetRange */
static int hf_nr_rrc_physCellIdRange = -1;        /* EUTRA_PhysCellIdRange */
static int hf_nr_rrc_smtc1 = -1;                  /* SSB_MTC */
static int hf_nr_rrc_smtc2 = -1;                  /* SSB_MTC2 */
static int hf_nr_rrc_refFreqCSI_RS = -1;          /* ARFCN_ValueNR */
static int hf_nr_rrc_referenceSignalConfig = -1;  /* ReferenceSignalConfig */
static int hf_nr_rrc_absThreshCSI_RS_Consolidation = -1;  /* ThresholdNR */
static int hf_nr_rrc_nrofCSI_RS_ResourcesToAverage = -1;  /* INTEGER_2_maxNrofCSI_RS_ResourcesToAverage */
static int hf_nr_rrc_quantityConfigIndex = -1;    /* INTEGER_1_maxNrofQuantityConfig */
static int hf_nr_rrc_offsetMO = -1;               /* Q_OffsetRangeList */
static int hf_nr_rrc_cellsToRemoveList = -1;      /* PCI_List */
static int hf_nr_rrc_cellsToAddModList = -1;      /* CellsToAddModList */
static int hf_nr_rrc_excludedCellsToRemoveList = -1;  /* PCI_RangeIndexList */
static int hf_nr_rrc_excludedCellsToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement */
static int hf_nr_rrc_excludedCellsToAddModList_item = -1;  /* PCI_RangeElement */
static int hf_nr_rrc_allowedCellsToRemoveList = -1;  /* PCI_RangeIndexList */
static int hf_nr_rrc_allowedCellsToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement */
static int hf_nr_rrc_allowedCellsToAddModList_item = -1;  /* PCI_RangeElement */
static int hf_nr_rrc_freqBandIndicatorNR = -1;    /* FreqBandIndicatorNR */
static int hf_nr_rrc_measCycleSCell = -1;         /* T_measCycleSCell */
static int hf_nr_rrc_smtc3list_r16 = -1;          /* SSB_MTC3List_r16 */
static int hf_nr_rrc_rmtc_Config_r16 = -1;        /* T_rmtc_Config_r16 */
static int hf_nr_rrc_setup_70 = -1;               /* RMTC_Config_r16 */
static int hf_nr_rrc_t312_r16 = -1;               /* T_t312_r16 */
static int hf_nr_rrc_setup_71 = -1;               /* T312_r16 */
static int hf_nr_rrc_associatedMeasGapSSB_r17 = -1;  /* MeasGapId_r17 */
static int hf_nr_rrc_associatedMeasGapCSIRS_r17 = -1;  /* MeasGapId_r17 */
static int hf_nr_rrc_measCyclePSCell_r17 = -1;    /* T_measCyclePSCell_r17 */
static int hf_nr_rrc_cellsToAddModListExt_v1710 = -1;  /* CellsToAddModListExt_v1710 */
static int hf_nr_rrc_associatedMeasGapSSB2_v1720 = -1;  /* MeasGapId_r17 */
static int hf_nr_rrc_associatedMeasGapCSIRS2_v1720 = -1;  /* MeasGapId_r17 */
static int hf_nr_rrc_SSB_MTC3List_r16_item = -1;  /* SSB_MTC3_r16 */
static int hf_nr_rrc_SSB_MTC4List_r17_item = -1;  /* SSB_MTC4_r17 */
static int hf_nr_rrc_ssb_ConfigMobility = -1;     /* SSB_ConfigMobility */
static int hf_nr_rrc_csi_rs_ResourceConfigMobility = -1;  /* T_csi_rs_ResourceConfigMobility */
static int hf_nr_rrc_setup_72 = -1;               /* CSI_RS_ResourceConfigMobility */
static int hf_nr_rrc_ssb_ToMeasure_01 = -1;       /* T_ssb_ToMeasure */
static int hf_nr_rrc_setup_73 = -1;               /* SSB_ToMeasure */
static int hf_nr_rrc_ssb_PositionQCL_CellsToAddModList_r16 = -1;  /* SSB_PositionQCL_CellsToAddModList_r16 */
static int hf_nr_rrc_ssb_PositionQCL_CellsToRemoveList_r16 = -1;  /* PCI_List */
static int hf_nr_rrc_deriveSSB_IndexFromCellInter_r17 = -1;  /* ServCellIndex */
static int hf_nr_rrc_ssb_PositionQCL_Cells_r17 = -1;  /* T_ssb_PositionQCL_Cells_r17 */
static int hf_nr_rrc_setup_74 = -1;               /* SSB_PositionQCL_CellList_r17 */
static int hf_nr_rrc_cca_CellsToAddModList_r17 = -1;  /* PCI_List */
static int hf_nr_rrc_cca_CellsToRemoveList_r17 = -1;  /* PCI_List */
static int hf_nr_rrc_rsrpOffsetSSB = -1;          /* Q_OffsetRange */
static int hf_nr_rrc_rsrqOffsetSSB = -1;          /* Q_OffsetRange */
static int hf_nr_rrc_sinrOffsetSSB = -1;          /* Q_OffsetRange */
static int hf_nr_rrc_rsrpOffsetCSI_RS = -1;       /* Q_OffsetRange */
static int hf_nr_rrc_rsrqOffsetCSI_RS = -1;       /* Q_OffsetRange */
static int hf_nr_rrc_sinrOffsetCSI_RS = -1;       /* Q_OffsetRange */
static int hf_nr_rrc_thresholdRSRP = -1;          /* RSRP_Range */
static int hf_nr_rrc_thresholdRSRQ = -1;          /* RSRQ_Range */
static int hf_nr_rrc_thresholdSINR = -1;          /* SINR_Range */
static int hf_nr_rrc_CellsToAddModList_item = -1;  /* CellsToAddMod */
static int hf_nr_rrc_CellsToAddModListExt_v1710_item = -1;  /* CellsToAddModExt_v1710 */
static int hf_nr_rrc_cellIndividualOffset_01 = -1;  /* Q_OffsetRangeList */
static int hf_nr_rrc_ntn_PolarizationDL_r17 = -1;  /* T_ntn_PolarizationDL_r17 */
static int hf_nr_rrc_ntn_PolarizationUL_r17 = -1;  /* T_ntn_PolarizationUL_r17 */
static int hf_nr_rrc_rmtc_Periodicity_r16 = -1;   /* T_rmtc_Periodicity_r16 */
static int hf_nr_rrc_rmtc_SubframeOffset_r16 = -1;  /* INTEGER_0_639 */
static int hf_nr_rrc_measDurationSymbols_r16 = -1;  /* T_measDurationSymbols_r16 */
static int hf_nr_rrc_rmtc_Frequency_r16 = -1;     /* ARFCN_ValueNR */
static int hf_nr_rrc_ref_SCS_CP_r16 = -1;         /* T_ref_SCS_CP_r16 */
static int hf_nr_rrc_rmtc_Bandwidth_r17 = -1;     /* T_rmtc_Bandwidth_r17 */
static int hf_nr_rrc_measDurationSymbols_v1700 = -1;  /* T_measDurationSymbols_v1700 */
static int hf_nr_rrc_ref_SCS_CP_v1700 = -1;       /* T_ref_SCS_CP_v1700 */
static int hf_nr_rrc_tci_StateInfo_r17 = -1;      /* T_tci_StateInfo_r17 */
static int hf_nr_rrc_tci_StateId_r17 = -1;        /* TCI_StateId */
static int hf_nr_rrc_ref_ServCellId_r17 = -1;     /* ServCellIndex */
static int hf_nr_rrc_ref_BWPId_r17 = -1;          /* BWP_Id */
static int hf_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16_item = -1;  /* SSB_PositionQCL_CellsToAddMod_r16 */
static int hf_nr_rrc_SSB_PositionQCL_CellList_r17_item = -1;  /* SSB_PositionQCL_Cell_r17 */
static int hf_nr_rrc_tx_PoolMeasToRemoveList_r16 = -1;  /* Tx_PoolMeasList_r16 */
static int hf_nr_rrc_tx_PoolMeasToAddModList_r16 = -1;  /* Tx_PoolMeasList_r16 */
static int hf_nr_rrc_Tx_PoolMeasList_r16_item = -1;  /* SL_ResourcePoolID_r16 */
static int hf_nr_rrc_dl_Ref_r17 = -1;             /* T_dl_Ref_r17 */
static int hf_nr_rrc_prs_Ref_r17 = -1;            /* NULL */
static int hf_nr_rrc_csi_RS_Ref_r17 = -1;         /* NULL */
static int hf_nr_rrc_MeasObjectToAddModList_item = -1;  /* MeasObjectToAddMod */
static int hf_nr_rrc_measObject = -1;             /* T_measObject */
static int hf_nr_rrc_measObjectNR = -1;           /* MeasObjectNR */
static int hf_nr_rrc_measObjectEUTRA = -1;        /* MeasObjectEUTRA */
static int hf_nr_rrc_measObjectUTRA_FDD_r16 = -1;  /* MeasObjectUTRA_FDD_r16 */
static int hf_nr_rrc_measObjectNR_SL_r16 = -1;    /* MeasObjectNR_SL_r16 */
static int hf_nr_rrc_measObjectCLI_r16 = -1;      /* MeasObjectCLI_r16 */
static int hf_nr_rrc_measObjectRxTxDiff_r17 = -1;  /* MeasObjectRxTxDiff_r17 */
static int hf_nr_rrc_measObjectRelay_r17 = -1;    /* SL_MeasObject_r16 */
static int hf_nr_rrc_utra_FDD_Q_OffsetRange_r16 = -1;  /* UTRA_FDD_Q_OffsetRange_r16 */
static int hf_nr_rrc_cellsToRemoveList_r16 = -1;  /* UTRA_FDD_CellIndexList_r16 */
static int hf_nr_rrc_cellsToAddModList_r16 = -1;  /* CellsToAddModListUTRA_FDD_r16 */
static int hf_nr_rrc_CellsToAddModListUTRA_FDD_r16_item = -1;  /* CellsToAddModUTRA_FDD_r16 */
static int hf_nr_rrc_cellIndexUTRA_FDD_r16 = -1;  /* UTRA_FDD_CellIndex_r16 */
static int hf_nr_rrc_physCellId_r16_01 = -1;      /* PhysCellIdUTRA_FDD_r16 */
static int hf_nr_rrc_UTRA_FDD_CellIndexList_r16_item = -1;  /* UTRA_FDD_CellIndex_r16 */
static int hf_nr_rrc_MeasResultCellListSFTD_NR_item = -1;  /* MeasResultCellSFTD_NR */
static int hf_nr_rrc_sfn_OffsetResult = -1;       /* INTEGER_0_1023 */
static int hf_nr_rrc_frameBoundaryOffsetResult = -1;  /* INTEGER_M30720_30719 */
static int hf_nr_rrc_rsrp_Result = -1;            /* RSRP_Range */
static int hf_nr_rrc_MeasResultCellListSFTD_EUTRA_item = -1;  /* MeasResultSFTD_EUTRA */
static int hf_nr_rrc_eutra_PhysCellId = -1;       /* EUTRA_PhysCellId */
static int hf_nr_rrc_measResultServingMOList = -1;  /* MeasResultServMOList */
static int hf_nr_rrc_measResultNeighCells = -1;   /* T_measResultNeighCells */
static int hf_nr_rrc_measResultListNR = -1;       /* MeasResultListNR */
static int hf_nr_rrc_measResultListEUTRA = -1;    /* MeasResultListEUTRA */
static int hf_nr_rrc_measResultListUTRA_FDD_r16 = -1;  /* MeasResultListUTRA_FDD_r16 */
static int hf_nr_rrc_sl_MeasResultsCandRelay_r17 = -1;  /* T_sl_MeasResultsCandRelay_r17 */
static int hf_nr_rrc_measResultServFreqListEUTRA_SCG = -1;  /* MeasResultServFreqListEUTRA_SCG */
static int hf_nr_rrc_measResultServFreqListNR_SCG = -1;  /* MeasResultServFreqListNR_SCG */
static int hf_nr_rrc_measResultSFTD_EUTRA = -1;   /* MeasResultSFTD_EUTRA */
static int hf_nr_rrc_measResultSFTD_NR = -1;      /* MeasResultCellSFTD_NR */
static int hf_nr_rrc_measResultForRSSI_r16 = -1;  /* MeasResultForRSSI_r16 */
static int hf_nr_rrc_ul_PDCP_DelayValueResultList_r16 = -1;  /* UL_PDCP_DelayValueResultList_r16 */
static int hf_nr_rrc_measResultsSL_r16 = -1;      /* MeasResultsSL_r16 */
static int hf_nr_rrc_measResultCLI_r16 = -1;      /* MeasResultCLI_r16 */
static int hf_nr_rrc_measResultRxTxTimeDiff_r17 = -1;  /* MeasResultRxTxTimeDiff_r17 */
static int hf_nr_rrc_sl_MeasResultServingRelay_r17 = -1;  /* T_sl_MeasResultServingRelay_r17 */
static int hf_nr_rrc_ul_PDCP_ExcessDelayResultList_r17 = -1;  /* UL_PDCP_ExcessDelayResultList_r17 */
static int hf_nr_rrc_coarseLocationInfo_r17_01 = -1;  /* T_coarseLocationInfo_r17_01 */
static int hf_nr_rrc_MeasResultServMOList_item = -1;  /* MeasResultServMO */
static int hf_nr_rrc_servCellId = -1;             /* ServCellIndex */
static int hf_nr_rrc_measResultServingCell = -1;  /* MeasResultNR */
static int hf_nr_rrc_measResultBestNeighCell = -1;  /* MeasResultNR */
static int hf_nr_rrc_MeasResultListNR_item = -1;  /* MeasResultNR */
static int hf_nr_rrc_measResult = -1;             /* T_measResult */
static int hf_nr_rrc_cellResults = -1;            /* T_cellResults */
static int hf_nr_rrc_resultsCSI_RS_Cell = -1;     /* MeasQuantityResults */
static int hf_nr_rrc_rsIndexResults = -1;         /* T_rsIndexResults */
static int hf_nr_rrc_resultsSSB_Indexes = -1;     /* ResultsPerSSB_IndexList */
static int hf_nr_rrc_resultsCSI_RS_Indexes = -1;  /* ResultsPerCSI_RS_IndexList */
static int hf_nr_rrc_choCandidate_r17 = -1;       /* T_choCandidate_r17 */
static int hf_nr_rrc_choConfig_r17 = -1;          /* SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16 */
static int hf_nr_rrc_choConfig_r17_item = -1;     /* CondTriggerConfig_r16 */
static int hf_nr_rrc_triggeredEvent_r17 = -1;     /* T_triggeredEvent_r17 */
static int hf_nr_rrc_timeBetweenEvents_r17 = -1;  /* TimeBetweenEvent_r17 */
static int hf_nr_rrc_firstTriggeredEvent = -1;    /* T_firstTriggeredEvent */
static int hf_nr_rrc_MeasResultListEUTRA_item = -1;  /* MeasResultEUTRA */
static int hf_nr_rrc_eutra_PhysCellId_01 = -1;    /* PhysCellId */
static int hf_nr_rrc_measResult_01 = -1;          /* MeasQuantityResultsEUTRA */
static int hf_nr_rrc_cgi_Info_02 = -1;            /* CGI_InfoEUTRA */
static int hf_nr_rrc_MultiBandInfoListEUTRA_item = -1;  /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_measQuantityResults_rsrp = -1;  /* RSRP_Range */
static int hf_nr_rrc_measQuantityResults_rsrq = -1;  /* RSRQ_Range */
static int hf_nr_rrc_measQuantityResultssinr = -1;  /* SINR_Range */
static int hf_nr_rrc_measQuantityResultsEUTRA_rsrp = -1;  /* RSRP_RangeEUTRA */
static int hf_nr_rrc_measQuantityResultsEUTRA_rsrq = -1;  /* RSRQ_RangeEUTRA */
static int hf_nr_rrc_measQuantityResultsEUTRA_sinr = -1;  /* SINR_RangeEUTRA */
static int hf_nr_rrc_ResultsPerSSB_IndexList_item = -1;  /* ResultsPerSSB_Index */
static int hf_nr_rrc_ssb_Results = -1;            /* MeasQuantityResults */
static int hf_nr_rrc_ResultsPerCSI_RS_IndexList_item = -1;  /* ResultsPerCSI_RS_Index */
static int hf_nr_rrc_csi_RS_Results = -1;         /* MeasQuantityResults */
static int hf_nr_rrc_MeasResultServFreqListEUTRA_SCG_item = -1;  /* MeasResult2EUTRA */
static int hf_nr_rrc_MeasResultServFreqListNR_SCG_item = -1;  /* MeasResult2NR */
static int hf_nr_rrc_MeasResultListUTRA_FDD_r16_item = -1;  /* MeasResultUTRA_FDD_r16 */
static int hf_nr_rrc_measResult_r16_02 = -1;      /* T_measResult_r16_02 */
static int hf_nr_rrc_utra_FDD_RSCP_r16 = -1;      /* INTEGER_M5_91 */
static int hf_nr_rrc_utra_FDD_EcN0_r16 = -1;      /* INTEGER_0_49 */
static int hf_nr_rrc_rssi_Result_r16 = -1;        /* RSSI_Range_r16 */
static int hf_nr_rrc_channelOccupancy_r16 = -1;   /* INTEGER_0_100 */
static int hf_nr_rrc_measResultListSRS_RSRP_r16 = -1;  /* MeasResultListSRS_RSRP_r16 */
static int hf_nr_rrc_measResultListCLI_RSSI_r16 = -1;  /* MeasResultListCLI_RSSI_r16 */
static int hf_nr_rrc_MeasResultListSRS_RSRP_r16_item = -1;  /* MeasResultSRS_RSRP_r16 */
static int hf_nr_rrc_srs_ResourceId_r16 = -1;     /* SRS_ResourceId */
static int hf_nr_rrc_srs_RSRP_Result_r16 = -1;    /* SRS_RSRP_Range_r16 */
static int hf_nr_rrc_MeasResultListCLI_RSSI_r16_item = -1;  /* MeasResultCLI_RSSI_r16 */
static int hf_nr_rrc_cli_RSSI_Result_r16 = -1;    /* CLI_RSSI_Range_r16 */
static int hf_nr_rrc_UL_PDCP_DelayValueResultList_r16_item = -1;  /* UL_PDCP_DelayValueResult_r16 */
static int hf_nr_rrc_drb_Id_r16 = -1;             /* DRB_Identity */
static int hf_nr_rrc_averageDelay_r16 = -1;       /* INTEGER_0_10000 */
static int hf_nr_rrc_UL_PDCP_ExcessDelayResultList_r17_item = -1;  /* UL_PDCP_ExcessDelayResult_r17 */
static int hf_nr_rrc_drb_Id_r17 = -1;             /* DRB_Identity */
static int hf_nr_rrc_excessDelay_r17 = -1;        /* INTEGER_0_31 */
static int hf_nr_rrc_measResultServingCell_01 = -1;  /* MeasResultEUTRA */
static int hf_nr_rrc_measResultBestNeighCell_01 = -1;  /* MeasResultEUTRA */
static int hf_nr_rrc_measResultNeighCellListNR_02 = -1;  /* MeasResultListNR */
static int hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16 = -1;  /* SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16 */
static int hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16_item = -1;  /* MeasResultsPerCarrierIdleEUTRA_r16 */
static int hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16 = -1;  /* SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16 */
static int hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16_item = -1;  /* MeasResultsPerCellIdleEUTRA_r16 */
static int hf_nr_rrc_eutra_PhysCellId_r16 = -1;   /* EUTRA_PhysCellId */
static int hf_nr_rrc_measIdleResultEUTRA_r16 = -1;  /* T_measIdleResultEUTRA_r16 */
static int hf_nr_rrc_rsrp_ResultEUTRA_r16 = -1;   /* RSRP_RangeEUTRA */
static int hf_nr_rrc_rsrq_ResultEUTRA_r16 = -1;   /* RSRQ_RangeEUTRA_r16 */
static int hf_nr_rrc_measResultServingCell_r16_01 = -1;  /* T_measResultServingCell_r16 */
static int hf_nr_rrc_rsrp_Result_r16 = -1;        /* RSRP_Range */
static int hf_nr_rrc_rsrq_Result_r16 = -1;        /* RSRQ_Range */
static int hf_nr_rrc_resultsSSB_Indexes_r16_01 = -1;  /* ResultsPerSSB_IndexList_r16 */
static int hf_nr_rrc_measResultsPerCarrierListIdleNR_r16 = -1;  /* SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16 */
static int hf_nr_rrc_measResultsPerCarrierListIdleNR_r16_item = -1;  /* MeasResultsPerCarrierIdleNR_r16 */
static int hf_nr_rrc_measResultsPerCellListIdleNR_r16 = -1;  /* SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16 */
static int hf_nr_rrc_measResultsPerCellListIdleNR_r16_item = -1;  /* MeasResultsPerCellIdleNR_r16 */
static int hf_nr_rrc_measIdleResultNR_r16 = -1;   /* T_measIdleResultNR_r16 */
static int hf_nr_rrc_ResultsPerSSB_IndexList_r16_item = -1;  /* ResultsPerSSB_IndexIdle_r16 */
static int hf_nr_rrc_ssb_Results_r16 = -1;        /* T_ssb_Results_r16 */
static int hf_nr_rrc_ssb_RSRP_Result_r16 = -1;    /* RSRP_Range */
static int hf_nr_rrc_ssb_RSRQ_Result_r16 = -1;    /* RSRQ_Range */
static int hf_nr_rrc_rxTxTimeDiff_ue_r17 = -1;    /* RxTxTimeDiff_r17 */
static int hf_nr_rrc_measResultPerMOList = -1;    /* MeasResultList2NR */
static int hf_nr_rrc_MeasResultList2NR_item = -1;  /* MeasResult2NR */
static int hf_nr_rrc_measResultsListSL_r16 = -1;  /* T_measResultsListSL_r16 */
static int hf_nr_rrc_measResultNR_SL_r16 = -1;    /* MeasResultNR_SL_r16 */
static int hf_nr_rrc_measResultListCBR_NR_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16 */
static int hf_nr_rrc_measResultListCBR_NR_r16_item = -1;  /* MeasResultCBR_NR_r16 */
static int hf_nr_rrc_sl_poolReportIdentity_r16 = -1;  /* SL_ResourcePoolID_r16 */
static int hf_nr_rrc_sl_CBR_ResultsNR_r16 = -1;   /* SL_CBR_r16 */
static int hf_nr_rrc_measTriggerQuantityEUTRA_rsrp = -1;  /* RSRP_RangeEUTRA */
static int hf_nr_rrc_measTriggerQuantityEUTRA_rsrq = -1;  /* RSRQ_RangeEUTRA */
static int hf_nr_rrc_measTriggerQuantityEUTRA_sinr = -1;  /* SINR_RangeEUTRA */
static int hf_nr_rrc_t_Evaluation = -1;           /* T_t_Evaluation */
static int hf_nr_rrc_t_HystNormal = -1;           /* T_t_HystNormal */
static int hf_nr_rrc_n_CellChangeMedium = -1;     /* INTEGER_1_16 */
static int hf_nr_rrc_n_CellChangeHigh = -1;       /* INTEGER_1_16 */
static int hf_nr_rrc_rach_ConfigCommonTwoStepRA_r16 = -1;  /* RACH_ConfigCommonTwoStepRA_r16 */
static int hf_nr_rrc_msgA_PUSCH_Config_r16 = -1;  /* MsgA_PUSCH_Config_r16 */
static int hf_nr_rrc_msgA_PUSCH_ResourceGroupA_r16 = -1;  /* MsgA_PUSCH_Resource_r16 */
static int hf_nr_rrc_msgA_PUSCH_ResourceGroupB_r16 = -1;  /* MsgA_PUSCH_Resource_r16 */
static int hf_nr_rrc_msgA_TransformPrecoder_r16 = -1;  /* T_msgA_TransformPrecoder_r16 */
static int hf_nr_rrc_msgA_DataScramblingIndex_r16 = -1;  /* INTEGER_0_1023 */
static int hf_nr_rrc_msgA_DeltaPreamble_r16 = -1;  /* INTEGER_M1_6 */
static int hf_nr_rrc_msgA_MCS_r16 = -1;           /* INTEGER_0_15 */
static int hf_nr_rrc_nrofSlotsMsgA_PUSCH_r16 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_nrofMsgA_PO_PerSlot_r16 = -1;  /* T_nrofMsgA_PO_PerSlot_r16 */
static int hf_nr_rrc_msgA_PUSCH_TimeDomainOffset_r16 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r16 = -1;  /* INTEGER_1_maxNrofUL_Allocations */
static int hf_nr_rrc_startSymbolAndLengthMsgA_PO_r16 = -1;  /* INTEGER_0_127 */
static int hf_nr_rrc_mappingTypeMsgA_PUSCH_r16 = -1;  /* T_mappingTypeMsgA_PUSCH_r16 */
static int hf_nr_rrc_guardPeriodMsgA_PUSCH_r16 = -1;  /* INTEGER_0_3 */
static int hf_nr_rrc_guardBandMsgA_PUSCH_r16 = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_frequencyStartMsgA_PUSCH_r16 = -1;  /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_nrofPRBs_PerMsgA_PO_r16 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_nrofMsgA_PO_FDM_r16 = -1;    /* T_nrofMsgA_PO_FDM_r16 */
static int hf_nr_rrc_msgA_IntraSlotFrequencyHopping_r16 = -1;  /* T_msgA_IntraSlotFrequencyHopping_r16 */
static int hf_nr_rrc_msgA_HoppingBits_r16 = -1;   /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_msgA_DMRS_Config_r16 = -1;   /* MsgA_DMRS_Config_r16 */
static int hf_nr_rrc_nrofDMRS_Sequences_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_msgA_Alpha_r16 = -1;         /* T_msgA_Alpha_r16 */
static int hf_nr_rrc_interlaceIndexFirstPO_MsgA_PUSCH_r16 = -1;  /* INTEGER_1_10 */
static int hf_nr_rrc_nrofInterlacesPerMsgA_PO_r16 = -1;  /* INTEGER_1_10 */
static int hf_nr_rrc_msgA_DMRS_AdditionalPosition_r16 = -1;  /* T_msgA_DMRS_AdditionalPosition_r16 */
static int hf_nr_rrc_msgA_MaxLength_r16 = -1;     /* T_msgA_MaxLength_r16 */
static int hf_nr_rrc_msgA_PUSCH_DMRS_CDM_Group_r16 = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_msgA_PUSCH_NrofPorts_r16 = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_msgA_ScramblingID0_r16 = -1;  /* INTEGER_0_65535 */
static int hf_nr_rrc_msgA_ScramblingID1_r16 = -1;  /* INTEGER_0_65535 */
static int hf_nr_rrc_MultiFrequencyBandListNR_item = -1;  /* FreqBandIndicatorNR */
static int hf_nr_rrc_MultiFrequencyBandListNR_SIB_item = -1;  /* NR_MultiBandInfo */
static int hf_nr_rrc_nr_NS_PmaxList = -1;         /* NR_NS_PmaxList */
static int hf_nr_rrc_musim_GapToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17 */
static int hf_nr_rrc_musim_GapToReleaseList_r17_item = -1;  /* MUSIM_GapId_r17 */
static int hf_nr_rrc_musim_GapToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17 */
static int hf_nr_rrc_musim_GapToAddModList_r17_item = -1;  /* MUSIM_Gap_r17 */
static int hf_nr_rrc_musim_AperiodicGap_r17 = -1;  /* MUSIM_GapInfo_r17 */
static int hf_nr_rrc_musim_GapId_r17 = -1;        /* MUSIM_GapId_r17 */
static int hf_nr_rrc_musim_GapInfo_r17 = -1;      /* MUSIM_GapInfo_r17 */
static int hf_nr_rrc_musim_Starting_SFN_AndSubframe_r17 = -1;  /* MUSIM_Starting_SFN_AndSubframe_r17 */
static int hf_nr_rrc_musim_GapLength_r17 = -1;    /* T_musim_GapLength_r17 */
static int hf_nr_rrc_musim_GapRepetitionAndOffset_r17 = -1;  /* T_musim_GapRepetitionAndOffset_r17 */
static int hf_nr_rrc_ms20_r17 = -1;               /* INTEGER_0_19 */
static int hf_nr_rrc_ms40_r17 = -1;               /* INTEGER_0_39 */
static int hf_nr_rrc_ms80_r17 = -1;               /* INTEGER_0_79 */
static int hf_nr_rrc_ms160_r17 = -1;              /* INTEGER_0_159 */
static int hf_nr_rrc_ms320_r17 = -1;              /* INTEGER_0_319 */
static int hf_nr_rrc_ms640_r17 = -1;              /* INTEGER_0_639 */
static int hf_nr_rrc_ms1280_r17 = -1;             /* INTEGER_0_1279 */
static int hf_nr_rrc_ms2560_r17 = -1;             /* INTEGER_0_2559 */
static int hf_nr_rrc_ms5120_r17 = -1;             /* INTEGER_0_5119 */
static int hf_nr_rrc_starting_SFN_r17 = -1;       /* INTEGER_0_1023 */
static int hf_nr_rrc_startingSubframe_r17 = -1;   /* INTEGER_0_9 */
static int hf_nr_rrc_requestedTargetBandFilterNR_r16 = -1;  /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */
static int hf_nr_rrc_requestedTargetBandFilterNR_r16_item = -1;  /* FreqBandIndicatorNR */
static int hf_nr_rrc_intraFreq_needForGap_r16 = -1;  /* NeedForGapsIntraFreqList_r16 */
static int hf_nr_rrc_interFreq_needForGap_r16 = -1;  /* NeedForGapsBandListNR_r16 */
static int hf_nr_rrc_NeedForGapsIntraFreqList_r16_item = -1;  /* NeedForGapsIntraFreq_r16 */
static int hf_nr_rrc_NeedForGapsBandListNR_r16_item = -1;  /* NeedForGapsNR_r16 */
static int hf_nr_rrc_servCellId_r16 = -1;         /* ServCellIndex */
static int hf_nr_rrc_gapIndicationIntra_r16 = -1;  /* T_gapIndicationIntra_r16 */
static int hf_nr_rrc_bandNR_r16 = -1;             /* FreqBandIndicatorNR */
static int hf_nr_rrc_gapIndication_r16 = -1;      /* T_gapIndication_r16 */
static int hf_nr_rrc_requestedTargetBandFilterNCSG_EUTRA_r17 = -1;  /* SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA */
static int hf_nr_rrc_requestedTargetBandFilterNCSG_EUTRA_r17_item = -1;  /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_requestedTargetBandFilterNCSG_NR_r17 = -1;  /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */
static int hf_nr_rrc_requestedTargetBandFilterNCSG_NR_r17_item = -1;  /* FreqBandIndicatorNR */
static int hf_nr_rrc_needForNCSG_EUTRA_r17 = -1;  /* SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17 */
static int hf_nr_rrc_needForNCSG_EUTRA_r17_item = -1;  /* NeedForNCSG_EUTRA_r17 */
static int hf_nr_rrc_bandEUTRA_r17 = -1;          /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_gapIndication_r17 = -1;      /* T_gapIndication_r17 */
static int hf_nr_rrc_intraFreq_needForNCSG_r17 = -1;  /* NeedForNCSG_IntraFreqList_r17 */
static int hf_nr_rrc_interFreq_needForNCSG_r17 = -1;  /* NeedForNCSG_BandListNR_r17 */
static int hf_nr_rrc_NeedForNCSG_IntraFreqList_r17_item = -1;  /* NeedForNCSG_IntraFreq_r17 */
static int hf_nr_rrc_NeedForNCSG_BandListNR_r17_item = -1;  /* NeedForNCSG_NR_r17 */
static int hf_nr_rrc_gapIndicationIntra_r17 = -1;  /* T_gapIndicationIntra_r17 */
static int hf_nr_rrc_bandNR_r17 = -1;             /* FreqBandIndicatorNR */
static int hf_nr_rrc_gapIndication_r17_01 = -1;   /* T_gapIndication_r17_01 */
static int hf_nr_rrc_absoluteFrequencySSB_r17 = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_ssb_Periodicity_r17 = -1;    /* T_ssb_Periodicity_r17 */
static int hf_nr_rrc_ssb_TimeOffset_r17 = -1;     /* T_ssb_TimeOffset_r17 */
static int hf_nr_rrc_pni_npn_r16 = -1;            /* T_pni_npn_r16 */
static int hf_nr_rrc_cag_IdentityList_r16 = -1;   /* SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16 */
static int hf_nr_rrc_cag_IdentityList_r16_item = -1;  /* CAG_IdentityInfo_r16 */
static int hf_nr_rrc_snpn_r16 = -1;               /* T_snpn_r16 */
static int hf_nr_rrc_nid_List_r16 = -1;           /* SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16 */
static int hf_nr_rrc_nid_List_r16_item = -1;      /* NID_r16 */
static int hf_nr_rrc_cag_Identity_r16 = -1;       /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_manualCAGselectionAllowed_r16 = -1;  /* T_manualCAGselectionAllowed_r16 */
static int hf_nr_rrc_NPN_IdentityInfoList_r16_item = -1;  /* NPN_IdentityInfo_r16 */
static int hf_nr_rrc_npn_IdentityList_r16 = -1;   /* SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16 */
static int hf_nr_rrc_npn_IdentityList_r16_item = -1;  /* NPN_Identity_r16 */
static int hf_nr_rrc_ranac_r16 = -1;              /* RAN_AreaCode */
static int hf_nr_rrc_cellReservedForOperatorUse_r16 = -1;  /* T_cellReservedForOperatorUse_r16 */
static int hf_nr_rrc_iab_Support_r16 = -1;        /* T_iab_Support_r16 */
static int hf_nr_rrc_gNB_ID_Length_r17 = -1;      /* INTEGER_22_32 */
static int hf_nr_rrc_nr_DL_PRS_PDC_ResourceSet_r17 = -1;  /* NR_DL_PRS_PDC_ResourceSet_r17 */
static int hf_nr_rrc_periodicityAndOffset_r17 = -1;  /* NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17 */
static int hf_nr_rrc_numSymbols_r17 = -1;         /* T_numSymbols_r17 */
static int hf_nr_rrc_dl_PRS_ResourceBandwidth_r17 = -1;  /* INTEGER_1_63 */
static int hf_nr_rrc_dl_PRS_StartPRB_r17 = -1;    /* INTEGER_0_2176 */
static int hf_nr_rrc_resourceList_r17 = -1;       /* SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17 */
static int hf_nr_rrc_resourceList_r17_item = -1;  /* NR_DL_PRS_Resource_r17 */
static int hf_nr_rrc_repFactorAndTimeGap_r17 = -1;  /* RepFactorAndTimeGap_r17 */
static int hf_nr_rrc_scs15_r17_01 = -1;           /* T_scs15_r17 */
static int hf_nr_rrc_n4_r17 = -1;                 /* INTEGER_0_3 */
static int hf_nr_rrc_n5_r17 = -1;                 /* INTEGER_0_4 */
static int hf_nr_rrc_n8_r17 = -1;                 /* INTEGER_0_7 */
static int hf_nr_rrc_n10_r17 = -1;                /* INTEGER_0_9 */
static int hf_nr_rrc_n16_r17 = -1;                /* INTEGER_0_15 */
static int hf_nr_rrc_n20_r17 = -1;                /* INTEGER_0_19 */
static int hf_nr_rrc_n32_r17 = -1;                /* INTEGER_0_31 */
static int hf_nr_rrc_n40_r17 = -1;                /* INTEGER_0_39 */
static int hf_nr_rrc_n64_r17 = -1;                /* INTEGER_0_63 */
static int hf_nr_rrc_n80_r17 = -1;                /* INTEGER_0_79 */
static int hf_nr_rrc_n160_r17 = -1;               /* INTEGER_0_159 */
static int hf_nr_rrc_n320_r17 = -1;               /* INTEGER_0_319 */
static int hf_nr_rrc_n640_r17 = -1;               /* INTEGER_0_639 */
static int hf_nr_rrc_n1280_r17 = -1;              /* INTEGER_0_1279 */
static int hf_nr_rrc_n2560_r17 = -1;              /* INTEGER_0_2559 */
static int hf_nr_rrc_n5120_r17 = -1;              /* INTEGER_0_5119 */
static int hf_nr_rrc_n10240_r17 = -1;             /* INTEGER_0_10239 */
static int hf_nr_rrc_scs30_r17_01 = -1;           /* T_scs30_r17 */
static int hf_nr_rrc_n128_r17 = -1;               /* INTEGER_0_127 */
static int hf_nr_rrc_n20480_r17 = -1;             /* INTEGER_0_20479 */
static int hf_nr_rrc_scs60_r17_01 = -1;           /* T_scs60_r17 */
static int hf_nr_rrc_n256_r17 = -1;               /* INTEGER_0_255 */
static int hf_nr_rrc_n40960_r17 = -1;             /* INTEGER_0_40959 */
static int hf_nr_rrc_scs120_r17_01 = -1;          /* T_scs120_r17 */
static int hf_nr_rrc_n512_r17 = -1;               /* INTEGER_0_511 */
static int hf_nr_rrc_n81920_r17 = -1;             /* INTEGER_0_81919 */
static int hf_nr_rrc_nr_DL_PRS_ResourceID_r17 = -1;  /* NR_DL_PRS_ResourceID_r17 */
static int hf_nr_rrc_dl_PRS_SequenceID_r17 = -1;  /* INTEGER_0_4095 */
static int hf_nr_rrc_dl_PRS_CombSizeN_AndReOffset_r17 = -1;  /* T_dl_PRS_CombSizeN_AndReOffset_r17 */
static int hf_nr_rrc_n2_r17 = -1;                 /* INTEGER_0_1 */
static int hf_nr_rrc_n6_r17 = -1;                 /* INTEGER_0_5 */
static int hf_nr_rrc_n12_r17 = -1;                /* INTEGER_0_11 */
static int hf_nr_rrc_dl_PRS_ResourceSlotOffset_r17 = -1;  /* INTEGER_0_maxNrofPRS_ResourceOffsetValue_1_r17 */
static int hf_nr_rrc_dl_PRS_ResourceSymbolOffset_r17 = -1;  /* INTEGER_0_12 */
static int hf_nr_rrc_dl_PRS_QCL_Info_r17 = -1;    /* DL_PRS_QCL_Info_r17 */
static int hf_nr_rrc_ssb_r17 = -1;                /* T_ssb_r17 */
static int hf_nr_rrc_ssb_Index_r17 = -1;          /* INTEGER_0_63 */
static int hf_nr_rrc_rs_Type_r17 = -1;            /* T_rs_Type_r17 */
static int hf_nr_rrc_dl_PRS_r17 = -1;             /* T_dl_PRS_r17 */
static int hf_nr_rrc_qcl_DL_PRS_ResourceID_r17 = -1;  /* NR_DL_PRS_ResourceID_r17 */
static int hf_nr_rrc_repetitionFactor_r17 = -1;   /* T_repetitionFactor_r17 */
static int hf_nr_rrc_timeGap_r17 = -1;            /* T_timeGap_r17 */
static int hf_nr_rrc_NR_NS_PmaxList_item = -1;    /* NR_NS_PmaxValue */
static int hf_nr_rrc_additionalPmax = -1;         /* P_Max */
static int hf_nr_rrc_nsag_ID_r17 = -1;            /* NSAG_ID_r17 */
static int hf_nr_rrc_trackingAreaCode_r17 = -1;   /* TrackingAreaCode */
static int hf_nr_rrc_epochTime_r17 = -1;          /* EpochTime_r17 */
static int hf_nr_rrc_ntn_UlSyncValidityDuration_r17 = -1;  /* T_ntn_UlSyncValidityDuration_r17 */
static int hf_nr_rrc_cellSpecificKoffset_r17 = -1;  /* INTEGER_1_1023 */
static int hf_nr_rrc_kmac_r17 = -1;               /* INTEGER_1_512 */
static int hf_nr_rrc_ta_Info_r17 = -1;            /* TA_Info_r17 */
static int hf_nr_rrc_ntn_PolarizationDL_r17_01 = -1;  /* T_ntn_PolarizationDL_r17_01 */
static int hf_nr_rrc_ntn_PolarizationUL_r17_01 = -1;  /* T_ntn_PolarizationUL_r17_01 */
static int hf_nr_rrc_ephemerisInfo_r17 = -1;      /* EphemerisInfo_r17 */
static int hf_nr_rrc_ta_Report_r17 = -1;          /* T_ta_Report_r17 */
static int hf_nr_rrc_sfn_r17 = -1;                /* INTEGER_0_1023 */
static int hf_nr_rrc_subFrameNR_r17 = -1;         /* INTEGER_0_9 */
static int hf_nr_rrc_ta_Common_r17 = -1;          /* INTEGER_0_66485757 */
static int hf_nr_rrc_ta_CommonDrift_r17 = -1;     /* INTEGER_M257303_257303 */
static int hf_nr_rrc_ta_CommonDriftVariant_r17 = -1;  /* INTEGER_0_28949 */
static int hf_nr_rrc_nzp_CSI_RS_ResourceId = -1;  /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_resourceMapping = -1;        /* CSI_RS_ResourceMapping */
static int hf_nr_rrc_powerControlOffset = -1;     /* INTEGER_M8_15 */
static int hf_nr_rrc_powerControlOffsetSS = -1;   /* T_powerControlOffsetSS */
static int hf_nr_rrc_scramblingID = -1;           /* ScramblingId */
static int hf_nr_rrc_qcl_InfoPeriodicCSI_RS = -1;  /* TCI_StateId */
static int hf_nr_rrc_nzp_CSI_ResourceSetId = -1;  /* NZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_nzp_CSI_RS_Resources = -1;   /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_nzp_CSI_RS_Resources_item = -1;  /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_repetition = -1;             /* T_repetition */
static int hf_nr_rrc_aperiodicTriggeringOffset = -1;  /* INTEGER_0_6 */
static int hf_nr_rrc_trs_Info = -1;               /* T_trs_Info */
static int hf_nr_rrc_aperiodicTriggeringOffset_r16 = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_pdc_Info_r17 = -1;           /* T_pdc_Info_r17 */
static int hf_nr_rrc_cmrGroupingAndPairing_r17 = -1;  /* CMRGroupingAndPairing_r17 */
static int hf_nr_rrc_aperiodicTriggeringOffset_r17 = -1;  /* INTEGER_0_124 */
static int hf_nr_rrc_aperiodicTriggeringOffsetL2_r17 = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_nrofResourcesGroup1_r17 = -1;  /* INTEGER_1_7 */
static int hf_nr_rrc_pair1OfNZP_CSI_RS_r17 = -1;  /* NZP_CSI_RS_Pairing_r17 */
static int hf_nr_rrc_pair2OfNZP_CSI_RS_r17 = -1;  /* NZP_CSI_RS_Pairing_r17 */
static int hf_nr_rrc_nzp_CSI_RS_ResourceId1_r17 = -1;  /* INTEGER_1_7 */
static int hf_nr_rrc_nzp_CSI_RS_ResourceId2_r17 = -1;  /* INTEGER_1_7 */
static int hf_nr_rrc_pathlossReferenceRS_Id_r17 = -1;  /* PathlossReferenceRS_Id_r17 */
static int hf_nr_rrc_referenceSignal_r17 = -1;    /* T_referenceSignal_r17 */
static int hf_nr_rrc_csi_RS_Index_01 = -1;        /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_additionalPCI_r17 = -1;      /* AdditionalPCIIndex_r17 */
static int hf_nr_rrc_physCellId_r16_02 = -1;      /* EUTRA_PhysCellId */
static int hf_nr_rrc_PCI_List_item = -1;          /* PhysCellId */
static int hf_nr_rrc_start = -1;                  /* PhysCellId */
static int hf_nr_rrc_range = -1;                  /* T_range */
static int hf_nr_rrc_pci_RangeIndex = -1;         /* PCI_RangeIndex */
static int hf_nr_rrc_pci_Range = -1;              /* PCI_Range */
static int hf_nr_rrc_PCI_RangeIndexList_item = -1;  /* PCI_RangeIndex */
static int hf_nr_rrc_controlResourceSetToAddModList = -1;  /* SEQUENCE_SIZE_1_3_OF_ControlResourceSet */
static int hf_nr_rrc_controlResourceSetToAddModList_item = -1;  /* ControlResourceSet */
static int hf_nr_rrc_controlResourceSetToReleaseList = -1;  /* SEQUENCE_SIZE_1_3_OF_ControlResourceSetId */
static int hf_nr_rrc_controlResourceSetToReleaseList_item = -1;  /* ControlResourceSetId */
static int hf_nr_rrc_searchSpacesToAddModList = -1;  /* SEQUENCE_SIZE_1_10_OF_SearchSpace */
static int hf_nr_rrc_searchSpacesToAddModList_item = -1;  /* SearchSpace */
static int hf_nr_rrc_searchSpacesToReleaseList = -1;  /* SEQUENCE_SIZE_1_10_OF_SearchSpaceId */
static int hf_nr_rrc_searchSpacesToReleaseList_item = -1;  /* SearchSpaceId */
static int hf_nr_rrc_downlinkPreemption = -1;     /* T_downlinkPreemption */
static int hf_nr_rrc_setup_75 = -1;               /* DownlinkPreemption */
static int hf_nr_rrc_tpc_PUSCH = -1;              /* T_tpc_PUSCH */
static int hf_nr_rrc_setup_76 = -1;               /* PUSCH_TPC_CommandConfig */
static int hf_nr_rrc_tpc_PUCCH = -1;              /* T_tpc_PUCCH */
static int hf_nr_rrc_setup_77 = -1;               /* PUCCH_TPC_CommandConfig */
static int hf_nr_rrc_tpc_SRS = -1;                /* T_tpc_SRS */
static int hf_nr_rrc_setup_78 = -1;               /* SRS_TPC_CommandConfig */
static int hf_nr_rrc_controlResourceSetToAddModListSizeExt_v1610 = -1;  /* SEQUENCE_SIZE_1_2_OF_ControlResourceSet */
static int hf_nr_rrc_controlResourceSetToAddModListSizeExt_v1610_item = -1;  /* ControlResourceSet */
static int hf_nr_rrc_controlResourceSetToReleaseListSizeExt_r16 = -1;  /* SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16 */
static int hf_nr_rrc_controlResourceSetToReleaseListSizeExt_r16_item = -1;  /* ControlResourceSetId_r16 */
static int hf_nr_rrc_searchSpacesToAddModListExt_r16 = -1;  /* SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16 */
static int hf_nr_rrc_searchSpacesToAddModListExt_r16_item = -1;  /* SearchSpaceExt_r16 */
static int hf_nr_rrc_uplinkCancellation_r16 = -1;  /* T_uplinkCancellation_r16 */
static int hf_nr_rrc_setup_79 = -1;               /* UplinkCancellation_r16 */
static int hf_nr_rrc_monitoringCapabilityConfig_r16 = -1;  /* T_monitoringCapabilityConfig_r16 */
static int hf_nr_rrc_searchSpaceSwitchConfig_r16 = -1;  /* SearchSpaceSwitchConfig_r16 */
static int hf_nr_rrc_searchSpacesToAddModListExt_v1700 = -1;  /* SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700 */
static int hf_nr_rrc_searchSpacesToAddModListExt_v1700_item = -1;  /* SearchSpaceExt_v1700 */
static int hf_nr_rrc_monitoringCapabilityConfig_v1710 = -1;  /* T_monitoringCapabilityConfig_v1710 */
static int hf_nr_rrc_searchSpaceSwitchConfig_r17 = -1;  /* SearchSpaceSwitchConfig_r17 */
static int hf_nr_rrc_pdcch_SkippingDurationList_r17 = -1;  /* SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17 */
static int hf_nr_rrc_pdcch_SkippingDurationList_r17_item = -1;  /* SCS_SpecificDuration_r17 */
static int hf_nr_rrc_cellGroupsForSwitchList_r16 = -1;  /* SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16 */
static int hf_nr_rrc_cellGroupsForSwitchList_r16_item = -1;  /* CellGroupForSwitch_r16 */
static int hf_nr_rrc_searchSpaceSwitchDelay_r16 = -1;  /* INTEGER_10_52 */
static int hf_nr_rrc_searchSpaceSwitchTimer_r17 = -1;  /* SCS_SpecificDuration_r17 */
static int hf_nr_rrc_searchSpaceSwitchDelay_r17 = -1;  /* INTEGER_10_52 */
static int hf_nr_rrc_CellGroupForSwitch_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_controlResourceSetZero = -1;  /* ControlResourceSetZero */
static int hf_nr_rrc_commonControlResourceSet = -1;  /* ControlResourceSet */
static int hf_nr_rrc_searchSpaceZero = -1;        /* SearchSpaceZero */
static int hf_nr_rrc_commonSearchSpaceList = -1;  /* SEQUENCE_SIZE_1_4_OF_SearchSpace */
static int hf_nr_rrc_commonSearchSpaceList_item = -1;  /* SearchSpace */
static int hf_nr_rrc_searchSpaceSIB1 = -1;        /* SearchSpaceId */
static int hf_nr_rrc_searchSpaceOtherSystemInformation = -1;  /* SearchSpaceId */
static int hf_nr_rrc_pagingSearchSpace = -1;      /* SearchSpaceId */
static int hf_nr_rrc_ra_SearchSpace = -1;         /* SearchSpaceId */
static int hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_01 = -1;  /* T_firstPDCCH_MonitoringOccasionOfPO_01 */
static int hf_nr_rrc_sCS15KHZoneT_01 = -1;        /* T_sCS15KHZoneT_01 */
static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_01 = -1;  /* T_sCS30KHZoneT_SCS15KHZhalfT_01 */
static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01 = -1;  /* T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01 */
static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01 = -1;  /* T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01 */
static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01 = -1;  /* T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01 */
static int hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT = -1;  /* T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT */
static int hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item = -1;  /* INTEGER_0_4479 */
static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1;  /* T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT */
static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item = -1;  /* INTEGER_0_8959 */
static int hf_nr_rrc_sCS120KHZoneSixteenthT = -1;  /* T_sCS120KHZoneSixteenthT */
static int hf_nr_rrc_sCS120KHZoneSixteenthT_item = -1;  /* INTEGER_0_17919 */
static int hf_nr_rrc_commonSearchSpaceListExt_r16 = -1;  /* SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16 */
static int hf_nr_rrc_commonSearchSpaceListExt_r16_item = -1;  /* SearchSpaceExt_r16 */
static int hf_nr_rrc_sdt_SearchSpace_r17 = -1;    /* T_sdt_SearchSpace_r17 */
static int hf_nr_rrc_newSearchSpace = -1;         /* SearchSpace */
static int hf_nr_rrc_existingSearchSpace = -1;    /* SearchSpaceId */
static int hf_nr_rrc_searchSpaceMCCH_r17 = -1;    /* SearchSpaceId */
static int hf_nr_rrc_searchSpaceMTCH_r17 = -1;    /* SearchSpaceId */
static int hf_nr_rrc_commonSearchSpaceListExt2_r17 = -1;  /* SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700 */
static int hf_nr_rrc_commonSearchSpaceListExt2_r17_item = -1;  /* SearchSpaceExt_v1700 */
static int hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_v1710_01 = -1;  /* T_firstPDCCH_MonitoringOccasionOfPO_v1710_01 */
static int hf_nr_rrc_sCS480KHZoneEighthT_01 = -1;  /* T_sCS480KHZoneEighthT_01 */
static int hf_nr_rrc_sCS480KHZoneSixteenthT_01 = -1;  /* T_sCS480KHZoneSixteenthT_01 */
static int hf_nr_rrc_pei_ConfigBWP_r17 = -1;      /* T_pei_ConfigBWP_r17 */
static int hf_nr_rrc_pei_SearchSpace_r17 = -1;    /* SearchSpaceId */
static int hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPEI_O_r17 = -1;  /* T_firstPDCCH_MonitoringOccasionOfPEI_O_r17 */
static int hf_nr_rrc_sCS15KHZoneT_02 = -1;        /* T_sCS15KHZoneT_02 */
static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_02 = -1;  /* T_sCS30KHZoneT_SCS15KHZhalfT_02 */
static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02 = -1;  /* T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02 */
static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02 = -1;  /* T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02 */
static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02 = -1;  /* T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02 */
static int hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 = -1;  /* T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 */
static int hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 = -1;  /* T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 */
static int hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01 = -1;  /* T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01 */
static int hf_nr_rrc_sCS480KHZoneEighthT_02 = -1;  /* T_sCS480KHZoneEighthT_02 */
static int hf_nr_rrc_sCS480KHZoneSixteenthT_02 = -1;  /* T_sCS480KHZoneSixteenthT_02 */
static int hf_nr_rrc_followUnifiedTCI_State_v1720 = -1;  /* T_followUnifiedTCI_State_v1720 */
static int hf_nr_rrc_slotFormatIndicator = -1;    /* T_slotFormatIndicator */
static int hf_nr_rrc_setup_80 = -1;               /* SlotFormatIndicator */
static int hf_nr_rrc_availabilityIndicator_r16 = -1;  /* T_availabilityIndicator_r16 */
static int hf_nr_rrc_setup_81 = -1;               /* AvailabilityIndicator_r16 */
static int hf_nr_rrc_searchSpaceSwitchTimer_r16 = -1;  /* INTEGER_1_80 */
static int hf_nr_rrc_searchSpaceSwitchTimer_v1710 = -1;  /* INTEGER_81_1280 */
static int hf_nr_rrc_drb = -1;                    /* T_drb */
static int hf_nr_rrc_discardTimer = -1;           /* T_discardTimer */
static int hf_nr_rrc_pdcp_SN_SizeUL = -1;         /* T_pdcp_SN_SizeUL */
static int hf_nr_rrc_pdcp_SN_SizeDL = -1;         /* T_pdcp_SN_SizeDL */
static int hf_nr_rrc_headerCompression = -1;      /* T_headerCompression */
static int hf_nr_rrc_notUsed = -1;                /* NULL */
static int hf_nr_rrc_rohc = -1;                   /* T_rohc */
static int hf_nr_rrc_maxCID = -1;                 /* INTEGER_1_16383 */
static int hf_nr_rrc_profiles = -1;               /* T_profiles */
static int hf_nr_rrc_profile0x0001 = -1;          /* BOOLEAN */
static int hf_nr_rrc_profile0x0002 = -1;          /* BOOLEAN */
static int hf_nr_rrc_profile0x0003 = -1;          /* BOOLEAN */
static int hf_nr_rrc_profile0x0004 = -1;          /* BOOLEAN */
static int hf_nr_rrc_profile0x0006 = -1;          /* BOOLEAN */
static int hf_nr_rrc_profile0x0101 = -1;          /* BOOLEAN */
static int hf_nr_rrc_profile0x0102 = -1;          /* BOOLEAN */
static int hf_nr_rrc_profile0x0103 = -1;          /* BOOLEAN */
static int hf_nr_rrc_profile0x0104 = -1;          /* BOOLEAN */
static int hf_nr_rrc_drb_ContinueROHC = -1;       /* T_drb_ContinueROHC */
static int hf_nr_rrc_uplinkOnlyROHC = -1;         /* T_uplinkOnlyROHC */
static int hf_nr_rrc_profiles_01 = -1;            /* T_profiles_01 */
static int hf_nr_rrc_drb_ContinueROHC_01 = -1;    /* T_drb_ContinueROHC_01 */
static int hf_nr_rrc_integrityProtection = -1;    /* T_integrityProtection */
static int hf_nr_rrc_statusReportRequired = -1;   /* T_statusReportRequired */
static int hf_nr_rrc_outOfOrderDelivery = -1;     /* T_outOfOrderDelivery */
static int hf_nr_rrc_moreThanOneRLC = -1;         /* T_moreThanOneRLC */
static int hf_nr_rrc_primaryPath = -1;            /* T_primaryPath */
static int hf_nr_rrc_cellGroup = -1;              /* CellGroupId */
static int hf_nr_rrc_logicalChannel = -1;         /* LogicalChannelIdentity */
static int hf_nr_rrc_ul_DataSplitThreshold = -1;  /* UL_DataSplitThreshold */
static int hf_nr_rrc_pdcp_Duplication = -1;       /* BOOLEAN */
static int hf_nr_rrc_t_Reordering = -1;           /* T_t_Reordering */
static int hf_nr_rrc_cipheringDisabled = -1;      /* T_cipheringDisabled */
static int hf_nr_rrc_discardTimerExt_r16 = -1;    /* T_discardTimerExt_r16 */
static int hf_nr_rrc_setup_82 = -1;               /* DiscardTimerExt_r16 */
static int hf_nr_rrc_moreThanTwoRLC_DRB_r16 = -1;  /* T_moreThanTwoRLC_DRB_r16 */
static int hf_nr_rrc_splitSecondaryPath_r16 = -1;  /* LogicalChannelIdentity */
static int hf_nr_rrc_duplicationState_r16 = -1;   /* T_duplicationState_r16 */
static int hf_nr_rrc_duplicationState_r16_item = -1;  /* BOOLEAN */
static int hf_nr_rrc_ethernetHeaderCompression_r16 = -1;  /* T_ethernetHeaderCompression_r16 */
static int hf_nr_rrc_setup_83 = -1;               /* EthernetHeaderCompression_r16 */
static int hf_nr_rrc_survivalTimeStateSupport_r17 = -1;  /* T_survivalTimeStateSupport_r17 */
static int hf_nr_rrc_uplinkDataCompression_r17 = -1;  /* T_uplinkDataCompression_r17 */
static int hf_nr_rrc_setup_84 = -1;               /* UplinkDataCompression_r17 */
static int hf_nr_rrc_discardTimerExt2_r17 = -1;   /* T_discardTimerExt2_r17 */
static int hf_nr_rrc_setup_85 = -1;               /* DiscardTimerExt2_r17 */
static int hf_nr_rrc_initialRX_DELIV_r17 = -1;    /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_ehc_Common_r16 = -1;         /* T_ehc_Common_r16 */
static int hf_nr_rrc_ehc_CID_Length_r16 = -1;     /* T_ehc_CID_Length_r16 */
static int hf_nr_rrc_ehc_Downlink_r16 = -1;       /* T_ehc_Downlink_r16 */
static int hf_nr_rrc_drb_ContinueEHC_DL_r16 = -1;  /* T_drb_ContinueEHC_DL_r16 */
static int hf_nr_rrc_ehc_Uplink_r16 = -1;         /* T_ehc_Uplink_r16 */
static int hf_nr_rrc_maxCID_EHC_UL_r16 = -1;      /* INTEGER_1_32767 */
static int hf_nr_rrc_drb_ContinueEHC_UL_r16 = -1;  /* T_drb_ContinueEHC_UL_r16 */
static int hf_nr_rrc_newSetup = -1;               /* T_newSetup */
static int hf_nr_rrc_bufferSize_r17 = -1;         /* T_bufferSize_r17 */
static int hf_nr_rrc_dictionary_r17 = -1;         /* T_dictionary_r17 */
static int hf_nr_rrc_drb_ContinueUDC = -1;        /* NULL */
static int hf_nr_rrc_dataScramblingIdentityPDSCH = -1;  /* INTEGER_0_1023 */
static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA = -1;  /* T_dmrs_DownlinkForPDSCH_MappingTypeA */
static int hf_nr_rrc_setup_86 = -1;               /* DMRS_DownlinkConfig */
static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB = -1;  /* T_dmrs_DownlinkForPDSCH_MappingTypeB */
static int hf_nr_rrc_tci_StatesToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State */
static int hf_nr_rrc_tci_StatesToAddModList_item = -1;  /* TCI_State */
static int hf_nr_rrc_tci_StatesToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId */
static int hf_nr_rrc_tci_StatesToReleaseList_item = -1;  /* TCI_StateId */
static int hf_nr_rrc_vrb_ToPRB_Interleaver = -1;  /* T_vrb_ToPRB_Interleaver */
static int hf_nr_rrc_resourceAllocation_01 = -1;  /* T_resourceAllocation_01 */
static int hf_nr_rrc_pdsch_TimeDomainAllocationList = -1;  /* T_pdsch_TimeDomainAllocationList */
static int hf_nr_rrc_setup_87 = -1;               /* PDSCH_TimeDomainResourceAllocationList */
static int hf_nr_rrc_pdsch_AggregationFactor = -1;  /* T_pdsch_AggregationFactor */
static int hf_nr_rrc_rateMatchPatternToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern */
static int hf_nr_rrc_rateMatchPatternToAddModList_item = -1;  /* RateMatchPattern */
static int hf_nr_rrc_rateMatchPatternToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId */
static int hf_nr_rrc_rateMatchPatternToReleaseList_item = -1;  /* RateMatchPatternId */
static int hf_nr_rrc_rateMatchPatternGroup1 = -1;  /* RateMatchPatternGroup */
static int hf_nr_rrc_rateMatchPatternGroup2 = -1;  /* RateMatchPatternGroup */
static int hf_nr_rrc_rbg_Size_01 = -1;            /* T_rbg_Size_01 */
static int hf_nr_rrc_mcs_Table_01 = -1;           /* T_mcs_Table_01 */
static int hf_nr_rrc_maxNrofCodeWordsScheduledByDCI = -1;  /* T_maxNrofCodeWordsScheduledByDCI */
static int hf_nr_rrc_prb_BundlingType = -1;       /* T_prb_BundlingType */
static int hf_nr_rrc_staticBundling = -1;         /* T_staticBundling */
static int hf_nr_rrc_bundleSize = -1;             /* T_bundleSize */
static int hf_nr_rrc_dynamicBundling = -1;        /* T_dynamicBundling */
static int hf_nr_rrc_bundleSizeSet1 = -1;         /* T_bundleSizeSet1 */
static int hf_nr_rrc_bundleSizeSet2 = -1;         /* T_bundleSizeSet2 */
static int hf_nr_rrc_zp_CSI_RS_ResourceToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource */
static int hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item = -1;  /* ZP_CSI_RS_Resource */
static int hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId */
static int hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item = -1;  /* ZP_CSI_RS_ResourceId */
static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item = -1;  /* ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item = -1;  /* ZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item = -1;  /* ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList_item = -1;  /* ZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_p_ZP_CSI_RS_ResourceSet = -1;  /* T_p_ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_setup_88 = -1;               /* ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_maxMIMO_Layers_r16 = -1;     /* T_maxMIMO_Layers_r16 */
static int hf_nr_rrc_setup_89 = -1;               /* MaxMIMO_LayersDL_r16 */
static int hf_nr_rrc_minimumSchedulingOffsetK0_r16 = -1;  /* T_minimumSchedulingOffsetK0_r16 */
static int hf_nr_rrc_setup_90 = -1;               /* MinSchedulingOffsetK0_Values_r16 */
static int hf_nr_rrc_antennaPortsFieldPresenceDCI_1_2_r16 = -1;  /* T_antennaPortsFieldPresenceDCI_1_2_r16 */
static int hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListDCI_1_2_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListDCI_1_2_r16_item = -1;  /* ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListDCI_1_2_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListDCI_1_2_r16_item = -1;  /* ZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16 = -1;  /* T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16 */
static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16 = -1;  /* T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16 */
static int hf_nr_rrc_dmrs_SequenceInitializationDCI_1_2_r16 = -1;  /* T_dmrs_SequenceInitializationDCI_1_2_r16 */
static int hf_nr_rrc_harq_ProcessNumberSizeDCI_1_2_r16 = -1;  /* INTEGER_0_4 */
static int hf_nr_rrc_mcs_TableDCI_1_2_r16 = -1;   /* T_mcs_TableDCI_1_2_r16 */
static int hf_nr_rrc_numberOfBitsForRV_DCI_1_2_r16 = -1;  /* INTEGER_0_2 */
static int hf_nr_rrc_pdsch_TimeDomainAllocationListDCI_1_2_r16 = -1;  /* T_pdsch_TimeDomainAllocationListDCI_1_2_r16 */
static int hf_nr_rrc_setup_91 = -1;               /* PDSCH_TimeDomainResourceAllocationList_r16 */
static int hf_nr_rrc_prb_BundlingTypeDCI_1_2_r16 = -1;  /* T_prb_BundlingTypeDCI_1_2_r16 */
static int hf_nr_rrc_staticBundling_r16 = -1;     /* T_staticBundling_r16 */
static int hf_nr_rrc_bundleSize_r16 = -1;         /* T_bundleSize_r16 */
static int hf_nr_rrc_dynamicBundling_r16 = -1;    /* T_dynamicBundling_r16 */
static int hf_nr_rrc_bundleSizeSet1_r16 = -1;     /* T_bundleSizeSet1_r16 */
static int hf_nr_rrc_bundleSizeSet2_r16 = -1;     /* T_bundleSizeSet2_r16 */
static int hf_nr_rrc_priorityIndicatorDCI_1_2_r16 = -1;  /* T_priorityIndicatorDCI_1_2_r16 */
static int hf_nr_rrc_rateMatchPatternGroup1DCI_1_2_r16 = -1;  /* RateMatchPatternGroup */
static int hf_nr_rrc_rateMatchPatternGroup2DCI_1_2_r16 = -1;  /* RateMatchPatternGroup */
static int hf_nr_rrc_resourceAllocationType1GranularityDCI_1_2_r16 = -1;  /* T_resourceAllocationType1GranularityDCI_1_2_r16 */
static int hf_nr_rrc_vrb_ToPRB_InterleaverDCI_1_2_r16 = -1;  /* T_vrb_ToPRB_InterleaverDCI_1_2_r16 */
static int hf_nr_rrc_referenceOfSLIVDCI_1_2_r16 = -1;  /* T_referenceOfSLIVDCI_1_2_r16 */
static int hf_nr_rrc_resourceAllocationDCI_1_2_r16 = -1;  /* T_resourceAllocationDCI_1_2_r16 */
static int hf_nr_rrc_priorityIndicatorDCI_1_1_r16 = -1;  /* T_priorityIndicatorDCI_1_1_r16 */
static int hf_nr_rrc_dataScramblingIdentityPDSCH2_r16 = -1;  /* INTEGER_0_1023 */
static int hf_nr_rrc_pdsch_TimeDomainAllocationList_r16 = -1;  /* T_pdsch_TimeDomainAllocationList_r16 */
static int hf_nr_rrc_repetitionSchemeConfig_r16 = -1;  /* T_repetitionSchemeConfig_r16 */
static int hf_nr_rrc_setup_92 = -1;               /* RepetitionSchemeConfig_r16 */
static int hf_nr_rrc_repetitionSchemeConfig_v1630 = -1;  /* T_repetitionSchemeConfig_v1630 */
static int hf_nr_rrc_setup_93 = -1;               /* RepetitionSchemeConfig_v1630 */
static int hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17 = -1;  /* T_pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_1_2_r17 = -1;  /* T_pdsch_HARQ_ACK_EnhType3DCI_1_2_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17 = -1;  /* T_pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_RetxDCI_1_2_r17 = -1;  /* T_pdsch_HARQ_ACK_RetxDCI_1_2_r17 */
static int hf_nr_rrc_pucch_sSCellDynDCI_1_2_r17 = -1;  /* T_pucch_sSCellDynDCI_1_2_r17 */
static int hf_nr_rrc_dl_OrJointTCI_StateList_r17 = -1;  /* T_dl_OrJointTCI_StateList_r17 */
static int hf_nr_rrc_explicitlist_01 = -1;        /* T_explicitlist_01 */
static int hf_nr_rrc_dl_OrJointTCI_StateToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State */
static int hf_nr_rrc_dl_OrJointTCI_StateToAddModList_r17_item = -1;  /* TCI_State */
static int hf_nr_rrc_dl_OrJointTCI_StateToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId */
static int hf_nr_rrc_dl_OrJointTCI_StateToReleaseList_r17_item = -1;  /* TCI_StateId */
static int hf_nr_rrc_beamAppTime_r17 = -1;        /* T_beamAppTime_r17 */
static int hf_nr_rrc_dummy = -1;                  /* T_dummy */
static int hf_nr_rrc_setup_94 = -1;               /* Dummy_TDRA_List */
static int hf_nr_rrc_dmrs_FD_OCC_DisabledForRank1_PDSCH_r17 = -1;  /* T_dmrs_FD_OCC_DisabledForRank1_PDSCH_r17 */
static int hf_nr_rrc_minimumSchedulingOffsetK0_r17 = -1;  /* T_minimumSchedulingOffsetK0_r17 */
static int hf_nr_rrc_setup_95 = -1;               /* MinSchedulingOffsetK0_Values_r17 */
static int hf_nr_rrc_harq_ProcessNumberSizeDCI_1_2_v1700 = -1;  /* INTEGER_0_5 */
static int hf_nr_rrc_harq_ProcessNumberSizeDCI_1_1_r17 = -1;  /* INTEGER_5 */
static int hf_nr_rrc_mcs_Table_r17 = -1;          /* T_mcs_Table_r17 */
static int hf_nr_rrc_mcs_TableDCI_1_2_r17 = -1;   /* T_mcs_TableDCI_1_2_r17 */
static int hf_nr_rrc_xOverheadMulticast_r17 = -1;  /* T_xOverheadMulticast_r17 */
static int hf_nr_rrc_priorityIndicatorDCI_4_2_r17 = -1;  /* T_priorityIndicatorDCI_4_2_r17 */
static int hf_nr_rrc_sizeDCI_4_2_r17 = -1;        /* INTEGER_20_maxDCI_4_2_Size_r17 */
static int hf_nr_rrc_pdsch_TimeDomainAllocationListForMultiPDSCH_r17 = -1;  /* T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17 */
static int hf_nr_rrc_setup_96 = -1;               /* MultiPDSCH_TDRA_List_r17 */
static int hf_nr_rrc_RateMatchPatternGroup_item = -1;  /* RateMatchPatternGroup_item */
static int hf_nr_rrc_cellLevel = -1;              /* RateMatchPatternId */
static int hf_nr_rrc_bwpLevel = -1;               /* RateMatchPatternId */
static int hf_nr_rrc_MinSchedulingOffsetK0_Values_r16_item = -1;  /* INTEGER_0_maxK0_SchedulingOffset_r16 */
static int hf_nr_rrc_MinSchedulingOffsetK0_Values_r17_item = -1;  /* INTEGER_0_maxK0_SchedulingOffset_r17 */
static int hf_nr_rrc_pdsch_TimeDomainAllocationList_01 = -1;  /* PDSCH_TimeDomainResourceAllocationList */
static int hf_nr_rrc_codeBlockGroupTransmission = -1;  /* T_codeBlockGroupTransmission */
static int hf_nr_rrc_setup_97 = -1;               /* PDSCH_CodeBlockGroupTransmission */
static int hf_nr_rrc_xOverhead = -1;              /* T_xOverhead */
static int hf_nr_rrc_nrofHARQ_ProcessesForPDSCH = -1;  /* T_nrofHARQ_ProcessesForPDSCH */
static int hf_nr_rrc_pucch_Cell = -1;             /* ServCellIndex */
static int hf_nr_rrc_maxMIMO_Layers = -1;         /* INTEGER_1_8 */
static int hf_nr_rrc_processingType2Enabled = -1;  /* BOOLEAN */
static int hf_nr_rrc_pdsch_CodeBlockGroupTransmissionList_r16 = -1;  /* T_pdsch_CodeBlockGroupTransmissionList_r16 */
static int hf_nr_rrc_setup_98 = -1;               /* PDSCH_CodeBlockGroupTransmissionList_r16 */
static int hf_nr_rrc_downlinkHARQ_FeedbackDisabled_r17 = -1;  /* T_downlinkHARQ_FeedbackDisabled_r17 */
static int hf_nr_rrc_setup_99 = -1;               /* DownlinkHARQ_FeedbackDisabled_r17 */
static int hf_nr_rrc_nrofHARQ_ProcessesForPDSCH_v1700 = -1;  /* T_nrofHARQ_ProcessesForPDSCH_v1700 */
static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock = -1;  /* T_maxCodeBlockGroupsPerTransportBlock */
static int hf_nr_rrc_codeBlockGroupFlushIndicator = -1;  /* BOOLEAN */
static int hf_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16_item = -1;  /* PDSCH_CodeBlockGroupTransmission */
static int hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item = -1;  /* PDSCH_TimeDomainResourceAllocation */
static int hf_nr_rrc_k0 = -1;                     /* INTEGER_0_32 */
static int hf_nr_rrc_mappingType = -1;            /* T_mappingType */
static int hf_nr_rrc_startSymbolAndLength = -1;   /* INTEGER_0_127 */
static int hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16_item = -1;  /* PDSCH_TimeDomainResourceAllocation_r16 */
static int hf_nr_rrc_k0_r16 = -1;                 /* INTEGER_0_32 */
static int hf_nr_rrc_mappingType_r16 = -1;        /* T_mappingType_r16 */
static int hf_nr_rrc_startSymbolAndLength_r16 = -1;  /* INTEGER_0_127 */
static int hf_nr_rrc_repetitionNumber_r16 = -1;   /* T_repetitionNumber_r16 */
static int hf_nr_rrc_k0_v1710 = -1;               /* INTEGER_33_128 */
static int hf_nr_rrc_repetitionNumber_v1730 = -1;  /* T_repetitionNumber_v1730 */
static int hf_nr_rrc_Dummy_TDRA_List_item = -1;   /* MultiPDSCH_TDRA_r17 */
static int hf_nr_rrc_MultiPDSCH_TDRA_List_r17_item = -1;  /* MultiPDSCH_TDRA_r17 */
static int hf_nr_rrc_pdsch_TDRA_List_r17 = -1;    /* SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16 */
static int hf_nr_rrc_pdsch_TDRA_List_r17_item = -1;  /* PDSCH_TimeDomainResourceAllocation_r16 */
static int hf_nr_rrc_phr_PeriodicTimer = -1;      /* T_phr_PeriodicTimer */
static int hf_nr_rrc_phr_ProhibitTimer = -1;      /* T_phr_ProhibitTimer */
static int hf_nr_rrc_phr_Tx_PowerFactorChange = -1;  /* T_phr_Tx_PowerFactorChange */
static int hf_nr_rrc_multiplePHR = -1;            /* BOOLEAN */
static int hf_nr_rrc_pHR_Config_dummy = -1;       /* BOOLEAN */
static int hf_nr_rrc_phr_Type2OtherCell = -1;     /* BOOLEAN */
static int hf_nr_rrc_phr_ModeOtherCG = -1;        /* T_phr_ModeOtherCG */
static int hf_nr_rrc_mpe_Reporting_FR2_r16 = -1;  /* T_mpe_Reporting_FR2_r16 */
static int hf_nr_rrc_setup_100 = -1;              /* MPE_Config_FR2_r16 */
static int hf_nr_rrc_mpe_Reporting_FR2_r17 = -1;  /* T_mpe_Reporting_FR2_r17 */
static int hf_nr_rrc_setup_101 = -1;              /* MPE_Config_FR2_r17 */
static int hf_nr_rrc_twoPHRMode_r17 = -1;         /* T_twoPHRMode_r17 */
static int hf_nr_rrc_mpe_ProhibitTimer_r16 = -1;  /* T_mpe_ProhibitTimer_r16 */
static int hf_nr_rrc_mpe_Threshold_r16 = -1;      /* T_mpe_Threshold_r16 */
static int hf_nr_rrc_mpe_ProhibitTimer_r17 = -1;  /* T_mpe_ProhibitTimer_r17 */
static int hf_nr_rrc_mpe_Threshold_r17 = -1;      /* T_mpe_Threshold_r17 */
static int hf_nr_rrc_numberOfN_r17 = -1;          /* INTEGER_1_4 */
static int hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH = -1;  /* T_harq_ACK_SpatialBundlingPUCCH */
static int hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH = -1;  /* T_harq_ACK_SpatialBundlingPUSCH */
static int hf_nr_rrc_p_NR_FR1 = -1;               /* P_Max */
static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook = -1;  /* T_pdsch_HARQ_ACK_Codebook */
static int hf_nr_rrc_tpc_SRS_RNTI = -1;           /* RNTI_Value */
static int hf_nr_rrc_tpc_PUCCH_RNTI = -1;         /* RNTI_Value */
static int hf_nr_rrc_tpc_PUSCH_RNTI = -1;         /* RNTI_Value */
static int hf_nr_rrc_sp_CSI_RNTI = -1;            /* RNTI_Value */
static int hf_nr_rrc_cs_RNTI = -1;                /* T_cs_RNTI */
static int hf_nr_rrc_setup_102 = -1;              /* RNTI_Value */
static int hf_nr_rrc_mcs_C_RNTI = -1;             /* RNTI_Value */
static int hf_nr_rrc_p_UE_FR1 = -1;               /* P_Max */
static int hf_nr_rrc_xScale = -1;                 /* T_xScale */
static int hf_nr_rrc_pdcch_BlindDetection = -1;   /* T_pdcch_BlindDetection */
static int hf_nr_rrc_setup_103 = -1;              /* PDCCH_BlindDetection */
static int hf_nr_rrc_dcp_Config_r16 = -1;         /* T_dcp_Config_r16 */
static int hf_nr_rrc_setup_104 = -1;              /* DCP_Config_r16 */
static int hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16 = -1;  /* T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16 */
static int hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16 = -1;  /* T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16 */
static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16 = -1;  /* T_pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16 */
static int hf_nr_rrc_p_NR_FR2_r16 = -1;           /* P_Max */
static int hf_nr_rrc_p_UE_FR2_r16 = -1;           /* P_Max */
static int hf_nr_rrc_nrdc_PCmode_FR1_r16 = -1;    /* T_nrdc_PCmode_FR1_r16 */
static int hf_nr_rrc_nrdc_PCmode_FR2_r16 = -1;    /* T_nrdc_PCmode_FR2_r16 */
static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook_r16 = -1;  /* T_pdsch_HARQ_ACK_Codebook_r16 */
static int hf_nr_rrc_nfi_TotalDAI_Included_r16 = -1;  /* T_nfi_TotalDAI_Included_r16 */
static int hf_nr_rrc_ul_TotalDAI_Included_r16 = -1;  /* T_ul_TotalDAI_Included_r16 */
static int hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedback_r16 = -1;  /* T_pdsch_HARQ_ACK_OneShotFeedback_r16 */
static int hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16 = -1;  /* T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16 */
static int hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16 = -1;  /* T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16 */
static int hf_nr_rrc_downlinkAssignmentIndexDCI_0_2_r16 = -1;  /* T_downlinkAssignmentIndexDCI_0_2_r16 */
static int hf_nr_rrc_downlinkAssignmentIndexDCI_1_2_r16 = -1;  /* T_downlinkAssignmentIndexDCI_1_2_r16 */
static int hf_nr_rrc_pdsch_HARQ_ACK_CodebookList_r16 = -1;  /* T_pdsch_HARQ_ACK_CodebookList_r16 */
static int hf_nr_rrc_setup_105 = -1;              /* PDSCH_HARQ_ACK_CodebookList_r16 */
static int hf_nr_rrc_ackNackFeedbackMode_r16 = -1;  /* T_ackNackFeedbackMode_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r16 = -1;  /* T_pdcch_BlindDetectionCA_CombIndicator_r16 */
static int hf_nr_rrc_setup_106 = -1;              /* PDCCH_BlindDetectionCA_CombIndicator_r16 */
static int hf_nr_rrc_pdcch_BlindDetection2_r16 = -1;  /* T_pdcch_BlindDetection2_r16 */
static int hf_nr_rrc_setup_107 = -1;              /* PDCCH_BlindDetection2_r16 */
static int hf_nr_rrc_pdcch_BlindDetection3_r16 = -1;  /* T_pdcch_BlindDetection3_r16 */
static int hf_nr_rrc_setup_108 = -1;              /* PDCCH_BlindDetection3_r16 */
static int hf_nr_rrc_bdFactorR_r16 = -1;          /* T_bdFactorR_r16 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToAddModList_r17_item = -1;  /* PDSCH_HARQ_ACK_EnhType3_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToReleaseList_r17_item = -1;  /* PDSCH_HARQ_ACK_EnhType3Index_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToAddModList_r17_item = -1;  /* PDSCH_HARQ_ACK_EnhType3_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToReleaseList_r17_item = -1;  /* PDSCH_HARQ_ACK_EnhType3Index_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17 = -1;  /* T_pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_Field_r17 = -1;  /* T_pdsch_HARQ_ACK_EnhType3DCI_Field_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_Retx_r17 = -1;  /* T_pdsch_HARQ_ACK_Retx_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17 = -1;  /* T_pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17 */
static int hf_nr_rrc_pucch_sSCell_r17 = -1;       /* SCellIndex */
static int hf_nr_rrc_pucch_sSCellSecondaryPUCCHgroup_r17 = -1;  /* SCellIndex */
static int hf_nr_rrc_pucch_sSCellDyn_r17 = -1;    /* T_pucch_sSCellDyn_r17 */
static int hf_nr_rrc_pucch_sSCellDynSecondaryPUCCHgroup_r17 = -1;  /* T_pucch_sSCellDynSecondaryPUCCHgroup_r17 */
static int hf_nr_rrc_pucch_sSCellPattern_r17 = -1;  /* T_pucch_sSCellPattern_r17 */
static int hf_nr_rrc_pucch_sSCellPattern_r17_item = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_pucch_sSCellPatternSecondaryPUCCHgroup_r17 = -1;  /* T_pucch_sSCellPatternSecondaryPUCCHgroup_r17 */
static int hf_nr_rrc_pucch_sSCellPatternSecondaryPUCCHgroup_r17_item = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_uci_MuxWithDiffPrio_r17 = -1;  /* T_uci_MuxWithDiffPrio_r17 */
static int hf_nr_rrc_uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17 = -1;  /* T_uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17 */
static int hf_nr_rrc_simultaneousPUCCH_PUSCH_r17 = -1;  /* T_simultaneousPUCCH_PUSCH_r17 */
static int hf_nr_rrc_simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17 = -1;  /* T_simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17 */
static int hf_nr_rrc_prioLowDG_HighCG_r17 = -1;   /* T_prioLowDG_HighCG_r17 */
static int hf_nr_rrc_prioHighDG_LowCG_r17 = -1;   /* T_prioHighDG_LowCG_r17 */
static int hf_nr_rrc_twoQCLTypeDforPDCCHRepetition_r17 = -1;  /* T_twoQCLTypeDforPDCCHRepetition_r17 */
static int hf_nr_rrc_multicastConfig_r17 = -1;    /* T_multicastConfig_r17 */
static int hf_nr_rrc_setup_109 = -1;              /* MulticastConfig_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r17 = -1;  /* T_pdcch_BlindDetectionCA_CombIndicator_r17 */
static int hf_nr_rrc_setup_110 = -1;              /* PDCCH_BlindDetectionCA_CombIndicator_r17 */
static int hf_nr_rrc_simultaneousSR_PUSCH_diffPUCCH_Groups_r17 = -1;  /* T_simultaneousSR_PUSCH_diffPUCCH_Groups_r17 */
static int hf_nr_rrc_intraBandNC_PRACH_simulTx_r17 = -1;  /* T_intraBandNC_PRACH_simulTx_r17 */
static int hf_nr_rrc_pdcch_BlindDetection4_r17 = -1;  /* T_pdcch_BlindDetection4_r17 */
static int hf_nr_rrc_setup_111 = -1;              /* PDCCH_BlindDetection4_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3Index_r17 = -1;  /* PDSCH_HARQ_ACK_EnhType3Index_r17 */
static int hf_nr_rrc_applicable_r17 = -1;         /* T_applicable_r17 */
static int hf_nr_rrc_perCC = -1;                  /* T_perCC */
static int hf_nr_rrc_perCC_item = -1;             /* INTEGER_0_1 */
static int hf_nr_rrc_perHARQ = -1;                /* T_perHARQ */
static int hf_nr_rrc_perHARQ_item = -1;           /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3NDI_r17 = -1;  /* T_pdsch_HARQ_ACK_EnhType3NDI_r17 */
static int hf_nr_rrc_pdsch_HARQ_ACK_EnhType3CBG_r17 = -1;  /* T_pdsch_HARQ_ACK_EnhType3CBG_r17 */
static int hf_nr_rrc_perHARQ_Ext_r17 = -1;        /* T_perHARQ_Ext_r17 */
static int hf_nr_rrc_perHARQ_Ext_r17_item = -1;   /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_ps_RNTI_r16 = -1;            /* RNTI_Value */
static int hf_nr_rrc_ps_Offset_r16 = -1;          /* INTEGER_1_120 */
static int hf_nr_rrc_sizeDCI_2_6_r16 = -1;        /* INTEGER_1_maxDCI_2_6_Size_r16 */
static int hf_nr_rrc_ps_PositionDCI_2_6_r16 = -1;  /* INTEGER_0_maxDCI_2_6_Size_1_r16 */
static int hf_nr_rrc_ps_WakeUp_r16 = -1;          /* T_ps_WakeUp_r16 */
static int hf_nr_rrc_ps_TransmitPeriodicL1_RSRP_r16 = -1;  /* T_ps_TransmitPeriodicL1_RSRP_r16 */
static int hf_nr_rrc_ps_TransmitOtherPeriodicCSI_r16 = -1;  /* T_ps_TransmitOtherPeriodicCSI_r16 */
static int hf_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item = -1;  /* PDSCH_HARQ_ACK_CodebookList_r16_item */
static int hf_nr_rrc_pdcch_BlindDetectionCA1_r16 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_pdcch_BlindDetectionCA2_r16 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_pdsch_HARQ_ACK_CodebookListMulticast_r17 = -1;  /* T_pdsch_HARQ_ACK_CodebookListMulticast_r17 */
static int hf_nr_rrc_type1CodebookGenerationMode_r17 = -1;  /* T_type1CodebookGenerationMode_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionCA1_r17 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_pdcch_BlindDetectionCA2_r17 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_pdcch_BlindDetectionCA3_r17 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_mcc = -1;                    /* MCC */
static int hf_nr_rrc_mnc = -1;                    /* MNC */
static int hf_nr_rrc_MCC_item = -1;               /* MCC_MNC_Digit */
static int hf_nr_rrc_MNC_item = -1;               /* MCC_MNC_Digit */
static int hf_nr_rrc_PLMN_IdentityInfoList_item = -1;  /* PLMN_IdentityInfo */
static int hf_nr_rrc_plmn_IdentityList = -1;      /* SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity */
static int hf_nr_rrc_plmn_IdentityList_item = -1;  /* PLMN_Identity */
static int hf_nr_rrc_ranac = -1;                  /* RAN_AreaCode */
static int hf_nr_rrc_cellReservedForOperatorUse = -1;  /* T_cellReservedForOperatorUse */
static int hf_nr_rrc_iab_Support_r16_01 = -1;     /* T_iab_Support_r16_01 */
static int hf_nr_rrc_trackingAreaList_r17 = -1;   /* SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode */
static int hf_nr_rrc_trackingAreaList_r17_item = -1;  /* TrackingAreaCode */
static int hf_nr_rrc_PLMN_IdentityList2_r16_item = -1;  /* PLMN_Identity */
static int hf_nr_rrc_frequencyDensity = -1;       /* T_frequencyDensity */
static int hf_nr_rrc_frequencyDensity_item = -1;  /* INTEGER_1_276 */
static int hf_nr_rrc_timeDensity = -1;            /* T_timeDensity */
static int hf_nr_rrc_timeDensity_item = -1;       /* INTEGER_0_29 */
static int hf_nr_rrc_epre_Ratio = -1;             /* INTEGER_0_3 */
static int hf_nr_rrc_resourceElementOffset = -1;  /* T_resourceElementOffset */
static int hf_nr_rrc_maxNrofPorts_r16 = -1;       /* T_maxNrofPorts_r16 */
static int hf_nr_rrc_transformPrecoderDisabled = -1;  /* T_transformPrecoderDisabled */
static int hf_nr_rrc_frequencyDensity_01 = -1;    /* T_frequencyDensity_01 */
static int hf_nr_rrc_timeDensity_01 = -1;         /* T_timeDensity_01 */
static int hf_nr_rrc_maxNrofPorts = -1;           /* T_maxNrofPorts */
static int hf_nr_rrc_resourceElementOffset_01 = -1;  /* T_resourceElementOffset_01 */
static int hf_nr_rrc_ptrs_Power = -1;             /* T_ptrs_Power */
static int hf_nr_rrc_transformPrecoderEnabled = -1;  /* T_transformPrecoderEnabled */
static int hf_nr_rrc_sampleDensity = -1;          /* T_sampleDensity */
static int hf_nr_rrc_sampleDensity_item = -1;     /* INTEGER_1_276 */
static int hf_nr_rrc_timeDensityTransformPrecoding = -1;  /* T_timeDensityTransformPrecoding */
static int hf_nr_rrc_resourceSetToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet */
static int hf_nr_rrc_resourceSetToAddModList_item = -1;  /* PUCCH_ResourceSet */
static int hf_nr_rrc_resourceSetToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId */
static int hf_nr_rrc_resourceSetToReleaseList_item = -1;  /* PUCCH_ResourceSetId */
static int hf_nr_rrc_resourceToAddModList = -1;   /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource */
static int hf_nr_rrc_resourceToAddModList_item = -1;  /* PUCCH_Resource */
static int hf_nr_rrc_resourceToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId */
static int hf_nr_rrc_resourceToReleaseList_item = -1;  /* PUCCH_ResourceId */
static int hf_nr_rrc_format1 = -1;                /* T_format1 */
static int hf_nr_rrc_setup_112 = -1;              /* PUCCH_FormatConfig */
static int hf_nr_rrc_format2 = -1;                /* T_format2 */
static int hf_nr_rrc_format3 = -1;                /* T_format3 */
static int hf_nr_rrc_format4 = -1;                /* T_format4 */
static int hf_nr_rrc_schedulingRequestResourceToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig */
static int hf_nr_rrc_schedulingRequestResourceToAddModList_item = -1;  /* SchedulingRequestResourceConfig */
static int hf_nr_rrc_schedulingRequestResourceToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId */
static int hf_nr_rrc_schedulingRequestResourceToReleaseList_item = -1;  /* SchedulingRequestResourceId */
static int hf_nr_rrc_multi_CSI_PUCCH_ResourceList = -1;  /* SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId */
static int hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item = -1;  /* PUCCH_ResourceId */
static int hf_nr_rrc_dl_DataToUL_ACK = -1;        /* T_dl_DataToUL_ACK */
static int hf_nr_rrc_dl_DataToUL_ACK_item = -1;   /* INTEGER_0_15 */
static int hf_nr_rrc_spatialRelationInfoToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo */
static int hf_nr_rrc_spatialRelationInfoToAddModList_item = -1;  /* PUCCH_SpatialRelationInfo */
static int hf_nr_rrc_spatialRelationInfoToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId */
static int hf_nr_rrc_spatialRelationInfoToReleaseList_item = -1;  /* PUCCH_SpatialRelationInfoId */
static int hf_nr_rrc_pucch_PowerControl = -1;     /* PUCCH_PowerControl */
static int hf_nr_rrc_resourceToAddModListExt_v1610 = -1;  /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610 */
static int hf_nr_rrc_resourceToAddModListExt_v1610_item = -1;  /* PUCCH_ResourceExt_v1610 */
static int hf_nr_rrc_dl_DataToUL_ACK_r16 = -1;    /* T_dl_DataToUL_ACK_r16 */
static int hf_nr_rrc_setup_113 = -1;              /* DL_DataToUL_ACK_r16 */
static int hf_nr_rrc_ul_AccessConfigListDCI_1_1_r16 = -1;  /* T_ul_AccessConfigListDCI_1_1_r16 */
static int hf_nr_rrc_setup_114 = -1;              /* UL_AccessConfigListDCI_1_1_r16 */
static int hf_nr_rrc_subslotLengthForPUCCH_r16 = -1;  /* T_subslotLengthForPUCCH_r16 */
static int hf_nr_rrc_normalCP_r16 = -1;           /* T_normalCP_r16 */
static int hf_nr_rrc_extendedCP_r16 = -1;         /* T_extendedCP_r16 */
static int hf_nr_rrc_dl_DataToUL_ACK_DCI_1_2_r16 = -1;  /* T_dl_DataToUL_ACK_DCI_1_2_r16 */
static int hf_nr_rrc_setup_115 = -1;              /* DL_DataToUL_ACK_DCI_1_2_r16 */
static int hf_nr_rrc_numberOfBitsForPUCCH_ResourceIndicatorDCI_1_2_r16 = -1;  /* INTEGER_0_3 */
static int hf_nr_rrc_dmrs_UplinkTransformPrecodingPUCCH_r16 = -1;  /* T_dmrs_UplinkTransformPrecodingPUCCH_r16 */
static int hf_nr_rrc_spatialRelationInfoToAddModListSizeExt_v1610 = -1;  /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo */
static int hf_nr_rrc_spatialRelationInfoToAddModListSizeExt_v1610_item = -1;  /* PUCCH_SpatialRelationInfo */
static int hf_nr_rrc_spatialRelationInfoToReleaseListSizeExt_v1610 = -1;  /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId */
static int hf_nr_rrc_spatialRelationInfoToReleaseListSizeExt_v1610_item = -1;  /* PUCCH_SpatialRelationInfoId */
static int hf_nr_rrc_spatialRelationInfoToAddModListExt_v1610 = -1;  /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16 */
static int hf_nr_rrc_spatialRelationInfoToAddModListExt_v1610_item = -1;  /* PUCCH_SpatialRelationInfoExt_r16 */
static int hf_nr_rrc_spatialRelationInfoToReleaseListExt_v1610 = -1;  /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16 */
static int hf_nr_rrc_spatialRelationInfoToReleaseListExt_v1610_item = -1;  /* PUCCH_SpatialRelationInfoId_r16 */
static int hf_nr_rrc_resourceGroupToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16 */
static int hf_nr_rrc_resourceGroupToAddModList_r16_item = -1;  /* PUCCH_ResourceGroup_r16 */
static int hf_nr_rrc_resourceGroupToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16 */
static int hf_nr_rrc_resourceGroupToReleaseList_r16_item = -1;  /* PUCCH_ResourceGroupId_r16 */
static int hf_nr_rrc_sps_PUCCH_AN_List_r16 = -1;  /* T_sps_PUCCH_AN_List_r16 */
static int hf_nr_rrc_setup_116 = -1;              /* SPS_PUCCH_AN_List_r16 */
static int hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1610 = -1;  /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610 */
static int hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1610_item = -1;  /* SchedulingRequestResourceConfigExt_v1610 */
static int hf_nr_rrc_format0_r17 = -1;            /* T_format0_r17 */
static int hf_nr_rrc_format2Ext_r17 = -1;         /* T_format2Ext_r17 */
static int hf_nr_rrc_setup_117 = -1;              /* PUCCH_FormatConfigExt_r17 */
static int hf_nr_rrc_format3Ext_r17 = -1;         /* T_format3Ext_r17 */
static int hf_nr_rrc_format4Ext_r17 = -1;         /* T_format4Ext_r17 */
static int hf_nr_rrc_ul_AccessConfigListDCI_1_2_r17 = -1;  /* T_ul_AccessConfigListDCI_1_2_r17 */
static int hf_nr_rrc_setup_118 = -1;              /* UL_AccessConfigListDCI_1_2_r17 */
static int hf_nr_rrc_mappingPattern_r17_01 = -1;  /* T_mappingPattern_r17_01 */
static int hf_nr_rrc_powerControlSetInfoToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17 */
static int hf_nr_rrc_powerControlSetInfoToAddModList_r17_item = -1;  /* PUCCH_PowerControlSetInfo_r17 */
static int hf_nr_rrc_powerControlSetInfoToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17 */
static int hf_nr_rrc_powerControlSetInfoToReleaseList_r17_item = -1;  /* PUCCH_PowerControlSetInfoId_r17 */
static int hf_nr_rrc_secondTPCFieldDCI_1_1_r17 = -1;  /* T_secondTPCFieldDCI_1_1_r17 */
static int hf_nr_rrc_secondTPCFieldDCI_1_2_r17 = -1;  /* T_secondTPCFieldDCI_1_2_r17 */
static int hf_nr_rrc_dl_DataToUL_ACK_r17 = -1;    /* T_dl_DataToUL_ACK_r17 */
static int hf_nr_rrc_setup_119 = -1;              /* DL_DataToUL_ACK_r17 */
static int hf_nr_rrc_dl_DataToUL_ACK_DCI_1_2_r17 = -1;  /* T_dl_DataToUL_ACK_DCI_1_2_r17 */
static int hf_nr_rrc_setup_120 = -1;              /* DL_DataToUL_ACK_DCI_1_2_r17 */
static int hf_nr_rrc_ul_AccessConfigListDCI_1_1_r17 = -1;  /* T_ul_AccessConfigListDCI_1_1_r17 */
static int hf_nr_rrc_setup_121 = -1;              /* UL_AccessConfigListDCI_1_1_r17 */
static int hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1700 = -1;  /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700 */
static int hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1700_item = -1;  /* SchedulingRequestResourceConfigExt_v1700 */
static int hf_nr_rrc_dmrs_BundlingPUCCH_Config_r17 = -1;  /* T_dmrs_BundlingPUCCH_Config_r17 */
static int hf_nr_rrc_setup_122 = -1;              /* DMRS_BundlingPUCCH_Config_r17 */
static int hf_nr_rrc_dl_DataToUL_ACK_v1700 = -1;  /* T_dl_DataToUL_ACK_v1700 */
static int hf_nr_rrc_setup_123 = -1;              /* DL_DataToUL_ACK_v1700 */
static int hf_nr_rrc_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17 = -1;  /* T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17 */
static int hf_nr_rrc_setup_124 = -1;              /* DL_DataToUL_ACK_MulticastDCI_Format4_1_r17 */
static int hf_nr_rrc_sps_PUCCH_AN_ListMulticast_r17 = -1;  /* T_sps_PUCCH_AN_ListMulticast_r17 */
static int hf_nr_rrc_interslotFrequencyHopping = -1;  /* T_interslotFrequencyHopping */
static int hf_nr_rrc_additionalDMRS = -1;         /* T_additionalDMRS */
static int hf_nr_rrc_maxCodeRate = -1;            /* PUCCH_MaxCodeRate */
static int hf_nr_rrc_nrofSlots = -1;              /* T_nrofSlots */
static int hf_nr_rrc_pi2BPSK = -1;                /* T_pi2BPSK */
static int hf_nr_rrc_simultaneousHARQ_ACK_CSI = -1;  /* T_simultaneousHARQ_ACK_CSI */
static int hf_nr_rrc_maxCodeRateLP_r17 = -1;      /* PUCCH_MaxCodeRate */
static int hf_nr_rrc_pucch_ResourceSetId = -1;    /* PUCCH_ResourceSetId */
static int hf_nr_rrc_resourceList = -1;           /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId */
static int hf_nr_rrc_resourceList_item = -1;      /* PUCCH_ResourceId */
static int hf_nr_rrc_maxPayloadSize = -1;         /* INTEGER_4_256 */
static int hf_nr_rrc_pucch_ResourceId = -1;       /* PUCCH_ResourceId */
static int hf_nr_rrc_startingPRB = -1;            /* PRB_Id */
static int hf_nr_rrc_intraSlotFrequencyHopping = -1;  /* T_intraSlotFrequencyHopping */
static int hf_nr_rrc_secondHopPRB = -1;           /* PRB_Id */
static int hf_nr_rrc_format = -1;                 /* T_format */
static int hf_nr_rrc_format0 = -1;                /* PUCCH_format0 */
static int hf_nr_rrc_format1_01 = -1;             /* PUCCH_format1 */
static int hf_nr_rrc_format2_01 = -1;             /* PUCCH_format2 */
static int hf_nr_rrc_format3_01 = -1;             /* PUCCH_format3 */
static int hf_nr_rrc_format4_01 = -1;             /* PUCCH_format4 */
static int hf_nr_rrc_interlaceAllocation_r16 = -1;  /* T_interlaceAllocation_r16 */
static int hf_nr_rrc_rb_SetIndex_r16 = -1;        /* INTEGER_0_4 */
static int hf_nr_rrc_interlace0_r16 = -1;         /* T_interlace0_r16 */
static int hf_nr_rrc_scs15_01 = -1;               /* INTEGER_0_9 */
static int hf_nr_rrc_scs30_01 = -1;               /* INTEGER_0_4 */
static int hf_nr_rrc_format_v1610 = -1;           /* T_format_v1610 */
static int hf_nr_rrc_interlace1_v1610 = -1;       /* INTEGER_0_9 */
static int hf_nr_rrc_occ_v1610 = -1;              /* T_occ_v1610 */
static int hf_nr_rrc_occ_Length_v1610 = -1;       /* T_occ_Length_v1610 */
static int hf_nr_rrc_occ_Index_v1610 = -1;        /* T_occ_Index_v1610 */
static int hf_nr_rrc_format_v1700 = -1;           /* T_format_v1700 */
static int hf_nr_rrc_nrofPRBs_r17 = -1;           /* INTEGER_1_16 */
static int hf_nr_rrc_pucch_RepetitionNrofSlots_r17 = -1;  /* T_pucch_RepetitionNrofSlots_r17 */
static int hf_nr_rrc_initialCyclicShift = -1;     /* INTEGER_0_11 */
static int hf_nr_rrc_nrofSymbols = -1;            /* INTEGER_1_2 */
static int hf_nr_rrc_startingSymbolIndex = -1;    /* INTEGER_0_13 */
static int hf_nr_rrc_nrofSymbols_01 = -1;         /* INTEGER_4_14 */
static int hf_nr_rrc_startingSymbolIndex_01 = -1;  /* INTEGER_0_10 */
static int hf_nr_rrc_timeDomainOCC = -1;          /* INTEGER_0_6 */
static int hf_nr_rrc_nrofPRBs_01 = -1;            /* INTEGER_1_16 */
static int hf_nr_rrc_occ_Length = -1;             /* T_occ_Length */
static int hf_nr_rrc_occ_Index = -1;              /* T_occ_Index */
static int hf_nr_rrc_pucch_ResourceGroupId_r16 = -1;  /* PUCCH_ResourceGroupId_r16 */
static int hf_nr_rrc_resourcePerGroupList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId */
static int hf_nr_rrc_resourcePerGroupList_r16_item = -1;  /* PUCCH_ResourceId */
static int hf_nr_rrc_DL_DataToUL_ACK_r16_item = -1;  /* INTEGER_M1_15 */
static int hf_nr_rrc_DL_DataToUL_ACK_r17_item = -1;  /* INTEGER_M1_127 */
static int hf_nr_rrc_DL_DataToUL_ACK_v1700_item = -1;  /* INTEGER_16_31 */
static int hf_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r16_item = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r17_item = -1;  /* INTEGER_0_127 */
static int hf_nr_rrc_UL_AccessConfigListDCI_1_1_r16_item = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_UL_AccessConfigListDCI_1_2_r17_item = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_UL_AccessConfigListDCI_1_1_r17_item = -1;  /* INTEGER_0_2 */
static int hf_nr_rrc_DL_DataToUL_ACK_MulticastDCI_Format4_1_r17_item = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_pucch_ResourceCommon = -1;   /* INTEGER_0_15 */
static int hf_nr_rrc_pucch_GroupHopping = -1;     /* T_pucch_GroupHopping */
static int hf_nr_rrc_hoppingId = -1;              /* INTEGER_0_1023 */
static int hf_nr_rrc_p0_nominal = -1;             /* INTEGER_M202_24 */
static int hf_nr_rrc_intra_SlotFH_r17 = -1;       /* T_intra_SlotFH_r17 */
static int hf_nr_rrc_pucch_ResourceCommonRedCap_r17 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_additionalPRBOffset_r17 = -1;  /* T_additionalPRBOffset_r17 */
static int hf_nr_rrc_PUCCH_ConfigurationList_r16_item = -1;  /* PUCCH_Config */
static int hf_nr_rrc_deltaF_PUCCH_f0 = -1;        /* INTEGER_M16_15 */
static int hf_nr_rrc_deltaF_PUCCH_f1 = -1;        /* INTEGER_M16_15 */
static int hf_nr_rrc_deltaF_PUCCH_f2 = -1;        /* INTEGER_M16_15 */
static int hf_nr_rrc_deltaF_PUCCH_f3 = -1;        /* INTEGER_M16_15 */
static int hf_nr_rrc_deltaF_PUCCH_f4 = -1;        /* INTEGER_M16_15 */
static int hf_nr_rrc_p0_Set = -1;                 /* SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH */
static int hf_nr_rrc_p0_Set_item = -1;            /* P0_PUCCH */
static int hf_nr_rrc_pathlossReferenceRSs = -1;   /* SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS */
static int hf_nr_rrc_pathlossReferenceRSs_item = -1;  /* PUCCH_PathlossReferenceRS */
static int hf_nr_rrc_twoPUCCH_PC_AdjustmentStates = -1;  /* T_twoPUCCH_PC_AdjustmentStates */
static int hf_nr_rrc_pathlossReferenceRSs_v1610 = -1;  /* T_pathlossReferenceRSs_v1610 */
static int hf_nr_rrc_setup_125 = -1;              /* PathlossReferenceRSs_v1610 */
static int hf_nr_rrc_p0_PUCCH_Id = -1;            /* P0_PUCCH_Id */
static int hf_nr_rrc_p0_PUCCH_Value = -1;         /* INTEGER_M16_15 */
static int hf_nr_rrc_PathlossReferenceRSs_v1610_item = -1;  /* PUCCH_PathlossReferenceRS_r16 */
static int hf_nr_rrc_pucch_PathlossReferenceRS_Id = -1;  /* PUCCH_PathlossReferenceRS_Id */
static int hf_nr_rrc_referenceSignal = -1;        /* T_referenceSignal */
static int hf_nr_rrc_pucch_PathlossReferenceRS_Id_r16 = -1;  /* PUCCH_PathlossReferenceRS_Id_v1610 */
static int hf_nr_rrc_referenceSignal_r16 = -1;    /* T_referenceSignal_r16 */
static int hf_nr_rrc_csi_RS_Index_r16_01 = -1;    /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_pucch_PowerControlSetInfoId_r17 = -1;  /* PUCCH_PowerControlSetInfoId_r17 */
static int hf_nr_rrc_p0_PUCCH_Id_r17 = -1;        /* P0_PUCCH_Id */
static int hf_nr_rrc_pucch_ClosedLoopIndex_r17 = -1;  /* T_pucch_ClosedLoopIndex_r17 */
static int hf_nr_rrc_pucch_PathlossReferenceRS_Id_r17 = -1;  /* PUCCH_PathlossReferenceRS_Id_r17 */
static int hf_nr_rrc_pucch_SpatialRelationInfoId = -1;  /* PUCCH_SpatialRelationInfoId */
static int hf_nr_rrc_referenceSignal_01 = -1;     /* T_referenceSignal_01 */
static int hf_nr_rrc_srs = -1;                    /* PUCCH_SRS */
static int hf_nr_rrc_closedLoopIndex = -1;        /* T_closedLoopIndex */
static int hf_nr_rrc_pucch_SpatialRelationInfoId_v1610 = -1;  /* PUCCH_SpatialRelationInfoId_v1610 */
static int hf_nr_rrc_pucch_PathlossReferenceRS_Id_v1610 = -1;  /* PUCCH_PathlossReferenceRS_Id_v1610 */
static int hf_nr_rrc_resource = -1;               /* SRS_ResourceId */
static int hf_nr_rrc_uplinkBWP = -1;              /* BWP_Id */
static int hf_nr_rrc_tpc_IndexPCell = -1;         /* INTEGER_1_15 */
static int hf_nr_rrc_tpc_IndexPUCCH_SCell = -1;   /* INTEGER_1_15 */
static int hf_nr_rrc_tpc_IndexPUCCH_sSCell_r17 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_tpc_IndexPUCCH_sScellSecondaryPUCCHgroup_r17 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_dataScramblingIdentityPUSCH = -1;  /* INTEGER_0_1023 */
static int hf_nr_rrc_txConfig = -1;               /* T_txConfig */
static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA = -1;  /* T_dmrs_UplinkForPUSCH_MappingTypeA */
static int hf_nr_rrc_setup_126 = -1;              /* DMRS_UplinkConfig */
static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB = -1;  /* T_dmrs_UplinkForPUSCH_MappingTypeB */
static int hf_nr_rrc_pusch_PowerControl = -1;     /* PUSCH_PowerControl */
static int hf_nr_rrc_frequencyHopping_01 = -1;    /* T_frequencyHopping_01 */
static int hf_nr_rrc_frequencyHoppingOffsetLists = -1;  /* T_frequencyHoppingOffsetLists */
static int hf_nr_rrc_frequencyHoppingOffsetLists_item = -1;  /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_resourceAllocation_02 = -1;  /* T_resourceAllocation_02 */
static int hf_nr_rrc_pusch_TimeDomainAllocationList = -1;  /* T_pusch_TimeDomainAllocationList */
static int hf_nr_rrc_setup_127 = -1;              /* PUSCH_TimeDomainResourceAllocationList */
static int hf_nr_rrc_pusch_AggregationFactor = -1;  /* T_pusch_AggregationFactor */
static int hf_nr_rrc_mcs_Table_02 = -1;           /* T_mcs_Table_02 */
static int hf_nr_rrc_mcs_TableTransformPrecoder_01 = -1;  /* T_mcs_TableTransformPrecoder_01 */
static int hf_nr_rrc_transformPrecoder_01 = -1;   /* T_transformPrecoder_01 */
static int hf_nr_rrc_codebookSubset = -1;         /* T_codebookSubset */
static int hf_nr_rrc_maxRank = -1;                /* INTEGER_1_4 */
static int hf_nr_rrc_rbg_Size_02 = -1;            /* T_rbg_Size_02 */
static int hf_nr_rrc_uci_OnPUSCH_01 = -1;         /* T_uci_OnPUSCH_01 */
static int hf_nr_rrc_setup_128 = -1;              /* UCI_OnPUSCH */
static int hf_nr_rrc_tp_pi2BPSK = -1;             /* T_tp_pi2BPSK */
static int hf_nr_rrc_minimumSchedulingOffsetK2_r16 = -1;  /* T_minimumSchedulingOffsetK2_r16 */
static int hf_nr_rrc_setup_129 = -1;              /* MinSchedulingOffsetK2_Values_r16 */
static int hf_nr_rrc_ul_AccessConfigListDCI_0_1_r16 = -1;  /* T_ul_AccessConfigListDCI_0_1_r16 */
static int hf_nr_rrc_setup_130 = -1;              /* UL_AccessConfigListDCI_0_1_r16 */
static int hf_nr_rrc_harq_ProcessNumberSizeDCI_0_2_r16 = -1;  /* INTEGER_0_4 */
static int hf_nr_rrc_dmrs_SequenceInitializationDCI_0_2_r16 = -1;  /* T_dmrs_SequenceInitializationDCI_0_2_r16 */
static int hf_nr_rrc_numberOfBitsForRV_DCI_0_2_r16 = -1;  /* INTEGER_0_2 */
static int hf_nr_rrc_antennaPortsFieldPresenceDCI_0_2_r16 = -1;  /* T_antennaPortsFieldPresenceDCI_0_2_r16 */
static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16 = -1;  /* T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16 */
static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16 = -1;  /* T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16 */
static int hf_nr_rrc_frequencyHoppingDCI_0_2_r16 = -1;  /* T_frequencyHoppingDCI_0_2_r16 */
static int hf_nr_rrc_pusch_RepTypeA = -1;         /* T_pusch_RepTypeA */
static int hf_nr_rrc_pusch_RepTypeB = -1;         /* T_pusch_RepTypeB */
static int hf_nr_rrc_frequencyHoppingOffsetListsDCI_0_2_r16 = -1;  /* T_frequencyHoppingOffsetListsDCI_0_2_r16 */
static int hf_nr_rrc_setup_131 = -1;              /* FrequencyHoppingOffsetListsDCI_0_2_r16 */
static int hf_nr_rrc_codebookSubsetDCI_0_2_r16 = -1;  /* T_codebookSubsetDCI_0_2_r16 */
static int hf_nr_rrc_invalidSymbolPatternIndicatorDCI_0_2_r16 = -1;  /* T_invalidSymbolPatternIndicatorDCI_0_2_r16 */
static int hf_nr_rrc_maxRankDCI_0_2_r16 = -1;     /* INTEGER_1_4 */
static int hf_nr_rrc_mcs_TableDCI_0_2_r16 = -1;   /* T_mcs_TableDCI_0_2_r16 */
static int hf_nr_rrc_mcs_TableTransformPrecoderDCI_0_2_r16 = -1;  /* T_mcs_TableTransformPrecoderDCI_0_2_r16 */
static int hf_nr_rrc_priorityIndicatorDCI_0_2_r16 = -1;  /* T_priorityIndicatorDCI_0_2_r16 */
static int hf_nr_rrc_pusch_RepTypeIndicatorDCI_0_2_r16 = -1;  /* T_pusch_RepTypeIndicatorDCI_0_2_r16 */
static int hf_nr_rrc_resourceAllocationDCI_0_2_r16 = -1;  /* T_resourceAllocationDCI_0_2_r16 */
static int hf_nr_rrc_resourceAllocationType1GranularityDCI_0_2_r16 = -1;  /* T_resourceAllocationType1GranularityDCI_0_2_r16 */
static int hf_nr_rrc_uci_OnPUSCH_ListDCI_0_2_r16 = -1;  /* T_uci_OnPUSCH_ListDCI_0_2_r16 */
static int hf_nr_rrc_setup_132 = -1;              /* UCI_OnPUSCH_ListDCI_0_2_r16 */
static int hf_nr_rrc_pusch_TimeDomainAllocationListDCI_0_2_r16 = -1;  /* T_pusch_TimeDomainAllocationListDCI_0_2_r16 */
static int hf_nr_rrc_setup_133 = -1;              /* PUSCH_TimeDomainResourceAllocationList_r16 */
static int hf_nr_rrc_pusch_TimeDomainAllocationListDCI_0_1_r16 = -1;  /* T_pusch_TimeDomainAllocationListDCI_0_1_r16 */
static int hf_nr_rrc_invalidSymbolPatternIndicatorDCI_0_1_r16 = -1;  /* T_invalidSymbolPatternIndicatorDCI_0_1_r16 */
static int hf_nr_rrc_priorityIndicatorDCI_0_1_r16 = -1;  /* T_priorityIndicatorDCI_0_1_r16 */
static int hf_nr_rrc_pusch_RepTypeIndicatorDCI_0_1_r16 = -1;  /* T_pusch_RepTypeIndicatorDCI_0_1_r16 */
static int hf_nr_rrc_frequencyHoppingDCI_0_1_r16 = -1;  /* T_frequencyHoppingDCI_0_1_r16 */
static int hf_nr_rrc_uci_OnPUSCH_ListDCI_0_1_r16 = -1;  /* T_uci_OnPUSCH_ListDCI_0_1_r16 */
static int hf_nr_rrc_setup_134 = -1;              /* UCI_OnPUSCH_ListDCI_0_1_r16 */
static int hf_nr_rrc_invalidSymbolPattern_r16 = -1;  /* InvalidSymbolPattern_r16 */
static int hf_nr_rrc_pusch_PowerControl_v1610 = -1;  /* T_pusch_PowerControl_v1610 */
static int hf_nr_rrc_setup_135 = -1;              /* PUSCH_PowerControl_v1610 */
static int hf_nr_rrc_ul_FullPowerTransmission_r16 = -1;  /* T_ul_FullPowerTransmission_r16 */
static int hf_nr_rrc_pusch_TimeDomainAllocationListForMultiPUSCH_r16 = -1;  /* T_pusch_TimeDomainAllocationListForMultiPUSCH_r16 */
static int hf_nr_rrc_numberOfInvalidSymbolsForDL_UL_Switching_r16 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_ul_AccessConfigListDCI_0_2_r17 = -1;  /* T_ul_AccessConfigListDCI_0_2_r17 */
static int hf_nr_rrc_setup_136 = -1;              /* UL_AccessConfigListDCI_0_2_r17 */
static int hf_nr_rrc_betaOffsetsCrossPri0_r17 = -1;  /* T_betaOffsetsCrossPri0_r17 */
static int hf_nr_rrc_setup_137 = -1;              /* BetaOffsetsCrossPriSel_r17 */
static int hf_nr_rrc_betaOffsetsCrossPri1_r17 = -1;  /* T_betaOffsetsCrossPri1_r17 */
static int hf_nr_rrc_betaOffsetsCrossPri0DCI_0_2_r17 = -1;  /* T_betaOffsetsCrossPri0DCI_0_2_r17 */
static int hf_nr_rrc_setup_138 = -1;              /* BetaOffsetsCrossPriSelDCI_0_2_r17 */
static int hf_nr_rrc_betaOffsetsCrossPri1DCI_0_2_r17 = -1;  /* T_betaOffsetsCrossPri1DCI_0_2_r17 */
static int hf_nr_rrc_mappingPattern_r17_02 = -1;  /* T_mappingPattern_r17_02 */
static int hf_nr_rrc_secondTPCFieldDCI_0_1_r17 = -1;  /* T_secondTPCFieldDCI_0_1_r17 */
static int hf_nr_rrc_secondTPCFieldDCI_0_2_r17 = -1;  /* T_secondTPCFieldDCI_0_2_r17 */
static int hf_nr_rrc_ul_AccessConfigListDCI_0_1_r17 = -1;  /* T_ul_AccessConfigListDCI_0_1_r17 */
static int hf_nr_rrc_setup_139 = -1;              /* UL_AccessConfigListDCI_0_1_r17 */
static int hf_nr_rrc_minimumSchedulingOffsetK2_r17 = -1;  /* T_minimumSchedulingOffsetK2_r17 */
static int hf_nr_rrc_setup_140 = -1;              /* MinSchedulingOffsetK2_Values_r17 */
static int hf_nr_rrc_availableSlotCounting_r17 = -1;  /* T_availableSlotCounting_r17 */
static int hf_nr_rrc_dmrs_BundlingPUSCH_Config_r17 = -1;  /* T_dmrs_BundlingPUSCH_Config_r17 */
static int hf_nr_rrc_setup_141 = -1;              /* DMRS_BundlingPUSCH_Config_r17 */
static int hf_nr_rrc_harq_ProcessNumberSizeDCI_0_2_v1700 = -1;  /* INTEGER_5 */
static int hf_nr_rrc_harq_ProcessNumberSizeDCI_0_1_r17 = -1;  /* INTEGER_5 */
static int hf_nr_rrc_mpe_ResourcePoolToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17 */
static int hf_nr_rrc_mpe_ResourcePoolToAddModList_r17_item = -1;  /* MPE_Resource_r17 */
static int hf_nr_rrc_mpe_ResourcePoolToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17 */
static int hf_nr_rrc_mpe_ResourcePoolToReleaseList_r17_item = -1;  /* MPE_ResourceId_r17 */
static int hf_nr_rrc_betaOffsets = -1;            /* T_betaOffsets */
static int hf_nr_rrc_dynamic_01 = -1;             /* SEQUENCE_SIZE_4_OF_BetaOffsets */
static int hf_nr_rrc_scaling = -1;                /* T_scaling */
static int hf_nr_rrc_MinSchedulingOffsetK2_Values_r16_item = -1;  /* INTEGER_0_maxK2_SchedulingOffset_r16 */
static int hf_nr_rrc_MinSchedulingOffsetK2_Values_r17_item = -1;  /* INTEGER_0_maxK2_SchedulingOffset_r17 */
static int hf_nr_rrc_betaOffsetsDCI_0_2_r16 = -1;  /* T_betaOffsetsDCI_0_2_r16 */
static int hf_nr_rrc_dynamicDCI_0_2_r16 = -1;     /* T_dynamicDCI_0_2_r16 */
static int hf_nr_rrc_oneBit_r16 = -1;             /* SEQUENCE_SIZE_2_OF_BetaOffsets */
static int hf_nr_rrc_oneBit_r16_item = -1;        /* BetaOffsets */
static int hf_nr_rrc_twoBits_r16 = -1;            /* SEQUENCE_SIZE_4_OF_BetaOffsets */
static int hf_nr_rrc_twoBits_r16_item = -1;       /* BetaOffsets */
static int hf_nr_rrc_semiStaticDCI_0_2_r16 = -1;  /* BetaOffsets */
static int hf_nr_rrc_scalingDCI_0_2_r16 = -1;     /* T_scalingDCI_0_2_r16 */
static int hf_nr_rrc_FrequencyHoppingOffsetListsDCI_0_2_r16_item = -1;  /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_UCI_OnPUSCH_ListDCI_0_2_r16_item = -1;  /* UCI_OnPUSCH_DCI_0_2_r16 */
static int hf_nr_rrc_UCI_OnPUSCH_ListDCI_0_1_r16_item = -1;  /* UCI_OnPUSCH */
static int hf_nr_rrc_UL_AccessConfigListDCI_0_1_r16_item = -1;  /* INTEGER_0_63 */
static int hf_nr_rrc_UL_AccessConfigListDCI_0_1_r17_item = -1;  /* INTEGER_0_2 */
static int hf_nr_rrc_UL_AccessConfigListDCI_0_2_r17_item = -1;  /* INTEGER_0_63 */
static int hf_nr_rrc_dynamic_r17_01 = -1;         /* SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_dynamicDCI_0_2_r17 = -1;     /* T_dynamicDCI_0_2_r17 */
static int hf_nr_rrc_oneBit_r17 = -1;             /* SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_oneBit_r17_item = -1;        /* BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_twoBits_r17 = -1;            /* SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_twoBits_r17_item = -1;       /* BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_semiStaticDCI_0_2_r17 = -1;  /* BetaOffsetsCrossPri_r17 */
static int hf_nr_rrc_mpe_ResourceId_r17 = -1;     /* MPE_ResourceId_r17 */
static int hf_nr_rrc_cell_r17 = -1;               /* ServCellIndex */
static int hf_nr_rrc_mpe_ReferenceSignal_r17 = -1;  /* T_mpe_ReferenceSignal_r17 */
static int hf_nr_rrc_csi_RS_Resource_r17 = -1;    /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_ssb_Resource_r17 = -1;       /* SSB_Index */
static int hf_nr_rrc_groupHoppingEnabledTransformPrecoding = -1;  /* T_groupHoppingEnabledTransformPrecoding */
static int hf_nr_rrc_pusch_TimeDomainAllocationList_01 = -1;  /* PUSCH_TimeDomainResourceAllocationList */
static int hf_nr_rrc_msg3_DeltaPreamble = -1;     /* INTEGER_M1_6 */
static int hf_nr_rrc_p0_NominalWithGrant = -1;    /* INTEGER_M202_24 */
static int hf_nr_rrc_tpc_Accumulation = -1;       /* T_tpc_Accumulation */
static int hf_nr_rrc_msg3_Alpha = -1;             /* Alpha */
static int hf_nr_rrc_p0_NominalWithoutGrant = -1;  /* INTEGER_M202_24 */
static int hf_nr_rrc_p0_AlphaSets = -1;           /* SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet */
static int hf_nr_rrc_p0_AlphaSets_item = -1;      /* P0_PUSCH_AlphaSet */
static int hf_nr_rrc_pathlossReferenceRSToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS */
static int hf_nr_rrc_pathlossReferenceRSToAddModList_item = -1;  /* PUSCH_PathlossReferenceRS */
static int hf_nr_rrc_pathlossReferenceRSToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id */
static int hf_nr_rrc_pathlossReferenceRSToReleaseList_item = -1;  /* PUSCH_PathlossReferenceRS_Id */
static int hf_nr_rrc_twoPUSCH_PC_AdjustmentStates = -1;  /* T_twoPUSCH_PC_AdjustmentStates */
static int hf_nr_rrc_deltaMCS = -1;               /* T_deltaMCS */
static int hf_nr_rrc_sri_PUSCH_MappingToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl */
static int hf_nr_rrc_sri_PUSCH_MappingToAddModList_item = -1;  /* SRI_PUSCH_PowerControl */
static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId */
static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item = -1;  /* SRI_PUSCH_PowerControlId */
static int hf_nr_rrc_p0_PUSCH_AlphaSetId = -1;    /* P0_PUSCH_AlphaSetId */
static int hf_nr_rrc_p0 = -1;                     /* INTEGER_M16_15 */
static int hf_nr_rrc_alpha = -1;                  /* Alpha */
static int hf_nr_rrc_pusch_PathlossReferenceRS_Id = -1;  /* PUSCH_PathlossReferenceRS_Id */
static int hf_nr_rrc_referenceSignal_02 = -1;     /* T_referenceSignal_02 */
static int hf_nr_rrc_pusch_PathlossReferenceRS_Id_r16 = -1;  /* PUSCH_PathlossReferenceRS_Id_v1610 */
static int hf_nr_rrc_referenceSignal_r16_01 = -1;  /* T_referenceSignal_r16_01 */
static int hf_nr_rrc_pusch_PathlossReferenceRS_Id_r17 = -1;  /* PUSCH_PathlossReferenceRS_Id_r17 */
static int hf_nr_rrc_sri_PUSCH_PowerControlId = -1;  /* SRI_PUSCH_PowerControlId */
static int hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id = -1;  /* PUSCH_PathlossReferenceRS_Id */
static int hf_nr_rrc_sri_P0_PUSCH_AlphaSetId = -1;  /* P0_PUSCH_AlphaSetId */
static int hf_nr_rrc_sri_PUSCH_ClosedLoopIndex = -1;  /* T_sri_PUSCH_ClosedLoopIndex */
static int hf_nr_rrc_pathlossReferenceRSToAddModListSizeExt_v1610 = -1;  /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16 */
static int hf_nr_rrc_pathlossReferenceRSToAddModListSizeExt_v1610_item = -1;  /* PUSCH_PathlossReferenceRS_r16 */
static int hf_nr_rrc_pathlossReferenceRSToReleaseListSizeExt_v1610 = -1;  /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610 */
static int hf_nr_rrc_pathlossReferenceRSToReleaseListSizeExt_v1610_item = -1;  /* PUSCH_PathlossReferenceRS_Id_v1610 */
static int hf_nr_rrc_p0_PUSCH_SetList_r16 = -1;   /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16 */
static int hf_nr_rrc_p0_PUSCH_SetList_r16_item = -1;  /* P0_PUSCH_Set_r16 */
static int hf_nr_rrc_olpc_ParameterSet = -1;      /* T_olpc_ParameterSet */
static int hf_nr_rrc_olpc_ParameterSetDCI_0_1_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_olpc_ParameterSetDCI_0_2_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_sri_PUSCH_MappingToAddModList2_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl */
static int hf_nr_rrc_sri_PUSCH_MappingToAddModList2_r17_item = -1;  /* SRI_PUSCH_PowerControl */
static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList2_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId */
static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList2_r17_item = -1;  /* SRI_PUSCH_PowerControlId */
static int hf_nr_rrc_p0_PUSCH_SetList2_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16 */
static int hf_nr_rrc_p0_PUSCH_SetList2_r17_item = -1;  /* P0_PUSCH_Set_r16 */
static int hf_nr_rrc_dummy_01 = -1;               /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710 */
static int hf_nr_rrc_dummy_item = -1;             /* DummyPathlossReferenceRS_v1710 */
static int hf_nr_rrc_p0_PUSCH_SetId_r16 = -1;     /* P0_PUSCH_SetId_r16 */
static int hf_nr_rrc_p0_List_r16 = -1;            /* SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16 */
static int hf_nr_rrc_p0_List_r16_item = -1;       /* P0_PUSCH_r16 */
static int hf_nr_rrc_codeBlockGroupTransmission_01 = -1;  /* T_codeBlockGroupTransmission_01 */
static int hf_nr_rrc_setup_142 = -1;              /* PUSCH_CodeBlockGroupTransmission */
static int hf_nr_rrc_rateMatching = -1;           /* T_rateMatching */
static int hf_nr_rrc_xOverhead_01 = -1;           /* T_xOverhead_01 */
static int hf_nr_rrc_maxMIMO_Layers_01 = -1;      /* INTEGER_1_4 */
static int hf_nr_rrc_maxMIMO_LayersDCI_0_2_r16 = -1;  /* T_maxMIMO_LayersDCI_0_2_r16 */
static int hf_nr_rrc_setup_143 = -1;              /* MaxMIMO_LayersDCI_0_2_r16 */
static int hf_nr_rrc_nrofHARQ_ProcessesForPUSCH_r17 = -1;  /* T_nrofHARQ_ProcessesForPUSCH_r17 */
static int hf_nr_rrc_uplinkHARQ_mode_r17 = -1;    /* T_uplinkHARQ_mode_r17 */
static int hf_nr_rrc_setup_144 = -1;              /* UplinkHARQ_mode_r17 */
static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01 = -1;  /* T_maxCodeBlockGroupsPerTransportBlock_01 */
static int hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item = -1;  /* PUSCH_TimeDomainResourceAllocation */
static int hf_nr_rrc_k2 = -1;                     /* INTEGER_0_32 */
static int hf_nr_rrc_mappingType_01 = -1;         /* T_mappingType_01 */
static int hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16_item = -1;  /* PUSCH_TimeDomainResourceAllocation_r16 */
static int hf_nr_rrc_k2_r16 = -1;                 /* INTEGER_0_32 */
static int hf_nr_rrc_puschAllocationList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16 */
static int hf_nr_rrc_puschAllocationList_r16_item = -1;  /* PUSCH_Allocation_r16 */
static int hf_nr_rrc_mappingType_r16_01 = -1;     /* T_mappingType_r16_01 */
static int hf_nr_rrc_startSymbol_r16 = -1;        /* INTEGER_0_13 */
static int hf_nr_rrc_length_r16 = -1;             /* INTEGER_1_14 */
static int hf_nr_rrc_numberOfRepetitions_r16 = -1;  /* T_numberOfRepetitions_r16 */
static int hf_nr_rrc_numberOfRepetitionsExt_r17 = -1;  /* T_numberOfRepetitionsExt_r17 */
static int hf_nr_rrc_numberOfSlotsTBoMS_r17 = -1;  /* T_numberOfSlotsTBoMS_r17 */
static int hf_nr_rrc_extendedK2_r17 = -1;         /* INTEGER_0_128 */
static int hf_nr_rrc_tpc_Index = -1;              /* INTEGER_1_15 */
static int hf_nr_rrc_tpc_IndexSUL = -1;           /* INTEGER_1_15 */
static int hf_nr_rrc_targetCell = -1;             /* ServCellIndex */
static int hf_nr_rrc_quantityConfigNR_List = -1;  /* SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR */
static int hf_nr_rrc_quantityConfigNR_List_item = -1;  /* QuantityConfigNR */
static int hf_nr_rrc_quantityConfigEUTRA = -1;    /* FilterConfig */
static int hf_nr_rrc_quantityConfigUTRA_FDD_r16 = -1;  /* QuantityConfigUTRA_FDD_r16 */
static int hf_nr_rrc_quantityConfigCLI_r16 = -1;  /* FilterConfigCLI_r16 */
static int hf_nr_rrc_quantityConfigCell = -1;     /* QuantityConfigRS */
static int hf_nr_rrc_quantityConfigRS_Index = -1;  /* QuantityConfigRS */
static int hf_nr_rrc_ssb_FilterConfig = -1;       /* FilterConfig */
static int hf_nr_rrc_csi_RS_FilterConfig = -1;    /* FilterConfig */
static int hf_nr_rrc_filterCoefficientRSRP = -1;  /* FilterCoefficient */
static int hf_nr_rrc_filterCoefficientRSRQ = -1;  /* FilterCoefficient */
static int hf_nr_rrc_filterCoefficientRS_SINR = -1;  /* FilterCoefficient */
static int hf_nr_rrc_filterCoefficientSRS_RSRP_r16 = -1;  /* FilterCoefficient */
static int hf_nr_rrc_filterCoefficientCLI_RSSI_r16 = -1;  /* FilterCoefficient */
static int hf_nr_rrc_filterCoefficientRSCP_r16 = -1;  /* FilterCoefficient */
static int hf_nr_rrc_filterCoefficientEcNO_r16 = -1;  /* FilterCoefficient */
static int hf_nr_rrc_rach_ConfigGeneric = -1;     /* RACH_ConfigGeneric */
static int hf_nr_rrc_totalNumberOfRA_Preambles = -1;  /* INTEGER_1_63 */
static int hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1;  /* T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB */
static int hf_nr_rrc_oneEighth = -1;              /* T_oneEighth */
static int hf_nr_rrc_oneFourth = -1;              /* T_oneFourth */
static int hf_nr_rrc_oneHalf = -1;                /* T_oneHalf */
static int hf_nr_rrc_one_01 = -1;                 /* T_one */
static int hf_nr_rrc_two_03 = -1;                 /* T_two_03 */
static int hf_nr_rrc_four = -1;                   /* INTEGER_1_16 */
static int hf_nr_rrc_eight = -1;                  /* INTEGER_1_8 */
static int hf_nr_rrc_sixteen = -1;                /* INTEGER_1_4 */
static int hf_nr_rrc_groupBconfigured = -1;       /* T_groupBconfigured */
static int hf_nr_rrc_ra_Msg3SizeGroupA = -1;      /* T_ra_Msg3SizeGroupA */
static int hf_nr_rrc_messagePowerOffsetGroupB = -1;  /* T_messagePowerOffsetGroupB */
static int hf_nr_rrc_numberOfRA_PreamblesGroupA = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_ra_ContentionResolutionTimer = -1;  /* T_ra_ContentionResolutionTimer */
static int hf_nr_rrc_rsrp_ThresholdSSB_SUL = -1;  /* RSRP_Range */
static int hf_nr_rrc_prach_RootSequenceIndex = -1;  /* T_prach_RootSequenceIndex */
static int hf_nr_rrc_l839 = -1;                   /* INTEGER_0_837 */
static int hf_nr_rrc_l139 = -1;                   /* INTEGER_0_137 */
static int hf_nr_rrc_restrictedSetConfig = -1;    /* T_restrictedSetConfig */
static int hf_nr_rrc_msg3_transformPrecoder = -1;  /* T_msg3_transformPrecoder */
static int hf_nr_rrc_ra_PrioritizationForAccessIdentity_r16 = -1;  /* T_ra_PrioritizationForAccessIdentity_r16 */
static int hf_nr_rrc_ra_Prioritization_r16 = -1;  /* RA_Prioritization */
static int hf_nr_rrc_ra_PrioritizationForAI_r16 = -1;  /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_prach_RootSequenceIndex_r16 = -1;  /* T_prach_RootSequenceIndex_r16 */
static int hf_nr_rrc_l571 = -1;                   /* INTEGER_0_569 */
static int hf_nr_rrc_l1151 = -1;                  /* INTEGER_0_1149 */
static int hf_nr_rrc_ra_PrioritizationForSlicing_r17 = -1;  /* RA_PrioritizationForSlicing_r17 */
static int hf_nr_rrc_featureCombinationPreamblesList_r17 = -1;  /* SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17 */
static int hf_nr_rrc_featureCombinationPreamblesList_r17_item = -1;  /* FeatureCombinationPreambles_r17 */
static int hf_nr_rrc_rach_ConfigGenericTwoStepRA_r16 = -1;  /* RACH_ConfigGenericTwoStepRA_r16 */
static int hf_nr_rrc_msgA_TotalNumberOfRA_Preambles_r16 = -1;  /* INTEGER_1_63 */
static int hf_nr_rrc_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16 = -1;  /* T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16 */
static int hf_nr_rrc_oneEighth_01 = -1;           /* T_oneEighth_01 */
static int hf_nr_rrc_oneFourth_01 = -1;           /* T_oneFourth_01 */
static int hf_nr_rrc_oneHalf_01 = -1;             /* T_oneHalf_01 */
static int hf_nr_rrc_one_02 = -1;                 /* T_one_01 */
static int hf_nr_rrc_two_04 = -1;                 /* T_two_04 */
static int hf_nr_rrc_msgA_CB_PreamblesPerSSB_PerSharedRO_r16 = -1;  /* INTEGER_1_60 */
static int hf_nr_rrc_msgA_SSB_SharedRO_MaskIndex_r16 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_groupB_ConfiguredTwoStepRA_r16 = -1;  /* GroupB_ConfiguredTwoStepRA_r16 */
static int hf_nr_rrc_msgA_PRACH_RootSequenceIndex_r16 = -1;  /* T_msgA_PRACH_RootSequenceIndex_r16 */
static int hf_nr_rrc_msgA_TransMax_r16 = -1;      /* T_msgA_TransMax_r16 */
static int hf_nr_rrc_msgA_RSRP_Threshold_r16 = -1;  /* RSRP_Range */
static int hf_nr_rrc_msgA_RSRP_ThresholdSSB_r16 = -1;  /* RSRP_Range */
static int hf_nr_rrc_msgA_SubcarrierSpacing_r16 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_msgA_RestrictedSetConfig_r16 = -1;  /* T_msgA_RestrictedSetConfig_r16 */
static int hf_nr_rrc_ra_PrioritizationForAccessIdentityTwoStep_r16 = -1;  /* T_ra_PrioritizationForAccessIdentityTwoStep_r16 */
static int hf_nr_rrc_ra_ContentionResolutionTimer_r16 = -1;  /* T_ra_ContentionResolutionTimer_r16 */
static int hf_nr_rrc_ra_PrioritizationForSlicingTwoStep_r17 = -1;  /* RA_PrioritizationForSlicing_r17 */
static int hf_nr_rrc_ra_MsgA_SizeGroupA = -1;     /* T_ra_MsgA_SizeGroupA */
static int hf_nr_rrc_messagePowerOffsetGroupB_01 = -1;  /* T_messagePowerOffsetGroupB_01 */
static int hf_nr_rrc_cfra = -1;                   /* CFRA */
static int hf_nr_rrc_cfra_TwoStep_r16 = -1;       /* CFRA_TwoStep_r16 */
static int hf_nr_rrc_occasions = -1;              /* T_occasions */
static int hf_nr_rrc_ssb_perRACH_Occasion_01 = -1;  /* T_ssb_perRACH_Occasion_01 */
static int hf_nr_rrc_resources = -1;              /* T_resources */
static int hf_nr_rrc_ssb_02 = -1;                 /* T_ssb */
static int hf_nr_rrc_ssb_ResourceList = -1;       /* SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource */
static int hf_nr_rrc_ssb_ResourceList_item = -1;  /* CFRA_SSB_Resource */
static int hf_nr_rrc_csirs = -1;                  /* T_csirs */
static int hf_nr_rrc_csirs_ResourceList = -1;     /* SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource */
static int hf_nr_rrc_csirs_ResourceList_item = -1;  /* CFRA_CSIRS_Resource */
static int hf_nr_rrc_rsrp_ThresholdCSI_RS = -1;   /* RSRP_Range */
static int hf_nr_rrc_occasionsTwoStepRA_r16 = -1;  /* T_occasionsTwoStepRA_r16 */
static int hf_nr_rrc_ssb_PerRACH_OccasionTwoStepRA_r16 = -1;  /* T_ssb_PerRACH_OccasionTwoStepRA_r16 */
static int hf_nr_rrc_msgA_CFRA_PUSCH_r16 = -1;    /* MsgA_PUSCH_Resource_r16 */
static int hf_nr_rrc_msgA_TransMax_r16_01 = -1;   /* T_msgA_TransMax_r16_01 */
static int hf_nr_rrc_resourcesTwoStep_r16 = -1;   /* T_resourcesTwoStep_r16 */
static int hf_nr_rrc_msgA_PUSCH_Resource_Index_r16 = -1;  /* INTEGER_0_3071 */
static int hf_nr_rrc_csi_RS_02 = -1;              /* CSI_RS_Index */
static int hf_nr_rrc_ra_OccasionList_01 = -1;     /* T_ra_OccasionList_01 */
static int hf_nr_rrc_prach_ConfigurationIndex = -1;  /* INTEGER_0_255 */
static int hf_nr_rrc_msg1_FDM = -1;               /* T_msg1_FDM */
static int hf_nr_rrc_msg1_FrequencyStart = -1;    /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_zeroCorrelationZoneConfig = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_preambleReceivedTargetPower = -1;  /* INTEGER_M202_M60 */
static int hf_nr_rrc_preambleTransMax = -1;       /* T_preambleTransMax */
static int hf_nr_rrc_powerRampingStep = -1;       /* T_powerRampingStep */
static int hf_nr_rrc_ra_ResponseWindow = -1;      /* T_ra_ResponseWindow */
static int hf_nr_rrc_prach_ConfigurationPeriodScaling_IAB_r16 = -1;  /* T_prach_ConfigurationPeriodScaling_IAB_r16 */
static int hf_nr_rrc_prach_ConfigurationFrameOffset_IAB_r16 = -1;  /* INTEGER_0_63 */
static int hf_nr_rrc_prach_ConfigurationSOffset_IAB_r16 = -1;  /* INTEGER_0_39 */
static int hf_nr_rrc_ra_ResponseWindow_v1610 = -1;  /* T_ra_ResponseWindow_v1610 */
static int hf_nr_rrc_prach_ConfigurationIndex_v1610 = -1;  /* INTEGER_256_262 */
static int hf_nr_rrc_ra_ResponseWindow_v1700 = -1;  /* T_ra_ResponseWindow_v1700 */
static int hf_nr_rrc_msgA_PRACH_ConfigurationIndex_r16 = -1;  /* INTEGER_0_262 */
static int hf_nr_rrc_msgA_RO_FDM_r16 = -1;        /* T_msgA_RO_FDM_r16 */
static int hf_nr_rrc_msgA_RO_FrequencyStart_r16 = -1;  /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_msgA_ZeroCorrelationZoneConfig_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_msgA_PreamblePowerRampingStep_r16 = -1;  /* T_msgA_PreamblePowerRampingStep_r16 */
static int hf_nr_rrc_msgA_PreambleReceivedTargetPower_r16 = -1;  /* INTEGER_M202_M60 */
static int hf_nr_rrc_msgB_ResponseWindow_r16 = -1;  /* T_msgB_ResponseWindow_r16 */
static int hf_nr_rrc_preambleTransMax_r16 = -1;   /* T_preambleTransMax_r16 */
static int hf_nr_rrc_msgB_ResponseWindow_v1700 = -1;  /* T_msgB_ResponseWindow_v1700 */
static int hf_nr_rrc_powerRampingStepHighPriority = -1;  /* T_powerRampingStepHighPriority */
static int hf_nr_rrc_scalingFactorBI = -1;        /* T_scalingFactorBI */
static int hf_nr_rrc_ra_PrioritizationSliceInfoList_r17 = -1;  /* RA_PrioritizationSliceInfoList_r17 */
static int hf_nr_rrc_RA_PrioritizationSliceInfoList_r17_item = -1;  /* RA_PrioritizationSliceInfo_r17 */
static int hf_nr_rrc_nsag_ID_List_r17 = -1;       /* SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17 */
static int hf_nr_rrc_nsag_ID_List_r17_item = -1;  /* NSAG_ID_r17 */
static int hf_nr_rrc_ra_Prioritization_r17 = -1;  /* RA_Prioritization */
static int hf_nr_rrc_srb_ToAddModList = -1;       /* SRB_ToAddModList */
static int hf_nr_rrc_srb3_ToRelease = -1;         /* T_srb3_ToRelease */
static int hf_nr_rrc_drb_ToAddModList = -1;       /* DRB_ToAddModList */
static int hf_nr_rrc_drb_ToReleaseList = -1;      /* DRB_ToReleaseList */
static int hf_nr_rrc_securityConfig = -1;         /* SecurityConfig */
static int hf_nr_rrc_mrb_ToAddModList_r17 = -1;   /* MRB_ToAddModList_r17 */
static int hf_nr_rrc_mrb_ToReleaseList_r17 = -1;  /* MRB_ToReleaseList_r17 */
static int hf_nr_rrc_srb4_ToAddMod_r17 = -1;      /* SRB_ToAddMod */
static int hf_nr_rrc_srb4_ToRelease_r17 = -1;     /* T_srb4_ToRelease_r17 */
static int hf_nr_rrc_SRB_ToAddModList_item = -1;  /* SRB_ToAddMod */
static int hf_nr_rrc_srb_Identity = -1;           /* SRB_Identity */
static int hf_nr_rrc_reestablishPDCP = -1;        /* T_reestablishPDCP */
static int hf_nr_rrc_discardOnPDCP = -1;          /* T_discardOnPDCP */
static int hf_nr_rrc_pdcp_Config = -1;            /* PDCP_Config */
static int hf_nr_rrc_srb_Identity_v1700 = -1;     /* SRB_Identity_v1700 */
static int hf_nr_rrc_DRB_ToAddModList_item = -1;  /* DRB_ToAddMod */
static int hf_nr_rrc_cnAssociation = -1;          /* T_cnAssociation */
static int hf_nr_rrc_eps_BearerIdentity = -1;     /* INTEGER_0_15 */
static int hf_nr_rrc_sdap_Config = -1;            /* SDAP_Config */
static int hf_nr_rrc_reestablishPDCP_01 = -1;     /* T_reestablishPDCP_01 */
static int hf_nr_rrc_recoverPDCP = -1;            /* T_recoverPDCP */
static int hf_nr_rrc_daps_Config_r16 = -1;        /* T_daps_Config_r16 */
static int hf_nr_rrc_DRB_ToReleaseList_item = -1;  /* DRB_Identity */
static int hf_nr_rrc_keyToUse = -1;               /* T_keyToUse */
static int hf_nr_rrc_MRB_ToAddModList_r17_item = -1;  /* MRB_ToAddMod_r17 */
static int hf_nr_rrc_mbs_SessionId_r17 = -1;      /* TMGI_r17 */
static int hf_nr_rrc_mrb_Identity_r17 = -1;       /* MRB_Identity_r17 */
static int hf_nr_rrc_mrb_IdentityNew_r17 = -1;    /* MRB_Identity_r17 */
static int hf_nr_rrc_reestablishPDCP_r17 = -1;    /* T_reestablishPDCP_r17 */
static int hf_nr_rrc_recoverPDCP_r17 = -1;        /* T_recoverPDCP_r17 */
static int hf_nr_rrc_pdcp_Config_r17 = -1;        /* PDCP_Config */
static int hf_nr_rrc_MRB_ToReleaseList_r17_item = -1;  /* MRB_Identity_r17 */
static int hf_nr_rrc_failureDetectionResourcesToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS */
static int hf_nr_rrc_failureDetectionResourcesToAddModList_item = -1;  /* RadioLinkMonitoringRS */
static int hf_nr_rrc_failureDetectionResourcesToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id */
static int hf_nr_rrc_failureDetectionResourcesToReleaseList_item = -1;  /* RadioLinkMonitoringRS_Id */
static int hf_nr_rrc_beamFailureInstanceMaxCount = -1;  /* T_beamFailureInstanceMaxCount */
static int hf_nr_rrc_beamFailureDetectionTimer = -1;  /* T_beamFailureDetectionTimer */
static int hf_nr_rrc_beamFailure_r17 = -1;        /* BeamFailureDetection_r17 */
static int hf_nr_rrc_failureDetectionSet1_r17 = -1;  /* BeamFailureDetectionSet_r17 */
static int hf_nr_rrc_failureDetectionSet2_r17 = -1;  /* BeamFailureDetectionSet_r17 */
static int hf_nr_rrc_radioLinkMonitoringRS_Id = -1;  /* RadioLinkMonitoringRS_Id */
static int hf_nr_rrc_purpose = -1;                /* T_purpose */
static int hf_nr_rrc_detectionResource = -1;      /* T_detectionResource */
static int hf_nr_rrc_bfdResourcesToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17 */
static int hf_nr_rrc_bfdResourcesToAddModList_r17_item = -1;  /* BeamLinkMonitoringRS_r17 */
static int hf_nr_rrc_bfdResourcesToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17 */
static int hf_nr_rrc_bfdResourcesToReleaseList_r17_item = -1;  /* BeamLinkMonitoringRS_Id_r17 */
static int hf_nr_rrc_beamFailureInstanceMaxCount_r17 = -1;  /* T_beamFailureInstanceMaxCount_r17 */
static int hf_nr_rrc_beamFailureDetectionTimer_r17 = -1;  /* T_beamFailureDetectionTimer_r17 */
static int hf_nr_rrc_beamLinkMonitoringRS_Id_r17 = -1;  /* BeamLinkMonitoringRS_Id_r17 */
static int hf_nr_rrc_detectionResource_r17 = -1;  /* T_detectionResource_r17 */
static int hf_nr_rrc_rateMatchPatternId = -1;     /* RateMatchPatternId */
static int hf_nr_rrc_patternType = -1;            /* T_patternType */
static int hf_nr_rrc_bitmaps = -1;                /* T_bitmaps */
static int hf_nr_rrc_resourceBlocks = -1;         /* BIT_STRING_SIZE_275 */
static int hf_nr_rrc_symbolsInResourceBlock = -1;  /* T_symbolsInResourceBlock */
static int hf_nr_rrc_periodicityAndPattern = -1;  /* T_periodicityAndPattern */
static int hf_nr_rrc_controlResourceSet = -1;     /* ControlResourceSetId */
static int hf_nr_rrc_rateMatchPattern_dummy = -1;  /* T_rateMatchPattern_dummy */
static int hf_nr_rrc_controlResourceSet_r16 = -1;  /* ControlResourceSetId_r16 */
static int hf_nr_rrc_carrierFreqDL = -1;          /* INTEGER_0_16383 */
static int hf_nr_rrc_carrierBandwidthDL = -1;     /* T_carrierBandwidthDL */
static int hf_nr_rrc_mbsfn_SubframeConfigList = -1;  /* EUTRA_MBSFN_SubframeConfigList */
static int hf_nr_rrc_nrofCRS_Ports = -1;          /* T_nrofCRS_Ports */
static int hf_nr_rrc_v_Shift = -1;                /* T_v_Shift */
static int hf_nr_rrc_LTE_CRS_PatternList_r16_item = -1;  /* RateMatchPatternLTE_CRS */
static int hf_nr_rrc_time_r16 = -1;               /* ReferenceTime_r16 */
static int hf_nr_rrc_uncertainty_r16 = -1;        /* INTEGER_0_32767 */
static int hf_nr_rrc_timeInfoType_r16 = -1;       /* T_timeInfoType_r16 */
static int hf_nr_rrc_referenceSFN_r16 = -1;       /* INTEGER_0_1023 */
static int hf_nr_rrc_refDays_r16 = -1;            /* INTEGER_0_72999 */
static int hf_nr_rrc_refSeconds_r16 = -1;         /* INTEGER_0_86399 */
static int hf_nr_rrc_refMilliSeconds_r16 = -1;    /* INTEGER_0_999 */
static int hf_nr_rrc_refTenNanoSeconds_r16 = -1;  /* INTEGER_0_99999 */
static int hf_nr_rrc_fdm_TDM_r16 = -1;            /* T_fdm_TDM_r16 */
static int hf_nr_rrc_setup_145 = -1;              /* FDM_TDM_r16 */
static int hf_nr_rrc_slotBased_r16 = -1;          /* T_slotBased_r16 */
static int hf_nr_rrc_setup_146 = -1;              /* SlotBased_r16 */
static int hf_nr_rrc_slotBased_v1630 = -1;        /* T_slotBased_v1630 */
static int hf_nr_rrc_setup_147 = -1;              /* SlotBased_v1630 */
static int hf_nr_rrc_repetitionScheme_r16 = -1;   /* T_repetitionScheme_r16 */
static int hf_nr_rrc_startingSymbolOffsetK_r16 = -1;  /* INTEGER_0_7 */
static int hf_nr_rrc_tciMapping_r16 = -1;         /* T_tciMapping_r16 */
static int hf_nr_rrc_sequenceOffsetForRV_r16 = -1;  /* INTEGER_1_3 */
static int hf_nr_rrc_tciMapping_r16_01 = -1;      /* T_tciMapping_r16_01 */
static int hf_nr_rrc_sequenceOffsetForRV_r16_01 = -1;  /* INTEGER_0 */
static int hf_nr_rrc_reportType_01 = -1;          /* T_reportType_01 */
static int hf_nr_rrc_periodical_01 = -1;          /* PeriodicalReportConfigInterRAT */
static int hf_nr_rrc_eventTriggered_01 = -1;      /* EventTriggerConfigInterRAT */
static int hf_nr_rrc_reportCGI = -1;              /* ReportCGI_EUTRA */
static int hf_nr_rrc_reportSFTD = -1;             /* ReportSFTD_EUTRA */
static int hf_nr_rrc_cellForWhichToReportCGI_01 = -1;  /* EUTRA_PhysCellId */
static int hf_nr_rrc_useAutonomousGaps_r16 = -1;  /* T_useAutonomousGaps_r16 */
static int hf_nr_rrc_reportSFTD_Meas = -1;        /* BOOLEAN */
static int hf_nr_rrc_reportRSRP = -1;             /* BOOLEAN */
static int hf_nr_rrc_eventId = -1;                /* T_eventId */
static int hf_nr_rrc_eventB1 = -1;                /* T_eventB1 */
static int hf_nr_rrc_b1_ThresholdEUTRA = -1;      /* MeasTriggerQuantityEUTRA */
static int hf_nr_rrc_reportOnLeave = -1;          /* BOOLEAN */
static int hf_nr_rrc_eventB2 = -1;                /* T_eventB2 */
static int hf_nr_rrc_b2_Threshold1 = -1;          /* MeasTriggerQuantity */
static int hf_nr_rrc_b2_Threshold2EUTRA = -1;     /* MeasTriggerQuantityEUTRA */
static int hf_nr_rrc_eventB1_UTRA_FDD_r16 = -1;   /* T_eventB1_UTRA_FDD_r16 */
static int hf_nr_rrc_b1_ThresholdUTRA_FDD_r16 = -1;  /* MeasTriggerQuantityUTRA_FDD_r16 */
static int hf_nr_rrc_reportOnLeave_r16 = -1;      /* BOOLEAN */
static int hf_nr_rrc_hysteresis_r16 = -1;         /* Hysteresis */
static int hf_nr_rrc_timeToTrigger_r16 = -1;      /* TimeToTrigger */
static int hf_nr_rrc_eventB2_UTRA_FDD_r16 = -1;   /* T_eventB2_UTRA_FDD_r16 */
static int hf_nr_rrc_b2_Threshold1_r16 = -1;      /* MeasTriggerQuantity */
static int hf_nr_rrc_b2_Threshold2UTRA_FDD_r16 = -1;  /* MeasTriggerQuantityUTRA_FDD_r16 */
static int hf_nr_rrc_eventY1_Relay_r17 = -1;      /* T_eventY1_Relay_r17 */
static int hf_nr_rrc_y1_Threshold1_r17 = -1;      /* MeasTriggerQuantity */
static int hf_nr_rrc_y1_Threshold2_Relay_r17 = -1;  /* SL_MeasTriggerQuantity_r16 */
static int hf_nr_rrc_reportOnLeave_r17 = -1;      /* BOOLEAN */
static int hf_nr_rrc_hysteresis_r17 = -1;         /* Hysteresis */
static int hf_nr_rrc_timeToTrigger_r17 = -1;      /* TimeToTrigger */
static int hf_nr_rrc_eventY2_Relay_r17 = -1;      /* T_eventY2_Relay_r17 */
static int hf_nr_rrc_y2_Threshold_Relay_r17 = -1;  /* SL_MeasTriggerQuantity_r16 */
static int hf_nr_rrc_rsType = -1;                 /* NR_RS_Type */
static int hf_nr_rrc_reportInterval = -1;         /* ReportInterval */
static int hf_nr_rrc_reportAmount = -1;           /* T_reportAmount */
static int hf_nr_rrc_reportQuantity_01 = -1;      /* MeasReportQuantity */
static int hf_nr_rrc_maxReportCells = -1;         /* INTEGER_1_maxCellReport */
static int hf_nr_rrc_reportQuantityUTRA_FDD_r16 = -1;  /* MeasReportQuantityUTRA_FDD_r16 */
static int hf_nr_rrc_includeCommonLocationInfo_r16 = -1;  /* T_includeCommonLocationInfo_r16 */
static int hf_nr_rrc_includeBT_Meas_r16 = -1;     /* T_includeBT_Meas_r16 */
static int hf_nr_rrc_includeWLAN_Meas_r16 = -1;   /* T_includeWLAN_Meas_r16 */
static int hf_nr_rrc_includeSensor_Meas_r16 = -1;  /* T_includeSensor_Meas_r16 */
static int hf_nr_rrc_reportQuantityRelay_r17 = -1;  /* SL_MeasReportQuantity_r16 */
static int hf_nr_rrc_reportAmount_01 = -1;        /* T_reportAmount_01 */
static int hf_nr_rrc_includeCommonLocationInfo_r16_01 = -1;  /* T_includeCommonLocationInfo_r16_01 */
static int hf_nr_rrc_includeBT_Meas_r16_01 = -1;  /* T_includeBT_Meas_r16_01 */
static int hf_nr_rrc_includeWLAN_Meas_r16_01 = -1;  /* T_includeWLAN_Meas_r16_01 */
static int hf_nr_rrc_includeSensor_Meas_r16_01 = -1;  /* T_includeSensor_Meas_r16_01 */
static int hf_nr_rrc_utra_FDD_RSCP_r16_01 = -1;   /* MeasTriggerQuantityUTRA_FDD_RSCP_r16 */
static int hf_nr_rrc_utra_FDD_EcN0_r16_01 = -1;   /* MeasTriggerQuantityUTRA_FDD_EcN0_r16 */
static int hf_nr_rrc_cpich_RSCP = -1;             /* BOOLEAN */
static int hf_nr_rrc_cpich_EcN0 = -1;             /* BOOLEAN */
static int hf_nr_rrc_reportType_02 = -1;          /* T_reportType_02 */
static int hf_nr_rrc_periodical_02 = -1;          /* PeriodicalReportConfig */
static int hf_nr_rrc_eventTriggered_02 = -1;      /* EventTriggerConfig */
static int hf_nr_rrc_reportCGI_01 = -1;           /* ReportCGI */
static int hf_nr_rrc_reportSFTD_01 = -1;          /* ReportSFTD_NR */
static int hf_nr_rrc_condTriggerConfig_r16 = -1;  /* CondTriggerConfig_r16 */
static int hf_nr_rrc_cli_Periodical_r16 = -1;     /* CLI_PeriodicalReportConfig_r16 */
static int hf_nr_rrc_cli_EventTriggered_r16 = -1;  /* CLI_EventTriggerConfig_r16 */
static int hf_nr_rrc_rxTxPeriodical_r17 = -1;     /* RxTxPeriodical_r17 */
static int hf_nr_rrc_useAutonomousGaps_r16_01 = -1;  /* T_useAutonomousGaps_r16_01 */
static int hf_nr_rrc_reportSFTD_NeighMeas = -1;   /* T_reportSFTD_NeighMeas */
static int hf_nr_rrc_drx_SFTD_NeighMeas = -1;     /* T_drx_SFTD_NeighMeas */
static int hf_nr_rrc_cellsForWhichToReportSFTD = -1;  /* SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId */
static int hf_nr_rrc_cellsForWhichToReportSFTD_item = -1;  /* PhysCellId */
static int hf_nr_rrc_condEventId = -1;            /* T_condEventId */
static int hf_nr_rrc_condEventA3 = -1;            /* T_condEventA3 */
static int hf_nr_rrc_a3_Offset = -1;              /* MeasTriggerQuantityOffset */
static int hf_nr_rrc_condEventA5 = -1;            /* T_condEventA5 */
static int hf_nr_rrc_a5_Threshold1 = -1;          /* MeasTriggerQuantity */
static int hf_nr_rrc_a5_Threshold2 = -1;          /* MeasTriggerQuantity */
static int hf_nr_rrc_condEventA4_r17 = -1;        /* T_condEventA4_r17 */
static int hf_nr_rrc_a4_Threshold_r17 = -1;       /* MeasTriggerQuantity */
static int hf_nr_rrc_condEventD1_r17 = -1;        /* T_condEventD1_r17 */
static int hf_nr_rrc_distanceThreshFromReference1_r17 = -1;  /* INTEGER_0_65525 */
static int hf_nr_rrc_distanceThreshFromReference2_r17 = -1;  /* INTEGER_0_65525 */
static int hf_nr_rrc_referenceLocation1_r17 = -1;  /* ReferenceLocation_r17 */
static int hf_nr_rrc_referenceLocation2_r17 = -1;  /* ReferenceLocation_r17 */
static int hf_nr_rrc_hysteresisLocation_r17 = -1;  /* HysteresisLocation_r17 */
static int hf_nr_rrc_condEventT1_r17 = -1;        /* T_condEventT1_r17 */
static int hf_nr_rrc_t1_Threshold_r17 = -1;       /* INTEGER_0_549755813887 */
static int hf_nr_rrc_duration_r17_01 = -1;        /* INTEGER_1_6000 */
static int hf_nr_rrc_rsType_r16 = -1;             /* NR_RS_Type */
static int hf_nr_rrc_eventId_01 = -1;             /* T_eventId_01 */
static int hf_nr_rrc_eventA1 = -1;                /* T_eventA1 */
static int hf_nr_rrc_a1_Threshold = -1;           /* MeasTriggerQuantity */
static int hf_nr_rrc_eventA2 = -1;                /* T_eventA2 */
static int hf_nr_rrc_a2_Threshold = -1;           /* MeasTriggerQuantity */
static int hf_nr_rrc_eventA3 = -1;                /* T_eventA3 */
static int hf_nr_rrc_useAllowedCellList = -1;     /* BOOLEAN */
static int hf_nr_rrc_eventA4 = -1;                /* T_eventA4 */
static int hf_nr_rrc_a4_Threshold = -1;           /* MeasTriggerQuantity */
static int hf_nr_rrc_eventA5 = -1;                /* T_eventA5 */
static int hf_nr_rrc_eventA6 = -1;                /* T_eventA6 */
static int hf_nr_rrc_a6_Offset = -1;              /* MeasTriggerQuantityOffset */
static int hf_nr_rrc_eventX1_r17 = -1;            /* T_eventX1_r17 */
static int hf_nr_rrc_x1_Threshold1_Relay_r17 = -1;  /* SL_MeasTriggerQuantity_r16 */
static int hf_nr_rrc_x1_Threshold2_r17 = -1;      /* MeasTriggerQuantity */
static int hf_nr_rrc_useAllowedCellList_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_eventX2_r17 = -1;            /* T_eventX2_r17 */
static int hf_nr_rrc_x2_Threshold_Relay_r17 = -1;  /* SL_MeasTriggerQuantity_r16 */
static int hf_nr_rrc_eventD1_r17 = -1;            /* T_eventD1_r17 */
static int hf_nr_rrc_distanceThreshFromReference1_r17_01 = -1;  /* INTEGER_1_65525 */
static int hf_nr_rrc_distanceThreshFromReference2_r17_01 = -1;  /* INTEGER_1_65525 */
static int hf_nr_rrc_reportAmount_02 = -1;        /* T_reportAmount_02 */
static int hf_nr_rrc_reportQuantityCell = -1;     /* MeasReportQuantity */
static int hf_nr_rrc_reportQuantityRS_Indexes = -1;  /* MeasReportQuantity */
static int hf_nr_rrc_maxNrofRS_IndexesToReport = -1;  /* INTEGER_1_maxNrofIndexesToReport */
static int hf_nr_rrc_includeBeamMeasurements = -1;  /* BOOLEAN */
static int hf_nr_rrc_reportAddNeighMeas = -1;     /* T_reportAddNeighMeas */
static int hf_nr_rrc_measRSSI_ReportConfig_r16 = -1;  /* MeasRSSI_ReportConfig_r16 */
static int hf_nr_rrc_useT312_r16 = -1;            /* BOOLEAN */
static int hf_nr_rrc_includeCommonLocationInfo_r16_02 = -1;  /* T_includeCommonLocationInfo_r16_02 */
static int hf_nr_rrc_includeBT_Meas_r16_02 = -1;  /* T_includeBT_Meas_r16_02 */
static int hf_nr_rrc_includeWLAN_Meas_r16_02 = -1;  /* T_includeWLAN_Meas_r16_02 */
static int hf_nr_rrc_includeSensor_Meas_r16_02 = -1;  /* T_includeSensor_Meas_r16_02 */
static int hf_nr_rrc_coarseLocationRequest_r17_01 = -1;  /* T_coarseLocationRequest_r17_01 */
static int hf_nr_rrc_reportAmount_03 = -1;        /* T_reportAmount_03 */
static int hf_nr_rrc_includeCommonLocationInfo_r16_03 = -1;  /* T_includeCommonLocationInfo_r16_03 */
static int hf_nr_rrc_includeBT_Meas_r16_03 = -1;  /* T_includeBT_Meas_r16_03 */
static int hf_nr_rrc_includeWLAN_Meas_r16_03 = -1;  /* T_includeWLAN_Meas_r16_03 */
static int hf_nr_rrc_includeSensor_Meas_r16_03 = -1;  /* T_includeSensor_Meas_r16_03 */
static int hf_nr_rrc_ul_DelayValueConfig_r16 = -1;  /* T_ul_DelayValueConfig_r16 */
static int hf_nr_rrc_setup_148 = -1;              /* UL_DelayValueConfig_r16 */
static int hf_nr_rrc_reportAddNeighMeas_r16 = -1;  /* T_reportAddNeighMeas_r16 */
static int hf_nr_rrc_ul_ExcessDelayConfig_r17 = -1;  /* T_ul_ExcessDelayConfig_r17 */
static int hf_nr_rrc_setup_149 = -1;              /* UL_ExcessDelayConfig_r17 */
static int hf_nr_rrc_coarseLocationRequest_r17_02 = -1;  /* T_coarseLocationRequest_r17_02 */
static int hf_nr_rrc_measTriggerQuantity_rsrp = -1;  /* RSRP_Range */
static int hf_nr_rrc_measTriggerQuantity_rsrq = -1;  /* RSRQ_Range */
static int hf_nr_rrc_measTriggerQuantity_sinr = -1;  /* SINR_Range */
static int hf_nr_rrc_measTriggerQuantityOffset_rsrp = -1;  /* INTEGER_M30_30 */
static int hf_nr_rrc_measTriggerQuantityOffset_rsrq = -1;  /* INTEGER_M30_30 */
static int hf_nr_rrc_measTriggerQuantityOffset_sinr = -1;  /* INTEGER_M30_30 */
static int hf_nr_rrc_measReportQuantity_rsrp = -1;  /* BOOLEAN */
static int hf_nr_rrc_measReportQuantity_rsrq = -1;  /* BOOLEAN */
static int hf_nr_rrc_measReportQuantity_sinr = -1;  /* BOOLEAN */
static int hf_nr_rrc_channelOccupancyThreshold_r16 = -1;  /* RSSI_Range_r16 */
static int hf_nr_rrc_eventId_r16 = -1;            /* T_eventId_r16 */
static int hf_nr_rrc_eventI1_r16 = -1;            /* T_eventI1_r16 */
static int hf_nr_rrc_i1_Threshold_r16 = -1;       /* MeasTriggerQuantityCLI_r16 */
static int hf_nr_rrc_reportInterval_r16 = -1;     /* ReportInterval */
static int hf_nr_rrc_reportAmount_r16 = -1;       /* T_reportAmount_r16 */
static int hf_nr_rrc_maxReportCLI_r16 = -1;       /* INTEGER_1_maxCLI_Report_r16 */
static int hf_nr_rrc_reportAmount_r16_01 = -1;    /* T_reportAmount_r16_01 */
static int hf_nr_rrc_reportQuantityCLI_r16 = -1;  /* MeasReportQuantityCLI_r16 */
static int hf_nr_rrc_rxTxReportInterval_r17 = -1;  /* RxTxReportInterval_r17 */
static int hf_nr_rrc_reportAmount_r17 = -1;       /* T_reportAmount_r17 */
static int hf_nr_rrc_srs_RSRP_r16 = -1;           /* SRS_RSRP_Range_r16 */
static int hf_nr_rrc_cli_RSSI_r16 = -1;           /* CLI_RSSI_Range_r16 */
static int hf_nr_rrc_reportType_r16 = -1;         /* T_reportType_r16 */
static int hf_nr_rrc_periodical_r16 = -1;         /* PeriodicalReportConfigNR_SL_r16 */
static int hf_nr_rrc_eventTriggered_r16 = -1;     /* EventTriggerConfigNR_SL_r16 */
static int hf_nr_rrc_eventId_r16_01 = -1;         /* T_eventId_r16_01 */
static int hf_nr_rrc_eventC1 = -1;                /* T_eventC1 */
static int hf_nr_rrc_c1_Threshold_r16 = -1;       /* SL_CBR_r16 */
static int hf_nr_rrc_eventC2_r16 = -1;            /* T_eventC2_r16 */
static int hf_nr_rrc_c2_Threshold_r16 = -1;       /* SL_CBR_r16 */
static int hf_nr_rrc_reportAmount_r16_02 = -1;    /* T_reportAmount_r16_02 */
static int hf_nr_rrc_reportQuantity_r16_01 = -1;  /* MeasReportQuantity_r16 */
static int hf_nr_rrc_reportAmount_r16_03 = -1;    /* T_reportAmount_r16_03 */
static int hf_nr_rrc_cbr_r16 = -1;                /* BOOLEAN */
static int hf_nr_rrc_ReportConfigToAddModList_item = -1;  /* ReportConfigToAddMod */
static int hf_nr_rrc_reportConfig = -1;           /* T_reportConfig */
static int hf_nr_rrc_reportConfigNR = -1;         /* ReportConfigNR */
static int hf_nr_rrc_reportConfigInterRAT = -1;   /* ReportConfigInterRAT */
static int hf_nr_rrc_reportConfigNR_SL_r16 = -1;  /* ReportConfigNR_SL_r16 */
static int hf_nr_rrc_servedRadioBearer = -1;      /* T_servedRadioBearer */
static int hf_nr_rrc_reestablishRLC = -1;         /* T_reestablishRLC */
static int hf_nr_rrc_rlc_Config = -1;             /* RLC_Config */
static int hf_nr_rrc_mac_LogicalChannelConfig = -1;  /* LogicalChannelConfig */
static int hf_nr_rrc_rlc_Config_v1610 = -1;       /* RLC_Config_v1610 */
static int hf_nr_rrc_rlc_Config_v1700 = -1;       /* RLC_Config_v1700 */
static int hf_nr_rrc_logicalChannelIdentityExt_r17 = -1;  /* LogicalChannelIdentityExt_r17 */
static int hf_nr_rrc_multicastRLC_BearerConfig_r17 = -1;  /* MulticastRLC_BearerConfig_r17 */
static int hf_nr_rrc_servedRadioBearerSRB4_r17 = -1;  /* SRB_Identity_v1700 */
static int hf_nr_rrc_servedMBS_RadioBearer_r17 = -1;  /* MRB_Identity_r17 */
static int hf_nr_rrc_isPTM_Entity_r17 = -1;       /* T_isPTM_Entity_r17 */
static int hf_nr_rrc_am = -1;                     /* T_am */
static int hf_nr_rrc_ul_AM_RLC = -1;              /* UL_AM_RLC */
static int hf_nr_rrc_dl_AM_RLC = -1;              /* DL_AM_RLC */
static int hf_nr_rrc_um_Bi_Directional = -1;      /* T_um_Bi_Directional */
static int hf_nr_rrc_ul_UM_RLC = -1;              /* UL_UM_RLC */
static int hf_nr_rrc_dl_UM_RLC = -1;              /* DL_UM_RLC */
static int hf_nr_rrc_um_Uni_Directional_UL = -1;  /* T_um_Uni_Directional_UL */
static int hf_nr_rrc_um_Uni_Directional_DL = -1;  /* T_um_Uni_Directional_DL */
static int hf_nr_rrc_sn_FieldLength = -1;         /* SN_FieldLengthAM */
static int hf_nr_rrc_t_PollRetransmit = -1;       /* T_PollRetransmit */
static int hf_nr_rrc_pollPDU = -1;                /* PollPDU */
static int hf_nr_rrc_pollByte = -1;               /* PollByte */
static int hf_nr_rrc_maxRetxThreshold = -1;       /* T_maxRetxThreshold */
static int hf_nr_rrc_t_Reassembly = -1;           /* T_Reassembly */
static int hf_nr_rrc_t_StatusProhibit = -1;       /* T_StatusProhibit */
static int hf_nr_rrc_sn_FieldLength_01 = -1;      /* SN_FieldLengthUM */
static int hf_nr_rrc_dl_AM_RLC_v1610 = -1;        /* DL_AM_RLC_v1610 */
static int hf_nr_rrc_dl_AM_RLC_v1700 = -1;        /* DL_AM_RLC_v1700 */
static int hf_nr_rrc_dl_UM_RLC_v1700 = -1;        /* DL_UM_RLC_v1700 */
static int hf_nr_rrc_t_StatusProhibit_v1610 = -1;  /* T_StatusProhibit_v1610 */
static int hf_nr_rrc_t_ReassemblyExt_r17 = -1;    /* T_ReassemblyExt_r17 */
static int hf_nr_rrc_t310 = -1;                   /* T_t310 */
static int hf_nr_rrc_n310 = -1;                   /* T_n310 */
static int hf_nr_rrc_n311 = -1;                   /* T_n311 */
static int hf_nr_rrc_t311 = -1;                   /* T_t311 */
static int hf_nr_rrc_result_k5_r17 = -1;          /* INTEGER_0_61565 */
static int hf_nr_rrc_scellActivationRS_Id_r17 = -1;  /* SCellActivationRS_ConfigId_r17 */
static int hf_nr_rrc_resourceSet_r17 = -1;        /* NZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_gapBetweenBursts_r17 = -1;   /* INTEGER_2_31 */
static int hf_nr_rrc_qcl_Info_r17 = -1;           /* TCI_StateId */
static int hf_nr_rrc_schedulingRequestToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod */
static int hf_nr_rrc_schedulingRequestToAddModList_item = -1;  /* SchedulingRequestToAddMod */
static int hf_nr_rrc_schedulingRequestToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId */
static int hf_nr_rrc_schedulingRequestToReleaseList_item = -1;  /* SchedulingRequestId */
static int hf_nr_rrc_schedulingRequestId = -1;    /* SchedulingRequestId */
static int hf_nr_rrc_sr_ProhibitTimer = -1;       /* T_sr_ProhibitTimer */
static int hf_nr_rrc_sr_TransMax = -1;            /* T_sr_TransMax */
static int hf_nr_rrc_schedulingRequestToAddModListExt_v1700 = -1;  /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700 */
static int hf_nr_rrc_schedulingRequestToAddModListExt_v1700_item = -1;  /* SchedulingRequestToAddModExt_v1700 */
static int hf_nr_rrc_sr_ProhibitTimer_v1700 = -1;  /* T_sr_ProhibitTimer_v1700 */
static int hf_nr_rrc_schedulingRequestResourceId = -1;  /* SchedulingRequestResourceId */
static int hf_nr_rrc_periodicityAndOffset_01 = -1;  /* T_periodicityAndOffset */
static int hf_nr_rrc_sym2 = -1;                   /* NULL */
static int hf_nr_rrc_sym6or7 = -1;                /* NULL */
static int hf_nr_rrc_sl1 = -1;                    /* NULL */
static int hf_nr_rrc_sl2 = -1;                    /* INTEGER_0_1 */
static int hf_nr_rrc_sl4 = -1;                    /* INTEGER_0_3 */
static int hf_nr_rrc_sl5 = -1;                    /* INTEGER_0_4 */
static int hf_nr_rrc_sl8 = -1;                    /* INTEGER_0_7 */
static int hf_nr_rrc_sl16 = -1;                   /* INTEGER_0_15 */
static int hf_nr_rrc_sl640 = -1;                  /* INTEGER_0_639 */
static int hf_nr_rrc_resource_01 = -1;            /* PUCCH_ResourceId */
static int hf_nr_rrc_phy_PriorityIndex_r16_01 = -1;  /* T_phy_PriorityIndex_r16_01 */
static int hf_nr_rrc_periodicityAndOffset_r17_01 = -1;  /* T_periodicityAndOffset_r17 */
static int hf_nr_rrc_sl1280 = -1;                 /* INTEGER_0_1279 */
static int hf_nr_rrc_sl2560 = -1;                 /* INTEGER_0_2559 */
static int hf_nr_rrc_sl5120 = -1;                 /* INTEGER_0_5119 */
static int hf_nr_rrc_offsetToCarrier = -1;        /* INTEGER_0_2199 */
static int hf_nr_rrc_carrierBandwidth = -1;       /* INTEGER_1_maxNrofPhysicalResourceBlocks */
static int hf_nr_rrc_txDirectCurrentLocation = -1;  /* INTEGER_0_4095 */
static int hf_nr_rrc_pdu_Session = -1;            /* PDU_SessionID */
static int hf_nr_rrc_sdap_HeaderDL = -1;          /* T_sdap_HeaderDL */
static int hf_nr_rrc_sdap_HeaderUL = -1;          /* T_sdap_HeaderUL */
static int hf_nr_rrc_defaultDRB = -1;             /* BOOLEAN */
static int hf_nr_rrc_mappedQoS_FlowsToAdd = -1;   /* SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI */
static int hf_nr_rrc_mappedQoS_FlowsToAdd_item = -1;  /* QFI */
static int hf_nr_rrc_mappedQoS_FlowsToRelease = -1;  /* SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI */
static int hf_nr_rrc_mappedQoS_FlowsToRelease_item = -1;  /* QFI */
static int hf_nr_rrc_searchSpaceId = -1;          /* SearchSpaceId */
static int hf_nr_rrc_monitoringSlotPeriodicityAndOffset = -1;  /* T_monitoringSlotPeriodicityAndOffset */
static int hf_nr_rrc_duration_01 = -1;            /* INTEGER_2_2559 */
static int hf_nr_rrc_monitoringSymbolsWithinSlot = -1;  /* BIT_STRING_SIZE_14 */
static int hf_nr_rrc_nrofCandidates = -1;         /* T_nrofCandidates */
static int hf_nr_rrc_aggregationLevel1 = -1;      /* T_aggregationLevel1 */
static int hf_nr_rrc_aggregationLevel2 = -1;      /* T_aggregationLevel2 */
static int hf_nr_rrc_aggregationLevel4 = -1;      /* T_aggregationLevel4 */
static int hf_nr_rrc_aggregationLevel8 = -1;      /* T_aggregationLevel8 */
static int hf_nr_rrc_aggregationLevel16 = -1;     /* T_aggregationLevel16 */
static int hf_nr_rrc_searchSpaceType = -1;        /* T_searchSpaceType */
static int hf_nr_rrc_common = -1;                 /* T_common */
static int hf_nr_rrc_dci_Format0_0_AndFormat1_0 = -1;  /* T_dci_Format0_0_AndFormat1_0 */
static int hf_nr_rrc_dci_Format2_0 = -1;          /* T_dci_Format2_0 */
static int hf_nr_rrc_nrofCandidates_SFI = -1;     /* T_nrofCandidates_SFI */
static int hf_nr_rrc_aggregationLevel1_01 = -1;   /* T_aggregationLevel1_01 */
static int hf_nr_rrc_aggregationLevel2_01 = -1;   /* T_aggregationLevel2_01 */
static int hf_nr_rrc_aggregationLevel4_01 = -1;   /* T_aggregationLevel4_01 */
static int hf_nr_rrc_aggregationLevel8_01 = -1;   /* T_aggregationLevel8_01 */
static int hf_nr_rrc_aggregationLevel16_01 = -1;  /* T_aggregationLevel16_01 */
static int hf_nr_rrc_dci_Format2_1 = -1;          /* T_dci_Format2_1 */
static int hf_nr_rrc_dci_Format2_2 = -1;          /* T_dci_Format2_2 */
static int hf_nr_rrc_dci_Format2_3 = -1;          /* T_dci_Format2_3 */
static int hf_nr_rrc_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1 = -1;  /* T_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1 */
static int hf_nr_rrc_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2 = -1;  /* T_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2 */
static int hf_nr_rrc_ue_Specific = -1;            /* T_ue_Specific */
static int hf_nr_rrc_dci_Formats = -1;            /* T_dci_Formats */
static int hf_nr_rrc_dci_Formats_MT_r16 = -1;     /* T_dci_Formats_MT_r16 */
static int hf_nr_rrc_dci_FormatsSL_r16 = -1;      /* T_dci_FormatsSL_r16 */
static int hf_nr_rrc_dci_FormatsExt_r16 = -1;     /* T_dci_FormatsExt_r16 */
static int hf_nr_rrc_controlResourceSetId_r16 = -1;  /* ControlResourceSetId_r16 */
static int hf_nr_rrc_searchSpaceType_r16 = -1;    /* T_searchSpaceType_r16 */
static int hf_nr_rrc_common_r16 = -1;             /* T_common_r16 */
static int hf_nr_rrc_dci_Format2_4_r16 = -1;      /* T_dci_Format2_4_r16 */
static int hf_nr_rrc_nrofCandidates_CI_r16 = -1;  /* T_nrofCandidates_CI_r16 */
static int hf_nr_rrc_aggregationLevel1_r16 = -1;  /* T_aggregationLevel1_r16 */
static int hf_nr_rrc_aggregationLevel2_r16 = -1;  /* T_aggregationLevel2_r16 */
static int hf_nr_rrc_aggregationLevel4_r16 = -1;  /* T_aggregationLevel4_r16 */
static int hf_nr_rrc_aggregationLevel8_r16 = -1;  /* T_aggregationLevel8_r16 */
static int hf_nr_rrc_aggregationLevel16_r16 = -1;  /* T_aggregationLevel16_r16 */
static int hf_nr_rrc_dci_Format2_5_r16 = -1;      /* T_dci_Format2_5_r16 */
static int hf_nr_rrc_nrofCandidates_IAB_r16 = -1;  /* T_nrofCandidates_IAB_r16 */
static int hf_nr_rrc_aggregationLevel1_r16_01 = -1;  /* T_aggregationLevel1_r16_01 */
static int hf_nr_rrc_aggregationLevel2_r16_01 = -1;  /* T_aggregationLevel2_r16_01 */
static int hf_nr_rrc_aggregationLevel4_r16_01 = -1;  /* T_aggregationLevel4_r16_01 */
static int hf_nr_rrc_aggregationLevel8_r16_01 = -1;  /* T_aggregationLevel8_r16_01 */
static int hf_nr_rrc_aggregationLevel16_r16_01 = -1;  /* T_aggregationLevel16_r16_01 */
static int hf_nr_rrc_dci_Format2_6_r16 = -1;      /* T_dci_Format2_6_r16 */
static int hf_nr_rrc_searchSpaceGroupIdList_r16 = -1;  /* T_searchSpaceGroupIdList_r16 */
static int hf_nr_rrc_searchSpaceGroupIdList_r16_item = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_freqMonitorLocations_r16 = -1;  /* BIT_STRING_SIZE_5 */
static int hf_nr_rrc_monitoringSlotPeriodicityAndOffset_v1710 = -1;  /* T_monitoringSlotPeriodicityAndOffset_v1710 */
static int hf_nr_rrc_sl32 = -1;                   /* INTEGER_0_31 */
static int hf_nr_rrc_sl64 = -1;                   /* INTEGER_0_63 */
static int hf_nr_rrc_sl128 = -1;                  /* INTEGER_0_127 */
static int hf_nr_rrc_sl10240 = -1;                /* INTEGER_0_10239 */
static int hf_nr_rrc_sl20480 = -1;                /* INTEGER_0_20479 */
static int hf_nr_rrc_monitoringSlotsWithinSlotGroup_r17 = -1;  /* T_monitoringSlotsWithinSlotGroup_r17 */
static int hf_nr_rrc_slotGroupLength4_r17 = -1;   /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_slotGroupLength8_r17 = -1;   /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_duration_r17_02 = -1;        /* INTEGER_4_20476 */
static int hf_nr_rrc_searchSpaceType_r17 = -1;    /* T_searchSpaceType_r17 */
static int hf_nr_rrc_common_r17 = -1;             /* T_common_r17 */
static int hf_nr_rrc_dci_Format4_0_r17 = -1;      /* T_dci_Format4_0_r17 */
static int hf_nr_rrc_dci_Format4_1_r17 = -1;      /* T_dci_Format4_1_r17 */
static int hf_nr_rrc_dci_Format4_2_r17 = -1;      /* T_dci_Format4_2_r17 */
static int hf_nr_rrc_dci_Format4_1_AndFormat4_2_r17 = -1;  /* T_dci_Format4_1_AndFormat4_2_r17 */
static int hf_nr_rrc_dci_Format2_7_r17 = -1;      /* T_dci_Format2_7_r17 */
static int hf_nr_rrc_nrofCandidates_PEI_r17 = -1;  /* T_nrofCandidates_PEI_r17 */
static int hf_nr_rrc_aggregationLevel4_r17 = -1;  /* T_aggregationLevel4_r17 */
static int hf_nr_rrc_aggregationLevel8_r17 = -1;  /* T_aggregationLevel8_r17 */
static int hf_nr_rrc_aggregationLevel16_r17 = -1;  /* T_aggregationLevel16_r17 */
static int hf_nr_rrc_searchSpaceGroupIdList_r17 = -1;  /* T_searchSpaceGroupIdList_r17 */
static int hf_nr_rrc_searchSpaceGroupIdList_r17_item = -1;  /* INTEGER_0_maxNrofSearchSpaceGroups_1_r17 */
static int hf_nr_rrc_searchSpaceLinkingId_r17 = -1;  /* INTEGER_0_maxNrofSearchSpacesLinks_1_r17 */
static int hf_nr_rrc_cipheringAlgorithm = -1;     /* CipheringAlgorithm */
static int hf_nr_rrc_integrityProtAlgorithm = -1;  /* IntegrityProtAlgorithm */
static int hf_nr_rrc_period_r16 = -1;             /* T_period_r16 */
static int hf_nr_rrc_periodUE_r17 = -1;           /* T_periodUE_r17 */
static int hf_nr_rrc_offsetUE_r17 = -1;           /* INTEGER_0_559 */
static int hf_nr_rrc_sensor_MeasurementInformation_r16 = -1;  /* T_sensor_MeasurementInformation_r16 */
static int hf_nr_rrc_sensor_MotionInformation_r16 = -1;  /* T_sensor_MotionInformation_r16 */
static int hf_nr_rrc_servingcell_r17 = -1;        /* ServCellIndex */
static int hf_nr_rrc_bwp_r17 = -1;                /* BWP_Id */
static int hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated = -1;  /* TDD_UL_DL_ConfigDedicated */
static int hf_nr_rrc_initialDownlinkBWP_01 = -1;  /* BWP_DownlinkDedicated */
static int hf_nr_rrc_downlinkBWP_ToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */
static int hf_nr_rrc_downlinkBWP_ToReleaseList_item = -1;  /* BWP_Id */
static int hf_nr_rrc_downlinkBWP_ToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink */
static int hf_nr_rrc_downlinkBWP_ToAddModList_item = -1;  /* BWP_Downlink */
static int hf_nr_rrc_firstActiveDownlinkBWP_Id = -1;  /* BWP_Id */
static int hf_nr_rrc_bwp_InactivityTimer = -1;    /* T_bwp_InactivityTimer */
static int hf_nr_rrc_defaultDownlinkBWP_Id = -1;  /* BWP_Id */
static int hf_nr_rrc_uplinkConfig = -1;           /* UplinkConfig */
static int hf_nr_rrc_supplementaryUplink_01 = -1;  /* UplinkConfig */
static int hf_nr_rrc_pdcch_ServingCellConfig = -1;  /* T_pdcch_ServingCellConfig */
static int hf_nr_rrc_setup_150 = -1;              /* PDCCH_ServingCellConfig */
static int hf_nr_rrc_pdsch_ServingCellConfig = -1;  /* T_pdsch_ServingCellConfig */
static int hf_nr_rrc_setup_151 = -1;              /* PDSCH_ServingCellConfig */
static int hf_nr_rrc_csi_MeasConfig = -1;         /* T_csi_MeasConfig */
static int hf_nr_rrc_setup_152 = -1;              /* CSI_MeasConfig */
static int hf_nr_rrc_sCellDeactivationTimer = -1;  /* T_sCellDeactivationTimer */
static int hf_nr_rrc_crossCarrierSchedulingConfig = -1;  /* CrossCarrierSchedulingConfig */
static int hf_nr_rrc_tag_Id = -1;                 /* TAG_Id */
static int hf_nr_rrc_dummy1_01 = -1;              /* T_dummy1_01 */
static int hf_nr_rrc_pathlossReferenceLinking = -1;  /* T_pathlossReferenceLinking */
static int hf_nr_rrc_servingCellMO = -1;          /* MeasObjectId */
static int hf_nr_rrc_lte_CRS_ToMatchAround = -1;  /* T_lte_CRS_ToMatchAround */
static int hf_nr_rrc_setup_153 = -1;              /* RateMatchPatternLTE_CRS */
static int hf_nr_rrc_downlinkChannelBW_PerSCS_List = -1;  /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */
static int hf_nr_rrc_downlinkChannelBW_PerSCS_List_item = -1;  /* SCS_SpecificCarrier */
static int hf_nr_rrc_supplementaryUplinkRelease_r16 = -1;  /* T_supplementaryUplinkRelease_r16 */
static int hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated_IAB_MT_r16 = -1;  /* TDD_UL_DL_ConfigDedicated_IAB_MT_r16 */
static int hf_nr_rrc_dormantBWP_Config_r16 = -1;  /* T_dormantBWP_Config_r16 */
static int hf_nr_rrc_setup_154 = -1;              /* DormantBWP_Config_r16 */
static int hf_nr_rrc_ca_SlotOffset_r16 = -1;      /* T_ca_SlotOffset_r16 */
static int hf_nr_rrc_refSCS15kHz = -1;            /* INTEGER_M2_2 */
static int hf_nr_rrc_refSCS30KHz = -1;            /* INTEGER_M5_5 */
static int hf_nr_rrc_refSCS60KHz = -1;            /* INTEGER_M10_10 */
static int hf_nr_rrc_refSCS120KHz = -1;           /* INTEGER_M20_20 */
static int hf_nr_rrc_servingCellConfig_eag_2_dummy2 = -1;  /* T_servingCellConfig_eag_2_dummy2 */
static int hf_nr_rrc_setup_155 = -1;              /* DummyJ */
static int hf_nr_rrc_intraCellGuardBandsDL_List_r16 = -1;  /* SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16 */
static int hf_nr_rrc_intraCellGuardBandsDL_List_r16_item = -1;  /* IntraCellGuardBandsPerSCS_r16 */
static int hf_nr_rrc_intraCellGuardBandsUL_List_r16 = -1;  /* SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16 */
static int hf_nr_rrc_intraCellGuardBandsUL_List_r16_item = -1;  /* IntraCellGuardBandsPerSCS_r16 */
static int hf_nr_rrc_csi_RS_ValidationWithDCI_r16 = -1;  /* T_csi_RS_ValidationWithDCI_r16 */
static int hf_nr_rrc_lte_CRS_PatternList1_r16 = -1;  /* T_lte_CRS_PatternList1_r16 */
static int hf_nr_rrc_setup_156 = -1;              /* LTE_CRS_PatternList_r16 */
static int hf_nr_rrc_lte_CRS_PatternList2_r16 = -1;  /* T_lte_CRS_PatternList2_r16 */
static int hf_nr_rrc_crs_RateMatch_PerCORESETPoolIndex_r16 = -1;  /* T_crs_RateMatch_PerCORESETPoolIndex_r16 */
static int hf_nr_rrc_enableTwoDefaultTCI_States_r16 = -1;  /* T_enableTwoDefaultTCI_States_r16 */
static int hf_nr_rrc_enableDefaultTCI_StatePerCoresetPoolIndex_r16 = -1;  /* T_enableDefaultTCI_StatePerCoresetPoolIndex_r16 */
static int hf_nr_rrc_enableBeamSwitchTiming_r16 = -1;  /* T_enableBeamSwitchTiming_r16 */
static int hf_nr_rrc_cbg_TxDiffTBsProcessingType1_r16 = -1;  /* T_cbg_TxDiffTBsProcessingType1_r16 */
static int hf_nr_rrc_cbg_TxDiffTBsProcessingType2_r16 = -1;  /* T_cbg_TxDiffTBsProcessingType2_r16 */
static int hf_nr_rrc_directionalCollisionHandling_r16 = -1;  /* T_directionalCollisionHandling_r16 */
static int hf_nr_rrc_channelAccessConfig_r16 = -1;  /* T_channelAccessConfig_r16 */
static int hf_nr_rrc_setup_157 = -1;              /* ChannelAccessConfig_r16 */
static int hf_nr_rrc_nr_dl_PRS_PDC_Info_r17 = -1;  /* T_nr_dl_PRS_PDC_Info_r17 */
static int hf_nr_rrc_setup_158 = -1;              /* NR_DL_PRS_PDC_Info_r17 */
static int hf_nr_rrc_semiStaticChannelAccessConfigUE_r17 = -1;  /* T_semiStaticChannelAccessConfigUE_r17 */
static int hf_nr_rrc_setup_159 = -1;              /* SemiStaticChannelAccessConfigUE_r17 */
static int hf_nr_rrc_mimoParam_r17 = -1;          /* T_mimoParam_r17 */
static int hf_nr_rrc_setup_160 = -1;              /* MIMOParam_r17 */
static int hf_nr_rrc_channelAccessMode2_r17_02 = -1;  /* T_channelAccessMode2_r17_02 */
static int hf_nr_rrc_timeDomainHARQ_BundlingType1_r17 = -1;  /* T_timeDomainHARQ_BundlingType1_r17 */
static int hf_nr_rrc_nrofHARQ_BundlingGroups_r17 = -1;  /* T_nrofHARQ_BundlingGroups_r17 */
static int hf_nr_rrc_fdmed_ReceptionMulticast_r17 = -1;  /* T_fdmed_ReceptionMulticast_r17 */
static int hf_nr_rrc_moreThanOneNackOnlyMode_r17 = -1;  /* T_moreThanOneNackOnlyMode_r17 */
static int hf_nr_rrc_tci_ActivatedConfig_r17 = -1;  /* TCI_ActivatedConfig_r17 */
static int hf_nr_rrc_directionalCollisionHandling_DC_r17 = -1;  /* T_directionalCollisionHandling_DC_r17 */
static int hf_nr_rrc_lte_NeighCellsCRS_AssistInfoList_r17 = -1;  /* T_lte_NeighCellsCRS_AssistInfoList_r17 */
static int hf_nr_rrc_setup_161 = -1;              /* LTE_NeighCellsCRS_AssistInfoList_r17 */
static int hf_nr_rrc_lte_NeighCellsCRS_Assumptions_r17 = -1;  /* T_lte_NeighCellsCRS_Assumptions_r17 */
static int hf_nr_rrc_crossCarrierSchedulingConfigRelease_r17 = -1;  /* T_crossCarrierSchedulingConfigRelease_r17 */
static int hf_nr_rrc_initialUplinkBWP = -1;       /* BWP_UplinkDedicated */
static int hf_nr_rrc_uplinkBWP_ToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */
static int hf_nr_rrc_uplinkBWP_ToReleaseList_item = -1;  /* BWP_Id */
static int hf_nr_rrc_uplinkBWP_ToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink */
static int hf_nr_rrc_uplinkBWP_ToAddModList_item = -1;  /* BWP_Uplink */
static int hf_nr_rrc_firstActiveUplinkBWP_Id = -1;  /* BWP_Id */
static int hf_nr_rrc_pusch_ServingCellConfig = -1;  /* T_pusch_ServingCellConfig */
static int hf_nr_rrc_setup_162 = -1;              /* PUSCH_ServingCellConfig */
static int hf_nr_rrc_carrierSwitching = -1;       /* T_carrierSwitching */
static int hf_nr_rrc_setup_163 = -1;              /* SRS_CarrierSwitching */
static int hf_nr_rrc_powerBoostPi2BPSK = -1;      /* BOOLEAN */
static int hf_nr_rrc_uplinkChannelBW_PerSCS_List = -1;  /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */
static int hf_nr_rrc_uplinkChannelBW_PerSCS_List_item = -1;  /* SCS_SpecificCarrier */
static int hf_nr_rrc_enablePL_RS_UpdateForPUSCH_SRS_r16 = -1;  /* T_enablePL_RS_UpdateForPUSCH_SRS_r16 */
static int hf_nr_rrc_enableDefaultBeamPL_ForPUSCH0_0_r16 = -1;  /* T_enableDefaultBeamPL_ForPUSCH0_0_r16 */
static int hf_nr_rrc_enableDefaultBeamPL_ForPUCCH_r16 = -1;  /* T_enableDefaultBeamPL_ForPUCCH_r16 */
static int hf_nr_rrc_enableDefaultBeamPL_ForSRS_r16 = -1;  /* T_enableDefaultBeamPL_ForSRS_r16 */
static int hf_nr_rrc_uplinkTxSwitching_r16 = -1;  /* T_uplinkTxSwitching_r16 */
static int hf_nr_rrc_setup_164 = -1;              /* UplinkTxSwitching_r16 */
static int hf_nr_rrc_mpr_PowerBoost_FR2_r16 = -1;  /* T_mpr_PowerBoost_FR2_r16 */
static int hf_nr_rrc_maxEnergyDetectionThreshold_r16 = -1;  /* INTEGER_M85_M52 */
static int hf_nr_rrc_energyDetectionThresholdOffset_r16 = -1;  /* INTEGER_M20_M13 */
static int hf_nr_rrc_ul_toDL_COT_SharingED_Threshold_r16 = -1;  /* INTEGER_M85_M52 */
static int hf_nr_rrc_absenceOfAnyOtherTechnology_r16 = -1;  /* T_absenceOfAnyOtherTechnology_r16 */
static int hf_nr_rrc_energyDetectionConfig_r16 = -1;  /* T_energyDetectionConfig_r16 */
static int hf_nr_rrc_energyDetectionThresholdOffset_r16_01 = -1;  /* INTEGER_M13_20 */
static int hf_nr_rrc_absenceOfAnyOtherTechnology_r16_01 = -1;  /* T_absenceOfAnyOtherTechnology_r16_01 */
static int hf_nr_rrc_guardBandSCS_r16 = -1;       /* SubcarrierSpacing */
static int hf_nr_rrc_intraCellGuardBands_r16 = -1;  /* SEQUENCE_SIZE_1_4_OF_GuardBand_r16 */
static int hf_nr_rrc_intraCellGuardBands_r16_item = -1;  /* GuardBand_r16 */
static int hf_nr_rrc_startCRB_r16 = -1;           /* INTEGER_0_274 */
static int hf_nr_rrc_nrofCRBs_r16 = -1;           /* INTEGER_0_15 */
static int hf_nr_rrc_dormantBWP_Id_r16 = -1;      /* BWP_Id */
static int hf_nr_rrc_withinActiveTimeConfig_r16 = -1;  /* T_withinActiveTimeConfig_r16 */
static int hf_nr_rrc_setup_165 = -1;              /* WithinActiveTimeConfig_r16 */
static int hf_nr_rrc_outsideActiveTimeConfig_r16 = -1;  /* T_outsideActiveTimeConfig_r16 */
static int hf_nr_rrc_setup_166 = -1;              /* OutsideActiveTimeConfig_r16 */
static int hf_nr_rrc_firstWithinActiveTimeBWP_Id_r16 = -1;  /* BWP_Id */
static int hf_nr_rrc_dormancyGroupWithinActiveTime_r16 = -1;  /* DormancyGroupID_r16 */
static int hf_nr_rrc_firstOutsideActiveTimeBWP_Id_r16 = -1;  /* BWP_Id */
static int hf_nr_rrc_dormancyGroupOutsideActiveTime_r16 = -1;  /* DormancyGroupID_r16 */
static int hf_nr_rrc_uplinkTxSwitchingPeriodLocation_r16 = -1;  /* BOOLEAN */
static int hf_nr_rrc_uplinkTxSwitchingCarrier_r16 = -1;  /* T_uplinkTxSwitchingCarrier_r16 */
static int hf_nr_rrc_additionalPCI_ToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17 */
static int hf_nr_rrc_additionalPCI_ToAddModList_r17_item = -1;  /* SSB_MTC_AdditionalPCI_r17 */
static int hf_nr_rrc_additionalPCI_ToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17 */
static int hf_nr_rrc_additionalPCI_ToReleaseList_r17_item = -1;  /* AdditionalPCIIndex_r17 */
static int hf_nr_rrc_unifiedTCI_StateType_r17 = -1;  /* T_unifiedTCI_StateType_r17 */
static int hf_nr_rrc_uplink_PowerControlToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17 */
static int hf_nr_rrc_uplink_PowerControlToAddModList_r17_item = -1;  /* Uplink_powerControl_r17 */
static int hf_nr_rrc_uplink_PowerControlToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17 */
static int hf_nr_rrc_uplink_PowerControlToReleaseList_r17_item = -1;  /* Uplink_powerControlId_r17 */
static int hf_nr_rrc_sfnSchemePDCCH_r17 = -1;     /* T_sfnSchemePDCCH_r17 */
static int hf_nr_rrc_sfnSchemePDSCH_r17 = -1;     /* T_sfnSchemePDSCH_r17 */
static int hf_nr_rrc_downlinkConfigCommon = -1;   /* DownlinkConfigCommon */
static int hf_nr_rrc_uplinkConfigCommon = -1;     /* UplinkConfigCommon */
static int hf_nr_rrc_supplementaryUplinkConfig = -1;  /* UplinkConfigCommon */
static int hf_nr_rrc_n_TimingAdvanceOffset = -1;  /* T_n_TimingAdvanceOffset */
static int hf_nr_rrc_ssb_PositionsInBurst = -1;   /* T_ssb_PositionsInBurst */
static int hf_nr_rrc_shortBitmap = -1;            /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_mediumBitmap = -1;           /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_longBitmap = -1;             /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_ssb_periodicityServingCell = -1;  /* T_ssb_periodicityServingCell */
static int hf_nr_rrc_dmrs_TypeA_Position_01 = -1;  /* T_dmrs_TypeA_Position_01 */
static int hf_nr_rrc_lte_CRS_ToMatchAround_01 = -1;  /* T_lte_CRS_ToMatchAround_01 */
static int hf_nr_rrc_tdd_UL_DL_ConfigurationCommon = -1;  /* TDD_UL_DL_ConfigCommon */
static int hf_nr_rrc_ss_PBCH_BlockPower = -1;     /* INTEGER_M60_50 */
static int hf_nr_rrc_channelAccessMode_r16 = -1;  /* T_channelAccessMode_r16 */
static int hf_nr_rrc_dynamic_02 = -1;             /* NULL */
static int hf_nr_rrc_semiStatic_01 = -1;          /* SemiStaticChannelAccessConfig_r16 */
static int hf_nr_rrc_discoveryBurstWindowLength_r16 = -1;  /* T_discoveryBurstWindowLength_r16 */
static int hf_nr_rrc_highSpeedConfig_r16 = -1;    /* HighSpeedConfig_r16 */
static int hf_nr_rrc_highSpeedConfig_v1700 = -1;  /* HighSpeedConfig_v1700 */
static int hf_nr_rrc_channelAccessMode2_r17_03 = -1;  /* T_channelAccessMode2_r17_03 */
static int hf_nr_rrc_discoveryBurstWindowLength_r17 = -1;  /* T_discoveryBurstWindowLength_r17 */
static int hf_nr_rrc_highSpeedConfigFR2_r17 = -1;  /* HighSpeedConfigFR2_r17 */
static int hf_nr_rrc_uplinkConfigCommon_v1700 = -1;  /* UplinkConfigCommon_v1700 */
static int hf_nr_rrc_featurePriorities_r17_01 = -1;  /* T_featurePriorities_r17_01 */
static int hf_nr_rrc_ra_ChannelAccess_r17 = -1;   /* T_ra_ChannelAccess_r17 */
static int hf_nr_rrc_downlinkConfigCommon_01 = -1;  /* DownlinkConfigCommonSIB */
static int hf_nr_rrc_uplinkConfigCommon_01 = -1;  /* UplinkConfigCommonSIB */
static int hf_nr_rrc_supplementaryUplink_02 = -1;  /* UplinkConfigCommonSIB */
static int hf_nr_rrc_n_TimingAdvanceOffset_01 = -1;  /* T_n_TimingAdvanceOffset_01 */
static int hf_nr_rrc_ssb_PositionsInBurst_01 = -1;  /* T_ssb_PositionsInBurst_01 */
static int hf_nr_rrc_inOneGroup = -1;             /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_groupPresence = -1;          /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_ssb_PeriodicityServingCell = -1;  /* T_ssb_PeriodicityServingCell */
static int hf_nr_rrc_channelAccessMode_r16_01 = -1;  /* T_channelAccessMode_r16_01 */
static int hf_nr_rrc_discoveryBurstWindowLength_r16_01 = -1;  /* T_discoveryBurstWindowLength_r16_01 */
static int hf_nr_rrc_channelAccessMode2_r17_04 = -1;  /* T_channelAccessMode2_r17_04 */
static int hf_nr_rrc_discoveryBurstWindowLength_v1700 = -1;  /* T_discoveryBurstWindowLength_v1700 */
static int hf_nr_rrc_uplinkConfigCommon_v1700_01 = -1;  /* UplinkConfigCommonSIB_v1700 */
static int hf_nr_rrc_enhancedMeasurementLEO_r17 = -1;  /* T_enhancedMeasurementLEO_r17 */
static int hf_nr_rrc_ra_ChannelAccess_r17_01 = -1;  /* T_ra_ChannelAccess_r17_01 */
static int hf_nr_rrc_rach_OccasionsSI = -1;       /* T_rach_OccasionsSI */
static int hf_nr_rrc_rach_ConfigSI = -1;          /* RACH_ConfigGeneric */
static int hf_nr_rrc_ssb_perRACH_Occasion_02 = -1;  /* T_ssb_perRACH_Occasion_02 */
static int hf_nr_rrc_si_RequestPeriod = -1;       /* T_si_RequestPeriod */
static int hf_nr_rrc_si_RequestResources = -1;    /* SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources */
static int hf_nr_rrc_si_RequestResources_item = -1;  /* SI_RequestResources */
static int hf_nr_rrc_ra_PreambleStartIndex = -1;  /* INTEGER_0_63 */
static int hf_nr_rrc_ra_AssociationPeriodIndex = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_schedulingInfoList = -1;     /* SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo */
static int hf_nr_rrc_schedulingInfoList_item = -1;  /* SchedulingInfo */
static int hf_nr_rrc_si_WindowLength = -1;        /* T_si_WindowLength */
static int hf_nr_rrc_si_RequestConfig = -1;       /* SI_RequestConfig */
static int hf_nr_rrc_si_RequestConfigSUL = -1;    /* SI_RequestConfig */
static int hf_nr_rrc_systemInformationAreaID = -1;  /* BIT_STRING_SIZE_24 */
static int hf_nr_rrc_si_BroadcastStatus = -1;     /* T_si_BroadcastStatus */
static int hf_nr_rrc_si_Periodicity = -1;         /* T_si_Periodicity */
static int hf_nr_rrc_sib_MappingInfo = -1;        /* SIB_Mapping */
static int hf_nr_rrc_schedulingInfoList2_r17 = -1;  /* SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17 */
static int hf_nr_rrc_schedulingInfoList2_r17_item = -1;  /* SchedulingInfo2_r17 */
static int hf_nr_rrc_dummy_02 = -1;               /* SI_RequestConfig */
static int hf_nr_rrc_si_RequestConfigRedCap_r17 = -1;  /* SI_RequestConfig */
static int hf_nr_rrc_si_BroadcastStatus_r17 = -1;  /* T_si_BroadcastStatus_r17 */
static int hf_nr_rrc_si_WindowPosition_r17 = -1;  /* INTEGER_1_256 */
static int hf_nr_rrc_si_Periodicity_r17 = -1;     /* T_si_Periodicity_r17 */
static int hf_nr_rrc_sib_MappingInfo_r17 = -1;    /* SIB_Mapping_v1700 */
static int hf_nr_rrc_SIB_Mapping_item = -1;       /* SIB_TypeInfo */
static int hf_nr_rrc_SIB_Mapping_v1700_item = -1;  /* SIB_TypeInfo_v1700 */
static int hf_nr_rrc_type = -1;                   /* T_type */
static int hf_nr_rrc_valueTag = -1;               /* INTEGER_0_31 */
static int hf_nr_rrc_areaScope = -1;              /* T_areaScope */
static int hf_nr_rrc_sibType_r17 = -1;            /* T_sibType_r17 */
static int hf_nr_rrc_type1_r17 = -1;              /* T_type1_r17 */
static int hf_nr_rrc_type2_r17 = -1;              /* T_type2_r17 */
static int hf_nr_rrc_posSibType_r17 = -1;         /* T_posSibType_r17 */
static int hf_nr_rrc_encrypted_r17 = -1;          /* T_encrypted_r17 */
static int hf_nr_rrc_gnss_id_r17 = -1;            /* GNSS_ID_r16 */
static int hf_nr_rrc_sbas_id_r17 = -1;            /* SBAS_ID_r16 */
static int hf_nr_rrc_valueTag_r17 = -1;           /* INTEGER_0_31 */
static int hf_nr_rrc_areaScope_r17 = -1;          /* T_areaScope_r17 */
static int hf_nr_rrc_subcarrierSpacing2 = -1;     /* SubcarrierSpacing */
static int hf_nr_rrc_slotFormatCombinations = -1;  /* SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination */
static int hf_nr_rrc_slotFormatCombinations_item = -1;  /* SlotFormatCombination */
static int hf_nr_rrc_positionInDCI_01 = -1;       /* INTEGER_0_maxSFI_DCI_PayloadSize_1 */
static int hf_nr_rrc_enableConfiguredUL_r16 = -1;  /* T_enableConfiguredUL_r16 */
static int hf_nr_rrc_slotFormatCombinationId = -1;  /* SlotFormatCombinationId */
static int hf_nr_rrc_slotFormats = -1;            /* T_slotFormats */
static int hf_nr_rrc_slotFormats_item = -1;       /* INTEGER_0_255 */
static int hf_nr_rrc_sfi_RNTI = -1;               /* RNTI_Value */
static int hf_nr_rrc_dci_PayloadSize_01 = -1;     /* INTEGER_1_maxSFI_DCI_PayloadSize */
static int hf_nr_rrc_slotFormatCombToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell */
static int hf_nr_rrc_slotFormatCombToAddModList_item = -1;  /* SlotFormatCombinationsPerCell */
static int hf_nr_rrc_slotFormatCombToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex */
static int hf_nr_rrc_slotFormatCombToReleaseList_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_availableRB_SetsToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16 */
static int hf_nr_rrc_availableRB_SetsToAddModList_r16_item = -1;  /* AvailableRB_SetsPerCell_r16 */
static int hf_nr_rrc_availableRB_SetsToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex */
static int hf_nr_rrc_availableRB_SetsToReleaseList_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_switchTriggerToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16 */
static int hf_nr_rrc_switchTriggerToAddModList_r16_item = -1;  /* SearchSpaceSwitchTrigger_r16 */
static int hf_nr_rrc_switchTriggerToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_4_OF_ServCellIndex */
static int hf_nr_rrc_switchTriggerToReleaseList_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_co_DurationsPerCellToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16 */
static int hf_nr_rrc_co_DurationsPerCellToAddModList_r16_item = -1;  /* CO_DurationsPerCell_r16 */
static int hf_nr_rrc_co_DurationsPerCellToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex */
static int hf_nr_rrc_co_DurationsPerCellToReleaseList_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_switchTriggerToAddModListSizeExt_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16 */
static int hf_nr_rrc_switchTriggerToAddModListSizeExt_r16_item = -1;  /* SearchSpaceSwitchTrigger_r16 */
static int hf_nr_rrc_switchTriggerToReleaseListSizeExt_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex */
static int hf_nr_rrc_switchTriggerToReleaseListSizeExt_r16_item = -1;  /* ServCellIndex */
static int hf_nr_rrc_co_DurationsPerCellToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17 */
static int hf_nr_rrc_co_DurationsPerCellToAddModList_r17_item = -1;  /* CO_DurationsPerCell_r17 */
static int hf_nr_rrc_servingCellId_r16 = -1;      /* ServCellIndex */
static int hf_nr_rrc_positionInDCI_r16 = -1;      /* INTEGER_0_maxSFI_DCI_PayloadSize_1 */
static int hf_nr_rrc_co_DurationList_r16 = -1;    /* SEQUENCE_SIZE_1_64_OF_CO_Duration_r16 */
static int hf_nr_rrc_co_DurationList_r16_item = -1;  /* CO_Duration_r16 */
static int hf_nr_rrc_servingCellId_r17 = -1;      /* ServCellIndex */
static int hf_nr_rrc_positionInDCI_r17 = -1;      /* INTEGER_0_maxSFI_DCI_PayloadSize_1 */
static int hf_nr_rrc_subcarrierSpacing_r17 = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_co_DurationList_r17 = -1;    /* SEQUENCE_SIZE_1_64_OF_CO_Duration_r17 */
static int hf_nr_rrc_co_DurationList_r17_item = -1;  /* CO_Duration_r17 */
static int hf_nr_rrc_sst = -1;                    /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_sst_SD = -1;                 /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_sf_Medium_01 = -1;           /* T_sf_Medium_01 */
static int hf_nr_rrc_sf_High_01 = -1;             /* T_sf_High_01 */
static int hf_nr_rrc_periodicity_01 = -1;         /* T_periodicity_01 */
static int hf_nr_rrc_nrofHARQ_Processes_01 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_n1PUCCH_AN = -1;             /* PUCCH_ResourceId */
static int hf_nr_rrc_mcs_Table_03 = -1;           /* T_mcs_Table_03 */
static int hf_nr_rrc_sps_ConfigIndex_r16 = -1;    /* SPS_ConfigIndex_r16 */
static int hf_nr_rrc_harq_CodebookID_r16 = -1;    /* INTEGER_1_2 */
static int hf_nr_rrc_pdsch_AggregationFactor_r16 = -1;  /* T_pdsch_AggregationFactor_r16 */
static int hf_nr_rrc_sps_HARQ_Deferral_r17 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_n1PUCCH_AN_PUCCHsSCell_r17 = -1;  /* PUCCH_ResourceId */
static int hf_nr_rrc_nrofHARQ_Processes_v1710 = -1;  /* INTEGER_9_32 */
static int hf_nr_rrc_harq_ProcID_Offset_v1700 = -1;  /* INTEGER_16_31 */
static int hf_nr_rrc_sps_PUCCH_AN_ResourceID_r16 = -1;  /* PUCCH_ResourceId */
static int hf_nr_rrc_maxPayloadSize_r16 = -1;     /* INTEGER_4_256 */
static int hf_nr_rrc_SPS_PUCCH_AN_List_r16_item = -1;  /* SPS_PUCCH_AN_r16 */
static int hf_nr_rrc_srs_SwitchFromServCellIndex = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_srs_SwitchFromCarrier = -1;  /* T_srs_SwitchFromCarrier */
static int hf_nr_rrc_srs_TPC_PDCCH_Group = -1;    /* T_srs_TPC_PDCCH_Group */
static int hf_nr_rrc_typeA = -1;                  /* SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config */
static int hf_nr_rrc_typeA_item = -1;             /* SRS_TPC_PDCCH_Config */
static int hf_nr_rrc_typeB = -1;                  /* SRS_TPC_PDCCH_Config */
static int hf_nr_rrc_monitoringCells = -1;        /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex */
static int hf_nr_rrc_monitoringCells_item = -1;   /* ServCellIndex */
static int hf_nr_rrc_srs_CC_SetIndexlist = -1;    /* SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex */
static int hf_nr_rrc_srs_CC_SetIndexlist_item = -1;  /* SRS_CC_SetIndex */
static int hf_nr_rrc_cc_SetIndex = -1;            /* INTEGER_0_3 */
static int hf_nr_rrc_cc_IndexInOneCC_Set = -1;    /* INTEGER_0_7 */
static int hf_nr_rrc_srs_ResourceSetToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId */
static int hf_nr_rrc_srs_ResourceSetToReleaseList_item = -1;  /* SRS_ResourceSetId */
static int hf_nr_rrc_srs_ResourceSetToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet */
static int hf_nr_rrc_srs_ResourceSetToAddModList_item = -1;  /* SRS_ResourceSet */
static int hf_nr_rrc_srs_ResourceToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId */
static int hf_nr_rrc_srs_ResourceToReleaseList_item = -1;  /* SRS_ResourceId */
static int hf_nr_rrc_srs_ResourceToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource */
static int hf_nr_rrc_srs_ResourceToAddModList_item = -1;  /* SRS_Resource */
static int hf_nr_rrc_tpc_Accumulation_01 = -1;    /* T_tpc_Accumulation_01 */
static int hf_nr_rrc_srs_RequestDCI_1_2_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_srs_RequestDCI_0_2_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_srs_ResourceSetToAddModListDCI_0_2_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet */
static int hf_nr_rrc_srs_ResourceSetToAddModListDCI_0_2_r16_item = -1;  /* SRS_ResourceSet */
static int hf_nr_rrc_srs_ResourceSetToReleaseListDCI_0_2_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId */
static int hf_nr_rrc_srs_ResourceSetToReleaseListDCI_0_2_r16_item = -1;  /* SRS_ResourceSetId */
static int hf_nr_rrc_srs_PosResourceSetToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16 */
static int hf_nr_rrc_srs_PosResourceSetToReleaseList_r16_item = -1;  /* SRS_PosResourceSetId_r16 */
static int hf_nr_rrc_srs_PosResourceSetToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16 */
static int hf_nr_rrc_srs_PosResourceSetToAddModList_r16_item = -1;  /* SRS_PosResourceSet_r16 */
static int hf_nr_rrc_srs_PosResourceToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 */
static int hf_nr_rrc_srs_PosResourceToReleaseList_r16_item = -1;  /* SRS_PosResourceId_r16 */
static int hf_nr_rrc_srs_PosResourceToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16 */
static int hf_nr_rrc_srs_PosResourceToAddModList_r16_item = -1;  /* SRS_PosResource_r16 */
static int hf_nr_rrc_srs_ResourceSetId = -1;      /* SRS_ResourceSetId */
static int hf_nr_rrc_srs_ResourceIdList = -1;     /* SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId */
static int hf_nr_rrc_srs_ResourceIdList_item = -1;  /* SRS_ResourceId */
static int hf_nr_rrc_resourceType_01 = -1;        /* T_resourceType_01 */
static int hf_nr_rrc_aperiodic_01 = -1;           /* T_aperiodic_01 */
static int hf_nr_rrc_aperiodicSRS_ResourceTrigger = -1;  /* INTEGER_1_maxNrofSRS_TriggerStates_1 */
static int hf_nr_rrc_slotOffset = -1;             /* INTEGER_1_32 */
static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList = -1;  /* T_aperiodicSRS_ResourceTriggerList */
static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList_item = -1;  /* INTEGER_1_maxNrofSRS_TriggerStates_1 */
static int hf_nr_rrc_semi_persistent = -1;        /* T_semi_persistent */
static int hf_nr_rrc_associatedCSI_RS = -1;       /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_periodic_01 = -1;            /* T_periodic_01 */
static int hf_nr_rrc_usage = -1;                  /* T_usage */
static int hf_nr_rrc_p0_01 = -1;                  /* INTEGER_M202_24 */
static int hf_nr_rrc_pathlossReferenceRS = -1;    /* PathlossReferenceRS_Config */
static int hf_nr_rrc_srs_PowerControlAdjustmentStates = -1;  /* T_srs_PowerControlAdjustmentStates */
static int hf_nr_rrc_pathlossReferenceRSList_r16 = -1;  /* T_pathlossReferenceRSList_r16 */
static int hf_nr_rrc_setup_167 = -1;              /* PathlossReferenceRSList_r16 */
static int hf_nr_rrc_usagePDC_r17 = -1;           /* T_usagePDC_r17 */
static int hf_nr_rrc_availableSlotOffsetList_r17 = -1;  /* SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17 */
static int hf_nr_rrc_availableSlotOffsetList_r17_item = -1;  /* AvailableSlotOffset_r17 */
static int hf_nr_rrc_followUnifiedTCI_StateSRS_r17 = -1;  /* T_followUnifiedTCI_StateSRS_r17 */
static int hf_nr_rrc_PathlossReferenceRSList_r16_item = -1;  /* PathlossReferenceRS_r16 */
static int hf_nr_rrc_srs_PathlossReferenceRS_Id_r16 = -1;  /* SRS_PathlossReferenceRS_Id_r16 */
static int hf_nr_rrc_pathlossReferenceRS_r16 = -1;  /* PathlossReferenceRS_Config */
static int hf_nr_rrc_srs_PosResourceSetId_r16 = -1;  /* SRS_PosResourceSetId_r16 */
static int hf_nr_rrc_srs_PosResourceIdList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16 */
static int hf_nr_rrc_srs_PosResourceIdList_r16_item = -1;  /* SRS_PosResourceId_r16 */
static int hf_nr_rrc_resourceType_r16 = -1;       /* T_resourceType_r16 */
static int hf_nr_rrc_aperiodic_r16 = -1;          /* T_aperiodic_r16 */
static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16 = -1;  /* T_aperiodicSRS_ResourceTriggerList_r16 */
static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16_item = -1;  /* INTEGER_1_maxNrofSRS_TriggerStates_1 */
static int hf_nr_rrc_semi_persistent_r16 = -1;    /* T_semi_persistent_r16 */
static int hf_nr_rrc_periodic_r16 = -1;           /* T_periodic_r16 */
static int hf_nr_rrc_alpha_r16 = -1;              /* Alpha */
static int hf_nr_rrc_p0_r16 = -1;                 /* INTEGER_M202_24 */
static int hf_nr_rrc_pathlossReferenceRS_Pos_r16 = -1;  /* T_pathlossReferenceRS_Pos_r16 */
static int hf_nr_rrc_ssb_IndexServing_r16 = -1;   /* SSB_Index */
static int hf_nr_rrc_ssb_Ncell_r16 = -1;          /* SSB_InfoNcell_r16 */
static int hf_nr_rrc_dl_PRS_r16 = -1;             /* DL_PRS_Info_r16 */
static int hf_nr_rrc_srs_ResourceId = -1;         /* SRS_ResourceId */
static int hf_nr_rrc_nrofSRS_Ports = -1;          /* T_nrofSRS_Ports */
static int hf_nr_rrc_ptrs_PortIndex = -1;         /* T_ptrs_PortIndex */
static int hf_nr_rrc_transmissionComb = -1;       /* T_transmissionComb */
static int hf_nr_rrc_n2_01 = -1;                  /* T_n2 */
static int hf_nr_rrc_combOffset_n2 = -1;          /* INTEGER_0_1 */
static int hf_nr_rrc_cyclicShift_n2 = -1;         /* INTEGER_0_7 */
static int hf_nr_rrc_n4_02 = -1;                  /* T_n4 */
static int hf_nr_rrc_combOffset_n4 = -1;          /* INTEGER_0_3 */
static int hf_nr_rrc_cyclicShift_n4 = -1;         /* INTEGER_0_11 */
static int hf_nr_rrc_resourceMapping_01 = -1;     /* T_resourceMapping */
static int hf_nr_rrc_startPosition = -1;          /* INTEGER_0_5 */
static int hf_nr_rrc_nrofSymbols_02 = -1;         /* T_nrofSymbols */
static int hf_nr_rrc_repetitionFactor = -1;       /* T_repetitionFactor */
static int hf_nr_rrc_freqDomainPosition = -1;     /* INTEGER_0_67 */
static int hf_nr_rrc_freqDomainShift = -1;        /* INTEGER_0_268 */
static int hf_nr_rrc_freqHopping = -1;            /* T_freqHopping */
static int hf_nr_rrc_c_SRS = -1;                  /* INTEGER_0_63 */
static int hf_nr_rrc_b_SRS = -1;                  /* INTEGER_0_3 */
static int hf_nr_rrc_b_hop = -1;                  /* INTEGER_0_3 */
static int hf_nr_rrc_groupOrSequenceHopping = -1;  /* T_groupOrSequenceHopping */
static int hf_nr_rrc_resourceType_02 = -1;        /* T_resourceType_02 */
static int hf_nr_rrc_aperiodic_02 = -1;           /* T_aperiodic_02 */
static int hf_nr_rrc_semi_persistent_01 = -1;     /* T_semi_persistent_01 */
static int hf_nr_rrc_periodicityAndOffset_sp = -1;  /* SRS_PeriodicityAndOffset */
static int hf_nr_rrc_periodic_02 = -1;            /* T_periodic_02 */
static int hf_nr_rrc_periodicityAndOffset_p = -1;  /* SRS_PeriodicityAndOffset */
static int hf_nr_rrc_sequenceId = -1;             /* INTEGER_0_1023 */
static int hf_nr_rrc_spatialRelationInfo = -1;    /* SRS_SpatialRelationInfo */
static int hf_nr_rrc_resourceMapping_r16 = -1;    /* T_resourceMapping_r16 */
static int hf_nr_rrc_nrofSymbols_r16_01 = -1;     /* T_nrofSymbols_r16 */
static int hf_nr_rrc_repetitionFactor_r16 = -1;   /* T_repetitionFactor_r16 */
static int hf_nr_rrc_spatialRelationInfo_PDC_r17 = -1;  /* T_spatialRelationInfo_PDC_r17 */
static int hf_nr_rrc_setup_168 = -1;              /* SpatialRelationInfo_PDC_r17 */
static int hf_nr_rrc_resourceMapping_r17 = -1;    /* T_resourceMapping_r17 */
static int hf_nr_rrc_startPosition_r17 = -1;      /* INTEGER_0_13 */
static int hf_nr_rrc_nrofSymbols_r17 = -1;        /* T_nrofSymbols_r17 */
static int hf_nr_rrc_repetitionFactor_r17_01 = -1;  /* T_repetitionFactor_r17_01 */
static int hf_nr_rrc_partialFreqSounding_r17 = -1;  /* T_partialFreqSounding_r17 */
static int hf_nr_rrc_startRBIndexFScaling_r17 = -1;  /* T_startRBIndexFScaling_r17 */
static int hf_nr_rrc_startRBIndexAndFreqScalingFactor2_r17 = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_startRBIndexAndFreqScalingFactor4_r17 = -1;  /* INTEGER_0_3 */
static int hf_nr_rrc_enableStartRBHopping_r17 = -1;  /* T_enableStartRBHopping_r17 */
static int hf_nr_rrc_transmissionComb_n8_r17 = -1;  /* T_transmissionComb_n8_r17 */
static int hf_nr_rrc_combOffset_n8_r17 = -1;      /* INTEGER_0_7 */
static int hf_nr_rrc_cyclicShift_n8_r17 = -1;     /* INTEGER_0_5 */
static int hf_nr_rrc_srs_TCI_State_r17 = -1;      /* T_srs_TCI_State_r17 */
static int hf_nr_rrc_srs_UL_TCI_State = -1;       /* TCI_UL_StateId_r17 */
static int hf_nr_rrc_srs_DLorJointTCI_State = -1;  /* TCI_StateId */
static int hf_nr_rrc_repetitionFactor_v1730 = -1;  /* T_repetitionFactor_v1730 */
static int hf_nr_rrc_srs_DLorJointTCI_State_v1730 = -1;  /* T_srs_DLorJointTCI_State_v1730 */
static int hf_nr_rrc_cellAndBWP_r17 = -1;         /* ServingCellAndBWP_Id_r17 */
static int hf_nr_rrc_srs_PosResourceId_r16 = -1;  /* SRS_PosResourceId_r16 */
static int hf_nr_rrc_transmissionComb_r16 = -1;   /* T_transmissionComb_r16 */
static int hf_nr_rrc_n2_r16 = -1;                 /* T_n2_r16 */
static int hf_nr_rrc_combOffset_n2_r16 = -1;      /* INTEGER_0_1 */
static int hf_nr_rrc_cyclicShift_n2_r16 = -1;     /* INTEGER_0_7 */
static int hf_nr_rrc_n4_r16 = -1;                 /* T_n4_r16 */
static int hf_nr_rrc_combOffset_n4_r16 = -1;      /* INTEGER_0_3 */
static int hf_nr_rrc_cyclicShift_n4_r16 = -1;     /* INTEGER_0_11 */
static int hf_nr_rrc_n8_r16 = -1;                 /* T_n8_r16 */
static int hf_nr_rrc_combOffset_n8_r16 = -1;      /* INTEGER_0_7 */
static int hf_nr_rrc_cyclicShift_n8_r16 = -1;     /* INTEGER_0_5 */
static int hf_nr_rrc_resourceMapping_r16_01 = -1;  /* T_resourceMapping_r16_01 */
static int hf_nr_rrc_nrofSymbols_r16_02 = -1;     /* T_nrofSymbols_r16_01 */
static int hf_nr_rrc_freqDomainShift_r16 = -1;    /* INTEGER_0_268 */
static int hf_nr_rrc_freqHopping_r16 = -1;        /* T_freqHopping_r16 */
static int hf_nr_rrc_c_SRS_r16 = -1;              /* INTEGER_0_63 */
static int hf_nr_rrc_groupOrSequenceHopping_r16 = -1;  /* T_groupOrSequenceHopping_r16 */
static int hf_nr_rrc_resourceType_r16_01 = -1;    /* T_resourceType_r16_01 */
static int hf_nr_rrc_aperiodic_r16_01 = -1;       /* T_aperiodic_r16_01 */
static int hf_nr_rrc_slotOffset_r16 = -1;         /* INTEGER_1_32 */
static int hf_nr_rrc_semi_persistent_r16_01 = -1;  /* T_semi_persistent_r16_01 */
static int hf_nr_rrc_periodicityAndOffset_sp_r16 = -1;  /* SRS_PeriodicityAndOffset_r16 */
static int hf_nr_rrc_periodicityAndOffset_sp_Ext_r16 = -1;  /* SRS_PeriodicityAndOffsetExt_r16 */
static int hf_nr_rrc_periodic_r16_01 = -1;        /* T_periodic_r16_01 */
static int hf_nr_rrc_periodicityAndOffset_p_r16 = -1;  /* SRS_PeriodicityAndOffset_r16 */
static int hf_nr_rrc_periodicityAndOffset_p_Ext_r16 = -1;  /* SRS_PeriodicityAndOffsetExt_r16 */
static int hf_nr_rrc_sequenceId_r16 = -1;         /* INTEGER_0_65535 */
static int hf_nr_rrc_spatialRelationInfoPos_r16 = -1;  /* SRS_SpatialRelationInfoPos_r16 */
static int hf_nr_rrc_referenceSignal_03 = -1;     /* T_referenceSignal_03 */
static int hf_nr_rrc_srs_01 = -1;                 /* T_srs */
static int hf_nr_rrc_resourceId = -1;             /* SRS_ResourceId */
static int hf_nr_rrc_servingRS_r16 = -1;          /* T_servingRS_r16 */
static int hf_nr_rrc_referenceSignal_r16_02 = -1;  /* T_referenceSignal_r16_02 */
static int hf_nr_rrc_csi_RS_IndexServing_r16 = -1;  /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_srs_SpatialRelation_r16 = -1;  /* T_srs_SpatialRelation_r16 */
static int hf_nr_rrc_resourceSelection_r16 = -1;  /* T_resourceSelection_r16 */
static int hf_nr_rrc_uplinkBWP_r16 = -1;          /* BWP_Id */
static int hf_nr_rrc_ssb_Freq_r16 = -1;           /* ARFCN_ValueNR */
static int hf_nr_rrc_halfFrameIndex_r16 = -1;     /* T_halfFrameIndex_r16 */
static int hf_nr_rrc_ssb_Periodicity_r16 = -1;    /* T_ssb_Periodicity_r16 */
static int hf_nr_rrc_sfn0_Offset_r16 = -1;        /* T_sfn0_Offset_r16 */
static int hf_nr_rrc_sfn_Offset_r16 = -1;         /* INTEGER_0_1023 */
static int hf_nr_rrc_integerSubframeOffset_r16 = -1;  /* INTEGER_0_9 */
static int hf_nr_rrc_sfn_SSB_Offset_r16 = -1;     /* INTEGER_0_15 */
static int hf_nr_rrc_ss_PBCH_BlockPower_r16 = -1;  /* INTEGER_M60_50 */
static int hf_nr_rrc_physicalCellId_r16 = -1;     /* PhysCellId */
static int hf_nr_rrc_ssb_IndexNcell_r16 = -1;     /* SSB_Index */
static int hf_nr_rrc_ssb_Configuration_r16 = -1;  /* SSB_Configuration_r16 */
static int hf_nr_rrc_dl_PRS_ID_r16 = -1;          /* INTEGER_0_255 */
static int hf_nr_rrc_dl_PRS_ResourceSetId_r16 = -1;  /* INTEGER_0_7 */
static int hf_nr_rrc_dl_PRS_ResourceId_r16 = -1;  /* INTEGER_0_63 */
static int hf_nr_rrc_sl40960 = -1;                /* INTEGER_0_40959 */
static int hf_nr_rrc_sl81920 = -1;                /* INTEGER_0_81919 */
static int hf_nr_rrc_sl256 = -1;                  /* INTEGER_0_255 */
static int hf_nr_rrc_sl512 = -1;                  /* INTEGER_0_511 */
static int hf_nr_rrc_referenceSignal_04 = -1;     /* T_referenceSignal_04 */
static int hf_nr_rrc_dl_PRS_PDC = -1;             /* NR_DL_PRS_ResourceID_r17 */
static int hf_nr_rrc_srs_02 = -1;                 /* T_srs_01 */
static int hf_nr_rrc_startingBitOfFormat2_3 = -1;  /* INTEGER_1_31 */
static int hf_nr_rrc_fieldTypeFormat2_3 = -1;     /* INTEGER_0_1 */
static int hf_nr_rrc_startingBitOfFormat2_3SUL = -1;  /* INTEGER_1_31 */
static int hf_nr_rrc_periodicityAndOffset_02 = -1;  /* T_periodicityAndOffset_01 */
static int hf_nr_rrc_sf5 = -1;                    /* INTEGER_0_4 */
static int hf_nr_rrc_sf10 = -1;                   /* INTEGER_0_9 */
static int hf_nr_rrc_sf20 = -1;                   /* INTEGER_0_19 */
static int hf_nr_rrc_sf40 = -1;                   /* INTEGER_0_39 */
static int hf_nr_rrc_sf80 = -1;                   /* INTEGER_0_79 */
static int hf_nr_rrc_sf160 = -1;                  /* INTEGER_0_159 */
static int hf_nr_rrc_duration_02 = -1;            /* T_duration */
static int hf_nr_rrc_pci_List = -1;               /* SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId */
static int hf_nr_rrc_pci_List_item = -1;          /* PhysCellId */
static int hf_nr_rrc_periodicity_02 = -1;         /* T_periodicity_02 */
static int hf_nr_rrc_periodicity_03 = -1;         /* T_periodicity_03 */
static int hf_nr_rrc_periodicityAndOffset_r16 = -1;  /* T_periodicityAndOffset_r16 */
static int hf_nr_rrc_sf5_r16 = -1;                /* INTEGER_0_4 */
static int hf_nr_rrc_sf10_r16 = -1;               /* INTEGER_0_9 */
static int hf_nr_rrc_sf20_r16 = -1;               /* INTEGER_0_19 */
static int hf_nr_rrc_sf40_r16 = -1;               /* INTEGER_0_39 */
static int hf_nr_rrc_sf80_r16 = -1;               /* INTEGER_0_79 */
static int hf_nr_rrc_sf160_r16 = -1;              /* INTEGER_0_159 */
static int hf_nr_rrc_sf320_r16 = -1;              /* INTEGER_0_319 */
static int hf_nr_rrc_sf640_r16 = -1;              /* INTEGER_0_639 */
static int hf_nr_rrc_sf1280_r16 = -1;             /* INTEGER_0_1279 */
static int hf_nr_rrc_duration_r16_01 = -1;        /* T_duration_r16 */
static int hf_nr_rrc_pci_List_r16 = -1;           /* SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId */
static int hf_nr_rrc_pci_List_r16_item = -1;      /* PhysCellId */
static int hf_nr_rrc_ssb_ToMeasure_r16_01 = -1;   /* T_ssb_ToMeasure_r16 */
static int hf_nr_rrc_pci_List_r17 = -1;           /* SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId */
static int hf_nr_rrc_pci_List_r17_item = -1;      /* PhysCellId */
static int hf_nr_rrc_offset_r17_02 = -1;          /* INTEGER_0_159 */
static int hf_nr_rrc_additionalPCIIndex_r17 = -1;  /* AdditionalPCIIndex_r17 */
static int hf_nr_rrc_additionalPCI_r17_01 = -1;   /* PhysCellId */
static int hf_nr_rrc_periodicity_r17 = -1;        /* T_periodicity_r17 */
static int hf_nr_rrc_ssb_PositionsInBurst_r17 = -1;  /* T_ssb_PositionsInBurst_r17 */
static int hf_nr_rrc_ss_PBCH_BlockPower_r17 = -1;  /* INTEGER_M60_50 */
static int hf_nr_rrc_measurementSlots = -1;       /* BIT_STRING_SIZE_1_80 */
static int hf_nr_rrc_endSymbol = -1;              /* INTEGER_0_3 */
static int hf_nr_rrc_tag_ToReleaseList = -1;      /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id */
static int hf_nr_rrc_tag_ToReleaseList_item = -1;  /* TAG_Id */
static int hf_nr_rrc_tag_ToAddModList = -1;       /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG */
static int hf_nr_rrc_tag_ToAddModList_item = -1;  /* TAG */
static int hf_nr_rrc_timeAlignmentTimer = -1;     /* TimeAlignmentTimer */
static int hf_nr_rrc_offsetThresholdTA_r17 = -1;  /* T_offsetThresholdTA_r17 */
static int hf_nr_rrc_timingAdvanceSR_r17 = -1;    /* T_timingAdvanceSR_r17 */
static int hf_nr_rrc_pdcch_TCI_r17 = -1;          /* SEQUENCE_SIZE_1_5_OF_TCI_StateId */
static int hf_nr_rrc_pdcch_TCI_r17_item = -1;     /* TCI_StateId */
static int hf_nr_rrc_pdsch_TCI_r17 = -1;          /* BIT_STRING_SIZE_1_maxNrofTCI_States */
static int hf_nr_rrc_tci_StateId = -1;            /* TCI_StateId */
static int hf_nr_rrc_qcl_Type1 = -1;              /* QCL_Info */
static int hf_nr_rrc_qcl_Type2 = -1;              /* QCL_Info */
static int hf_nr_rrc_cell = -1;                   /* ServCellIndex */
static int hf_nr_rrc_referenceSignal_05 = -1;     /* T_referenceSignal_05 */
static int hf_nr_rrc_csi_rs = -1;                 /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_qcl_Type = -1;               /* T_qcl_Type */
static int hf_nr_rrc_tci_UL_StateId_r17 = -1;     /* TCI_UL_StateId_r17 */
static int hf_nr_rrc_bwp_Id_r17 = -1;             /* BWP_Id */
static int hf_nr_rrc_referenceSignal_r17_01 = -1;  /* T_referenceSignal_r17_01 */
static int hf_nr_rrc_ssb_Index_r17_01 = -1;       /* SSB_Index */
static int hf_nr_rrc_csi_RS_Index_r17 = -1;       /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_srs_r17 = -1;                /* SRS_ResourceId */
static int hf_nr_rrc_referenceSubcarrierSpacing = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_pattern1_01 = -1;            /* TDD_UL_DL_Pattern */
static int hf_nr_rrc_pattern2 = -1;               /* TDD_UL_DL_Pattern */
static int hf_nr_rrc_dl_UL_TransmissionPeriodicity = -1;  /* T_dl_UL_TransmissionPeriodicity */
static int hf_nr_rrc_nrofDownlinkSlots = -1;      /* INTEGER_0_maxNrofSlots */
static int hf_nr_rrc_nrofDownlinkSymbols = -1;    /* INTEGER_0_maxNrofSymbols_1 */
static int hf_nr_rrc_nrofUplinkSlots = -1;        /* INTEGER_0_maxNrofSlots */
static int hf_nr_rrc_nrofUplinkSymbols = -1;      /* INTEGER_0_maxNrofSymbols_1 */
static int hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530 = -1;  /* T_dl_UL_TransmissionPeriodicity_v1530 */
static int hf_nr_rrc_slotSpecificConfigurationsToAddModList = -1;  /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig */
static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_item = -1;  /* TDD_UL_DL_SlotConfig */
static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList = -1;  /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex */
static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList_item = -1;  /* TDD_UL_DL_SlotIndex */
static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16 */
static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16_item = -1;  /* TDD_UL_DL_SlotConfig_IAB_MT_r16 */
static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex */
static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16_item = -1;  /* TDD_UL_DL_SlotIndex */
static int hf_nr_rrc_slotIndex = -1;              /* TDD_UL_DL_SlotIndex */
static int hf_nr_rrc_symbols = -1;                /* T_symbols */
static int hf_nr_rrc_allDownlink = -1;            /* NULL */
static int hf_nr_rrc_allUplink = -1;              /* NULL */
static int hf_nr_rrc_explicit = -1;               /* T_explicit */
static int hf_nr_rrc_nrofDownlinkSymbols_01 = -1;  /* INTEGER_1_maxNrofSymbols_1 */
static int hf_nr_rrc_nrofUplinkSymbols_01 = -1;   /* INTEGER_1_maxNrofSymbols_1 */
static int hf_nr_rrc_slotIndex_r16 = -1;          /* TDD_UL_DL_SlotIndex */
static int hf_nr_rrc_symbols_IAB_MT_r16 = -1;     /* T_symbols_IAB_MT_r16 */
static int hf_nr_rrc_allDownlink_r16 = -1;        /* NULL */
static int hf_nr_rrc_allUplink_r16 = -1;          /* NULL */
static int hf_nr_rrc_explicit_r16 = -1;           /* T_explicit_r16 */
static int hf_nr_rrc_nrofDownlinkSymbols_r16 = -1;  /* INTEGER_1_maxNrofSymbols_1 */
static int hf_nr_rrc_nrofUplinkSymbols_r16 = -1;  /* INTEGER_1_maxNrofSymbols_1 */
static int hf_nr_rrc_explicit_IAB_MT_r16 = -1;    /* T_explicit_IAB_MT_r16 */
static int hf_nr_rrc_UAC_BarringInfoSetList_item = -1;  /* UAC_BarringInfoSet */
static int hf_nr_rrc_UAC_BarringInfoSetList_v1700_item = -1;  /* UAC_BarringInfoSet_v1700 */
static int hf_nr_rrc_uac_BarringFactor = -1;      /* T_uac_BarringFactor */
static int hf_nr_rrc_uac_BarringTime = -1;        /* T_uac_BarringTime */
static int hf_nr_rrc_uac_BarringForAccessIdentity = -1;  /* BIT_STRING_SIZE_7 */
static int hf_nr_rrc_uac_BarringFactorForAI3_r17 = -1;  /* T_uac_BarringFactorForAI3_r17 */
static int hf_nr_rrc_UAC_BarringPerCatList_item = -1;  /* UAC_BarringPerCat */
static int hf_nr_rrc_accessCategory = -1;         /* INTEGER_1_maxAccessCat_1 */
static int hf_nr_rrc_uac_barringInfoSetIndex = -1;  /* UAC_BarringInfoSetIndex */
static int hf_nr_rrc_UAC_BarringPerPLMN_List_item = -1;  /* UAC_BarringPerPLMN */
static int hf_nr_rrc_plmn_IdentityIndex = -1;     /* INTEGER_1_maxPLMN */
static int hf_nr_rrc_uac_ACBarringListType = -1;  /* T_uac_ACBarringListType */
static int hf_nr_rrc_uac_ImplicitACBarringList = -1;  /* SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex */
static int hf_nr_rrc_uac_ImplicitACBarringList_item = -1;  /* UAC_BarringInfoSetIndex */
static int hf_nr_rrc_uac_ExplicitACBarringList = -1;  /* UAC_BarringPerCatList */
static int hf_nr_rrc_t300 = -1;                   /* T_t300 */
static int hf_nr_rrc_t301 = -1;                   /* T_t301 */
static int hf_nr_rrc_t310_01 = -1;                /* T_t310_01 */
static int hf_nr_rrc_n310_01 = -1;                /* T_n310_01 */
static int hf_nr_rrc_t311_01 = -1;                /* T_t311_01 */
static int hf_nr_rrc_n311_01 = -1;                /* T_n311_01 */
static int hf_nr_rrc_t319 = -1;                   /* T_t319 */
static int hf_nr_rrc_delay_DRBlist_r16 = -1;      /* SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity */
static int hf_nr_rrc_delay_DRBlist_r16_item = -1;  /* DRB_Identity */
static int hf_nr_rrc_excessDelay_DRBlist_r17 = -1;  /* SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17 */
static int hf_nr_rrc_excessDelay_DRBlist_r17_item = -1;  /* ExcessDelay_DRB_IdentityInfo_r17 */
static int hf_nr_rrc_drb_IdentityList = -1;       /* SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity */
static int hf_nr_rrc_drb_IdentityList_item = -1;  /* DRB_Identity */
static int hf_nr_rrc_delayThreshold = -1;         /* T_delayThreshold */
static int hf_nr_rrc_ugl_r17 = -1;                /* T_ugl_r17 */
static int hf_nr_rrc_ugrp_r17 = -1;               /* T_ugrp_r17 */
static int hf_nr_rrc_ci_RNTI_r16 = -1;            /* RNTI_Value */
static int hf_nr_rrc_dci_PayloadSizeForCI_r16 = -1;  /* INTEGER_0_maxCI_DCI_PayloadSize_r16 */
static int hf_nr_rrc_ci_ConfigurationPerServingCell_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16 */
static int hf_nr_rrc_ci_ConfigurationPerServingCell_r16_item = -1;  /* CI_ConfigurationPerServingCell_r16 */
static int hf_nr_rrc_positionInDCI_r16_01 = -1;   /* INTEGER_0_maxCI_DCI_PayloadSize_1_r16 */
static int hf_nr_rrc_positionInDCI_ForSUL_r16 = -1;  /* INTEGER_0_maxCI_DCI_PayloadSize_1_r16 */
static int hf_nr_rrc_ci_PayloadSize_r16 = -1;     /* T_ci_PayloadSize_r16 */
static int hf_nr_rrc_timeFrequencyRegion_r16 = -1;  /* T_timeFrequencyRegion_r16 */
static int hf_nr_rrc_timeDurationForCI_r16 = -1;  /* T_timeDurationForCI_r16 */
static int hf_nr_rrc_timeGranularityForCI_r16 = -1;  /* T_timeGranularityForCI_r16 */
static int hf_nr_rrc_frequencyRegionForCI_r16 = -1;  /* INTEGER_0_37949 */
static int hf_nr_rrc_deltaOffset_r16 = -1;        /* INTEGER_0_2 */
static int hf_nr_rrc_uplinkCancellationPriority_v1610 = -1;  /* T_uplinkCancellationPriority_v1610 */
static int hf_nr_rrc_frequencyInfoUL = -1;        /* FrequencyInfoUL */
static int hf_nr_rrc_initialUplinkBWP_01 = -1;    /* BWP_UplinkCommon */
static int hf_nr_rrc_uplinkConfigCommon_dummy = -1;  /* TimeAlignmentTimer */
static int hf_nr_rrc_initialUplinkBWP_RedCap_r17 = -1;  /* BWP_UplinkCommon */
static int hf_nr_rrc_frequencyInfoUL_01 = -1;     /* FrequencyInfoUL_SIB */
static int hf_nr_rrc_timeAlignmentTimerCommon = -1;  /* TimeAlignmentTimer */
static int hf_nr_rrc_ul_powercontrolId_r17 = -1;  /* Uplink_powerControlId_r17 */
static int hf_nr_rrc_p0AlphaSetforPUSCH_r17 = -1;  /* P0AlphaSet_r17 */
static int hf_nr_rrc_p0AlphaSetforPUCCH_r17 = -1;  /* P0AlphaSet_r17 */
static int hf_nr_rrc_p0AlphaSetforSRS_r17 = -1;   /* P0AlphaSet_r17 */
static int hf_nr_rrc_p0_r17 = -1;                 /* INTEGER_M16_15 */
static int hf_nr_rrc_alpha_r17 = -1;              /* Alpha */
static int hf_nr_rrc_closedLoopIndex_r17 = -1;    /* T_closedLoopIndex_r17 */
static int hf_nr_rrc_uu_LogicalChannelIdentity_r17 = -1;  /* LogicalChannelIdentity */
static int hf_nr_rrc_uu_RelayRLC_ChannelID_r17 = -1;  /* Uu_RelayRLC_ChannelID_r17 */
static int hf_nr_rrc_reestablishRLC_r17 = -1;     /* T_reestablishRLC_r17 */
static int hf_nr_rrc_rlc_Config_r17 = -1;         /* RLC_Config */
static int hf_nr_rrc_mac_LogicalChannelConfig_r17 = -1;  /* LogicalChannelConfig */
static int hf_nr_rrc_UplinkTxDirectCurrentList_item = -1;  /* UplinkTxDirectCurrentCell */
static int hf_nr_rrc_uplinkDirectCurrentBWP = -1;  /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP */
static int hf_nr_rrc_uplinkDirectCurrentBWP_item = -1;  /* UplinkTxDirectCurrentBWP */
static int hf_nr_rrc_uplinkDirectCurrentBWP_SUL = -1;  /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP */
static int hf_nr_rrc_uplinkDirectCurrentBWP_SUL_item = -1;  /* UplinkTxDirectCurrentBWP */
static int hf_nr_rrc_shift7dot5kHz = -1;          /* BOOLEAN */
static int hf_nr_rrc_txDirectCurrentLocation_01 = -1;  /* INTEGER_0_3301 */
static int hf_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17_item = -1;  /* CC_Group_r17 */
static int hf_nr_rrc_servCellIndexLower_r17 = -1;  /* ServCellIndex */
static int hf_nr_rrc_servCellIndexHigher_r17 = -1;  /* ServCellIndex */
static int hf_nr_rrc_defaultDC_Location_r17 = -1;  /* DefaultDC_Location_r17 */
static int hf_nr_rrc_offsetToDefault_r17 = -1;    /* T_offsetToDefault_r17 */
static int hf_nr_rrc_offsetValue = -1;            /* OffsetValue_r17 */
static int hf_nr_rrc_offsetlist = -1;             /* SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17 */
static int hf_nr_rrc_offsetlist_item = -1;        /* OffsetValue_r17 */
static int hf_nr_rrc_offsetValue_r17 = -1;        /* INTEGER_M20000_20000 */
static int hf_nr_rrc_shift7dot5kHz_r17 = -1;      /* BOOLEAN */
static int hf_nr_rrc_ul = -1;                     /* FrequencyComponent_r17 */
static int hf_nr_rrc_dl = -1;                     /* FrequencyComponent_r17 */
static int hf_nr_rrc_ulAndDL = -1;                /* FrequencyComponent_r17 */
static int hf_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_item = -1;  /* UplinkTxDirectCurrentTwoCarrier_r16 */
static int hf_nr_rrc_carrierOneInfo_r16 = -1;     /* UplinkTxDirectCurrentCarrierInfo_r16 */
static int hf_nr_rrc_carrierTwoInfo_r16 = -1;     /* UplinkTxDirectCurrentCarrierInfo_r16 */
static int hf_nr_rrc_singlePA_TxDirectCurrent_r16 = -1;  /* UplinkTxDirectCurrentTwoCarrierInfo_r16 */
static int hf_nr_rrc_secondPA_TxDirectCurrent_r16 = -1;  /* UplinkTxDirectCurrentTwoCarrierInfo_r16 */
static int hf_nr_rrc_servCellIndex_r16 = -1;      /* ServCellIndex */
static int hf_nr_rrc_servCellInfo_r16 = -1;       /* T_servCellInfo_r16 */
static int hf_nr_rrc_bwp_Id_r16 = -1;             /* BWP_Id */
static int hf_nr_rrc_deactivatedCarrier_r16 = -1;  /* T_deactivatedCarrier_r16 */
static int hf_nr_rrc_referenceCarrierIndex_r16 = -1;  /* ServCellIndex */
static int hf_nr_rrc_shift7dot5kHz_r16 = -1;      /* BOOLEAN */
static int hf_nr_rrc_txDirectCurrentLocation_r16 = -1;  /* INTEGER_0_3301 */
static int hf_nr_rrc_zp_CSI_RS_ResourceId = -1;   /* ZP_CSI_RS_ResourceId */
static int hf_nr_rrc_zp_CSI_RS_ResourceSetId = -1;  /* ZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_zp_CSI_RS_ResourceIdList = -1;  /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId */
static int hf_nr_rrc_zp_CSI_RS_ResourceIdList_item = -1;  /* ZP_CSI_RS_ResourceId */
static int hf_nr_rrc_qoe_Streaming_MeasReport_r17 = -1;  /* T_qoe_Streaming_MeasReport_r17 */
static int hf_nr_rrc_qoe_MTSI_MeasReport_r17 = -1;  /* T_qoe_MTSI_MeasReport_r17 */
static int hf_nr_rrc_qoe_VR_MeasReport_r17 = -1;  /* T_qoe_VR_MeasReport_r17 */
static int hf_nr_rrc_ran_VisibleQoE_Streaming_MeasReport_r17 = -1;  /* T_ran_VisibleQoE_Streaming_MeasReport_r17 */
static int hf_nr_rrc_ran_VisibleQoE_VR_MeasReport_r17 = -1;  /* T_ran_VisibleQoE_VR_MeasReport_r17 */
static int hf_nr_rrc_ul_MeasurementReportAppLayer_Seg_r17 = -1;  /* T_ul_MeasurementReportAppLayer_Seg_r17 */
static int hf_nr_rrc_BandCombinationList_item = -1;  /* BandCombination */
static int hf_nr_rrc_BandCombinationList_v1540_item = -1;  /* BandCombination_v1540 */
static int hf_nr_rrc_BandCombinationList_v1550_item = -1;  /* BandCombination_v1550 */
static int hf_nr_rrc_BandCombinationList_v1560_item = -1;  /* BandCombination_v1560 */
static int hf_nr_rrc_BandCombinationList_v1570_item = -1;  /* BandCombination_v1570 */
static int hf_nr_rrc_BandCombinationList_v1580_item = -1;  /* BandCombination_v1580 */
static int hf_nr_rrc_BandCombinationList_v1590_item = -1;  /* BandCombination_v1590 */
static int hf_nr_rrc_BandCombinationList_v15g0_item = -1;  /* BandCombination_v15g0 */
static int hf_nr_rrc_BandCombinationList_v1610_item = -1;  /* BandCombination_v1610 */
static int hf_nr_rrc_BandCombinationList_v1630_item = -1;  /* BandCombination_v1630 */
static int hf_nr_rrc_BandCombinationList_v1640_item = -1;  /* BandCombination_v1640 */
static int hf_nr_rrc_BandCombinationList_v1650_item = -1;  /* BandCombination_v1650 */
static int hf_nr_rrc_BandCombinationList_v1680_item = -1;  /* BandCombination_v1680 */
static int hf_nr_rrc_BandCombinationList_v1690_item = -1;  /* BandCombination_v1690 */
static int hf_nr_rrc_BandCombinationList_v16a0_item = -1;  /* BandCombination_v16a0 */
static int hf_nr_rrc_BandCombinationList_v1700_item = -1;  /* BandCombination_v1700 */
static int hf_nr_rrc_BandCombinationList_v1720_item = -1;  /* BandCombination_v1720 */
static int hf_nr_rrc_BandCombinationList_v1730_item = -1;  /* BandCombination_v1730 */
static int hf_nr_rrc_BandCombinationList_v1740_item = -1;  /* BandCombination_v1740 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_r16_item = -1;  /* BandCombination_UplinkTxSwitch_r16 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630_item = -1;  /* BandCombination_UplinkTxSwitch_v1630 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640_item = -1;  /* BandCombination_UplinkTxSwitch_v1640 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1650_item = -1;  /* BandCombination_UplinkTxSwitch_v1650 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670_item = -1;  /* BandCombination_UplinkTxSwitch_v1670 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1690_item = -1;  /* BandCombination_UplinkTxSwitch_v1690 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v16a0_item = -1;  /* BandCombination_UplinkTxSwitch_v16a0 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700_item = -1;  /* BandCombination_UplinkTxSwitch_v1700 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720_item = -1;  /* BandCombination_UplinkTxSwitch_v1720 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730_item = -1;  /* BandCombination_UplinkTxSwitch_v1730 */
static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740_item = -1;  /* BandCombination_UplinkTxSwitch_v1740 */
static int hf_nr_rrc_bandList = -1;               /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters */
static int hf_nr_rrc_bandList_item = -1;          /* BandParameters */
static int hf_nr_rrc_featureSetCombination = -1;  /* FeatureSetCombinationId */
static int hf_nr_rrc_ca_ParametersEUTRA = -1;     /* CA_ParametersEUTRA */
static int hf_nr_rrc_ca_ParametersNR = -1;        /* CA_ParametersNR */
static int hf_nr_rrc_mrdc_Parameters = -1;        /* MRDC_Parameters */
static int hf_nr_rrc_supportedBandwidthCombinationSet = -1;  /* BIT_STRING_SIZE_1_32 */
static int hf_nr_rrc_powerClass_v1530 = -1;       /* T_powerClass_v1530 */
static int hf_nr_rrc_bandList_v1540 = -1;         /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540 */
static int hf_nr_rrc_bandList_v1540_item = -1;    /* BandParameters_v1540 */
static int hf_nr_rrc_ca_ParametersNR_v1540 = -1;  /* CA_ParametersNR_v1540 */
static int hf_nr_rrc_ca_ParametersNR_v1550 = -1;  /* CA_ParametersNR_v1550 */
static int hf_nr_rrc_ne_DC_BC = -1;               /* T_ne_DC_BC */
static int hf_nr_rrc_ca_ParametersNRDC = -1;      /* CA_ParametersNRDC */
static int hf_nr_rrc_ca_ParametersEUTRA_v1560 = -1;  /* CA_ParametersEUTRA_v1560 */
static int hf_nr_rrc_ca_ParametersNR_v1560 = -1;  /* CA_ParametersNR_v1560 */
static int hf_nr_rrc_ca_ParametersEUTRA_v1570 = -1;  /* CA_ParametersEUTRA_v1570 */
static int hf_nr_rrc_mrdc_Parameters_v1580 = -1;  /* MRDC_Parameters_v1580 */
static int hf_nr_rrc_supportedBandwidthCombinationSetIntraENDC = -1;  /* BIT_STRING_SIZE_1_32 */
static int hf_nr_rrc_mrdc_Parameters_v1590 = -1;  /* MRDC_Parameters_v1590 */
static int hf_nr_rrc_ca_ParametersNR_v15g0 = -1;  /* CA_ParametersNR_v15g0 */
static int hf_nr_rrc_ca_ParametersNRDC_v15g0 = -1;  /* CA_ParametersNRDC_v15g0 */
static int hf_nr_rrc_mrdc_Parameters_v15g0 = -1;  /* MRDC_Parameters_v15g0 */
static int hf_nr_rrc_bandList_v1610 = -1;         /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610 */
static int hf_nr_rrc_bandList_v1610_item = -1;    /* BandParameters_v1610 */
static int hf_nr_rrc_ca_ParametersNR_v1610 = -1;  /* CA_ParametersNR_v1610 */
static int hf_nr_rrc_ca_ParametersNRDC_v1610 = -1;  /* CA_ParametersNRDC_v1610 */
static int hf_nr_rrc_powerClass_v1610 = -1;       /* T_powerClass_v1610 */
static int hf_nr_rrc_powerClassNRPart_r16 = -1;   /* T_powerClassNRPart_r16 */
static int hf_nr_rrc_featureSetCombinationDAPS_r16 = -1;  /* FeatureSetCombinationId */
static int hf_nr_rrc_mrdc_Parameters_v1620 = -1;  /* MRDC_Parameters_v1620 */
static int hf_nr_rrc_ca_ParametersNR_v1630 = -1;  /* CA_ParametersNR_v1630 */
static int hf_nr_rrc_ca_ParametersNRDC_v1630 = -1;  /* CA_ParametersNRDC_v1630 */
static int hf_nr_rrc_mrdc_Parameters_v1630 = -1;  /* MRDC_Parameters_v1630 */
static int hf_nr_rrc_supportedTxBandCombListPerBC_Sidelink_r16 = -1;  /* BIT_STRING_SIZE_1_maxBandComb */
static int hf_nr_rrc_supportedRxBandCombListPerBC_Sidelink_r16 = -1;  /* BIT_STRING_SIZE_1_maxBandComb */
static int hf_nr_rrc_scalingFactorTxSidelink_r16 = -1;  /* SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16 */
static int hf_nr_rrc_scalingFactorTxSidelink_r16_item = -1;  /* ScalingFactorSidelink_r16 */
static int hf_nr_rrc_scalingFactorRxSidelink_r16 = -1;  /* SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16 */
static int hf_nr_rrc_scalingFactorRxSidelink_r16_item = -1;  /* ScalingFactorSidelink_r16 */
static int hf_nr_rrc_ca_ParametersNR_v1640 = -1;  /* CA_ParametersNR_v1640 */
static int hf_nr_rrc_ca_ParametersNRDC_v1640 = -1;  /* CA_ParametersNRDC_v1640 */
static int hf_nr_rrc_ca_ParametersNRDC_v1650 = -1;  /* CA_ParametersNRDC_v1650 */
static int hf_nr_rrc_intrabandConcurrentOperationPowerClass_r16 = -1;  /* SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16 */
static int hf_nr_rrc_intrabandConcurrentOperationPowerClass_r16_item = -1;  /* IntraBandPowerClass_r16 */
static int hf_nr_rrc_ca_ParametersNR_v1690 = -1;  /* CA_ParametersNR_v1690 */
static int hf_nr_rrc_ca_ParametersNR_v16a0 = -1;  /* CA_ParametersNR_v16a0 */
static int hf_nr_rrc_ca_ParametersNRDC_v16a0 = -1;  /* CA_ParametersNRDC_v16a0 */
static int hf_nr_rrc_ca_ParametersNR_v1700 = -1;  /* CA_ParametersNR_v1700 */
static int hf_nr_rrc_ca_ParametersNRDC_v1700 = -1;  /* CA_ParametersNRDC_v1700 */
static int hf_nr_rrc_mrdc_Parameters_v1700 = -1;  /* MRDC_Parameters_v1700 */
static int hf_nr_rrc_bandList_v1710 = -1;         /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710 */
static int hf_nr_rrc_bandList_v1710_item = -1;    /* BandParameters_v1710 */
static int hf_nr_rrc_supportedBandCombListPerBC_SL_RelayDiscovery_r17 = -1;  /* BIT_STRING_SIZE_1_maxBandComb */
static int hf_nr_rrc_supportedBandCombListPerBC_SL_NonRelayDiscovery_r17 = -1;  /* BIT_STRING_SIZE_1_maxBandComb */
static int hf_nr_rrc_ca_ParametersNR_v1720 = -1;  /* CA_ParametersNR_v1720 */
static int hf_nr_rrc_ca_ParametersNRDC_v1720 = -1;  /* CA_ParametersNRDC_v1720 */
static int hf_nr_rrc_ca_ParametersNR_v1730 = -1;  /* CA_ParametersNR_v1730 */
static int hf_nr_rrc_ca_ParametersNRDC_v1730 = -1;  /* CA_ParametersNRDC_v1730 */
static int hf_nr_rrc_bandList_v1730 = -1;         /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730 */
static int hf_nr_rrc_bandList_v1730_item = -1;    /* BandParameters_v1730 */
static int hf_nr_rrc_ca_ParametersNR_v1740 = -1;  /* CA_ParametersNR_v1740 */
static int hf_nr_rrc_bandCombination_r16 = -1;    /* BandCombination */
static int hf_nr_rrc_bandCombination_v1540 = -1;  /* BandCombination_v1540 */
static int hf_nr_rrc_bandCombination_v1560 = -1;  /* BandCombination_v1560 */
static int hf_nr_rrc_bandCombination_v1570 = -1;  /* BandCombination_v1570 */
static int hf_nr_rrc_bandCombination_v1580 = -1;  /* BandCombination_v1580 */
static int hf_nr_rrc_bandCombination_v1590 = -1;  /* BandCombination_v1590 */
static int hf_nr_rrc_bandCombination_v1610 = -1;  /* BandCombination_v1610 */
static int hf_nr_rrc_supportedBandPairListNR_r16 = -1;  /* SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16 */
static int hf_nr_rrc_supportedBandPairListNR_r16_item = -1;  /* ULTxSwitchingBandPair_r16 */
static int hf_nr_rrc_uplinkTxSwitching_OptionSupport_r16 = -1;  /* T_uplinkTxSwitching_OptionSupport_r16 */
static int hf_nr_rrc_uplinkTxSwitching_PowerBoosting_r16 = -1;  /* T_uplinkTxSwitching_PowerBoosting_r16 */
static int hf_nr_rrc_uplinkTxSwitching_PUSCH_TransCoherence_r16 = -1;  /* T_uplinkTxSwitching_PUSCH_TransCoherence_r16 */
static int hf_nr_rrc_bandCombination_v1630 = -1;  /* BandCombination_v1630 */
static int hf_nr_rrc_bandCombination_v1640 = -1;  /* BandCombination_v1640 */
static int hf_nr_rrc_bandCombination_v1650 = -1;  /* BandCombination_v1650 */
static int hf_nr_rrc_bandCombination_v15g0 = -1;  /* BandCombination_v15g0 */
static int hf_nr_rrc_bandCombination_v1690 = -1;  /* BandCombination_v1690 */
static int hf_nr_rrc_bandCombination_v16a0 = -1;  /* BandCombination_v16a0 */
static int hf_nr_rrc_bandCombination_v1700 = -1;  /* BandCombination_v1700 */
static int hf_nr_rrc_supportedBandPairListNR_v1700 = -1;  /* SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700 */
static int hf_nr_rrc_supportedBandPairListNR_v1700_item = -1;  /* ULTxSwitchingBandPair_v1700 */
static int hf_nr_rrc_uplinkTxSwitchingBandParametersList_v1700 = -1;  /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700 */
static int hf_nr_rrc_uplinkTxSwitchingBandParametersList_v1700_item = -1;  /* UplinkTxSwitchingBandParameters_v1700 */
static int hf_nr_rrc_bandCombination_v1720 = -1;  /* BandCombination_v1720 */
static int hf_nr_rrc_uplinkTxSwitching_OptionSupport2T2T_r17 = -1;  /* T_uplinkTxSwitching_OptionSupport2T2T_r17 */
static int hf_nr_rrc_bandCombination_v1730 = -1;  /* BandCombination_v1730 */
static int hf_nr_rrc_bandCombination_v1740 = -1;  /* BandCombination_v1740 */
static int hf_nr_rrc_bandIndexUL1_r16 = -1;       /* INTEGER_1_maxSimultaneousBands */
static int hf_nr_rrc_bandIndexUL2_r16 = -1;       /* INTEGER_1_maxSimultaneousBands */
static int hf_nr_rrc_uplinkTxSwitchingPeriod_r16 = -1;  /* T_uplinkTxSwitchingPeriod_r16 */
static int hf_nr_rrc_uplinkTxSwitching_DL_Interruption_r16 = -1;  /* BIT_STRING_SIZE_1_maxSimultaneousBands */
static int hf_nr_rrc_uplinkTxSwitchingPeriod2T2T_r17 = -1;  /* T_uplinkTxSwitchingPeriod2T2T_r17 */
static int hf_nr_rrc_bandIndex_r17 = -1;          /* INTEGER_1_maxSimultaneousBands */
static int hf_nr_rrc_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17 = -1;  /* T_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17 */
static int hf_nr_rrc_eutra_01 = -1;               /* T_eutra */
static int hf_nr_rrc_bandEUTRA = -1;              /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_ca_BandwidthClassDL_EUTRA = -1;  /* CA_BandwidthClassEUTRA */
static int hf_nr_rrc_ca_BandwidthClassUL_EUTRA = -1;  /* CA_BandwidthClassEUTRA */
static int hf_nr_rrc_nr_01 = -1;                  /* T_nr */
static int hf_nr_rrc_bandNR = -1;                 /* FreqBandIndicatorNR */
static int hf_nr_rrc_ca_BandwidthClassDL_NR = -1;  /* CA_BandwidthClassNR */
static int hf_nr_rrc_ca_BandwidthClassUL_NR = -1;  /* CA_BandwidthClassNR */
static int hf_nr_rrc_srs_CarrierSwitch = -1;      /* T_srs_CarrierSwitch */
static int hf_nr_rrc_nr_02 = -1;                  /* T_nr_01 */
static int hf_nr_rrc_srs_SwitchingTimesListNR = -1;  /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR */
static int hf_nr_rrc_srs_SwitchingTimesListNR_item = -1;  /* SRS_SwitchingTimeNR */
static int hf_nr_rrc_eutra_02 = -1;               /* T_eutra_01 */
static int hf_nr_rrc_srs_SwitchingTimesListEUTRA = -1;  /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA */
static int hf_nr_rrc_srs_SwitchingTimesListEUTRA_item = -1;  /* SRS_SwitchingTimeEUTRA */
static int hf_nr_rrc_srs_TxSwitch = -1;           /* T_srs_TxSwitch */
static int hf_nr_rrc_supportedSRS_TxPortSwitch = -1;  /* T_supportedSRS_TxPortSwitch */
static int hf_nr_rrc_txSwitchImpactToRx = -1;     /* INTEGER_1_32 */
static int hf_nr_rrc_txSwitchWithAnotherBand = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_srs_TxSwitch_v1610 = -1;     /* T_srs_TxSwitch_v1610 */
static int hf_nr_rrc_supportedSRS_TxPortSwitch_v1610 = -1;  /* T_supportedSRS_TxPortSwitch_v1610 */
static int hf_nr_rrc_srs_AntennaSwitchingBeyond4RX_r17 = -1;  /* T_srs_AntennaSwitchingBeyond4RX_r17 */
static int hf_nr_rrc_supportedSRS_TxPortSwitchBeyond4Rx_r17 = -1;  /* BIT_STRING_SIZE_11 */
static int hf_nr_rrc_entryNumberAffectBeyond4Rx_r17 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_entryNumberSwitchBeyond4Rx_r17 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_srs_SwitchingAffectedBandsListNR_r17 = -1;  /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17 */
static int hf_nr_rrc_srs_SwitchingAffectedBandsListNR_r17_item = -1;  /* SRS_SwitchingAffectedBandsNR_r17 */
static int hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_r16_item = -1;  /* BandCombinationParametersSidelinkEUTRA_NR_r16 */
static int hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1630_item = -1;  /* BandCombinationParametersSidelinkEUTRA_NR_v1630 */
static int hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1710_item = -1;  /* BandCombinationParametersSidelinkEUTRA_NR_v1710 */
static int hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16_item = -1;  /* BandParametersSidelinkEUTRA_NR_r16 */
static int hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1630_item = -1;  /* BandParametersSidelinkEUTRA_NR_v1630 */
static int hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1710_item = -1;  /* BandParametersSidelinkEUTRA_NR_v1710 */
static int hf_nr_rrc_eutra_03 = -1;               /* T_eutra_02 */
static int hf_nr_rrc_bandParametersSidelinkEUTRA1_r16 = -1;  /* T_bandParametersSidelinkEUTRA1_r16 */
static int hf_nr_rrc_bandParametersSidelinkEUTRA2_r16 = -1;  /* T_bandParametersSidelinkEUTRA2_r16 */
static int hf_nr_rrc_nr_03 = -1;                  /* T_nr_02 */
static int hf_nr_rrc_bandParametersSidelinkNR_r16 = -1;  /* BandParametersSidelink_r16 */
static int hf_nr_rrc_eutra_04 = -1;               /* NULL */
static int hf_nr_rrc_nr_04 = -1;                  /* T_nr_03 */
static int hf_nr_rrc_tx_Sidelink_r16 = -1;        /* T_tx_Sidelink_r16 */
static int hf_nr_rrc_rx_Sidelink_r16 = -1;        /* T_rx_Sidelink_r16 */
static int hf_nr_rrc_sl_CrossCarrierScheduling_r16 = -1;  /* T_sl_CrossCarrierScheduling_r16 */
static int hf_nr_rrc_nr_05 = -1;                  /* T_nr_04 */
static int hf_nr_rrc_sl_TransmissionMode2_PartialSensing_r17 = -1;  /* T_sl_TransmissionMode2_PartialSensing_r17 */
static int hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17 = -1;  /* T_harq_TxProcessModeTwoSidelink_r17 */
static int hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17 = -1;  /* T_scs_CP_PatternTxSidelinkModeTwo_r17 */
static int hf_nr_rrc_fr1_r17 = -1;                /* T_fr1_r17 */
static int hf_nr_rrc_scs_15kHz_r17 = -1;          /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_scs_30kHz_r17 = -1;          /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_scs_60kHz_r17 = -1;          /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_fr2_r17 = -1;                /* T_fr2_r17 */
static int hf_nr_rrc_scs_120kHz_r17 = -1;         /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_extendedCP_Mode2PartialSensing_r17 = -1;  /* T_extendedCP_Mode2PartialSensing_r17 */
static int hf_nr_rrc_dl_openLoopPC_Sidelink_r17 = -1;  /* T_dl_openLoopPC_Sidelink_r17 */
static int hf_nr_rrc_rx_sidelinkPSFCH_r17 = -1;   /* T_rx_sidelinkPSFCH_r17 */
static int hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17 = -1;  /* T_tx_IUC_Scheme1_Mode2Sidelink_r17 */
static int hf_nr_rrc_tx_IUC_Scheme2_Mode2Sidelink_r17 = -1;  /* T_tx_IUC_Scheme2_Mode2Sidelink_r17 */
static int hf_nr_rrc_freqBandSidelink_r16 = -1;   /* FreqBandIndicatorNR */
static int hf_nr_rrc_BandCombinationListSL_Discovery_r17_item = -1;  /* BandParametersSidelinkDiscovery_r17 */
static int hf_nr_rrc_sl_CrossCarrierScheduling_r17 = -1;  /* T_sl_CrossCarrierScheduling_r17 */
static int hf_nr_rrc_sl_TransmissionMode2_PartialSensing_r17_01 = -1;  /* T_sl_TransmissionMode2_PartialSensing_r17_01 */
static int hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17_01 = -1;  /* T_harq_TxProcessModeTwoSidelink_r17_01 */
static int hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17_01 = -1;  /* T_scs_CP_PatternTxSidelinkModeTwo_r17_01 */
static int hf_nr_rrc_fr1_r17_01 = -1;             /* T_fr1_r17_01 */
static int hf_nr_rrc_fr2_r17_01 = -1;             /* T_fr2_r17_01 */
static int hf_nr_rrc_extendedCP_Mode2PartialSensing_r17_01 = -1;  /* T_extendedCP_Mode2PartialSensing_r17_01 */
static int hf_nr_rrc_dl_openLoopPC_Sidelink_r17_01 = -1;  /* T_dl_openLoopPC_Sidelink_r17_01 */
static int hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17_01 = -1;  /* T_tx_IUC_Scheme1_Mode2Sidelink_r17_01 */
static int hf_nr_rrc_multipleTimingAdvance = -1;  /* T_multipleTimingAdvance */
static int hf_nr_rrc_simultaneousRx_Tx = -1;      /* T_simultaneousRx_Tx */
static int hf_nr_rrc_supportedNAICS_2CRS_AP = -1;  /* BIT_STRING_SIZE_1_8 */
static int hf_nr_rrc_additionalRx_Tx_PerformanceReq = -1;  /* T_additionalRx_Tx_PerformanceReq */
static int hf_nr_rrc_ue_CA_PowerClass_N = -1;     /* T_ue_CA_PowerClass_N */
static int hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530 = -1;  /* BIT_STRING_SIZE_1_32 */
static int hf_nr_rrc_fd_MIMO_TotalWeightedLayers = -1;  /* INTEGER_2_128 */
static int hf_nr_rrc_dl_1024QAM_TotalWeightedLayers = -1;  /* INTEGER_0_10 */
static int hf_nr_rrc_cA_ParametersNR_dummy = -1;  /* T_cA_ParametersNR_dummy */
static int hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH = -1;  /* T_parallelTxSRS_PUCCH_PUSCH */
static int hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH = -1;  /* T_parallelTxPRACH_SRS_PUCCH_PUSCH */
static int hf_nr_rrc_simultaneousRxTxInterBandCA = -1;  /* T_simultaneousRxTxInterBandCA */
static int hf_nr_rrc_simultaneousRxTxSUL = -1;    /* T_simultaneousRxTxSUL */
static int hf_nr_rrc_diffNumerologyAcrossPUCCH_Group = -1;  /* T_diffNumerologyAcrossPUCCH_Group */
static int hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS = -1;  /* T_diffNumerologyWithinPUCCH_GroupSmallerSCS */
static int hf_nr_rrc_supportedNumberTAG = -1;     /* T_supportedNumberTAG */
static int hf_nr_rrc_simultaneousSRS_AssocCSI_RS_AllCC = -1;  /* INTEGER_5_32 */
static int hf_nr_rrc_csi_RS_IM_ReceptionForFeedbackPerBandComb = -1;  /* T_csi_RS_IM_ReceptionForFeedbackPerBandComb */
static int hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_ActBWP_AllCC = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_ActBWP_AllCC = -1;  /* INTEGER_2_256 */
static int hf_nr_rrc_simultaneousCSI_ReportsAllCC = -1;  /* INTEGER_5_32 */
static int hf_nr_rrc_dualPA_Architecture = -1;    /* T_dualPA_Architecture */
static int hf_nr_rrc_cA_ParametersNR_v1550_dummy = -1;  /* T_cA_ParametersNR_v1550_dummy */
static int hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS = -1;  /* T_diffNumerologyWithinPUCCH_GroupLargerSCS */
static int hf_nr_rrc_simultaneousRxTxInterBandCAPerBandPair = -1;  /* SimultaneousRxTxPerBandPair */
static int hf_nr_rrc_simultaneousRxTxSULPerBandPair = -1;  /* SimultaneousRxTxPerBandPair */
static int hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_r16 = -1;  /* T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16 */
static int hf_nr_rrc_msgA_SUL_r16 = -1;           /* T_msgA_SUL_r16 */
static int hf_nr_rrc_jointSearchSpaceSwitchAcrossCells_r16 = -1;  /* T_jointSearchSpaceSwitchAcrossCells_r16 */
static int hf_nr_rrc_half_DuplexTDD_CA_SameSCS_r16 = -1;  /* T_half_DuplexTDD_CA_SameSCS_r16 */
static int hf_nr_rrc_scellDormancyWithinActiveTime_r16 = -1;  /* T_scellDormancyWithinActiveTime_r16 */
static int hf_nr_rrc_scellDormancyOutsideActiveTime_r16 = -1;  /* T_scellDormancyOutsideActiveTime_r16 */
static int hf_nr_rrc_crossCarrierA_CSI_trigDiffSCS_r16 = -1;  /* T_crossCarrierA_CSI_trigDiffSCS_r16 */
static int hf_nr_rrc_defaultQCL_CrossCarrierA_CSI_Trig_r16 = -1;  /* T_defaultQCL_CrossCarrierA_CSI_Trig_r16 */
static int hf_nr_rrc_interCA_NonAlignedFrame_r16 = -1;  /* T_interCA_NonAlignedFrame_r16 */
static int hf_nr_rrc_simul_SRS_Trans_BC_r16 = -1;  /* T_simul_SRS_Trans_BC_r16 */
static int hf_nr_rrc_interFreqDAPS_r16 = -1;      /* T_interFreqDAPS_r16 */
static int hf_nr_rrc_interFreqAsyncDAPS_r16 = -1;  /* T_interFreqAsyncDAPS_r16 */
static int hf_nr_rrc_interFreqDiffSCS_DAPS_r16 = -1;  /* T_interFreqDiffSCS_DAPS_r16 */
static int hf_nr_rrc_interFreqMultiUL_TransmissionDAPS_r16 = -1;  /* T_interFreqMultiUL_TransmissionDAPS_r16 */
static int hf_nr_rrc_interFreqSemiStaticPowerSharingDAPS_Mode1_r16 = -1;  /* T_interFreqSemiStaticPowerSharingDAPS_Mode1_r16 */
static int hf_nr_rrc_interFreqSemiStaticPowerSharingDAPS_Mode2_r16 = -1;  /* T_interFreqSemiStaticPowerSharingDAPS_Mode2_r16 */
static int hf_nr_rrc_interFreqDynamicPowerSharingDAPS_r16 = -1;  /* T_interFreqDynamicPowerSharingDAPS_r16 */
static int hf_nr_rrc_interFreqUL_TransCancellationDAPS_r16 = -1;  /* T_interFreqUL_TransCancellationDAPS_r16 */
static int hf_nr_rrc_codebookParametersPerBC_r16 = -1;  /* CodebookParameters_v1610 */
static int hf_nr_rrc_blindDetectFactor_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_pdcch_MonitoringCA_r16 = -1;  /* T_pdcch_MonitoringCA_r16 */
static int hf_nr_rrc_maxNumberOfMonitoringCC_r16 = -1;  /* INTEGER_2_16 */
static int hf_nr_rrc_supportedSpanArrangement_r16 = -1;  /* T_supportedSpanArrangement_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_r16 = -1;  /* T_pdcch_BlindDetectionCA_Mixed_r16 */
static int hf_nr_rrc_supportedSpanArrangement_r16_01 = -1;  /* T_supportedSpanArrangement_r16_01 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE_r16 = -1;  /* INTEGER_1_14 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE_r16 = -1;  /* INTEGER_1_14 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_r16 = -1;  /* T_pdcch_BlindDetectionMCG_UE_Mixed_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE1_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE2_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_r16 = -1;  /* T_pdcch_BlindDetectionSCG_UE_Mixed_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE1_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE2_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_crossCarrierSchedulingDL_DiffSCS_r16 = -1;  /* T_crossCarrierSchedulingDL_DiffSCS_r16 */
static int hf_nr_rrc_crossCarrierSchedulingDefaultQCL_r16 = -1;  /* T_crossCarrierSchedulingDefaultQCL_r16 */
static int hf_nr_rrc_crossCarrierSchedulingUL_DiffSCS_r16 = -1;  /* T_crossCarrierSchedulingUL_DiffSCS_r16 */
static int hf_nr_rrc_simul_SRS_MIMO_Trans_BC_r16 = -1;  /* T_simul_SRS_MIMO_Trans_BC_r16 */
static int hf_nr_rrc_codebookParametersAdditionPerBC_r16 = -1;  /* CodebookParametersAdditionPerBC_r16 */
static int hf_nr_rrc_codebookComboParametersAdditionPerBC_r16 = -1;  /* CodebookComboParametersAdditionPerBC_r16 */
static int hf_nr_rrc_simulTX_SRS_AntSwitchingInterBandUL_CA_r16 = -1;  /* SimulSRS_ForAntennaSwitching_r16 */
static int hf_nr_rrc_beamManagementType_r16 = -1;  /* T_beamManagementType_r16 */
static int hf_nr_rrc_intraBandFreqSeparationUL_AggBW_GapBW_r16 = -1;  /* T_intraBandFreqSeparationUL_AggBW_GapBW_r16 */
static int hf_nr_rrc_interCA_NonAlignedFrame_B_r16 = -1;  /* T_interCA_NonAlignedFrame_B_r16 */
static int hf_nr_rrc_uplinkTxDC_TwoCarrierReport_r16 = -1;  /* T_uplinkTxDC_TwoCarrierReport_r16 */
static int hf_nr_rrc_maxUpTo3Diff_NumerologiesConfigSinglePUCCH_grp_r16 = -1;  /* PUCCH_Grp_CarrierTypes_r16 */
static int hf_nr_rrc_maxUpTo4Diff_NumerologiesConfigSinglePUCCH_grp_r16 = -1;  /* PUCCH_Grp_CarrierTypes_r16 */
static int hf_nr_rrc_twoPUCCH_Grp_ConfigurationsList_r16 = -1;  /* SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16 */
static int hf_nr_rrc_twoPUCCH_Grp_ConfigurationsList_r16_item = -1;  /* TwoPUCCH_Grp_Configurations_r16 */
static int hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16 = -1;  /* T_diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16 */
static int hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16 = -1;  /* T_diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16 */
static int hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16 = -1;  /* T_diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16 */
static int hf_nr_rrc_pdcch_MonitoringCA_NonAlignedSpan_r16 = -1;  /* INTEGER_2_16 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16 = -1;  /* T_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16 */
static int hf_nr_rrc_csi_ReportingCrossPUCCH_Grp_r16 = -1;  /* T_csi_ReportingCrossPUCCH_Grp_r16 */
static int hf_nr_rrc_computationTimeForA_CSI_r16 = -1;  /* T_computationTimeForA_CSI_r16 */
static int hf_nr_rrc_additionalSymbols_r16 = -1;  /* T_additionalSymbols_r16 */
static int hf_nr_rrc_scs_15kHz_additionalSymbols_r16 = -1;  /* T_scs_15kHz_additionalSymbols_r16 */
static int hf_nr_rrc_scs_30kHz_additionalSymbols_r16 = -1;  /* T_scs_30kHz_additionalSymbols_r16 */
static int hf_nr_rrc_scs_60kHz_additionalSymbols_r16 = -1;  /* T_scs_60kHz_additionalSymbols_r16 */
static int hf_nr_rrc_scs_120kHz_additionalSymbols_r16 = -1;  /* T_scs_120kHz_additionalSymbols_r16 */
static int hf_nr_rrc_sp_CSI_ReportingOnPUCCH_r16 = -1;  /* T_sp_CSI_ReportingOnPUCCH_r16 */
static int hf_nr_rrc_sp_CSI_ReportingOnPUSCH_r16 = -1;  /* T_sp_CSI_ReportingOnPUSCH_r16 */
static int hf_nr_rrc_carrierTypePairList_r16 = -1;  /* SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16 */
static int hf_nr_rrc_carrierTypePairList_r16_item = -1;  /* CarrierTypePair_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionMixedList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionMixedList_r16_item = -1;  /* PDCCH_BlindDetectionMixedList_r16 */
static int hf_nr_rrc_codebookParametersfetype2PerBC_r17 = -1;  /* CodebookParametersfetype2PerBC_r17 */
static int hf_nr_rrc_demodulationEnhancementCA_r17 = -1;  /* T_demodulationEnhancementCA_r17 */
static int hf_nr_rrc_maxUplinkDutyCycle_interBandCA_PC2_r17 = -1;  /* T_maxUplinkDutyCycle_interBandCA_PC2_r17 */
static int hf_nr_rrc_maxUplinkDutyCycle_SULcombination_PC2_r17 = -1;  /* T_maxUplinkDutyCycle_SULcombination_PC2_r17 */
static int hf_nr_rrc_beamManagementType_CBM_r17 = -1;  /* T_beamManagementType_CBM_r17 */
static int hf_nr_rrc_parallelTxPUCCH_PUSCH_r17 = -1;  /* T_parallelTxPUCCH_PUSCH_r17 */
static int hf_nr_rrc_codebookComboParameterMixedTypePerBC_r17 = -1;  /* CodebookComboParameterMixedTypePerBC_r17 */
static int hf_nr_rrc_mTRP_CSI_EnhancementPerBC_r17 = -1;  /* T_mTRP_CSI_EnhancementPerBC_r17 */
static int hf_nr_rrc_maxNumNZP_CSI_RS_r17 = -1;   /* INTEGER_2_8 */
static int hf_nr_rrc_cSI_Report_mode_r17 = -1;    /* T_cSI_Report_mode_r17 */
static int hf_nr_rrc_supportedComboAcrossCCs_r17 = -1;  /* SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17 */
static int hf_nr_rrc_supportedComboAcrossCCs_r17_item = -1;  /* CSI_MultiTRP_SupportedCombinations_r17 */
static int hf_nr_rrc_codebookMode_NCJT_r17 = -1;  /* T_codebookMode_NCJT_r17 */
static int hf_nr_rrc_codebookComboParameterMultiTRP_PerBC_r17 = -1;  /* CodebookComboParameterMultiTRP_PerBC_r17 */
static int hf_nr_rrc_maxCC_32_DL_HARQ_ProcessFR2_2_r17 = -1;  /* T_maxCC_32_DL_HARQ_ProcessFR2_2_r17 */
static int hf_nr_rrc_maxCC_32_UL_HARQ_ProcessFR2_2_r17 = -1;  /* T_maxCC_32_UL_HARQ_ProcessFR2_2_r17 */
static int hf_nr_rrc_crossCarrierSchedulingSCell_SpCellTypeB_r17 = -1;  /* CrossCarrierSchedulingSCell_SpCell_r17 */
static int hf_nr_rrc_crossCarrierSchedulingSCell_SpCellTypeA_r17 = -1;  /* CrossCarrierSchedulingSCell_SpCell_r17 */
static int hf_nr_rrc_dci_FormatsPCellPSCellUSS_Sets_r17 = -1;  /* T_dci_FormatsPCellPSCellUSS_Sets_r17 */
static int hf_nr_rrc_disablingScalingFactorDeactSCell_r17 = -1;  /* T_disablingScalingFactorDeactSCell_r17 */
static int hf_nr_rrc_disablingScalingFactorDormantSCell_r17 = -1;  /* T_disablingScalingFactorDormantSCell_r17 */
static int hf_nr_rrc_non_AlignedFrameBoundaries_r17 = -1;  /* T_non_AlignedFrameBoundaries_r17 */
static int hf_nr_rrc_scs15kHz_15kHz_r17 = -1;     /* BIT_STRING_SIZE_1_496 */
static int hf_nr_rrc_scs15kHz_30kHz_r17 = -1;     /* BIT_STRING_SIZE_1_496 */
static int hf_nr_rrc_scs15kHz_60kHz_r17 = -1;     /* BIT_STRING_SIZE_1_496 */
static int hf_nr_rrc_scs30kHz_30kHz_r17 = -1;     /* BIT_STRING_SIZE_1_496 */
static int hf_nr_rrc_scs30kHz_60kHz_r17 = -1;     /* BIT_STRING_SIZE_1_496 */
static int hf_nr_rrc_scs60kHz_60kHz_r17 = -1;     /* BIT_STRING_SIZE_1_496 */
static int hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH_intraBand_r17 = -1;  /* T_parallelTxSRS_PUCCH_PUSCH_intraBand_r17 */
static int hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17 = -1;  /* T_parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17 */
static int hf_nr_rrc_semiStaticPUCCH_CellSwitchSingleGroup_r17 = -1;  /* T_semiStaticPUCCH_CellSwitchSingleGroup_r17 */
static int hf_nr_rrc_pucch_Group_r17 = -1;        /* T_pucch_Group_r17 */
static int hf_nr_rrc_pucch_Group_Config_r17 = -1;  /* PUCCH_Group_Config_r17 */
static int hf_nr_rrc_semiStaticPUCCH_CellSwitchTwoGroups_r17 = -1;  /* SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17 */
static int hf_nr_rrc_semiStaticPUCCH_CellSwitchTwoGroups_r17_item = -1;  /* TwoPUCCH_Grp_Configurations_r17 */
static int hf_nr_rrc_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17 = -1;  /* T_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17 */
static int hf_nr_rrc_pucch_Group_r17_01 = -1;     /* T_pucch_Group_r17_01 */
static int hf_nr_rrc_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17 = -1;  /* T_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17 */
static int hf_nr_rrc_pucch_Group_r17_02 = -1;     /* T_pucch_Group_r17_02 */
static int hf_nr_rrc_dynamicPUCCH_CellSwitchSameLengthTwoGroups_r17 = -1;  /* SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17 */
static int hf_nr_rrc_dynamicPUCCH_CellSwitchSameLengthTwoGroups_r17_item = -1;  /* TwoPUCCH_Grp_Configurations_r17 */
static int hf_nr_rrc_dynamicPUCCH_CellSwitchDiffLengthTwoGroups_r17 = -1;  /* SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17 */
static int hf_nr_rrc_dynamicPUCCH_CellSwitchDiffLengthTwoGroups_r17_item = -1;  /* TwoPUCCH_Grp_Configurations_r17 */
static int hf_nr_rrc_ack_NACK_FeedbackForMulticast_r17 = -1;  /* T_ack_NACK_FeedbackForMulticast_r17 */
static int hf_nr_rrc_ptp_Retx_Multicast_r17 = -1;  /* T_ptp_Retx_Multicast_r17 */
static int hf_nr_rrc_nack_OnlyFeedbackForMulticast_r17 = -1;  /* T_nack_OnlyFeedbackForMulticast_r17 */
static int hf_nr_rrc_nack_OnlyFeedbackSpecificResourceForMulticast_r17 = -1;  /* T_nack_OnlyFeedbackSpecificResourceForMulticast_r17 */
static int hf_nr_rrc_ack_NACK_FeedbackForSPS_Multicast_r17 = -1;  /* T_ack_NACK_FeedbackForSPS_Multicast_r17 */
static int hf_nr_rrc_ptp_Retx_SPS_Multicast_r17 = -1;  /* T_ptp_Retx_SPS_Multicast_r17 */
static int hf_nr_rrc_higherPowerLimit_r17 = -1;   /* T_higherPowerLimit_r17 */
static int hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17 = -1;  /* T_parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17 */
static int hf_nr_rrc_pdcch_MonitoringCA_r17 = -1;  /* INTEGER_4_16 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_SCG_List_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_SCG_List_r17_item = -1;  /* PDCCH_BlindDetectionMCG_SCG_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMixedList1_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMixedList1_r17_item = -1;  /* PDCCH_BlindDetectionMixed_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMixedList2_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMixedList2_r17_item = -1;  /* PDCCH_BlindDetectionMixed_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMixedList3_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMixedList3_r17_item = -1;  /* PDCCH_BlindDetectionMixed1_r17 */
static int hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeAPerBC_r17 = -1;  /* T_dmrs_BundlingPUSCH_RepTypeAPerBC_r17 */
static int hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeBPerBC_r17 = -1;  /* T_dmrs_BundlingPUSCH_RepTypeBPerBC_r17 */
static int hf_nr_rrc_dmrs_BundlingPUSCH_multiSlotPerBC_r17 = -1;  /* T_dmrs_BundlingPUSCH_multiSlotPerBC_r17 */
static int hf_nr_rrc_dmrs_BundlingPUCCH_RepPerBC_r17 = -1;  /* T_dmrs_BundlingPUCCH_RepPerBC_r17 */
static int hf_nr_rrc_dmrs_BundlingRestartPerBC_r17 = -1;  /* T_dmrs_BundlingRestartPerBC_r17 */
static int hf_nr_rrc_dmrs_BundlingNonBackToBackTX_PerBC_r17 = -1;  /* T_dmrs_BundlingNonBackToBackTX_PerBC_r17 */
static int hf_nr_rrc_stayOnTargetCC_SRS_CarrierSwitch_r17 = -1;  /* T_stayOnTargetCC_SRS_CarrierSwitch_r17 */
static int hf_nr_rrc_fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17 = -1;  /* T_fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17 */
static int hf_nr_rrc_mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17 = -1;  /* T_mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17 */
static int hf_nr_rrc_mode1_ForType1_CodebookGeneration_r17 = -1;  /* T_mode1_ForType1_CodebookGeneration_r17 */
static int hf_nr_rrc_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17 = -1;  /* T_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17 */
static int hf_nr_rrc_multiPUCCH_ConfigForMulticast_r17 = -1;  /* T_multiPUCCH_ConfigForMulticast_r17 */
static int hf_nr_rrc_pucch_ConfigForSPS_Multicast_r17 = -1;  /* T_pucch_ConfigForSPS_Multicast_r17 */
static int hf_nr_rrc_maxNumberG_RNTI_HARQ_ACK_Codebook_r17 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_mux_HARQ_ACK_UnicastMulticast_r17 = -1;  /* T_mux_HARQ_ACK_UnicastMulticast_r17 */
static int hf_nr_rrc_nack_OnlyFeedbackForSPS_Multicast_r17 = -1;  /* T_nack_OnlyFeedbackForSPS_Multicast_r17 */
static int hf_nr_rrc_singlePUCCH_ConfigForMulticast_r17 = -1;  /* T_singlePUCCH_ConfigForMulticast_r17 */
static int hf_nr_rrc_supportedSCS_Combinations_r17 = -1;  /* T_supportedSCS_Combinations_r17 */
static int hf_nr_rrc_scs15kHz_15kHz_r17_01 = -1;  /* T_scs15kHz_15kHz_r17 */
static int hf_nr_rrc_scs15kHz_30kHz_r17_01 = -1;  /* T_scs15kHz_30kHz_r17 */
static int hf_nr_rrc_scs15kHz_60kHz_r17_01 = -1;  /* T_scs15kHz_60kHz_r17 */
static int hf_nr_rrc_pdcch_MonitoringOccasion_r17 = -1;  /* T_pdcch_MonitoringOccasion_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_MixedExt_r16 = -1;  /* T_pdcch_BlindDetectionCA_MixedExt_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_v16a0 = -1;  /* PDCCH_BlindDetectionCA_MixedExt_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_v16a0 = -1;  /* PDCCH_BlindDetectionCA_MixedExt_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionCG_UE_MixedExt_r16 = -1;  /* T_pdcch_BlindDetectionCG_UE_MixedExt_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_v16a0 = -1;  /* PDCCH_BlindDetectionCG_UE_MixedExt_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_v16a0 = -1;  /* PDCCH_BlindDetectionCG_UE_MixedExt_r16 */
static int hf_nr_rrc_pdcch_BlindDetectionCG_UE1_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_pdcch_BlindDetectionCG_UE2_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE_r17 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE_r17 = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_r17 = -1;  /* PDCCH_BlindDetectionCA_Mixed_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionCG_UE_Mixed_r17 = -1;  /* T_pdcch_BlindDetectionCG_UE_Mixed_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_v17 = -1;  /* PDCCH_BlindDetectionCG_UE_Mixed_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_v17 = -1;  /* PDCCH_BlindDetectionCG_UE_Mixed_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionCG_UE1_r17 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_pdcch_BlindDetectionCG_UE2_r17 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_pdcch_BlindDetectionCA_Mixed1_r17 = -1;  /* PDCCH_BlindDetectionCA_Mixed1_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionCG_UE_Mixed1_r17 = -1;  /* T_pdcch_BlindDetectionCG_UE_Mixed1_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed1_v17 = -1;  /* PDCCH_BlindDetectionCG_UE_Mixed1_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed1_v17 = -1;  /* PDCCH_BlindDetectionCG_UE_Mixed1_r17 */
static int hf_nr_rrc_pdcch_BlindDetectionCG_UE3_r17 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_supportSRS_xTyR_xLessThanY_r16 = -1;  /* T_supportSRS_xTyR_xLessThanY_r16 */
static int hf_nr_rrc_supportSRS_xTyR_xEqualToY_r16 = -1;  /* T_supportSRS_xTyR_xEqualToY_r16 */
static int hf_nr_rrc_supportSRS_AntennaSwitching_r16 = -1;  /* T_supportSRS_AntennaSwitching_r16 */
static int hf_nr_rrc_pucch_PrimaryGroupMapping_r16 = -1;  /* TwoPUCCH_Grp_ConfigParams_r16 */
static int hf_nr_rrc_pucch_SecondaryGroupMapping_r16 = -1;  /* TwoPUCCH_Grp_ConfigParams_r16 */
static int hf_nr_rrc_primaryPUCCH_GroupConfig_r17 = -1;  /* PUCCH_Group_Config_r17 */
static int hf_nr_rrc_secondaryPUCCH_GroupConfig_r17 = -1;  /* PUCCH_Group_Config_r17 */
static int hf_nr_rrc_pucch_GroupMapping_r16 = -1;  /* PUCCH_Grp_CarrierTypes_r16 */
static int hf_nr_rrc_pucch_TX_r16 = -1;           /* PUCCH_Grp_CarrierTypes_r16 */
static int hf_nr_rrc_carrierForCSI_Measurement_r16 = -1;  /* PUCCH_Grp_CarrierTypes_r16 */
static int hf_nr_rrc_carrierForCSI_Reporting_r16 = -1;  /* PUCCH_Grp_CarrierTypes_r16 */
static int hf_nr_rrc_fr1_NonSharedTDD_r16 = -1;   /* T_fr1_NonSharedTDD_r16 */
static int hf_nr_rrc_fr1_SharedTDD_r16 = -1;      /* T_fr1_SharedTDD_r16 */
static int hf_nr_rrc_fr1_NonSharedFDD_r16 = -1;   /* T_fr1_NonSharedFDD_r16 */
static int hf_nr_rrc_fr2_r16 = -1;                /* T_fr2_r16 */
static int hf_nr_rrc_fr1_FR1_NonSharedTDD_r17 = -1;  /* T_fr1_FR1_NonSharedTDD_r17 */
static int hf_nr_rrc_fr2_FR2_NonSharedTDD_r17 = -1;  /* T_fr2_FR2_NonSharedTDD_r17 */
static int hf_nr_rrc_fr1_FR2_NonSharedTDD_r17 = -1;  /* T_fr1_FR2_NonSharedTDD_r17 */
static int hf_nr_rrc_ca_ParametersNR_ForDC = -1;  /* CA_ParametersNR */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1540 = -1;  /* CA_ParametersNR_v1540 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1550 = -1;  /* CA_ParametersNR_v1550 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1560 = -1;  /* CA_ParametersNR_v1560 */
static int hf_nr_rrc_featureSetCombinationDC = -1;  /* FeatureSetCombinationId */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v15g0 = -1;  /* CA_ParametersNR_v15g0 */
static int hf_nr_rrc_intraFR_NR_DC_PwrSharingMode1_r16 = -1;  /* T_intraFR_NR_DC_PwrSharingMode1_r16 */
static int hf_nr_rrc_intraFR_NR_DC_PwrSharingMode2_r16 = -1;  /* T_intraFR_NR_DC_PwrSharingMode2_r16 */
static int hf_nr_rrc_intraFR_NR_DC_DynamicPwrSharing_r16 = -1;  /* T_intraFR_NR_DC_DynamicPwrSharing_r16 */
static int hf_nr_rrc_asyncNRDC_r16 = -1;          /* T_asyncNRDC_r16 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1610 = -1;  /* CA_ParametersNR_v1610 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1630 = -1;  /* CA_ParametersNR_v1630 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1640 = -1;  /* CA_ParametersNR_v1640 */
static int hf_nr_rrc_supportedCellGrouping_r16 = -1;  /* BIT_STRING_SIZE_1_maxCellGroupings_r16 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v16a0 = -1;  /* CA_ParametersNR_v16a0 */
static int hf_nr_rrc_simultaneousRxTx_IAB_MultipleParents_r17 = -1;  /* T_simultaneousRxTx_IAB_MultipleParents_r17 */
static int hf_nr_rrc_condPSCellAdditionNRDC_r17 = -1;  /* T_condPSCellAdditionNRDC_r17 */
static int hf_nr_rrc_scg_ActivationDeactivationNRDC_r17 = -1;  /* T_scg_ActivationDeactivationNRDC_r17 */
static int hf_nr_rrc_scg_ActivationDeactivationResumeNRDC_r17 = -1;  /* T_scg_ActivationDeactivationResumeNRDC_r17 */
static int hf_nr_rrc_beamManagementType_CBM_r17_01 = -1;  /* T_beamManagementType_CBM_r17_01 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1700 = -1;  /* CA_ParametersNR_v1700 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1720 = -1;  /* CA_ParametersNR_v1720 */
static int hf_nr_rrc_ca_ParametersNR_ForDC_v1730 = -1;  /* CA_ParametersNR_v1730 */
static int hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD = -1;  /* T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD */
static int hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD = -1;  /* T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD */
static int hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD = -1;  /* T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD */
static int hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD = -1;  /* T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD */
static int hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD = -1;  /* T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD */
static int hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD = -1;  /* T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD */
static int hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD = -1;  /* T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD */
static int hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD = -1;  /* T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD */
static int hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD = -1;  /* T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD */
static int hf_nr_rrc_type1_04 = -1;               /* T_type1_04 */
static int hf_nr_rrc_singlePanel = -1;            /* T_singlePanel */
static int hf_nr_rrc_supportedCSI_RS_ResourceList = -1;  /* SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource */
static int hf_nr_rrc_supportedCSI_RS_ResourceList_item = -1;  /* SupportedCSI_RS_Resource */
static int hf_nr_rrc_modes = -1;                  /* T_modes */
static int hf_nr_rrc_maxNumberCSI_RS_PerResourceSet = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_multiPanel = -1;             /* T_multiPanel */
static int hf_nr_rrc_modes_01 = -1;               /* T_modes_01 */
static int hf_nr_rrc_nrofPanels = -1;             /* T_nrofPanels */
static int hf_nr_rrc_type2_03 = -1;               /* T_type2_03 */
static int hf_nr_rrc_parameterLx = -1;            /* INTEGER_2_4 */
static int hf_nr_rrc_amplitudeScalingType = -1;   /* T_amplitudeScalingType */
static int hf_nr_rrc_amplitudeSubsetRestriction = -1;  /* T_amplitudeSubsetRestriction */
static int hf_nr_rrc_type2_PortSelection = -1;    /* T_type2_PortSelection */
static int hf_nr_rrc_amplitudeScalingType_01 = -1;  /* T_amplitudeScalingType_01 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAlt_r16 = -1;  /* T_supportedCSI_RS_ResourceListAlt_r16 */
static int hf_nr_rrc_type1_SinglePanel_r16 = -1;  /* T_type1_SinglePanel_r16 */
static int hf_nr_rrc_type1_SinglePanel_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1_MultiPanel_r16 = -1;   /* T_type1_MultiPanel_r16 */
static int hf_nr_rrc_type1_MultiPanel_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type2_r16 = -1;              /* T_type2_r16 */
static int hf_nr_rrc_type2_r16_item = -1;         /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type2_PortSelection_r16 = -1;  /* T_type2_PortSelection_r16 */
static int hf_nr_rrc_type2_PortSelection_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_etype2_r16 = -1;             /* T_etype2_r16 */
static int hf_nr_rrc_etype2R1_r16 = -1;           /* T_etype2R1_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_etype2R2_r16 = -1;           /* T_etype2R2_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_01 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_01 */
static int hf_nr_rrc_paramComb7_8_r16 = -1;       /* T_paramComb7_8_r16 */
static int hf_nr_rrc_rank3_4_r16 = -1;            /* T_rank3_4_r16 */
static int hf_nr_rrc_amplitudeSubsetRestriction_r16 = -1;  /* T_amplitudeSubsetRestriction_r16 */
static int hf_nr_rrc_etype2_PS_r16 = -1;          /* T_etype2_PS_r16 */
static int hf_nr_rrc_etype2R1_PortSelection_r16 = -1;  /* T_etype2R1_PortSelection_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_02 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_02 */
static int hf_nr_rrc_etype2R2_PortSelection_r16 = -1;  /* T_etype2R2_PortSelection_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_03 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_03 */
static int hf_nr_rrc_rank3_4_r16_01 = -1;         /* T_rank3_4_r16_01 */
static int hf_nr_rrc_type1SP_Type2_null_r16 = -1;  /* T_type1SP_Type2_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_04 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_04 */
static int hf_nr_rrc_type1SP_Type2PS_null_r16 = -1;  /* T_type1SP_Type2PS_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_05 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_05 */
static int hf_nr_rrc_type1SP_eType2R1_null_r16 = -1;  /* T_type1SP_eType2R1_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_06 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_06 */
static int hf_nr_rrc_type1SP_eType2R2_null_r16 = -1;  /* T_type1SP_eType2R2_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_07 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_07 */
static int hf_nr_rrc_type1SP_eType2R1PS_null_r16 = -1;  /* T_type1SP_eType2R1PS_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_08 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_08 */
static int hf_nr_rrc_type1SP_eType2R2PS_null_r16 = -1;  /* T_type1SP_eType2R2PS_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_09 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_09 */
static int hf_nr_rrc_type1SP_Type2_Type2PS_r16 = -1;  /* T_type1SP_Type2_Type2PS_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_10 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_10 */
static int hf_nr_rrc_type1MP_Type2_null_r16 = -1;  /* T_type1MP_Type2_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_11 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_11 */
static int hf_nr_rrc_type1MP_Type2PS_null_r16 = -1;  /* T_type1MP_Type2PS_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_12 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_12 */
static int hf_nr_rrc_type1MP_eType2R1_null_r16 = -1;  /* T_type1MP_eType2R1_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_13 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_13 */
static int hf_nr_rrc_type1MP_eType2R2_null_r16 = -1;  /* T_type1MP_eType2R2_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_14 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_14 */
static int hf_nr_rrc_type1MP_eType2R1PS_null_r16 = -1;  /* T_type1MP_eType2R1PS_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_15 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_15 */
static int hf_nr_rrc_type1MP_eType2R2PS_null_r16 = -1;  /* T_type1MP_eType2R2PS_null_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_16 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_16 */
static int hf_nr_rrc_type1MP_Type2_Type2PS_r16 = -1;  /* T_type1MP_Type2_Type2PS_r16 */
static int hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_17 = -1;  /* T_supportedCSI_RS_ResourceListAdd_r16_17 */
static int hf_nr_rrc_fetype2basic_r17 = -1;       /* T_fetype2basic_r17 */
static int hf_nr_rrc_fetype2basic_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_fetype2R1_r17 = -1;          /* T_fetype2R1_r17 */
static int hf_nr_rrc_fetype2R1_r17_item = -1;     /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_fetype2R2_r17 = -1;          /* T_fetype2R2_r17 */
static int hf_nr_rrc_fetype2R2_r17_item = -1;     /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_fetype2Rank3Rank4_r17 = -1;  /* T_fetype2Rank3Rank4_r17 */
static int hf_nr_rrc_type1SP_feType2PS_null_r17 = -1;  /* T_type1SP_feType2PS_null_r17 */
static int hf_nr_rrc_type1SP_feType2PS_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17 = -1;  /* T_type1SP_feType2PS_M2R1_null_r17 */
static int hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_feType2PS_M2R2_null_r1 = -1;  /* T_type1SP_feType2PS_M2R2_null_r1 */
static int hf_nr_rrc_type1SP_feType2PS_M2R2_null_r1_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17 = -1;  /* T_type1SP_Type2_feType2_PS_M1_r17 */
static int hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17 = -1;  /* T_type1SP_Type2_feType2_PS_M2R1_r17 */
static int hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17 = -1;  /* T_type1SP_eType2R1_feType2_PS_M1_r17 */
static int hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17 = -1;  /* T_type1SP_eType2R1_feType2_PS_M2R1_r17 */
static int hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_feType2PS_null_r17 = -1;  /* T_type1MP_feType2PS_null_r17 */
static int hf_nr_rrc_type1MP_feType2PS_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17 = -1;  /* T_type1MP_feType2PS_M2R1_null_r17 */
static int hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17 = -1;  /* T_type1MP_feType2PS_M2R2_null_r17 */
static int hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17 = -1;  /* T_type1MP_Type2_feType2_PS_M1_r17 */
static int hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17 = -1;  /* T_type1MP_Type2_feType2_PS_M2R1_r17 */
static int hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17 = -1;  /* T_type1MP_eType2R1_feType2_PS_M1_r17 */
static int hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17 = -1;  /* T_type1MP_eType2R1_feType2_PS_M2R1_r17 */
static int hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_null_null = -1;         /* T_nCJT_null_null */
static int hf_nr_rrc_nCJT_null_null_item = -1;    /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_null_null = -1;      /* T_nCJT1SP_null_null */
static int hf_nr_rrc_nCJT1SP_null_null_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_Type2_null_r16 = -1;    /* T_nCJT_Type2_null_r16 */
static int hf_nr_rrc_nCJT_Type2_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_Type2PS_null_r16 = -1;  /* T_nCJT_Type2PS_null_r16 */
static int hf_nr_rrc_nCJT_Type2PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_eType2R1_null_r16 = -1;  /* T_nCJT_eType2R1_null_r16 */
static int hf_nr_rrc_nCJT_eType2R1_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_eType2R2_null_r16 = -1;  /* T_nCJT_eType2R2_null_r16 */
static int hf_nr_rrc_nCJT_eType2R2_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_eType2R1PS_null_r16 = -1;  /* T_nCJT_eType2R1PS_null_r16 */
static int hf_nr_rrc_nCJT_eType2R1PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_eType2R2PS_null_r16 = -1;  /* T_nCJT_eType2R2PS_null_r16 */
static int hf_nr_rrc_nCJT_eType2R2PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_Type2_Type2PS_r16 = -1;  /* T_nCJT_Type2_Type2PS_r16 */
static int hf_nr_rrc_nCJT_Type2_Type2PS_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_Type2_null_r16 = -1;  /* T_nCJT1SP_Type2_null_r16 */
static int hf_nr_rrc_nCJT1SP_Type2_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_Type2PS_null_r16 = -1;  /* T_nCJT1SP_Type2PS_null_r16 */
static int hf_nr_rrc_nCJT1SP_Type2PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R1_null_r16 = -1;  /* T_nCJT1SP_eType2R1_null_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R1_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R2_null_r16 = -1;  /* T_nCJT1SP_eType2R2_null_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R2_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16 = -1;  /* T_nCJT1SP_eType2R1PS_null_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16 = -1;  /* T_nCJT1SP_eType2R2PS_null_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16 = -1;  /* T_nCJT1SP_Type2_Type2PS_r16 */
static int hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_feType2PS_null_r17 = -1;  /* T_nCJT_feType2PS_null_r17 */
static int hf_nr_rrc_nCJT_feType2PS_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17 = -1;  /* T_nCJT_feType2PS_M2R1_null_r17 */
static int hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17 = -1;  /* T_nCJT_feType2PS_M2R2_null_r17 */
static int hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17 = -1;  /* T_nCJT_Type2_feType2_PS_M1_r17 */
static int hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17 = -1;  /* T_nCJT_Type2_feType2_PS_M2R1_r17 */
static int hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17 = -1;  /* T_nCJT_eType2R1_feType2_PS_M1_r17 */
static int hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17 = -1;  /* T_nCJT_eType2R1_feType2_PS_M2R1_r17 */
static int hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_feType2PS_null_r17 = -1;  /* T_nCJT1SP_feType2PS_null_r17 */
static int hf_nr_rrc_nCJT1SP_feType2PS_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17 = -1;  /* T_nCJT1SP_feType2PS_M2R1_null_r17 */
static int hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1 = -1;  /* T_nCJT1SP_feType2PS_M2R2_null_r1 */
static int hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17 = -1;  /* T_nCJT1SP_Type2_feType2_PS_M1_r17 */
static int hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17 = -1;  /* T_nCJT1SP_Type2_feType2_PS_M2R1_r17 */
static int hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17 = -1;  /* T_nCJT1SP_eType2R1_feType2_PS_M1_r17 */
static int hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17 = -1;  /* T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17 */
static int hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_etype2R1_r16_01 = -1;        /* T_etype2R1_r16_01 */
static int hf_nr_rrc_etype2R1_r16_item = -1;      /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_etype2R2_r16_01 = -1;        /* T_etype2R2_r16_01 */
static int hf_nr_rrc_etype2R2_r16_item = -1;      /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_etype2R1_PortSelection_r16_01 = -1;  /* T_etype2R1_PortSelection_r16_01 */
static int hf_nr_rrc_etype2R1_PortSelection_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_etype2R2_PortSelection_r16_01 = -1;  /* T_etype2R2_PortSelection_r16_01 */
static int hf_nr_rrc_etype2R2_PortSelection_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_Type2_null_r16_01 = -1;  /* T_type1SP_Type2_null_r16_01 */
static int hf_nr_rrc_type1SP_Type2_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_Type2PS_null_r16_01 = -1;  /* T_type1SP_Type2PS_null_r16_01 */
static int hf_nr_rrc_type1SP_Type2PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_eType2R1_null_r16_01 = -1;  /* T_type1SP_eType2R1_null_r16_01 */
static int hf_nr_rrc_type1SP_eType2R1_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_eType2R2_null_r16_01 = -1;  /* T_type1SP_eType2R2_null_r16_01 */
static int hf_nr_rrc_type1SP_eType2R2_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_eType2R1PS_null_r16_01 = -1;  /* T_type1SP_eType2R1PS_null_r16_01 */
static int hf_nr_rrc_type1SP_eType2R1PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_eType2R2PS_null_r16_01 = -1;  /* T_type1SP_eType2R2PS_null_r16_01 */
static int hf_nr_rrc_type1SP_eType2R2PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_Type2_Type2PS_r16_01 = -1;  /* T_type1SP_Type2_Type2PS_r16_01 */
static int hf_nr_rrc_type1SP_Type2_Type2PS_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_Type2_null_r16_01 = -1;  /* T_type1MP_Type2_null_r16_01 */
static int hf_nr_rrc_type1MP_Type2_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_Type2PS_null_r16_01 = -1;  /* T_type1MP_Type2PS_null_r16_01 */
static int hf_nr_rrc_type1MP_Type2PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_eType2R1_null_r16_01 = -1;  /* T_type1MP_eType2R1_null_r16_01 */
static int hf_nr_rrc_type1MP_eType2R1_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_eType2R2_null_r16_01 = -1;  /* T_type1MP_eType2R2_null_r16_01 */
static int hf_nr_rrc_type1MP_eType2R2_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_eType2R1PS_null_r16_01 = -1;  /* T_type1MP_eType2R1PS_null_r16_01 */
static int hf_nr_rrc_type1MP_eType2R1PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_eType2R2PS_null_r16_01 = -1;  /* T_type1MP_eType2R2PS_null_r16_01 */
static int hf_nr_rrc_type1MP_eType2R2PS_null_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1MP_Type2_Type2PS_r16_01 = -1;  /* T_type1MP_Type2_Type2PS_r16_01 */
static int hf_nr_rrc_type1MP_Type2_Type2PS_r16_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_fetype2basic_r17_01 = -1;    /* T_fetype2basic_r17_01 */
static int hf_nr_rrc_fetype2R1_r17_01 = -1;       /* T_fetype2R1_r17_01 */
static int hf_nr_rrc_fetype2R2_r17_01 = -1;       /* T_fetype2R2_r17_01 */
static int hf_nr_rrc_type1SP_feType2PS_null_r17_01 = -1;  /* T_type1SP_feType2PS_null_r17_01 */
static int hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17_01 = -1;  /* T_type1SP_feType2PS_M2R1_null_r17_01 */
static int hf_nr_rrc_type1SP_feType2PS_M2R2_null_r17 = -1;  /* T_type1SP_feType2PS_M2R2_null_r17 */
static int hf_nr_rrc_type1SP_feType2PS_M2R2_null_r17_item = -1;  /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */
static int hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17_01 = -1;  /* T_type1SP_Type2_feType2_PS_M1_r17_01 */
static int hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17_01 = -1;  /* T_type1SP_Type2_feType2_PS_M2R1_r17_01 */
static int hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17_01 = -1;  /* T_type1SP_eType2R1_feType2_PS_M1_r17_01 */
static int hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17_01 = -1;  /* T_type1SP_eType2R1_feType2_PS_M2R1_r17_01 */
static int hf_nr_rrc_type1MP_feType2PS_null_r17_01 = -1;  /* T_type1MP_feType2PS_null_r17_01 */
static int hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17_01 = -1;  /* T_type1MP_feType2PS_M2R1_null_r17_01 */
static int hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17_01 = -1;  /* T_type1MP_feType2PS_M2R2_null_r17_01 */
static int hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17_01 = -1;  /* T_type1MP_Type2_feType2_PS_M1_r17_01 */
static int hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17_01 = -1;  /* T_type1MP_Type2_feType2_PS_M2R1_r17_01 */
static int hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17_01 = -1;  /* T_type1MP_eType2R1_feType2_PS_M1_r17_01 */
static int hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17_01 = -1;  /* T_type1MP_eType2R1_feType2_PS_M2R1_r17_01 */
static int hf_nr_rrc_nCJT_null_null_01 = -1;      /* T_nCJT_null_null_01 */
static int hf_nr_rrc_nCJT1SP_null_null_01 = -1;   /* T_nCJT1SP_null_null_01 */
static int hf_nr_rrc_nCJT_Type2_null_r16_01 = -1;  /* T_nCJT_Type2_null_r16_01 */
static int hf_nr_rrc_nCJT_Type2PS_null_r16_01 = -1;  /* T_nCJT_Type2PS_null_r16_01 */
static int hf_nr_rrc_nCJT_eType2R1_null_r16_01 = -1;  /* T_nCJT_eType2R1_null_r16_01 */
static int hf_nr_rrc_nCJT_eType2R2_null_r16_01 = -1;  /* T_nCJT_eType2R2_null_r16_01 */
static int hf_nr_rrc_nCJT_eType2R1PS_null_r16_01 = -1;  /* T_nCJT_eType2R1PS_null_r16_01 */
static int hf_nr_rrc_nCJT_eType2R2PS_null_r16_01 = -1;  /* T_nCJT_eType2R2PS_null_r16_01 */
static int hf_nr_rrc_nCJT_Type2_Type2PS_r16_01 = -1;  /* T_nCJT_Type2_Type2PS_r16_01 */
static int hf_nr_rrc_nCJT1SP_Type2_null_r16_01 = -1;  /* T_nCJT1SP_Type2_null_r16_01 */
static int hf_nr_rrc_nCJT1SP_Type2PS_null_r16_01 = -1;  /* T_nCJT1SP_Type2PS_null_r16_01 */
static int hf_nr_rrc_nCJT1SP_eType2R1_null_r16_01 = -1;  /* T_nCJT1SP_eType2R1_null_r16_01 */
static int hf_nr_rrc_nCJT1SP_eType2R2_null_r16_01 = -1;  /* T_nCJT1SP_eType2R2_null_r16_01 */
static int hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16_01 = -1;  /* T_nCJT1SP_eType2R1PS_null_r16_01 */
static int hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16_01 = -1;  /* T_nCJT1SP_eType2R2PS_null_r16_01 */
static int hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16_01 = -1;  /* T_nCJT1SP_Type2_Type2PS_r16_01 */
static int hf_nr_rrc_nCJT_feType2PS_null_r17_01 = -1;  /* T_nCJT_feType2PS_null_r17_01 */
static int hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17_01 = -1;  /* T_nCJT_feType2PS_M2R1_null_r17_01 */
static int hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17_01 = -1;  /* T_nCJT_feType2PS_M2R2_null_r17_01 */
static int hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17_01 = -1;  /* T_nCJT_Type2_feType2_PS_M1_r17_01 */
static int hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17_01 = -1;  /* T_nCJT_Type2_feType2_PS_M2R1_r17_01 */
static int hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17_01 = -1;  /* T_nCJT_eType2R1_feType2_PS_M1_r17_01 */
static int hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17_01 = -1;  /* T_nCJT_eType2R1_feType2_PS_M2R1_r17_01 */
static int hf_nr_rrc_nCJT1SP_feType2PS_null_r17_01 = -1;  /* T_nCJT1SP_feType2PS_null_r17_01 */
static int hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17_01 = -1;  /* T_nCJT1SP_feType2PS_M2R1_null_r17_01 */
static int hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1_01 = -1;  /* T_nCJT1SP_feType2PS_M2R2_null_r1_01 */
static int hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17_01 = -1;  /* T_nCJT1SP_Type2_feType2_PS_M1_r17_01 */
static int hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17_01 = -1;  /* T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01 */
static int hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17_01 = -1;  /* T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01 */
static int hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01 = -1;  /* T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01 */
static int hf_nr_rrc_CodebookVariantsList_r16_item = -1;  /* SupportedCSI_RS_Resource */
static int hf_nr_rrc_maxNumberTxPortsPerResource = -1;  /* T_maxNumberTxPortsPerResource */
static int hf_nr_rrc_maxNumberResourcesPerBand = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_totalNumberTxPortsPerBand = -1;  /* INTEGER_2_256 */
static int hf_nr_rrc_FeatureSetCombination_item = -1;  /* FeatureSetsPerBand */
static int hf_nr_rrc_FeatureSetsPerBand_item = -1;  /* FeatureSet */
static int hf_nr_rrc_eutra_05 = -1;               /* T_eutra_03 */
static int hf_nr_rrc_downlinkSetEUTRA = -1;       /* FeatureSetEUTRA_DownlinkId */
static int hf_nr_rrc_uplinkSetEUTRA = -1;         /* FeatureSetEUTRA_UplinkId */
static int hf_nr_rrc_nr_06 = -1;                  /* T_nr_05 */
static int hf_nr_rrc_downlinkSetNR = -1;          /* FeatureSetDownlinkId */
static int hf_nr_rrc_uplinkSetNR = -1;            /* FeatureSetUplinkId */
static int hf_nr_rrc_featureSetListPerDownlinkCC = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id */
static int hf_nr_rrc_featureSetListPerDownlinkCC_item = -1;  /* FeatureSetDownlinkPerCC_Id */
static int hf_nr_rrc_intraBandFreqSeparationDL = -1;  /* FreqSeparationClass */
static int hf_nr_rrc_scalingFactor = -1;          /* T_scalingFactor */
static int hf_nr_rrc_dummy8 = -1;                 /* T_dummy8 */
static int hf_nr_rrc_scellWithoutSSB = -1;        /* T_scellWithoutSSB */
static int hf_nr_rrc_csi_RS_MeasSCellWithoutSSB = -1;  /* T_csi_RS_MeasSCellWithoutSSB */
static int hf_nr_rrc_featureSetDownlink_dummy1 = -1;  /* T_featureSetDownlink_dummy1 */
static int hf_nr_rrc_type1_3_CSS = -1;            /* T_type1_3_CSS */
static int hf_nr_rrc_pdcch_MonitoringAnyOccasions = -1;  /* T_pdcch_MonitoringAnyOccasions */
static int hf_nr_rrc_featureSetDownlink_dummy2 = -1;  /* T_featureSetDownlink_dummy2 */
static int hf_nr_rrc_ue_SpecificUL_DL_Assignment = -1;  /* T_ue_SpecificUL_DL_Assignment */
static int hf_nr_rrc_searchSpaceSharingCA_DL = -1;  /* T_searchSpaceSharingCA_DL */
static int hf_nr_rrc_timeDurationForQCL = -1;     /* T_timeDurationForQCL */
static int hf_nr_rrc_featureSetDownlink_timeDurationForQCL_scs_60kHz = -1;  /* T_featureSetDownlink_timeDurationForQCL_scs_60kHz */
static int hf_nr_rrc_featureSetDownlink_timeDurationForQCL_scs_120kHz = -1;  /* T_featureSetDownlink_timeDurationForQCL_scs_120kHz */
static int hf_nr_rrc_pdsch_ProcessingType1_DifferentTB_PerSlot = -1;  /* T_pdsch_ProcessingType1_DifferentTB_PerSlot */
static int hf_nr_rrc_scs_15kHz = -1;              /* T_scs_15kHz */
static int hf_nr_rrc_scs_30kHz = -1;              /* T_scs_30kHz */
static int hf_nr_rrc_scs_60kHz = -1;              /* T_scs_60kHz */
static int hf_nr_rrc_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz = -1;  /* T_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz */
static int hf_nr_rrc_featureSetDownlink_dummy3 = -1;  /* DummyA */
static int hf_nr_rrc_featureSetDownlink_dummy4 = -1;  /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB */
static int hf_nr_rrc_featureSetDownlink_dummy4_item = -1;  /* DummyB */
static int hf_nr_rrc_featureSetDownlink_dummy5 = -1;  /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC */
static int hf_nr_rrc_featureSetDownlink_dummy5_item = -1;  /* DummyC */
static int hf_nr_rrc_featureSetDownlink_dummy6 = -1;  /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD */
static int hf_nr_rrc_featureSetDownlink_dummy6_item = -1;  /* DummyD */
static int hf_nr_rrc_dummy7 = -1;                 /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE */
static int hf_nr_rrc_dummy7_item = -1;            /* DummyE */
static int hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_DL = -1;  /* T_oneFL_DMRS_TwoAdditionalDMRS_DL */
static int hf_nr_rrc_additionalDMRS_DL_Alt = -1;  /* T_additionalDMRS_DL_Alt */
static int hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_DL = -1;  /* T_twoFL_DMRS_TwoAdditionalDMRS_DL */
static int hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_DL = -1;  /* T_oneFL_DMRS_ThreeAdditionalDMRS_DL */
static int hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap = -1;  /* T_pdcch_MonitoringAnyOccasionsWithSpanGap */
static int hf_nr_rrc_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz = -1;  /* T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz */
static int hf_nr_rrc_scs_30kHz_01 = -1;           /* T_scs_30kHz_01 */
static int hf_nr_rrc_scs_60kHz_01 = -1;           /* T_scs_60kHz_01 */
static int hf_nr_rrc_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz = -1;  /* T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz */
static int hf_nr_rrc_pdsch_SeparationWithGap = -1;  /* T_pdsch_SeparationWithGap */
static int hf_nr_rrc_pdsch_ProcessingType2 = -1;  /* T_pdsch_ProcessingType2 */
static int hf_nr_rrc_featureSetDownlink_v1540_pdsch_ProcessingType2_scs_15kHz = -1;  /* ProcessingParameters */
static int hf_nr_rrc_scs_30kHz_02 = -1;           /* ProcessingParameters */
static int hf_nr_rrc_featureSetDownlink_v1540_pdsch_ProcessingType2_scs_60kHz = -1;  /* ProcessingParameters */
static int hf_nr_rrc_pdsch_ProcessingType2_Limited = -1;  /* T_pdsch_ProcessingType2_Limited */
static int hf_nr_rrc_differentTB_PerSlot_SCS_30kHz = -1;  /* T_differentTB_PerSlot_SCS_30kHz */
static int hf_nr_rrc_dl_MCS_TableAlt_DynamicIndication = -1;  /* T_dl_MCS_TableAlt_DynamicIndication */
static int hf_nr_rrc_supportedSRS_Resources = -1;  /* SRS_Resources */
static int hf_nr_rrc_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16 = -1;  /* T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16 = -1;  /* T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16 = -1;  /* T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16 = -1;  /* T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16 = -1;  /* T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16 */
static int hf_nr_rrc_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16 = -1;  /* T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16 = -1;  /* T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16 = -1;  /* T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16 = -1;  /* T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16 = -1;  /* T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16 */
static int hf_nr_rrc_intraFreqDAPS_r16 = -1;      /* T_intraFreqDAPS_r16 */
static int hf_nr_rrc_intraFreqDiffSCS_DAPS_r16 = -1;  /* T_intraFreqDiffSCS_DAPS_r16 */
static int hf_nr_rrc_intraFreqAsyncDAPS_r16 = -1;  /* T_intraFreqAsyncDAPS_r16 */
static int hf_nr_rrc_intraBandFreqSeparationDL_v1620 = -1;  /* FreqSeparationClassDL_v1620 */
static int hf_nr_rrc_intraBandFreqSeparationDL_Only_r16 = -1;  /* FreqSeparationClassDL_Only_r16 */
static int hf_nr_rrc_pdcch_Monitoring_r16 = -1;   /* T_pdcch_Monitoring_r16 */
static int hf_nr_rrc_pdsch_ProcessingType1_r16 = -1;  /* T_pdsch_ProcessingType1_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType1_r16_scs_15kHz_r16 = -1;  /* PDCCH_MonitoringOccasions_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType1_r16_scs_30kHz_r16 = -1;  /* PDCCH_MonitoringOccasions_r16 */
static int hf_nr_rrc_pdsch_ProcessingType2_r16 = -1;  /* T_pdsch_ProcessingType2_r16 */
static int hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType2_r16_scs_15kHz_r16 = -1;  /* PDCCH_MonitoringOccasions_r16 */
static int hf_nr_rrc_scs_30kHz_r16 = -1;          /* PDCCH_MonitoringOccasions_r16 */
static int hf_nr_rrc_pdcch_MonitoringMixed_r16 = -1;  /* T_pdcch_MonitoringMixed_r16 */
static int hf_nr_rrc_crossCarrierSchedulingProcessing_DiffSCS_r16 = -1;  /* T_crossCarrierSchedulingProcessing_DiffSCS_r16 */
static int hf_nr_rrc_scs_15kHz_120kHz_r16 = -1;   /* T_scs_15kHz_120kHz_r16 */
static int hf_nr_rrc_scs_15kHz_60kHz_r16 = -1;    /* T_scs_15kHz_60kHz_r16 */
static int hf_nr_rrc_scs_30kHz_120kHz_r16 = -1;   /* T_scs_30kHz_120kHz_r16 */
static int hf_nr_rrc_scs_15kHz_30kHz_r16 = -1;    /* T_scs_15kHz_30kHz_r16 */
static int hf_nr_rrc_scs_30kHz_60kHz_r16 = -1;    /* T_scs_30kHz_60kHz_r16 */
static int hf_nr_rrc_scs_60kHz_120kHz_r16 = -1;   /* T_scs_60kHz_120kHz_r16 */
static int hf_nr_rrc_singleDCI_SDM_scheme_r16 = -1;  /* T_singleDCI_SDM_scheme_r16 */
static int hf_nr_rrc_scalingFactor_1024QAM_FR1_r17 = -1;  /* T_scalingFactor_1024QAM_FR1_r17 */
static int hf_nr_rrc_timeDurationForQCL_v1710 = -1;  /* T_timeDurationForQCL_v1710 */
static int hf_nr_rrc_scs_480kHz = -1;             /* T_scs_480kHz */
static int hf_nr_rrc_scs_960kHz = -1;             /* T_scs_960kHz */
static int hf_nr_rrc_sfn_SchemeA_r17 = -1;        /* T_sfn_SchemeA_r17 */
static int hf_nr_rrc_sfn_SchemeA_PDCCH_only_r17 = -1;  /* T_sfn_SchemeA_PDCCH_only_r17 */
static int hf_nr_rrc_sfn_SchemeA_DynamicSwitching_r17 = -1;  /* T_sfn_SchemeA_DynamicSwitching_r17 */
static int hf_nr_rrc_sfn_SchemeA_PDSCH_only_r17 = -1;  /* T_sfn_SchemeA_PDSCH_only_r17 */
static int hf_nr_rrc_sfn_SchemeB_r17 = -1;        /* T_sfn_SchemeB_r17 */
static int hf_nr_rrc_sfn_SchemeB_DynamicSwitching_r17 = -1;  /* T_sfn_SchemeB_DynamicSwitching_r17 */
static int hf_nr_rrc_sfn_SchemeB_PDSCH_only_r17 = -1;  /* T_sfn_SchemeB_PDSCH_only_r17 */
static int hf_nr_rrc_mTRP_PDCCH_Case2_1SpanGap_r17 = -1;  /* T_mTRP_PDCCH_Case2_1SpanGap_r17 */
static int hf_nr_rrc_scs_15kHz_r17_01 = -1;       /* PDCCH_RepetitionParameters_r17 */
static int hf_nr_rrc_scs_30kHz_r17_01 = -1;       /* PDCCH_RepetitionParameters_r17 */
static int hf_nr_rrc_scs_60kHz_r17_01 = -1;       /* PDCCH_RepetitionParameters_r17 */
static int hf_nr_rrc_scs_120kHz_r17_01 = -1;      /* PDCCH_RepetitionParameters_r17 */
static int hf_nr_rrc_mTRP_PDCCH_legacyMonitoring_r17 = -1;  /* T_mTRP_PDCCH_legacyMonitoring_r17 */
static int hf_nr_rrc_mTRP_PDCCH_multiDCI_multiTRP_r17 = -1;  /* T_mTRP_PDCCH_multiDCI_multiTRP_r17 */
static int hf_nr_rrc_dynamicMulticastPCell_r17 = -1;  /* T_dynamicMulticastPCell_r17 */
static int hf_nr_rrc_mTRP_PDCCH_Repetition_r17 = -1;  /* T_mTRP_PDCCH_Repetition_r17 */
static int hf_nr_rrc_numBD_twoPDCCH_r17 = -1;     /* INTEGER_2_3 */
static int hf_nr_rrc_maxNumOverlaps_r17 = -1;     /* T_maxNumOverlaps_r17 */
static int hf_nr_rrc_rtt_BasedPDC_CSI_RS_ForTracking_r17 = -1;  /* T_rtt_BasedPDC_CSI_RS_ForTracking_r17 */
static int hf_nr_rrc_rtt_BasedPDC_PRS_r17 = -1;   /* T_rtt_BasedPDC_PRS_r17 */
static int hf_nr_rrc_maxNumberPRS_Resource_r17 = -1;  /* T_maxNumberPRS_Resource_r17 */
static int hf_nr_rrc_maxNumberPRS_ResourceProcessedPerSlot_r17 = -1;  /* T_maxNumberPRS_ResourceProcessedPerSlot_r17 */
static int hf_nr_rrc_scs_15kHz_r17_02 = -1;       /* T_scs_15kHz_r17 */
static int hf_nr_rrc_scs_30kHz_r17_02 = -1;       /* T_scs_30kHz_r17 */
static int hf_nr_rrc_scs_60kHz_r17_02 = -1;       /* T_scs_60kHz_r17 */
static int hf_nr_rrc_scs_120kHz_r17_02 = -1;      /* T_scs_120kHz_r17 */
static int hf_nr_rrc_sps_Multicast_r17 = -1;      /* T_sps_Multicast_r17 */
static int hf_nr_rrc_prs_AsSpatialRelationRS_For_SRS_r17 = -1;  /* T_prs_AsSpatialRelationRS_For_SRS_r17 */
static int hf_nr_rrc_period7span3_r16 = -1;       /* T_period7span3_r16 */
static int hf_nr_rrc_period4span3_r16 = -1;       /* T_period4span3_r16 */
static int hf_nr_rrc_period2span2_r16 = -1;       /* T_period2span2_r16 */
static int hf_nr_rrc_supportedMode_r17 = -1;      /* T_supportedMode_r17 */
static int hf_nr_rrc_limitX_PerCC_r17 = -1;       /* T_limitX_PerCC_r17 */
static int hf_nr_rrc_limitX_AcrossCC_r17 = -1;    /* T_limitX_AcrossCC_r17 */
static int hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC = -1;  /* T_maxNumberPortsAcrossNZP_CSI_RS_PerCC */
static int hf_nr_rrc_maxNumberCS_IM_PerCC = -1;   /* T_maxNumberCS_IM_PerCC */
static int hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC = -1;  /* T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC */
static int hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC = -1;  /* T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC */
static int hf_nr_rrc_maxNumberTxPortsPerResource_01 = -1;  /* T_maxNumberTxPortsPerResource_01 */
static int hf_nr_rrc_maxNumberResources = -1;     /* INTEGER_1_64 */
static int hf_nr_rrc_totalNumberTxPorts = -1;     /* INTEGER_2_256 */
static int hf_nr_rrc_supportedCodebookMode = -1;  /* T_supportedCodebookMode */
static int hf_nr_rrc_maxNumberTxPortsPerResource_02 = -1;  /* T_maxNumberTxPortsPerResource_02 */
static int hf_nr_rrc_supportedCodebookMode_01 = -1;  /* T_supportedCodebookMode_01 */
static int hf_nr_rrc_supportedNumberPanels = -1;  /* T_supportedNumberPanels */
static int hf_nr_rrc_maxNumberTxPortsPerResource_03 = -1;  /* T_maxNumberTxPortsPerResource_03 */
static int hf_nr_rrc_amplitudeScalingType_02 = -1;  /* T_amplitudeScalingType_02 */
static int hf_nr_rrc_amplitudeSubsetRestriction_01 = -1;  /* T_amplitudeSubsetRestriction_01 */
static int hf_nr_rrc_maxNumberTxPortsPerResource_04 = -1;  /* T_maxNumberTxPortsPerResource_04 */
static int hf_nr_rrc_amplitudeScalingType_03 = -1;  /* T_amplitudeScalingType_03 */
static int hf_nr_rrc_supportedSubcarrierSpacingDL = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_supportedBandwidthDL = -1;   /* SupportedBandwidth */
static int hf_nr_rrc_channelBW_90mhz = -1;        /* T_channelBW_90mhz */
static int hf_nr_rrc_maxNumberMIMO_LayersPDSCH = -1;  /* MIMO_LayersDL */
static int hf_nr_rrc_supportedModulationOrderDL = -1;  /* ModulationOrder */
static int hf_nr_rrc_multiDCI_MultiTRP_r16 = -1;  /* MultiDCI_MultiTRP_r16 */
static int hf_nr_rrc_supportFDM_SchemeB_r16 = -1;  /* T_supportFDM_SchemeB_r16 */
static int hf_nr_rrc_supportedMinBandwidthDL_r17 = -1;  /* SupportedBandwidth_v1700 */
static int hf_nr_rrc_broadcastSCell_r17 = -1;     /* T_broadcastSCell_r17 */
static int hf_nr_rrc_maxNumberMIMO_LayersMulticastPDSCH_r17 = -1;  /* T_maxNumberMIMO_LayersMulticastPDSCH_r17 */
static int hf_nr_rrc_dynamicMulticastSCell_r17 = -1;  /* T_dynamicMulticastSCell_r17 */
static int hf_nr_rrc_supportedBandwidthDL_v1710 = -1;  /* SupportedBandwidth_v1700 */
static int hf_nr_rrc_supportedCRS_InterfMitigation_r17 = -1;  /* CRS_InterfMitigation_r17 */
static int hf_nr_rrc_maxModulationOrderForMulticastDataRateCalculation_r17 = -1;  /* T_maxModulationOrderForMulticastDataRateCalculation_r17 */
static int hf_nr_rrc_fdm_BroadcastUnicast_r17 = -1;  /* T_fdm_BroadcastUnicast_r17 */
static int hf_nr_rrc_fdm_MulticastUnicast_r17 = -1;  /* T_fdm_MulticastUnicast_r17 */
static int hf_nr_rrc_intraSlotTDM_UnicastGroupCommonPDSCH_r17 = -1;  /* T_intraSlotTDM_UnicastGroupCommonPDSCH_r17 */
static int hf_nr_rrc_sps_MulticastSCell_r17 = -1;  /* T_sps_MulticastSCell_r17 */
static int hf_nr_rrc_sps_MulticastSCellMultiConfig_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_dci_BroadcastWith16Repetitions_r17 = -1;  /* T_dci_BroadcastWith16Repetitions_r17 */
static int hf_nr_rrc_maxNumberCORESET_r16 = -1;   /* T_maxNumberCORESET_r16 */
static int hf_nr_rrc_maxNumberCORESETPerPoolIndex_r16 = -1;  /* INTEGER_1_3 */
static int hf_nr_rrc_maxNumberUnicastPDSCH_PerPool_r16 = -1;  /* T_maxNumberUnicastPDSCH_PerPool_r16 */
static int hf_nr_rrc_crs_IM_DSS_15kHzSCS_r17 = -1;  /* T_crs_IM_DSS_15kHzSCS_r17 */
static int hf_nr_rrc_crs_IM_nonDSS_15kHzSCS_r17 = -1;  /* T_crs_IM_nonDSS_15kHzSCS_r17 */
static int hf_nr_rrc_crs_IM_nonDSS_NWA_15kHzSCS_r17 = -1;  /* T_crs_IM_nonDSS_NWA_15kHzSCS_r17 */
static int hf_nr_rrc_crs_IM_nonDSS_30kHzSCS_r17 = -1;  /* T_crs_IM_nonDSS_30kHzSCS_r17 */
static int hf_nr_rrc_crs_IM_nonDSS_NWA_30kHzSCS_r17 = -1;  /* T_crs_IM_nonDSS_NWA_30kHzSCS_r17 */
static int hf_nr_rrc_featureSetsDownlink = -1;    /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink */
static int hf_nr_rrc_featureSetsDownlink_item = -1;  /* FeatureSetDownlink */
static int hf_nr_rrc_featureSetsDownlinkPerCC = -1;  /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC */
static int hf_nr_rrc_featureSetsDownlinkPerCC_item = -1;  /* FeatureSetDownlinkPerCC */
static int hf_nr_rrc_featureSetsUplink = -1;      /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink */
static int hf_nr_rrc_featureSetsUplink_item = -1;  /* FeatureSetUplink */
static int hf_nr_rrc_featureSetsUplinkPerCC = -1;  /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC */
static int hf_nr_rrc_featureSetsUplinkPerCC_item = -1;  /* FeatureSetUplinkPerCC */
static int hf_nr_rrc_featureSetsDownlink_v1540 = -1;  /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540 */
static int hf_nr_rrc_featureSetsDownlink_v1540_item = -1;  /* FeatureSetDownlink_v1540 */
static int hf_nr_rrc_featureSetsUplink_v1540 = -1;  /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540 */
static int hf_nr_rrc_featureSetsUplink_v1540_item = -1;  /* FeatureSetUplink_v1540 */
static int hf_nr_rrc_featureSetsUplinkPerCC_v1540 = -1;  /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540 */
static int hf_nr_rrc_featureSetsUplinkPerCC_v1540_item = -1;  /* FeatureSetUplinkPerCC_v1540 */
static int hf_nr_rrc_featureSetsDownlink_v15a0 = -1;  /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0 */
static int hf_nr_rrc_featureSetsDownlink_v15a0_item = -1;  /* FeatureSetDownlink_v15a0 */
static int hf_nr_rrc_featureSetsDownlink_v1610 = -1;  /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610 */
static int hf_nr_rrc_featureSetsDownlink_v1610_item = -1;  /* FeatureSetDownlink_v1610 */
static int hf_nr_rrc_featureSetsUplink_v1610 = -1;  /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610 */
static int hf_nr_rrc_featureSetsUplink_v1610_item = -1;  /* FeatureSetUplink_v1610 */
static int hf_nr_rrc_featureSetDownlinkPerCC_v1620 = -1;  /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620 */
static int hf_nr_rrc_featureSetDownlinkPerCC_v1620_item = -1;  /* FeatureSetDownlinkPerCC_v1620 */
static int hf_nr_rrc_featureSetsUplink_v1630 = -1;  /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630 */
static int hf_nr_rrc_featureSetsUplink_v1630_item = -1;  /* FeatureSetUplink_v1630 */
static int hf_nr_rrc_featureSetsUplink_v1640 = -1;  /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640 */
static int hf_nr_rrc_featureSetsUplink_v1640_item = -1;  /* FeatureSetUplink_v1640 */
static int hf_nr_rrc_featureSetsDownlink_v1700 = -1;  /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700 */
static int hf_nr_rrc_featureSetsDownlink_v1700_item = -1;  /* FeatureSetDownlink_v1700 */
static int hf_nr_rrc_featureSetsDownlinkPerCC_v1700 = -1;  /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700 */
static int hf_nr_rrc_featureSetsDownlinkPerCC_v1700_item = -1;  /* FeatureSetDownlinkPerCC_v1700 */
static int hf_nr_rrc_featureSetsUplink_v1710 = -1;  /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710 */
static int hf_nr_rrc_featureSetsUplink_v1710_item = -1;  /* FeatureSetUplink_v1710 */
static int hf_nr_rrc_featureSetsUplinkPerCC_v1700 = -1;  /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700 */
static int hf_nr_rrc_featureSetsUplinkPerCC_v1700_item = -1;  /* FeatureSetUplinkPerCC_v1700 */
static int hf_nr_rrc_featureSetsDownlink_v1720 = -1;  /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720 */
static int hf_nr_rrc_featureSetsDownlink_v1720_item = -1;  /* FeatureSetDownlink_v1720 */
static int hf_nr_rrc_featureSetsDownlinkPerCC_v1720 = -1;  /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720 */
static int hf_nr_rrc_featureSetsDownlinkPerCC_v1720_item = -1;  /* FeatureSetDownlinkPerCC_v1720 */
static int hf_nr_rrc_featureSetsUplink_v1720 = -1;  /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720 */
static int hf_nr_rrc_featureSetsUplink_v1720_item = -1;  /* FeatureSetUplink_v1720 */
static int hf_nr_rrc_featureSetsDownlink_v1730 = -1;  /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730 */
static int hf_nr_rrc_featureSetsDownlink_v1730_item = -1;  /* FeatureSetDownlink_v1730 */
static int hf_nr_rrc_featureSetsDownlinkPerCC_v1730 = -1;  /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730 */
static int hf_nr_rrc_featureSetsDownlinkPerCC_v1730_item = -1;  /* FeatureSetDownlinkPerCC_v1730 */
static int hf_nr_rrc_featureSetsUplink_v16d0 = -1;  /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0 */
static int hf_nr_rrc_featureSetsUplink_v16d0_item = -1;  /* FeatureSetUplink_v16d0 */
static int hf_nr_rrc_featureSetListPerUplinkCC = -1;  /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id */
static int hf_nr_rrc_featureSetListPerUplinkCC_item = -1;  /* FeatureSetUplinkPerCC_Id */
static int hf_nr_rrc_scalingFactor_01 = -1;       /* T_scalingFactor_01 */
static int hf_nr_rrc_dummy3 = -1;                 /* T_dummy3 */
static int hf_nr_rrc_intraBandFreqSeparationUL = -1;  /* FreqSeparationClass */
static int hf_nr_rrc_searchSpaceSharingCA_UL = -1;  /* T_searchSpaceSharingCA_UL */
static int hf_nr_rrc_featureSetUplink_dummy1 = -1;  /* DummyI */
static int hf_nr_rrc_twoPUCCH_Group = -1;         /* T_twoPUCCH_Group */
static int hf_nr_rrc_dynamicSwitchSUL = -1;       /* T_dynamicSwitchSUL */
static int hf_nr_rrc_simultaneousTxSUL_NonSUL = -1;  /* T_simultaneousTxSUL_NonSUL */
static int hf_nr_rrc_pusch_ProcessingType1_DifferentTB_PerSlot = -1;  /* T_pusch_ProcessingType1_DifferentTB_PerSlot */
static int hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz = -1;  /* T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz */
static int hf_nr_rrc_scs_30kHz_03 = -1;           /* T_scs_30kHz_02 */
static int hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz = -1;  /* T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz */
static int hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz = -1;  /* T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz */
static int hf_nr_rrc_featureSetUplink_dummy2 = -1;  /* DummyF */
static int hf_nr_rrc_zeroSlotOffsetAperiodicSRS = -1;  /* T_zeroSlotOffsetAperiodicSRS */
static int hf_nr_rrc_pa_PhaseDiscontinuityImpacts = -1;  /* T_pa_PhaseDiscontinuityImpacts */
static int hf_nr_rrc_pusch_SeparationWithGap = -1;  /* T_pusch_SeparationWithGap */
static int hf_nr_rrc_pusch_ProcessingType2 = -1;  /* T_pusch_ProcessingType2 */
static int hf_nr_rrc_featureSetUplink_v1540_pusch_ProcessingType2_scs_15kHz = -1;  /* ProcessingParameters */
static int hf_nr_rrc_featureSetUplink_v1540_pusch_ProcessingType2_scs_60kHz = -1;  /* ProcessingParameters */
static int hf_nr_rrc_ul_MCS_TableAlt_DynamicIndication = -1;  /* T_ul_MCS_TableAlt_DynamicIndication */
static int hf_nr_rrc_pusch_RepetitionTypeB_r16 = -1;  /* T_pusch_RepetitionTypeB_r16 */
static int hf_nr_rrc_maxNumberPUSCH_Tx_r16 = -1;  /* T_maxNumberPUSCH_Tx_r16 */
static int hf_nr_rrc_hoppingScheme_r16 = -1;      /* T_hoppingScheme_r16 */
static int hf_nr_rrc_ul_CancellationSelfCarrier_r16 = -1;  /* T_ul_CancellationSelfCarrier_r16 */
static int hf_nr_rrc_ul_CancellationCrossCarrier_r16 = -1;  /* T_ul_CancellationCrossCarrier_r16 */
static int hf_nr_rrc_ul_FullPwrMode2_MaxSRS_ResInSet_r16 = -1;  /* T_ul_FullPwrMode2_MaxSRS_ResInSet_r16 */
static int hf_nr_rrc_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16 = -1;  /* T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16 */
static int hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16 = -1;  /* T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16 */
static int hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16 = -1;  /* T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16 */
static int hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16 = -1;  /* T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16 */
static int hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16 = -1;  /* T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16 */
static int hf_nr_rrc_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16 = -1;  /* T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16 */
static int hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16 = -1;  /* T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16 */
static int hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16 = -1;  /* T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16 */
static int hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16 = -1;  /* T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16 */
static int hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16 = -1;  /* T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16 */
static int hf_nr_rrc_supportedSRS_PosResources_r16 = -1;  /* SRS_AllPosResources_r16 */
static int hf_nr_rrc_intraFreqDAPS_UL_r16 = -1;   /* T_intraFreqDAPS_UL_r16 */
static int hf_nr_rrc_dummy_03 = -1;               /* T_dummy_01 */
static int hf_nr_rrc_intraFreqTwoTAGs_DAPS_r16 = -1;  /* T_intraFreqTwoTAGs_DAPS_r16 */
static int hf_nr_rrc_dummy1_02 = -1;              /* T_dummy1_02 */
static int hf_nr_rrc_dummy2 = -1;                 /* T_dummy2 */
static int hf_nr_rrc_dummy3_01 = -1;              /* T_dummy3_01 */
static int hf_nr_rrc_intraBandFreqSeparationUL_v1620 = -1;  /* FreqSeparationClassUL_v1620 */
static int hf_nr_rrc_multiPUCCH_r16 = -1;         /* T_multiPUCCH_r16 */
static int hf_nr_rrc_sub_SlotConfig_NCP_r16 = -1;  /* T_sub_SlotConfig_NCP_r16 */
static int hf_nr_rrc_sub_SlotConfig_ECP_r16 = -1;  /* T_sub_SlotConfig_ECP_r16 */
static int hf_nr_rrc_twoPUCCH_Type1_r16 = -1;     /* T_twoPUCCH_Type1_r16 */
static int hf_nr_rrc_twoPUCCH_Type2_r16 = -1;     /* T_twoPUCCH_Type2_r16 */
static int hf_nr_rrc_twoPUCCH_Type3_r16 = -1;     /* T_twoPUCCH_Type3_r16 */
static int hf_nr_rrc_twoPUCCH_Type4_r16 = -1;     /* T_twoPUCCH_Type4_r16 */
static int hf_nr_rrc_mux_SR_HARQ_ACK_r16 = -1;    /* T_mux_SR_HARQ_ACK_r16 */
static int hf_nr_rrc_dummy1_03 = -1;              /* T_dummy1_03 */
static int hf_nr_rrc_dummy2_01 = -1;              /* T_dummy2_01 */
static int hf_nr_rrc_twoPUCCH_Type5_r16 = -1;     /* T_twoPUCCH_Type5_r16 */
static int hf_nr_rrc_twoPUCCH_Type6_r16 = -1;     /* T_twoPUCCH_Type6_r16 */
static int hf_nr_rrc_twoPUCCH_Type7_r16 = -1;     /* T_twoPUCCH_Type7_r16 */
static int hf_nr_rrc_twoPUCCH_Type8_r16 = -1;     /* T_twoPUCCH_Type8_r16 */
static int hf_nr_rrc_twoPUCCH_Type9_r16 = -1;     /* T_twoPUCCH_Type9_r16 */
static int hf_nr_rrc_twoPUCCH_Type10_r16 = -1;    /* T_twoPUCCH_Type10_r16 */
static int hf_nr_rrc_twoPUCCH_Type11_r16 = -1;    /* T_twoPUCCH_Type11_r16 */
static int hf_nr_rrc_ul_IntraUE_Mux_r16 = -1;     /* T_ul_IntraUE_Mux_r16 */
static int hf_nr_rrc_pusch_PreparationLowPriority_r16 = -1;  /* T_pusch_PreparationLowPriority_r16 */
static int hf_nr_rrc_pusch_PreparationHighPriority_r16 = -1;  /* T_pusch_PreparationHighPriority_r16 */
static int hf_nr_rrc_ul_FullPwrMode_r16 = -1;     /* T_ul_FullPwrMode_r16 */
static int hf_nr_rrc_crossCarrierSchedulingProcessing_DiffSCS_r16_01 = -1;  /* T_crossCarrierSchedulingProcessing_DiffSCS_r16_01 */
static int hf_nr_rrc_scs_15kHz_120kHz_r16_01 = -1;  /* T_scs_15kHz_120kHz_r16_01 */
static int hf_nr_rrc_scs_15kHz_60kHz_r16_01 = -1;  /* T_scs_15kHz_60kHz_r16_01 */
static int hf_nr_rrc_scs_30kHz_120kHz_r16_01 = -1;  /* T_scs_30kHz_120kHz_r16_01 */
static int hf_nr_rrc_scs_15kHz_30kHz_r16_01 = -1;  /* T_scs_15kHz_30kHz_r16_01 */
static int hf_nr_rrc_scs_30kHz_60kHz_r16_01 = -1;  /* T_scs_30kHz_60kHz_r16_01 */
static int hf_nr_rrc_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16 = -1;  /* T_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16 */
static int hf_nr_rrc_ul_FullPwrMode1_r16 = -1;    /* T_ul_FullPwrMode1_r16 */
static int hf_nr_rrc_ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16 = -1;  /* T_ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16 */
static int hf_nr_rrc_ul_FullPwrMode2_TPMIGroup_r16 = -1;  /* T_ul_FullPwrMode2_TPMIGroup_r16 */
static int hf_nr_rrc_twoPorts_r16 = -1;           /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_fourPortsNonCoherent_r16 = -1;  /* T_fourPortsNonCoherent_r16 */
static int hf_nr_rrc_fourPortsPartialCoherent_r16 = -1;  /* T_fourPortsPartialCoherent_r16 */
static int hf_nr_rrc_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16 = -1;  /* T_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16 */
static int hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16 = -1;  /* T_offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16 */
static int hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16 = -1;  /* T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16 */
static int hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16 = -1;  /* T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16 */
static int hf_nr_rrc_dummy_04 = -1;               /* T_dummy_02 */
static int hf_nr_rrc_partialCancellationPUCCH_PUSCH_PRACH_TX_r16 = -1;  /* T_partialCancellationPUCCH_PUSCH_PRACH_TX_r16 */
static int hf_nr_rrc_twoHARQ_ACK_Codebook_type1_r16 = -1;  /* SubSlot_Config_r16 */
static int hf_nr_rrc_twoHARQ_ACK_Codebook_type2_r16 = -1;  /* SubSlot_Config_r16 */
static int hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16 = -1;  /* T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16 */
static int hf_nr_rrc_scs_15kHz_r16 = -1;          /* T_scs_15kHz_r16 */
static int hf_nr_rrc_scs_30kHz_r16_01 = -1;       /* T_scs_30kHz_r16 */
static int hf_nr_rrc_scs_60kHz_r16 = -1;          /* T_scs_60kHz_r16 */
static int hf_nr_rrc_pusch_RepetitionTypeB_v16d0 = -1;  /* T_pusch_RepetitionTypeB_v16d0 */
static int hf_nr_rrc_maxNumberPUSCH_Tx_Cap1_r16 = -1;  /* T_maxNumberPUSCH_Tx_Cap1_r16 */
static int hf_nr_rrc_maxNumberPUSCH_Tx_Cap2_r16 = -1;  /* T_maxNumberPUSCH_Tx_Cap2_r16 */
static int hf_nr_rrc_mTRP_PUSCH_TypeA_CB_r17 = -1;  /* T_mTRP_PUSCH_TypeA_CB_r17 */
static int hf_nr_rrc_mTRP_PUSCH_RepetitionTypeA_r17 = -1;  /* T_mTRP_PUSCH_RepetitionTypeA_r17 */
static int hf_nr_rrc_mTRP_PUCCH_IntraSlot_r17 = -1;  /* T_mTRP_PUCCH_IntraSlot_r17 */
static int hf_nr_rrc_srs_AntennaSwitching2SP_1Periodic_r17 = -1;  /* T_srs_AntennaSwitching2SP_1Periodic_r17 */
static int hf_nr_rrc_srs_ExtensionAperiodicSRS_r17 = -1;  /* T_srs_ExtensionAperiodicSRS_r17 */
static int hf_nr_rrc_srs_OneAP_SRS_r17 = -1;      /* T_srs_OneAP_SRS_r17 */
static int hf_nr_rrc_ue_PowerClassPerBandPerBC_r17 = -1;  /* T_ue_PowerClassPerBandPerBC_r17 */
static int hf_nr_rrc_tx_Support_UL_GapFR2_r17 = -1;  /* T_tx_Support_UL_GapFR2_r17 */
static int hf_nr_rrc_pucch_Repetition_F0_1_2_3_4_RRC_Config_r17 = -1;  /* T_pucch_Repetition_F0_1_2_3_4_RRC_Config_r17 */
static int hf_nr_rrc_pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17 = -1;  /* T_pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17 */
static int hf_nr_rrc_interSubslotFreqHopping_PUCCH_r17 = -1;  /* T_interSubslotFreqHopping_PUCCH_r17 */
static int hf_nr_rrc_semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17 = -1;  /* T_semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17 */
static int hf_nr_rrc_phy_PrioritizationLowPriorityDG_HighPriorityCG_r17 = -1;  /* INTEGER_1_16 */
static int hf_nr_rrc_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17 = -1;  /* T_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17 */
static int hf_nr_rrc_pusch_PreparationLowPriority_r17 = -1;  /* T_pusch_PreparationLowPriority_r17 */
static int hf_nr_rrc_additionalCancellationTime_r17 = -1;  /* T_additionalCancellationTime_r17 */
static int hf_nr_rrc_scs_15kHz_r17_03 = -1;       /* T_scs_15kHz_r17_01 */
static int hf_nr_rrc_scs_30kHz_r17_03 = -1;       /* T_scs_30kHz_r17_01 */
static int hf_nr_rrc_scs_60kHz_r17_03 = -1;       /* T_scs_60kHz_r17_01 */
static int hf_nr_rrc_scs_120kHz_r17_03 = -1;      /* T_scs_120kHz_r17_01 */
static int hf_nr_rrc_maxNumberCarriers_r17 = -1;  /* INTEGER_1_16 */
static int hf_nr_rrc_extendedDC_LocationReport_r17 = -1;  /* T_extendedDC_LocationReport_r17 */
static int hf_nr_rrc_sub_SlotConfig_NCP_r16_01 = -1;  /* T_sub_SlotConfig_NCP_r16_01 */
static int hf_nr_rrc_sub_SlotConfig_ECP_r16_01 = -1;  /* T_sub_SlotConfig_ECP_r16_01 */
static int hf_nr_rrc_srs_PosResources_r16 = -1;   /* SRS_PosResources_r16 */
static int hf_nr_rrc_srs_PosResourceAP_r16 = -1;  /* SRS_PosResourceAP_r16 */
static int hf_nr_rrc_srs_PosResourceSP_r16 = -1;  /* SRS_PosResourceSP_r16 */
static int hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r16 = -1;  /* T_maxNumberSRS_PosResourceSetPerBWP_r16 */
static int hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r16 = -1;  /* T_maxNumberSRS_PosResourcesPerBWP_r16 */
static int hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r16 = -1;  /* T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16 */
static int hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 = -1;  /* T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 */
static int hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16 = -1;  /* T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16 */
static int hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_r16 = -1;  /* T_maxNumberAP_SRS_PosResourcesPerBWP_r16 */
static int hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16 = -1;  /* T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16 */
static int hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_r16 = -1;  /* T_maxNumberSP_SRS_PosResourcesPerBWP_r16 */
static int hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16 = -1;  /* T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16 */
static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP = -1;  /* T_maxNumberAperiodicSRS_PerBWP */
static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot = -1;  /* INTEGER_1_6 */
static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP = -1;  /* T_maxNumberPeriodicSRS_PerBWP */
static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot = -1;  /* INTEGER_1_6 */
static int hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP = -1;  /* T_maxNumberSemiPersistentSRS_PerBWP */
static int hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP_PerSlot = -1;  /* INTEGER_1_6 */
static int hf_nr_rrc_maxNumberSRS_Ports_PerResource = -1;  /* T_maxNumberSRS_Ports_PerResource */
static int hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP = -1;  /* INTEGER_0_4 */
static int hf_nr_rrc_supportedSubcarrierSpacingUL = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_supportedBandwidthUL = -1;   /* SupportedBandwidth */
static int hf_nr_rrc_channelBW_90mhz_01 = -1;     /* T_channelBW_90mhz_01 */
static int hf_nr_rrc_mimo_CB_PUSCH = -1;          /* T_mimo_CB_PUSCH */
static int hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH = -1;  /* MIMO_LayersUL */
static int hf_nr_rrc_maxNumberSRS_ResourcePerSet = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH = -1;  /* MIMO_LayersUL */
static int hf_nr_rrc_supportedModulationOrderUL = -1;  /* ModulationOrder */
static int hf_nr_rrc_mimo_NonCB_PUSCH = -1;       /* T_mimo_NonCB_PUSCH */
static int hf_nr_rrc_maxNumberSRS_ResourcePerSet_01 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberSimultaneousSRS_ResourceTx = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_supportedMinBandwidthUL_r17 = -1;  /* SupportedBandwidth_v1700 */
static int hf_nr_rrc_mTRP_PUSCH_RepetitionTypeB_r17 = -1;  /* T_mTRP_PUSCH_RepetitionTypeB_r17 */
static int hf_nr_rrc_mTRP_PUSCH_TypeB_CB_r17 = -1;  /* T_mTRP_PUSCH_TypeB_CB_r17 */
static int hf_nr_rrc_supportedBandwidthUL_v1710 = -1;  /* SupportedBandwidth_v1700 */
static int hf_nr_rrc_FreqBandList_item = -1;      /* FreqBandInformation */
static int hf_nr_rrc_bandInformationEUTRA = -1;   /* FreqBandInformationEUTRA */
static int hf_nr_rrc_bandInformationNR = -1;      /* FreqBandInformationNR */
static int hf_nr_rrc_maxBandwidthRequestedDL = -1;  /* AggregatedBandwidth */
static int hf_nr_rrc_maxBandwidthRequestedUL = -1;  /* AggregatedBandwidth */
static int hf_nr_rrc_maxCarriersRequestedDL = -1;  /* INTEGER_1_maxNrofServingCells */
static int hf_nr_rrc_maxCarriersRequestedUL = -1;  /* INTEGER_1_maxNrofServingCells */
static int hf_nr_rrc_dl_FR2_2_SCS_120kHz_r17 = -1;  /* T_dl_FR2_2_SCS_120kHz_r17 */
static int hf_nr_rrc_ul_FR2_2_SCS_120kHz_r17 = -1;  /* T_ul_FR2_2_SCS_120kHz_r17 */
static int hf_nr_rrc_initialAccessSSB_120kHz_r17 = -1;  /* T_initialAccessSSB_120kHz_r17 */
static int hf_nr_rrc_widebandPRACH_SCS_120kHz_r17 = -1;  /* T_widebandPRACH_SCS_120kHz_r17 */
static int hf_nr_rrc_multiRB_PUCCH_SCS_120kHz_r17 = -1;  /* T_multiRB_PUCCH_SCS_120kHz_r17 */
static int hf_nr_rrc_multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17 = -1;  /* T_multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17 */
static int hf_nr_rrc_multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17 = -1;  /* T_multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17 */
static int hf_nr_rrc_dl_FR2_2_SCS_480kHz_r17 = -1;  /* T_dl_FR2_2_SCS_480kHz_r17 */
static int hf_nr_rrc_ul_FR2_2_SCS_480kHz_r17 = -1;  /* T_ul_FR2_2_SCS_480kHz_r17 */
static int hf_nr_rrc_initialAccessSSB_480kHz_r17 = -1;  /* T_initialAccessSSB_480kHz_r17 */
static int hf_nr_rrc_widebandPRACH_SCS_480kHz_r17 = -1;  /* T_widebandPRACH_SCS_480kHz_r17 */
static int hf_nr_rrc_multiRB_PUCCH_SCS_480kHz_r17 = -1;  /* T_multiRB_PUCCH_SCS_480kHz_r17 */
static int hf_nr_rrc_enhancedPDCCH_monitoringSCS_480kHz_r17 = -1;  /* T_enhancedPDCCH_monitoringSCS_480kHz_r17 */
static int hf_nr_rrc_dl_FR2_2_SCS_960kHz_r17 = -1;  /* T_dl_FR2_2_SCS_960kHz_r17 */
static int hf_nr_rrc_ul_FR2_2_SCS_960kHz_r17 = -1;  /* T_ul_FR2_2_SCS_960kHz_r17 */
static int hf_nr_rrc_multiRB_PUCCH_SCS_960kHz_r17 = -1;  /* T_multiRB_PUCCH_SCS_960kHz_r17 */
static int hf_nr_rrc_enhancedPDCCH_monitoringSCS_960kHz_r17 = -1;  /* T_enhancedPDCCH_monitoringSCS_960kHz_r17 */
static int hf_nr_rrc_pdcch_monitoring4_1_r17 = -1;  /* T_pdcch_monitoring4_1_r17 */
static int hf_nr_rrc_pdcch_monitoring4_2_r17 = -1;  /* T_pdcch_monitoring4_2_r17 */
static int hf_nr_rrc_pdcch_monitoring8_4_r17 = -1;  /* T_pdcch_monitoring8_4_r17 */
static int hf_nr_rrc_type1_ChannelAccess_FR2_2_r17 = -1;  /* T_type1_ChannelAccess_FR2_2_r17 */
static int hf_nr_rrc_type2_ChannelAccess_FR2_2_r17 = -1;  /* T_type2_ChannelAccess_FR2_2_r17 */
static int hf_nr_rrc_reduced_BeamSwitchTiming_FR2_2_r17 = -1;  /* T_reduced_BeamSwitchTiming_FR2_2_r17 */
static int hf_nr_rrc_support32_DL_HARQ_ProcessPerSCS_r17 = -1;  /* T_support32_DL_HARQ_ProcessPerSCS_r17 */
static int hf_nr_rrc_scs_120kHz_r17_04 = -1;      /* T_scs_120kHz_r17_02 */
static int hf_nr_rrc_scs_480kHz_r17 = -1;         /* T_scs_480kHz_r17 */
static int hf_nr_rrc_scs_960kHz_r17 = -1;         /* T_scs_960kHz_r17 */
static int hf_nr_rrc_support32_UL_HARQ_ProcessPerSCS_r17 = -1;  /* T_support32_UL_HARQ_ProcessPerSCS_r17 */
static int hf_nr_rrc_scs_120kHz_r17_05 = -1;      /* T_scs_120kHz_r17_03 */
static int hf_nr_rrc_scs_480kHz_r17_01 = -1;      /* T_scs_480kHz_r17_01 */
static int hf_nr_rrc_scs_960kHz_r17_01 = -1;      /* T_scs_960kHz_r17_01 */
static int hf_nr_rrc_modulation64_QAM_PUSCH_FR2_2_r17 = -1;  /* T_modulation64_QAM_PUSCH_FR2_2_r17 */
static int hf_nr_rrc_measurementEnhancement_r16 = -1;  /* T_measurementEnhancement_r16 */
static int hf_nr_rrc_demodulationEnhancement_r16 = -1;  /* T_demodulationEnhancement_r16 */
static int hf_nr_rrc_intraNR_MeasurementEnhancement_r16 = -1;  /* T_intraNR_MeasurementEnhancement_r16 */
static int hf_nr_rrc_interRAT_MeasurementEnhancement_r16 = -1;  /* T_interRAT_MeasurementEnhancement_r16 */
static int hf_nr_rrc_measurementEnhancementCA_r17 = -1;  /* T_measurementEnhancementCA_r17 */
static int hf_nr_rrc_measurementEnhancementInterFreq_r17 = -1;  /* T_measurementEnhancementInterFreq_r17 */
static int hf_nr_rrc_ims_ParametersCommon = -1;   /* IMS_ParametersCommon */
static int hf_nr_rrc_ims_ParametersFRX_Diff = -1;  /* IMS_ParametersFRX_Diff */
static int hf_nr_rrc_ims_ParametersFR2_2_r17 = -1;  /* IMS_ParametersFR2_2_r17 */
static int hf_nr_rrc_voiceOverEUTRA_5GC = -1;     /* T_voiceOverEUTRA_5GC */
static int hf_nr_rrc_voiceOverSCG_BearerEUTRA_5GC = -1;  /* T_voiceOverSCG_BearerEUTRA_5GC */
static int hf_nr_rrc_voiceFallbackIndicationEPS_r16 = -1;  /* T_voiceFallbackIndicationEPS_r16 */
static int hf_nr_rrc_voiceOverNR = -1;            /* T_voiceOverNR */
static int hf_nr_rrc_voiceOverNR_r17 = -1;        /* T_voiceOverNR_r17 */
static int hf_nr_rrc_eutra_06 = -1;               /* EUTRA_Parameters */
static int hf_nr_rrc_utra_FDD_r16 = -1;           /* UTRA_FDD_Parameters_r16 */
static int hf_nr_rrc_supportedBandListEUTRA = -1;  /* SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA */
static int hf_nr_rrc_supportedBandListEUTRA_item = -1;  /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_eutra_ParametersCommon = -1;  /* EUTRA_ParametersCommon */
static int hf_nr_rrc_eutra_ParametersXDD_Diff = -1;  /* EUTRA_ParametersXDD_Diff */
static int hf_nr_rrc_mfbi_EUTRA = -1;             /* T_mfbi_EUTRA */
static int hf_nr_rrc_modifiedMPR_BehaviorEUTRA = -1;  /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_multiNS_Pmax_EUTRA = -1;     /* T_multiNS_Pmax_EUTRA */
static int hf_nr_rrc_rs_SINR_MeasEUTRA = -1;      /* T_rs_SINR_MeasEUTRA */
static int hf_nr_rrc_ne_DC = -1;                  /* T_ne_DC */
static int hf_nr_rrc_nr_HO_ToEN_DC_r16 = -1;      /* T_nr_HO_ToEN_DC_r16 */
static int hf_nr_rrc_rsrqMeasWidebandEUTRA = -1;  /* T_rsrqMeasWidebandEUTRA */
static int hf_nr_rrc_supportedBandListUTRA_FDD_r16 = -1;  /* SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16 */
static int hf_nr_rrc_supportedBandListUTRA_FDD_r16_item = -1;  /* SupportedBandUTRA_FDD_r16 */
static int hf_nr_rrc_mac_ParametersCommon = -1;   /* MAC_ParametersCommon */
static int hf_nr_rrc_mac_ParametersXDD_Diff = -1;  /* MAC_ParametersXDD_Diff */
static int hf_nr_rrc_mac_ParametersFRX_Diff_r16 = -1;  /* MAC_ParametersFRX_Diff_r16 */
static int hf_nr_rrc_mac_ParametersFR2_2_r17 = -1;  /* MAC_ParametersFR2_2_r17 */
static int hf_nr_rrc_lcp_Restriction = -1;        /* T_lcp_Restriction */
static int hf_nr_rrc_mAC_ParametersCommon_dummy = -1;  /* T_mAC_ParametersCommon_dummy */
static int hf_nr_rrc_lch_ToSCellRestriction = -1;  /* T_lch_ToSCellRestriction */
static int hf_nr_rrc_recommendedBitRate = -1;     /* T_recommendedBitRate */
static int hf_nr_rrc_recommendedBitRateQuery = -1;  /* T_recommendedBitRateQuery */
static int hf_nr_rrc_recommendedBitRateMultiplier_r16 = -1;  /* T_recommendedBitRateMultiplier_r16 */
static int hf_nr_rrc_preEmptiveBSR_r16 = -1;      /* T_preEmptiveBSR_r16 */
static int hf_nr_rrc_autonomousTransmission_r16 = -1;  /* T_autonomousTransmission_r16 */
static int hf_nr_rrc_lch_PriorityBasedPrioritization_r16 = -1;  /* T_lch_PriorityBasedPrioritization_r16 */
static int hf_nr_rrc_lch_ToConfiguredGrantMapping_r16 = -1;  /* T_lch_ToConfiguredGrantMapping_r16 */
static int hf_nr_rrc_lch_ToGrantPriorityRestriction_r16 = -1;  /* T_lch_ToGrantPriorityRestriction_r16 */
static int hf_nr_rrc_singlePHR_P_r16 = -1;        /* T_singlePHR_P_r16 */
static int hf_nr_rrc_ul_LBT_FailureDetectionRecovery_r16 = -1;  /* T_ul_LBT_FailureDetectionRecovery_r16 */
static int hf_nr_rrc_tdd_MPE_P_MPR_Reporting_r16 = -1;  /* T_tdd_MPE_P_MPR_Reporting_r16 */
static int hf_nr_rrc_lcid_ExtensionIAB_r16 = -1;  /* T_lcid_ExtensionIAB_r16 */
static int hf_nr_rrc_spCell_BFR_CBRA_r16_01 = -1;  /* T_spCell_BFR_CBRA_r16_01 */
static int hf_nr_rrc_srs_ResourceId_Ext_r16 = -1;  /* T_srs_ResourceId_Ext_r16 */
static int hf_nr_rrc_enhancedUuDRX_forSidelink_r17 = -1;  /* T_enhancedUuDRX_forSidelink_r17 */
static int hf_nr_rrc_mg_ActivationRequestPRS_Meas_r17 = -1;  /* T_mg_ActivationRequestPRS_Meas_r17 */
static int hf_nr_rrc_mg_ActivationCommPRS_Meas_r17 = -1;  /* T_mg_ActivationCommPRS_Meas_r17 */
static int hf_nr_rrc_intraCG_Prioritization_r17_01 = -1;  /* T_intraCG_Prioritization_r17_01 */
static int hf_nr_rrc_jointPrioritizationCG_Retx_Timer_r17 = -1;  /* T_jointPrioritizationCG_Retx_Timer_r17 */
static int hf_nr_rrc_survivalTime_r17 = -1;       /* T_survivalTime_r17 */
static int hf_nr_rrc_lcg_ExtensionIAB_r17 = -1;   /* T_lcg_ExtensionIAB_r17 */
static int hf_nr_rrc_harq_FeedbackDisabled_r17 = -1;  /* T_harq_FeedbackDisabled_r17 */
static int hf_nr_rrc_uplink_Harq_ModeB_r17 = -1;  /* T_uplink_Harq_ModeB_r17 */
static int hf_nr_rrc_sr_TriggeredBy_TA_Report_r17 = -1;  /* T_sr_TriggeredBy_TA_Report_r17 */
static int hf_nr_rrc_extendedDRX_CycleInactive_r17 = -1;  /* T_extendedDRX_CycleInactive_r17 */
static int hf_nr_rrc_simultaneousSR_PUSCH_DiffPUCCH_groups_r17 = -1;  /* T_simultaneousSR_PUSCH_DiffPUCCH_groups_r17 */
static int hf_nr_rrc_lastTransmissionUL_r17 = -1;  /* T_lastTransmissionUL_r17 */
static int hf_nr_rrc_directMCG_SCellActivation_r16 = -1;  /* T_directMCG_SCellActivation_r16 */
static int hf_nr_rrc_directMCG_SCellActivationResume_r16 = -1;  /* T_directMCG_SCellActivationResume_r16 */
static int hf_nr_rrc_directSCG_SCellActivation_r16 = -1;  /* T_directSCG_SCellActivation_r16 */
static int hf_nr_rrc_directSCG_SCellActivationResume_r16 = -1;  /* T_directSCG_SCellActivationResume_r16 */
static int hf_nr_rrc_drx_Adaptation_r16 = -1;     /* T_drx_Adaptation_r16 */
static int hf_nr_rrc_non_SharedSpectrumChAccess_r16 = -1;  /* MinTimeGap_r16 */
static int hf_nr_rrc_sharedSpectrumChAccess_r16 = -1;  /* MinTimeGap_r16 */
static int hf_nr_rrc_directMCG_SCellActivation_r17 = -1;  /* T_directMCG_SCellActivation_r17 */
static int hf_nr_rrc_directMCG_SCellActivationResume_r17 = -1;  /* T_directMCG_SCellActivationResume_r17 */
static int hf_nr_rrc_directSCG_SCellActivation_r17 = -1;  /* T_directSCG_SCellActivation_r17 */
static int hf_nr_rrc_directSCG_SCellActivationResume_r17 = -1;  /* T_directSCG_SCellActivationResume_r17 */
static int hf_nr_rrc_drx_Adaptation_r17 = -1;     /* T_drx_Adaptation_r17 */
static int hf_nr_rrc_non_SharedSpectrumChAccess_r17 = -1;  /* MinTimeGapFR2_2_r17 */
static int hf_nr_rrc_sharedSpectrumChAccess_r17 = -1;  /* MinTimeGapFR2_2_r17 */
static int hf_nr_rrc_skipUplinkTxDynamic = -1;    /* T_skipUplinkTxDynamic */
static int hf_nr_rrc_logicalChannelSR_DelayTimer_01 = -1;  /* T_logicalChannelSR_DelayTimer_01 */
static int hf_nr_rrc_longDRX_Cycle = -1;          /* T_longDRX_Cycle */
static int hf_nr_rrc_shortDRX_Cycle = -1;         /* T_shortDRX_Cycle */
static int hf_nr_rrc_multipleSR_Configurations = -1;  /* T_multipleSR_Configurations */
static int hf_nr_rrc_multipleConfiguredGrants = -1;  /* T_multipleConfiguredGrants */
static int hf_nr_rrc_secondaryDRX_Group_r16 = -1;  /* T_secondaryDRX_Group_r16 */
static int hf_nr_rrc_enhancedSkipUplinkTxDynamic_r16_01 = -1;  /* T_enhancedSkipUplinkTxDynamic_r16_01 */
static int hf_nr_rrc_enhancedSkipUplinkTxConfigured_r16_01 = -1;  /* T_enhancedSkipUplinkTxConfigured_r16_01 */
static int hf_nr_rrc_scs_15kHz_r16_01 = -1;       /* T_scs_15kHz_r16_01 */
static int hf_nr_rrc_minTimeGap_r16_scs_30kHz_r16 = -1;  /* T_minTimeGap_r16_scs_30kHz_r16 */
static int hf_nr_rrc_minTimeGap_r16_scs_60kHz_r16 = -1;  /* T_minTimeGap_r16_scs_60kHz_r16 */
static int hf_nr_rrc_minTimeGap_r16_scs_120kHz_r16 = -1;  /* T_minTimeGap_r16_scs_120kHz_r16 */
static int hf_nr_rrc_scs_120kHz_r17_06 = -1;      /* T_scs_120kHz_r17_04 */
static int hf_nr_rrc_scs_480kHz_r17_02 = -1;      /* T_scs_480kHz_r17_02 */
static int hf_nr_rrc_scs_960kHz_r17_02 = -1;      /* T_scs_960kHz_r17_02 */
static int hf_nr_rrc_measAndMobParametersCommon = -1;  /* MeasAndMobParametersCommon */
static int hf_nr_rrc_measAndMobParametersXDD_Diff = -1;  /* MeasAndMobParametersXDD_Diff */
static int hf_nr_rrc_measAndMobParametersFRX_Diff = -1;  /* MeasAndMobParametersFRX_Diff */
static int hf_nr_rrc_measAndMobParametersFR2_2_r17 = -1;  /* MeasAndMobParametersFR2_2_r17 */
static int hf_nr_rrc_supportedGapPattern = -1;    /* BIT_STRING_SIZE_22 */
static int hf_nr_rrc_ssb_RLM = -1;                /* T_ssb_RLM */
static int hf_nr_rrc_ssb_AndCSI_RS_RLM = -1;      /* T_ssb_AndCSI_RS_RLM */
static int hf_nr_rrc_eventB_MeasAndReport = -1;   /* T_eventB_MeasAndReport */
static int hf_nr_rrc_handoverFDD_TDD = -1;        /* T_handoverFDD_TDD */
static int hf_nr_rrc_eutra_CGI_Reporting = -1;    /* T_eutra_CGI_Reporting */
static int hf_nr_rrc_nr_CGI_Reporting = -1;       /* T_nr_CGI_Reporting */
static int hf_nr_rrc_independentGapConfig = -1;   /* T_independentGapConfig */
static int hf_nr_rrc_periodicEUTRA_MeasAndReport = -1;  /* T_periodicEUTRA_MeasAndReport */
static int hf_nr_rrc_handoverFR1_FR2 = -1;        /* T_handoverFR1_FR2 */
static int hf_nr_rrc_maxNumberCSI_RS_RRM_RS_SINR = -1;  /* T_maxNumberCSI_RS_RRM_RS_SINR */
static int hf_nr_rrc_nr_CGI_Reporting_ENDC = -1;  /* T_nr_CGI_Reporting_ENDC */
static int hf_nr_rrc_eutra_CGI_Reporting_NEDC = -1;  /* T_eutra_CGI_Reporting_NEDC */
static int hf_nr_rrc_eutra_CGI_Reporting_NRDC = -1;  /* T_eutra_CGI_Reporting_NRDC */
static int hf_nr_rrc_nr_CGI_Reporting_NEDC = -1;  /* T_nr_CGI_Reporting_NEDC */
static int hf_nr_rrc_nr_CGI_Reporting_NRDC = -1;  /* T_nr_CGI_Reporting_NRDC */
static int hf_nr_rrc_reportAddNeighMeasForPeriodic_r16 = -1;  /* T_reportAddNeighMeasForPeriodic_r16 */
static int hf_nr_rrc_condHandoverParametersCommon_r16 = -1;  /* T_condHandoverParametersCommon_r16 */
static int hf_nr_rrc_condHandoverFDD_TDD_r16 = -1;  /* T_condHandoverFDD_TDD_r16 */
static int hf_nr_rrc_condHandoverFR1_FR2_r16 = -1;  /* T_condHandoverFR1_FR2_r16 */
static int hf_nr_rrc_nr_NeedForGap_Reporting_r16 = -1;  /* T_nr_NeedForGap_Reporting_r16 */
static int hf_nr_rrc_supportedGapPattern_NRonly_r16 = -1;  /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_supportedGapPattern_NRonly_NEDC_r16 = -1;  /* T_supportedGapPattern_NRonly_NEDC_r16 */
static int hf_nr_rrc_maxNumberCLI_RSSI_r16 = -1;  /* T_maxNumberCLI_RSSI_r16 */
static int hf_nr_rrc_maxNumberCLI_SRS_RSRP_r16 = -1;  /* T_maxNumberCLI_SRS_RSRP_r16 */
static int hf_nr_rrc_maxNumberPerSlotCLI_SRS_RSRP_r16 = -1;  /* T_maxNumberPerSlotCLI_SRS_RSRP_r16 */
static int hf_nr_rrc_mfbi_IAB_r16 = -1;           /* T_mfbi_IAB_r16 */
static int hf_nr_rrc_measAndMobParametersCommon_eag_5_dummy = -1;  /* T_measAndMobParametersCommon_eag_5_dummy */
static int hf_nr_rrc_nr_CGI_Reporting_NPN_r16 = -1;  /* T_nr_CGI_Reporting_NPN_r16 */
static int hf_nr_rrc_idleInactiveEUTRA_MeasReport_r16 = -1;  /* T_idleInactiveEUTRA_MeasReport_r16 */
static int hf_nr_rrc_idleInactive_ValidityArea_r16 = -1;  /* T_idleInactive_ValidityArea_r16 */
static int hf_nr_rrc_eutra_AutonomousGaps_r16 = -1;  /* T_eutra_AutonomousGaps_r16 */
static int hf_nr_rrc_eutra_AutonomousGaps_NEDC_r16 = -1;  /* T_eutra_AutonomousGaps_NEDC_r16 */
static int hf_nr_rrc_eutra_AutonomousGaps_NRDC_r16 = -1;  /* T_eutra_AutonomousGaps_NRDC_r16 */
static int hf_nr_rrc_pcellT312_r16 = -1;          /* T_pcellT312_r16 */
static int hf_nr_rrc_supportedGapPattern_r16 = -1;  /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_concurrentMeasGap_r17 = -1;  /* T_concurrentMeasGap_r17 */
static int hf_nr_rrc_concurrentPerUE_OnlyMeasGap_r17 = -1;  /* T_concurrentPerUE_OnlyMeasGap_r17 */
static int hf_nr_rrc_concurrentPerUE_PerFRCombMeasGap_r17 = -1;  /* T_concurrentPerUE_PerFRCombMeasGap_r17 */
static int hf_nr_rrc_nr_NeedForGapNCSG_Reporting_r17 = -1;  /* T_nr_NeedForGapNCSG_Reporting_r17 */
static int hf_nr_rrc_eutra_NeedForGapNCSG_Reporting_r17 = -1;  /* T_eutra_NeedForGapNCSG_Reporting_r17 */
static int hf_nr_rrc_ncsg_MeasGapPerFR_r17 = -1;  /* T_ncsg_MeasGapPerFR_r17 */
static int hf_nr_rrc_ncsg_MeasGapPatterns_r17 = -1;  /* BIT_STRING_SIZE_24 */
static int hf_nr_rrc_ncsg_MeasGapNR_Patterns_r17 = -1;  /* BIT_STRING_SIZE_24 */
static int hf_nr_rrc_preconfiguredUE_AutonomousMeasGap_r17 = -1;  /* T_preconfiguredUE_AutonomousMeasGap_r17 */
static int hf_nr_rrc_preconfiguredNW_ControlledMeasGap_r17 = -1;  /* T_preconfiguredNW_ControlledMeasGap_r17 */
static int hf_nr_rrc_handoverFR1_FR2_2_r17 = -1;  /* T_handoverFR1_FR2_2_r17 */
static int hf_nr_rrc_handoverFR2_1_FR2_2_r17 = -1;  /* T_handoverFR2_1_FR2_2_r17 */
static int hf_nr_rrc_independentGapConfigPRS_r17 = -1;  /* T_independentGapConfigPRS_r17 */
static int hf_nr_rrc_rrm_RelaxationRRC_ConnectedRedCap_r17 = -1;  /* T_rrm_RelaxationRRC_ConnectedRedCap_r17 */
static int hf_nr_rrc_parallelMeasurementGap_r17 = -1;  /* T_parallelMeasurementGap_r17 */
static int hf_nr_rrc_condHandoverWithSCG_NRDC_r17 = -1;  /* T_condHandoverWithSCG_NRDC_r17 */
static int hf_nr_rrc_gNB_ID_LengthReporting_r17 = -1;  /* T_gNB_ID_LengthReporting_r17 */
static int hf_nr_rrc_gNB_ID_LengthReporting_ENDC_r17 = -1;  /* T_gNB_ID_LengthReporting_ENDC_r17 */
static int hf_nr_rrc_gNB_ID_LengthReporting_NEDC_r17 = -1;  /* T_gNB_ID_LengthReporting_NEDC_r17 */
static int hf_nr_rrc_gNB_ID_LengthReporting_NRDC_r17 = -1;  /* T_gNB_ID_LengthReporting_NRDC_r17 */
static int hf_nr_rrc_gNB_ID_LengthReporting_NPN_r17 = -1;  /* T_gNB_ID_LengthReporting_NPN_r17 */
static int hf_nr_rrc_parallelSMTC_r17 = -1;       /* T_parallelSMTC_r17 */
static int hf_nr_rrc_concurrentMeasGapEUTRA_r17 = -1;  /* T_concurrentMeasGapEUTRA_r17 */
static int hf_nr_rrc_serviceLinkPropDelayDiffReporting_r17 = -1;  /* T_serviceLinkPropDelayDiffReporting_r17 */
static int hf_nr_rrc_ncsg_SymbolLevelScheduleRestrictionInter_r17 = -1;  /* T_ncsg_SymbolLevelScheduleRestrictionInter_r17 */
static int hf_nr_rrc_eventD1_MeasReportTrigger_r17 = -1;  /* T_eventD1_MeasReportTrigger_r17 */
static int hf_nr_rrc_independentGapConfig_maxCC_r17 = -1;  /* T_independentGapConfig_maxCC_r17 */
static int hf_nr_rrc_fr1_Only_r17 = -1;           /* INTEGER_1_32 */
static int hf_nr_rrc_fr2_Only_r17 = -1;           /* INTEGER_1_32 */
static int hf_nr_rrc_fr1_AndFR2_r17 = -1;         /* INTEGER_1_32 */
static int hf_nr_rrc_interSatMeas_r17 = -1;       /* T_interSatMeas_r17 */
static int hf_nr_rrc_deriveSSB_IndexFromCellInterNon_NCSG_r17 = -1;  /* T_deriveSSB_IndexFromCellInterNon_NCSG_r17 */
static int hf_nr_rrc_intraAndInterF_MeasAndReport = -1;  /* T_intraAndInterF_MeasAndReport */
static int hf_nr_rrc_eventA_MeasAndReport = -1;   /* T_eventA_MeasAndReport */
static int hf_nr_rrc_handoverInterF = -1;         /* T_handoverInterF */
static int hf_nr_rrc_handoverLTE_EPC = -1;        /* T_handoverLTE_EPC */
static int hf_nr_rrc_handoverLTE_5GC = -1;        /* T_handoverLTE_5GC */
static int hf_nr_rrc_sftd_MeasNR_Neigh = -1;      /* T_sftd_MeasNR_Neigh */
static int hf_nr_rrc_sftd_MeasNR_Neigh_DRX = -1;  /* T_sftd_MeasNR_Neigh_DRX */
static int hf_nr_rrc_dummy_05 = -1;               /* T_dummy_03 */
static int hf_nr_rrc_ss_SINR_Meas = -1;           /* T_ss_SINR_Meas */
static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB = -1;  /* T_csi_RSRP_AndRSRQ_MeasWithSSB */
static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB = -1;  /* T_csi_RSRP_AndRSRQ_MeasWithoutSSB */
static int hf_nr_rrc_csi_SINR_Meas = -1;          /* T_csi_SINR_Meas */
static int hf_nr_rrc_csi_RS_RLM = -1;             /* T_csi_RS_RLM */
static int hf_nr_rrc_handoverInterF_01 = -1;      /* T_handoverInterF_01 */
static int hf_nr_rrc_handoverLTE_EPC_01 = -1;     /* T_handoverLTE_EPC_01 */
static int hf_nr_rrc_handoverLTE_5GC_01 = -1;     /* T_handoverLTE_5GC_01 */
static int hf_nr_rrc_maxNumberResource_CSI_RS_RLM = -1;  /* T_maxNumberResource_CSI_RS_RLM */
static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology = -1;  /* T_simultaneousRxDataSSB_DiffNumerology */
static int hf_nr_rrc_nr_AutonomousGaps_r16 = -1;  /* T_nr_AutonomousGaps_r16 */
static int hf_nr_rrc_nr_AutonomousGaps_ENDC_r16 = -1;  /* T_nr_AutonomousGaps_ENDC_r16 */
static int hf_nr_rrc_nr_AutonomousGaps_NEDC_r16 = -1;  /* T_nr_AutonomousGaps_NEDC_r16 */
static int hf_nr_rrc_nr_AutonomousGaps_NRDC_r16 = -1;  /* T_nr_AutonomousGaps_NRDC_r16 */
static int hf_nr_rrc_dummy_06 = -1;               /* T_dummy_04 */
static int hf_nr_rrc_cli_RSSI_Meas_r16 = -1;      /* T_cli_RSSI_Meas_r16 */
static int hf_nr_rrc_cli_SRS_RSRP_Meas_r16 = -1;  /* T_cli_SRS_RSRP_Meas_r16 */
static int hf_nr_rrc_interFrequencyMeas_NoGap_r16 = -1;  /* T_interFrequencyMeas_NoGap_r16 */
static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_Inter_r16 = -1;  /* T_simultaneousRxDataSSB_DiffNumerology_Inter_r16 */
static int hf_nr_rrc_idleInactiveNR_MeasReport_r16 = -1;  /* T_idleInactiveNR_MeasReport_r16 */
static int hf_nr_rrc_idleInactiveNR_MeasBeamReport_r16 = -1;  /* T_idleInactiveNR_MeasBeamReport_r16 */
static int hf_nr_rrc_increasedNumberofCSIRSPerMO_r16 = -1;  /* T_increasedNumberofCSIRSPerMO_r16 */
static int hf_nr_rrc_handoverInterF_r17 = -1;     /* T_handoverInterF_r17 */
static int hf_nr_rrc_handoverLTE_EPC_r17 = -1;    /* T_handoverLTE_EPC_r17 */
static int hf_nr_rrc_handoverLTE_5GC_r17 = -1;    /* T_handoverLTE_5GC_r17 */
static int hf_nr_rrc_idleInactiveNR_MeasReport_r17 = -1;  /* T_idleInactiveNR_MeasReport_r17 */
static int hf_nr_rrc_measAndMobParametersMRDC_Common = -1;  /* MeasAndMobParametersMRDC_Common */
static int hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff = -1;  /* MeasAndMobParametersMRDC_XDD_Diff */
static int hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff = -1;  /* MeasAndMobParametersMRDC_FRX_Diff */
static int hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560 = -1;  /* MeasAndMobParametersMRDC_XDD_Diff_v1560 */
static int hf_nr_rrc_measAndMobParametersMRDC_Common_v1610 = -1;  /* MeasAndMobParametersMRDC_Common_v1610 */
static int hf_nr_rrc_interNR_MeasEUTRA_IAB_r16 = -1;  /* T_interNR_MeasEUTRA_IAB_r16 */
static int hf_nr_rrc_measAndMobParametersMRDC_Common_v1700 = -1;  /* MeasAndMobParametersMRDC_Common_v1700 */
static int hf_nr_rrc_measAndMobParametersMRDC_Common_v1730 = -1;  /* MeasAndMobParametersMRDC_Common_v1730 */
static int hf_nr_rrc_independentGapConfig_01 = -1;  /* T_independentGapConfig_01 */
static int hf_nr_rrc_condPSCellChangeParametersCommon_r16 = -1;  /* T_condPSCellChangeParametersCommon_r16 */
static int hf_nr_rrc_condPSCellChangeFDD_TDD_r16 = -1;  /* T_condPSCellChangeFDD_TDD_r16 */
static int hf_nr_rrc_condPSCellChangeFR1_FR2_r16 = -1;  /* T_condPSCellChangeFR1_FR2_r16 */
static int hf_nr_rrc_pscellT312_r16 = -1;         /* T_pscellT312_r16 */
static int hf_nr_rrc_condPSCellChangeParameters_r17 = -1;  /* T_condPSCellChangeParameters_r17 */
static int hf_nr_rrc_inter_SN_condPSCellChangeFDD_TDD_NRDC_r17 = -1;  /* T_inter_SN_condPSCellChangeFDD_TDD_NRDC_r17 */
static int hf_nr_rrc_inter_SN_condPSCellChangeFR1_FR2_NRDC_r17 = -1;  /* T_inter_SN_condPSCellChangeFR1_FR2_NRDC_r17 */
static int hf_nr_rrc_inter_SN_condPSCellChangeFDD_TDD_ENDC_r17 = -1;  /* T_inter_SN_condPSCellChangeFDD_TDD_ENDC_r17 */
static int hf_nr_rrc_inter_SN_condPSCellChangeFR1_FR2_ENDC_r17 = -1;  /* T_inter_SN_condPSCellChangeFR1_FR2_ENDC_r17 */
static int hf_nr_rrc_mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17 = -1;  /* T_mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17 */
static int hf_nr_rrc_mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17 = -1;  /* T_mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17 */
static int hf_nr_rrc_mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17 = -1;  /* T_mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17 */
static int hf_nr_rrc_sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17 = -1;  /* T_sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17 */
static int hf_nr_rrc_sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17 = -1;  /* T_sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17 */
static int hf_nr_rrc_sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17 = -1;  /* T_sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17 */
static int hf_nr_rrc_condHandoverWithSCG_ENDC_r17 = -1;  /* T_condHandoverWithSCG_ENDC_r17 */
static int hf_nr_rrc_condHandoverWithSCG_NEDC_r17 = -1;  /* T_condHandoverWithSCG_NEDC_r17 */
static int hf_nr_rrc_independentGapConfig_maxCC_r17_01 = -1;  /* T_independentGapConfig_maxCC_r17_01 */
static int hf_nr_rrc_sftd_MeasPSCell = -1;        /* T_sftd_MeasPSCell */
static int hf_nr_rrc_sftd_MeasNR_Cell = -1;       /* T_sftd_MeasNR_Cell */
static int hf_nr_rrc_sftd_MeasPSCell_NEDC = -1;   /* T_sftd_MeasPSCell_NEDC */
static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_01 = -1;  /* T_simultaneousRxDataSSB_DiffNumerology_01 */
static int hf_nr_rrc_tci_StatePDSCH = -1;         /* T_tci_StatePDSCH */
static int hf_nr_rrc_maxNumberConfiguredTCI_StatesPerCC = -1;  /* T_maxNumberConfiguredTCI_StatesPerCC */
static int hf_nr_rrc_maxNumberActiveTCI_PerBWP = -1;  /* T_maxNumberActiveTCI_PerBWP */
static int hf_nr_rrc_additionalActiveTCI_StatePDCCH = -1;  /* T_additionalActiveTCI_StatePDCCH */
static int hf_nr_rrc_pusch_TransCoherence = -1;   /* T_pusch_TransCoherence */
static int hf_nr_rrc_beamCorrespondenceWithoutUL_BeamSweeping = -1;  /* T_beamCorrespondenceWithoutUL_BeamSweeping */
static int hf_nr_rrc_periodicBeamReport = -1;     /* T_periodicBeamReport */
static int hf_nr_rrc_aperiodicBeamReport = -1;    /* T_aperiodicBeamReport */
static int hf_nr_rrc_sp_BeamReportPUCCH = -1;     /* T_sp_BeamReportPUCCH */
static int hf_nr_rrc_sp_BeamReportPUSCH = -1;     /* T_sp_BeamReportPUSCH */
static int hf_nr_rrc_mIMO_ParametersPerBand_dummy1 = -1;  /* DummyG */
static int hf_nr_rrc_maxNumberRxBeam = -1;        /* INTEGER_2_8 */
static int hf_nr_rrc_maxNumberRxTxBeamSwitchDL = -1;  /* T_maxNumberRxTxBeamSwitchDL */
static int hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz = -1;  /* T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz */
static int hf_nr_rrc_scs_30kHz_04 = -1;           /* T_scs_30kHz_03 */
static int hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz = -1;  /* T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz */
static int hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz = -1;  /* T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz */
static int hf_nr_rrc_scs_240kHz = -1;             /* T_scs_240kHz */
static int hf_nr_rrc_maxNumberNonGroupBeamReporting = -1;  /* T_maxNumberNonGroupBeamReporting */
static int hf_nr_rrc_groupBeamReporting = -1;     /* T_groupBeamReporting */
static int hf_nr_rrc_uplinkBeamManagement = -1;   /* T_uplinkBeamManagement */
static int hf_nr_rrc_maxNumberSRS_ResourcePerSet_BM = -1;  /* T_maxNumberSRS_ResourcePerSet_BM */
static int hf_nr_rrc_maxNumberSRS_ResourceSet = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_maxNumberCSI_RS_BFD = -1;    /* INTEGER_1_64 */
static int hf_nr_rrc_maxNumberSSB_BFD = -1;       /* INTEGER_1_64 */
static int hf_nr_rrc_maxNumberCSI_RS_SSB_CBD = -1;  /* INTEGER_1_256 */
static int hf_nr_rrc_mIMO_ParametersPerBand_dummy2 = -1;  /* T_mIMO_ParametersPerBand_dummy2 */
static int hf_nr_rrc_twoPortsPTRS_UL = -1;        /* T_twoPortsPTRS_UL */
static int hf_nr_rrc_mIMO_ParametersPerBand_dummy5 = -1;  /* SRS_Resources */
static int hf_nr_rrc_mIMO_ParametersPerBand_dummy3 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_beamReportTiming = -1;       /* T_beamReportTiming */
static int hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz = -1;  /* T_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz */
static int hf_nr_rrc_scs_30kHz_05 = -1;           /* T_scs_30kHz_04 */
static int hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz = -1;  /* T_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz */
static int hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz = -1;  /* T_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz */
static int hf_nr_rrc_ptrs_DensityRecommendationSetDL = -1;  /* T_ptrs_DensityRecommendationSetDL */
static int hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_15kHz = -1;  /* PTRS_DensityRecommendationDL */
static int hf_nr_rrc_scs_30kHz_06 = -1;           /* PTRS_DensityRecommendationDL */
static int hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_60kHz = -1;  /* PTRS_DensityRecommendationDL */
static int hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_120kHz = -1;  /* PTRS_DensityRecommendationDL */
static int hf_nr_rrc_ptrs_DensityRecommendationSetUL = -1;  /* T_ptrs_DensityRecommendationSetUL */
static int hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_15kHz = -1;  /* PTRS_DensityRecommendationUL */
static int hf_nr_rrc_scs_30kHz_07 = -1;           /* PTRS_DensityRecommendationUL */
static int hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_60kHz = -1;  /* PTRS_DensityRecommendationUL */
static int hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_120kHz = -1;  /* PTRS_DensityRecommendationUL */
static int hf_nr_rrc_mIMO_ParametersPerBand_dummy4 = -1;  /* DummyH */
static int hf_nr_rrc_aperiodicTRS = -1;           /* T_aperiodicTRS */
static int hf_nr_rrc_mIMO_ParametersPerBand_eag_1_dummy6 = -1;  /* T_mIMO_ParametersPerBand_eag_1_dummy6 */
static int hf_nr_rrc_beamManagementSSB_CSI_RS = -1;  /* BeamManagementSSB_CSI_RS */
static int hf_nr_rrc_beamSwitchTiming = -1;       /* T_beamSwitchTiming */
static int hf_nr_rrc_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz = -1;  /* T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz */
static int hf_nr_rrc_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz = -1;  /* T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz */
static int hf_nr_rrc_codebookParameters = -1;     /* CodebookParameters */
static int hf_nr_rrc_csi_RS_IM_ReceptionForFeedback = -1;  /* CSI_RS_IM_ReceptionForFeedback */
static int hf_nr_rrc_csi_RS_ProcFrameworkForSRS = -1;  /* CSI_RS_ProcFrameworkForSRS */
static int hf_nr_rrc_csi_ReportFramework = -1;    /* CSI_ReportFramework */
static int hf_nr_rrc_csi_RS_ForTracking = -1;     /* CSI_RS_ForTracking */
static int hf_nr_rrc_srs_AssocCSI_RS = -1;        /* SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource */
static int hf_nr_rrc_srs_AssocCSI_RS_item = -1;   /* SupportedCSI_RS_Resource */
static int hf_nr_rrc_spatialRelations = -1;       /* SpatialRelations */
static int hf_nr_rrc_defaultQCL_TwoTCI_r16 = -1;  /* T_defaultQCL_TwoTCI_r16 */
static int hf_nr_rrc_codebookParametersPerBand_r16 = -1;  /* CodebookParameters_v1610 */
static int hf_nr_rrc_simul_SpatialRelationUpdatePUCCHResGroup_r16 = -1;  /* T_simul_SpatialRelationUpdatePUCCHResGroup_r16 */
static int hf_nr_rrc_maxNumberSCellBFR_r16 = -1;  /* T_maxNumberSCellBFR_r16 */
static int hf_nr_rrc_simultaneousReceptionDiffTypeD_r16 = -1;  /* T_simultaneousReceptionDiffTypeD_r16 */
static int hf_nr_rrc_ssb_csirs_SINR_measurement_r16 = -1;  /* T_ssb_csirs_SINR_measurement_r16 */
static int hf_nr_rrc_maxNumberSSB_CSIRS_OneTx_CMR_r16 = -1;  /* T_maxNumberSSB_CSIRS_OneTx_CMR_r16 */
static int hf_nr_rrc_maxNumberCSI_IM_NZP_IMR_res_r16 = -1;  /* T_maxNumberCSI_IM_NZP_IMR_res_r16 */
static int hf_nr_rrc_maxNumberCSIRS_2Tx_res_r16 = -1;  /* T_maxNumberCSIRS_2Tx_res_r16 */
static int hf_nr_rrc_maxNumberSSB_CSIRS_res_r16 = -1;  /* T_maxNumberSSB_CSIRS_res_r16 */
static int hf_nr_rrc_maxNumberCSI_IM_NZP_IMR_res_mem_r16 = -1;  /* T_maxNumberCSI_IM_NZP_IMR_res_mem_r16 */
static int hf_nr_rrc_supportedCSI_RS_Density_CMR_r16 = -1;  /* T_supportedCSI_RS_Density_CMR_r16 */
static int hf_nr_rrc_maxNumberAperiodicCSI_RS_Res_r16 = -1;  /* T_maxNumberAperiodicCSI_RS_Res_r16 */
static int hf_nr_rrc_supportedSINR_meas_r16 = -1;  /* T_supportedSINR_meas_r16 */
static int hf_nr_rrc_nonGroupSINR_reporting_r16 = -1;  /* T_nonGroupSINR_reporting_r16 */
static int hf_nr_rrc_groupSINR_reporting_r16 = -1;  /* T_groupSINR_reporting_r16 */
static int hf_nr_rrc_multiDCI_multiTRP_Parameters_r16 = -1;  /* T_multiDCI_multiTRP_Parameters_r16 */
static int hf_nr_rrc_overlapPDSCHsFullyFreqTime_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_overlapPDSCHsInTimePartiallyFreq_r16 = -1;  /* T_overlapPDSCHsInTimePartiallyFreq_r16 */
static int hf_nr_rrc_outOfOrderOperationDL_r16 = -1;  /* T_outOfOrderOperationDL_r16 */
static int hf_nr_rrc_supportPDCCH_ToPDSCH_r16 = -1;  /* T_supportPDCCH_ToPDSCH_r16 */
static int hf_nr_rrc_supportPDSCH_ToHARQ_ACK_r16 = -1;  /* T_supportPDSCH_ToHARQ_ACK_r16 */
static int hf_nr_rrc_outOfOrderOperationUL_r16 = -1;  /* T_outOfOrderOperationUL_r16 */
static int hf_nr_rrc_separateCRS_RateMatching_r16 = -1;  /* T_separateCRS_RateMatching_r16 */
static int hf_nr_rrc_defaultQCL_PerCORESETPoolIndex_r16 = -1;  /* T_defaultQCL_PerCORESETPoolIndex_r16 */
static int hf_nr_rrc_maxNumberActivatedTCI_States_r16 = -1;  /* T_maxNumberActivatedTCI_States_r16 */
static int hf_nr_rrc_maxNumberPerCORESET_Pool_r16 = -1;  /* T_maxNumberPerCORESET_Pool_r16 */
static int hf_nr_rrc_maxTotalNumberAcrossCORESET_Pool_r16 = -1;  /* T_maxTotalNumberAcrossCORESET_Pool_r16 */
static int hf_nr_rrc_singleDCI_SDM_scheme_Parameters_r16 = -1;  /* T_singleDCI_SDM_scheme_Parameters_r16 */
static int hf_nr_rrc_supportNewDMRS_Port_r16 = -1;  /* T_supportNewDMRS_Port_r16 */
static int hf_nr_rrc_supportTwoPortDL_PTRS_r16 = -1;  /* T_supportTwoPortDL_PTRS_r16 */
static int hf_nr_rrc_supportFDM_SchemeA_r16 = -1;  /* T_supportFDM_SchemeA_r16 */
static int hf_nr_rrc_supportCodeWordSoftCombining_r16 = -1;  /* T_supportCodeWordSoftCombining_r16 */
static int hf_nr_rrc_supportTDM_SchemeA_r16 = -1;  /* T_supportTDM_SchemeA_r16 */
static int hf_nr_rrc_supportInter_slotTDM_r16 = -1;  /* T_supportInter_slotTDM_r16 */
static int hf_nr_rrc_supportRepNumPDSCH_TDRA_r16 = -1;  /* T_supportRepNumPDSCH_TDRA_r16 */
static int hf_nr_rrc_maxTBS_Size_r16 = -1;        /* T_maxTBS_Size_r16 */
static int hf_nr_rrc_maxNumberTCI_states_r16 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_lowPAPR_DMRS_PDSCH_r16 = -1;  /* T_lowPAPR_DMRS_PDSCH_r16 */
static int hf_nr_rrc_lowPAPR_DMRS_PUSCHwithoutPrecoding_r16 = -1;  /* T_lowPAPR_DMRS_PUSCHwithoutPrecoding_r16 */
static int hf_nr_rrc_lowPAPR_DMRS_PUCCH_r16 = -1;  /* T_lowPAPR_DMRS_PUCCH_r16 */
static int hf_nr_rrc_lowPAPR_DMRS_PUSCHwithPrecoding_r16 = -1;  /* T_lowPAPR_DMRS_PUSCHwithPrecoding_r16 */
static int hf_nr_rrc_csi_ReportFrameworkExt_r16 = -1;  /* CSI_ReportFrameworkExt_r16 */
static int hf_nr_rrc_codebookParametersAddition_r16 = -1;  /* CodebookParametersAddition_r16 */
static int hf_nr_rrc_codebookComboParametersAddition_r16 = -1;  /* CodebookComboParametersAddition_r16 */
static int hf_nr_rrc_beamCorrespondenceSSB_based_r16 = -1;  /* T_beamCorrespondenceSSB_based_r16 */
static int hf_nr_rrc_beamCorrespondenceCSI_RS_based_r16 = -1;  /* T_beamCorrespondenceCSI_RS_based_r16 */
static int hf_nr_rrc_beamSwitchTiming_r16 = -1;   /* T_beamSwitchTiming_r16 */
static int hf_nr_rrc_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16 = -1;  /* T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16 */
static int hf_nr_rrc_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16 = -1;  /* T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16 */
static int hf_nr_rrc_semi_PersistentL1_SINR_Report_PUCCH_r16 = -1;  /* T_semi_PersistentL1_SINR_Report_PUCCH_r16 */
static int hf_nr_rrc_supportReportFormat1_2OFDM_syms_r16 = -1;  /* T_supportReportFormat1_2OFDM_syms_r16 */
static int hf_nr_rrc_supportReportFormat4_14OFDM_syms_r16 = -1;  /* T_supportReportFormat4_14OFDM_syms_r16 */
static int hf_nr_rrc_semi_PersistentL1_SINR_Report_PUSCH_r16 = -1;  /* T_semi_PersistentL1_SINR_Report_PUSCH_r16 */
static int hf_nr_rrc_spatialRelations_v1640 = -1;  /* T_spatialRelations_v1640 */
static int hf_nr_rrc_maxNumberConfiguredSpatialRelations_v1640 = -1;  /* T_maxNumberConfiguredSpatialRelations_v1640 */
static int hf_nr_rrc_support64CandidateBeamRS_BFR_r16 = -1;  /* T_support64CandidateBeamRS_BFR_r16 */
static int hf_nr_rrc_maxMIMO_LayersForMulti_DCI_mTRP_r16 = -1;  /* T_maxMIMO_LayersForMulti_DCI_mTRP_r16 */
static int hf_nr_rrc_supportedSINR_meas_v1670 = -1;  /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_srs_increasedRepetition_r17 = -1;  /* T_srs_increasedRepetition_r17 */
static int hf_nr_rrc_srs_partialFrequencySounding_r17 = -1;  /* T_srs_partialFrequencySounding_r17 */
static int hf_nr_rrc_srs_startRB_locationHoppingPartial_r17 = -1;  /* T_srs_startRB_locationHoppingPartial_r17 */
static int hf_nr_rrc_srs_combEight_r17 = -1;      /* T_srs_combEight_r17 */
static int hf_nr_rrc_codebookParametersfetype2_r17 = -1;  /* CodebookParametersfetype2_r17 */
static int hf_nr_rrc_mTRP_PUSCH_twoCSI_RS_r17 = -1;  /* T_mTRP_PUSCH_twoCSI_RS_r17 */
static int hf_nr_rrc_mTRP_PUCCH_InterSlot_r17 = -1;  /* T_mTRP_PUCCH_InterSlot_r17 */
static int hf_nr_rrc_mTRP_PUCCH_CyclicMapping_r17 = -1;  /* T_mTRP_PUCCH_CyclicMapping_r17 */
static int hf_nr_rrc_mTRP_PUCCH_SecondTPC_r17 = -1;  /* T_mTRP_PUCCH_SecondTPC_r17 */
static int hf_nr_rrc_mTRP_BFR_twoBFD_RS_Set_r17 = -1;  /* T_mTRP_BFR_twoBFD_RS_Set_r17 */
static int hf_nr_rrc_maxBFD_RS_resourcesPerSetPerBWP_r17 = -1;  /* T_maxBFD_RS_resourcesPerSetPerBWP_r17 */
static int hf_nr_rrc_maxBFR_r17 = -1;             /* INTEGER_1_9 */
static int hf_nr_rrc_maxBFD_RS_resourcesAcrossSetsPerBWP_r17 = -1;  /* T_maxBFD_RS_resourcesAcrossSetsPerBWP_r17 */
static int hf_nr_rrc_mTRP_BFR_PUCCH_SR_perCG_r17 = -1;  /* T_mTRP_BFR_PUCCH_SR_perCG_r17 */
static int hf_nr_rrc_mTRP_BFR_association_PUCCH_SR_r17 = -1;  /* T_mTRP_BFR_association_PUCCH_SR_r17 */
static int hf_nr_rrc_sfn_SimulTwoTCI_AcrossMultiCC_r17 = -1;  /* T_sfn_SimulTwoTCI_AcrossMultiCC_r17 */
static int hf_nr_rrc_sfn_DefaultDL_BeamSetup_r17 = -1;  /* T_sfn_DefaultDL_BeamSetup_r17 */
static int hf_nr_rrc_sfn_DefaultUL_BeamSetup_r17 = -1;  /* T_sfn_DefaultUL_BeamSetup_r17 */
static int hf_nr_rrc_srs_TriggeringOffset_r17 = -1;  /* T_srs_TriggeringOffset_r17 */
static int hf_nr_rrc_srs_TriggeringDCI_r17 = -1;  /* T_srs_TriggeringDCI_r17 */
static int hf_nr_rrc_codebookComboParameterMixedType_r17 = -1;  /* CodebookComboParameterMixedType_r17 */
static int hf_nr_rrc_unifiedJointTCI_r17 = -1;    /* T_unifiedJointTCI_r17 */
static int hf_nr_rrc_maxConfiguredJointTCI_r17 = -1;  /* T_maxConfiguredJointTCI_r17 */
static int hf_nr_rrc_maxActivatedTCIAcrossCC_r17 = -1;  /* T_maxActivatedTCIAcrossCC_r17 */
static int hf_nr_rrc_unifiedJointTCI_multiMAC_CE_r17 = -1;  /* T_unifiedJointTCI_multiMAC_CE_r17 */
static int hf_nr_rrc_minBeamApplicationTime_r17 = -1;  /* T_minBeamApplicationTime_r17 */
static int hf_nr_rrc_maxNumMAC_CE_PerCC = -1;     /* T_maxNumMAC_CE_PerCC */
static int hf_nr_rrc_unifiedJointTCI_perBWP_CA_r17 = -1;  /* T_unifiedJointTCI_perBWP_CA_r17 */
static int hf_nr_rrc_unifiedJointTCI_ListSharingCA_r17 = -1;  /* T_unifiedJointTCI_ListSharingCA_r17 */
static int hf_nr_rrc_unifiedJointTCI_commonMultiCC_r17 = -1;  /* T_unifiedJointTCI_commonMultiCC_r17 */
static int hf_nr_rrc_unifiedJointTCI_BeamAlignDLRS_r17 = -1;  /* T_unifiedJointTCI_BeamAlignDLRS_r17 */
static int hf_nr_rrc_unifiedJointTCI_PC_association_r17 = -1;  /* T_unifiedJointTCI_PC_association_r17 */
static int hf_nr_rrc_unifiedJointTCI_Legacy_r17 = -1;  /* T_unifiedJointTCI_Legacy_r17 */
static int hf_nr_rrc_unifiedJointTCI_Legacy_SRS_r17 = -1;  /* T_unifiedJointTCI_Legacy_SRS_r17 */
static int hf_nr_rrc_unifiedJointTCI_Legacy_CORESET0_r17 = -1;  /* T_unifiedJointTCI_Legacy_CORESET0_r17 */
static int hf_nr_rrc_unifiedJointTCI_SCellBFR_r17 = -1;  /* T_unifiedJointTCI_SCellBFR_r17 */
static int hf_nr_rrc_unifiedJointTCI_InterCell_r17 = -1;  /* T_unifiedJointTCI_InterCell_r17 */
static int hf_nr_rrc_additionalMAC_CE_PerCC_r17 = -1;  /* T_additionalMAC_CE_PerCC_r17 */
static int hf_nr_rrc_additionalMAC_CE_AcrossCC_r17 = -1;  /* T_additionalMAC_CE_AcrossCC_r17 */
static int hf_nr_rrc_unifiedSeparateTCI_r17 = -1;  /* T_unifiedSeparateTCI_r17 */
static int hf_nr_rrc_maxConfiguredDL_TCI_r17 = -1;  /* T_maxConfiguredDL_TCI_r17 */
static int hf_nr_rrc_maxConfiguredUL_TCI_r17 = -1;  /* T_maxConfiguredUL_TCI_r17 */
static int hf_nr_rrc_maxActivatedDL_TCIAcrossCC_r17 = -1;  /* T_maxActivatedDL_TCIAcrossCC_r17 */
static int hf_nr_rrc_maxActivatedUL_TCIAcrossCC_r17 = -1;  /* T_maxActivatedUL_TCIAcrossCC_r17 */
static int hf_nr_rrc_unifiedSeparateTCI_multiMAC_CE_r17 = -1;  /* T_unifiedSeparateTCI_multiMAC_CE_r17 */
static int hf_nr_rrc_minBeamApplicationTime_r17_01 = -1;  /* T_minBeamApplicationTime_r17_01 */
static int hf_nr_rrc_maxActivatedDL_TCIPerCC_r17 = -1;  /* INTEGER_2_8 */
static int hf_nr_rrc_maxActivatedUL_TCIPerCC_r17 = -1;  /* INTEGER_2_8 */
static int hf_nr_rrc_unifiedSeparateTCI_perBWP_CA_r17 = -1;  /* T_unifiedSeparateTCI_perBWP_CA_r17 */
static int hf_nr_rrc_unifiedSeparateTCI_ListSharingCA_r17 = -1;  /* T_unifiedSeparateTCI_ListSharingCA_r17 */
static int hf_nr_rrc_maxNumListDL_TCI_r17 = -1;   /* T_maxNumListDL_TCI_r17 */
static int hf_nr_rrc_maxNumListUL_TCI_r17 = -1;   /* T_maxNumListUL_TCI_r17 */
static int hf_nr_rrc_unifiedSeparateTCI_commonMultiCC_r17 = -1;  /* T_unifiedSeparateTCI_commonMultiCC_r17 */
static int hf_nr_rrc_unifiedSeparateTCI_InterCell_r17 = -1;  /* T_unifiedSeparateTCI_InterCell_r17 */
static int hf_nr_rrc_k_DL_PerCC_r17 = -1;         /* T_k_DL_PerCC_r17 */
static int hf_nr_rrc_k_UL_PerCC_r17 = -1;         /* T_k_UL_PerCC_r17 */
static int hf_nr_rrc_k_DL_AcrossCC_r17 = -1;      /* T_k_DL_AcrossCC_r17 */
static int hf_nr_rrc_k_UL_AcrossCC_r17 = -1;      /* T_k_UL_AcrossCC_r17 */
static int hf_nr_rrc_unifiedJointTCI_mTRP_InterCell_BM_r17 = -1;  /* T_unifiedJointTCI_mTRP_InterCell_BM_r17 */
static int hf_nr_rrc_maxNumAdditionalPCI_L1_RSRP_r17 = -1;  /* INTEGER_1_7 */
static int hf_nr_rrc_maxNumSSB_ResourceL1_RSRP_AcrossCC_r17 = -1;  /* T_maxNumSSB_ResourceL1_RSRP_AcrossCC_r17 */
static int hf_nr_rrc_mpe_Mitigation_r17 = -1;     /* T_mpe_Mitigation_r17 */
static int hf_nr_rrc_maxNumP_MPR_RI_pairs_r17 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumConfRS_r17 = -1;       /* T_maxNumConfRS_r17 */
static int hf_nr_rrc_srs_PortReport_r17 = -1;     /* T_srs_PortReport_r17 */
static int hf_nr_rrc_capVal1_r17 = -1;            /* T_capVal1_r17 */
static int hf_nr_rrc_capVal2_r17 = -1;            /* T_capVal2_r17 */
static int hf_nr_rrc_capVal3_r17 = -1;            /* T_capVal3_r17 */
static int hf_nr_rrc_capVal4_r17 = -1;            /* T_capVal4_r17 */
static int hf_nr_rrc_mTRP_PDCCH_individual_r17 = -1;  /* T_mTRP_PDCCH_individual_r17 */
static int hf_nr_rrc_mTRP_PDCCH_anySpan_3Symbols_r17 = -1;  /* T_mTRP_PDCCH_anySpan_3Symbols_r17 */
static int hf_nr_rrc_mTRP_PDCCH_TwoQCL_TypeD_r17 = -1;  /* T_mTRP_PDCCH_TwoQCL_TypeD_r17 */
static int hf_nr_rrc_mTRP_PUSCH_CSI_RS_r17 = -1;  /* T_mTRP_PUSCH_CSI_RS_r17 */
static int hf_nr_rrc_maxNumPeriodicSRS_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_maxNumAperiodicSRS_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_maxNumSP_SRS_r17 = -1;       /* INTEGER_0_8 */
static int hf_nr_rrc_numSRS_ResourcePerCC_r17 = -1;  /* INTEGER_1_16 */
static int hf_nr_rrc_numSRS_ResourceNonCodebook_r17 = -1;  /* INTEGER_1_2 */
static int hf_nr_rrc_mTRP_PUSCH_cyclicMapping_r17 = -1;  /* T_mTRP_PUSCH_cyclicMapping_r17 */
static int hf_nr_rrc_mTRP_PUSCH_secondTPC_r17 = -1;  /* T_mTRP_PUSCH_secondTPC_r17 */
static int hf_nr_rrc_mTRP_PUSCH_twoPHR_Reporting_r17 = -1;  /* T_mTRP_PUSCH_twoPHR_Reporting_r17 */
static int hf_nr_rrc_mTRP_PUSCH_A_CSI_r17 = -1;   /* T_mTRP_PUSCH_A_CSI_r17 */
static int hf_nr_rrc_mTRP_PUSCH_SP_CSI_r17 = -1;  /* T_mTRP_PUSCH_SP_CSI_r17 */
static int hf_nr_rrc_mTRP_PUSCH_CG_r17 = -1;      /* T_mTRP_PUSCH_CG_r17 */
static int hf_nr_rrc_mTRP_PUCCH_MAC_CE_r17 = -1;  /* T_mTRP_PUCCH_MAC_CE_r17 */
static int hf_nr_rrc_mTRP_PUCCH_maxNum_PC_FR1_r17 = -1;  /* INTEGER_3_8 */
static int hf_nr_rrc_mTRP_inter_Cell_r17 = -1;    /* T_mTRP_inter_Cell_r17 */
static int hf_nr_rrc_maxNumAdditionalPCI_Case1_r17 = -1;  /* INTEGER_1_7 */
static int hf_nr_rrc_maxNumAdditionalPCI_Case2_r17 = -1;  /* INTEGER_0_7 */
static int hf_nr_rrc_mTRP_GroupBasedL1_RSRP_r17 = -1;  /* T_mTRP_GroupBasedL1_RSRP_r17 */
static int hf_nr_rrc_maxNumBeamGroups_r17 = -1;   /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumRS_WithinSlot_r17 = -1;  /* T_maxNumRS_WithinSlot_r17 */
static int hf_nr_rrc_maxNumRS_AcrossSlot_r17 = -1;  /* T_maxNumRS_AcrossSlot_r17 */
static int hf_nr_rrc_mTRP_BFD_RS_MAC_CE_r17 = -1;  /* T_mTRP_BFD_RS_MAC_CE_r17 */
static int hf_nr_rrc_mTRP_CSI_EnhancementPerBand_r17 = -1;  /* T_mTRP_CSI_EnhancementPerBand_r17 */
static int hf_nr_rrc_cSI_Report_mode_r17_01 = -1;  /* T_cSI_Report_mode_r17_01 */
static int hf_nr_rrc_codebookModeNCJT_r17 = -1;   /* T_codebookModeNCJT_r17 */
static int hf_nr_rrc_codebookComboParameterMultiTRP_r17 = -1;  /* CodebookComboParameterMultiTRP_r17 */
static int hf_nr_rrc_mTRP_CSI_additionalCSI_r17 = -1;  /* T_mTRP_CSI_additionalCSI_r17 */
static int hf_nr_rrc_mTRP_CSI_N_Max2_r17 = -1;    /* T_mTRP_CSI_N_Max2_r17 */
static int hf_nr_rrc_mTRP_CSI_CMR_r17 = -1;       /* T_mTRP_CSI_CMR_r17 */
static int hf_nr_rrc_srs_partialFreqSounding_r17 = -1;  /* T_srs_partialFreqSounding_r17 */
static int hf_nr_rrc_beamSwitchTiming_v1710 = -1;  /* T_beamSwitchTiming_v1710 */
static int hf_nr_rrc_scs_480kHz_01 = -1;          /* T_scs_480kHz_01 */
static int hf_nr_rrc_scs_960kHz_01 = -1;          /* T_scs_960kHz_01 */
static int hf_nr_rrc_beamSwitchTiming_r17 = -1;   /* T_beamSwitchTiming_r17 */
static int hf_nr_rrc_scs_480kHz_r17_03 = -1;      /* T_scs_480kHz_r17_03 */
static int hf_nr_rrc_scs_960kHz_r17_03 = -1;      /* T_scs_960kHz_r17_03 */
static int hf_nr_rrc_beamReportTiming_v1710 = -1;  /* T_beamReportTiming_v1710 */
static int hf_nr_rrc_scs_480kHz_r17_04 = -1;      /* T_scs_480kHz_r17_04 */
static int hf_nr_rrc_scs_960kHz_r17_04 = -1;      /* T_scs_960kHz_r17_04 */
static int hf_nr_rrc_maxNumberRxTxBeamSwitchDL_v1710 = -1;  /* T_maxNumberRxTxBeamSwitchDL_v1710 */
static int hf_nr_rrc_scs_480kHz_r17_05 = -1;      /* T_scs_480kHz_r17_05 */
static int hf_nr_rrc_scs_960kHz_r17_05 = -1;      /* T_scs_960kHz_r17_05 */
static int hf_nr_rrc_srs_PortReportSP_AP_r17 = -1;  /* T_srs_PortReportSP_AP_r17 */
static int hf_nr_rrc_maxNumberRxBeam_v1720 = -1;  /* INTEGER_9_12 */
static int hf_nr_rrc_sfn_ImplicitRS_twoTCI_r17 = -1;  /* T_sfn_ImplicitRS_twoTCI_r17 */
static int hf_nr_rrc_sfn_QCL_TypeD_Collision_twoTCI_r17 = -1;  /* T_sfn_QCL_TypeD_Collision_twoTCI_r17 */
static int hf_nr_rrc_mTRP_CSI_numCPU_r17 = -1;    /* T_mTRP_CSI_numCPU_r17 */
static int hf_nr_rrc_supportRepNumPDSCH_TDRA_DCI_1_2_r17 = -1;  /* T_supportRepNumPDSCH_TDRA_DCI_1_2_r17 */
static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx = -1;  /* T_maxNumberSSB_CSI_RS_ResourceOneTx */
static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx = -1;  /* T_maxNumberSSB_CSI_RS_ResourceTwoTx */
static int hf_nr_rrc_supportedCSI_RS_Density = -1;  /* T_supportedCSI_RS_Density */
static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx_01 = -1;  /* T_maxNumberSSB_CSI_RS_ResourceOneTx_01 */
static int hf_nr_rrc_maxNumberCSI_RS_Resource = -1;  /* T_maxNumberCSI_RS_Resource */
static int hf_nr_rrc_maxNumberCSI_RS_ResourceTwoTx = -1;  /* T_maxNumberCSI_RS_ResourceTwoTx */
static int hf_nr_rrc_supportedCSI_RS_Density_01 = -1;  /* T_supportedCSI_RS_Density_01 */
static int hf_nr_rrc_maxNumberAperiodicCSI_RS_Resource = -1;  /* T_maxNumberAperiodicCSI_RS_Resource */
static int hf_nr_rrc_burstLength = -1;            /* INTEGER_1_2 */
static int hf_nr_rrc_maxSimultaneousResourceSetsPerCC = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_maxConfiguredResourceSetsPerCC = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_maxConfiguredResourceSetsAllCC = -1;  /* INTEGER_1_128 */
static int hf_nr_rrc_maxBurstLength = -1;         /* INTEGER_1_2 */
static int hf_nr_rrc_maxConfiguredResourceSetsAllCC_01 = -1;  /* INTEGER_1_256 */
static int hf_nr_rrc_maxConfigNumberNZP_CSI_RS_PerCC = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_maxConfigNumberPortsAcrossNZP_CSI_RS_PerCC = -1;  /* INTEGER_2_256 */
static int hf_nr_rrc_maxConfigNumberCSI_IM_PerCC = -1;  /* T_maxConfigNumberCSI_IM_PerCC */
static int hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_PerCC = -1;  /* INTEGER_1_64 */
static int hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_PerCC = -1;  /* INTEGER_2_256 */
static int hf_nr_rrc_maxNumberPeriodicSRS_AssocCSI_RS_PerBWP = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberAperiodicSRS_AssocCSI_RS_PerBWP = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberSP_SRS_AssocCSI_RS_PerBWP = -1;  /* INTEGER_0_4 */
static int hf_nr_rrc_simultaneousSRS_AssocCSI_RS_PerCC = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForCSI_Report = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_Report = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForCSI_Report = -1;  /* INTEGER_0_4 */
static int hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForBeamReport = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForBeamReport = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_maxNumberAperiodicCSI_triggeringStatePerCC = -1;  /* T_maxNumberAperiodicCSI_triggeringStatePerCC */
static int hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForBeamReport = -1;  /* INTEGER_0_4 */
static int hf_nr_rrc_simultaneousCSI_ReportsPerCC = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_ReportExt_r16 = -1;  /* INTEGER_5_8 */
static int hf_nr_rrc_frequencyDensity1 = -1;      /* INTEGER_1_276 */
static int hf_nr_rrc_frequencyDensity2 = -1;      /* INTEGER_1_276 */
static int hf_nr_rrc_timeDensity1 = -1;           /* INTEGER_0_29 */
static int hf_nr_rrc_timeDensity2 = -1;           /* INTEGER_0_29 */
static int hf_nr_rrc_timeDensity3 = -1;           /* INTEGER_0_29 */
static int hf_nr_rrc_sampleDensity1 = -1;         /* INTEGER_1_276 */
static int hf_nr_rrc_sampleDensity2 = -1;         /* INTEGER_1_276 */
static int hf_nr_rrc_sampleDensity3 = -1;         /* INTEGER_1_276 */
static int hf_nr_rrc_sampleDensity4 = -1;         /* INTEGER_1_276 */
static int hf_nr_rrc_sampleDensity5 = -1;         /* INTEGER_1_276 */
static int hf_nr_rrc_maxNumberConfiguredSpatialRelations = -1;  /* T_maxNumberConfiguredSpatialRelations */
static int hf_nr_rrc_maxNumberActiveSpatialRelations = -1;  /* T_maxNumberActiveSpatialRelations */
static int hf_nr_rrc_additionalActiveSpatialRelationPUCCH = -1;  /* T_additionalActiveSpatialRelationPUCCH */
static int hf_nr_rrc_maxNumberDL_RS_QCL_TypeD = -1;  /* T_maxNumberDL_RS_QCL_TypeD */
static int hf_nr_rrc_supportedSRS_TxPortSwitch_01 = -1;  /* T_supportedSRS_TxPortSwitch_01 */
static int hf_nr_rrc_txSwitchImpactToRx_01 = -1;  /* T_txSwitchImpactToRx */
static int hf_nr_rrc_maxNumTx_Ports_r17 = -1;     /* T_maxNumTx_Ports_r17 */
static int hf_nr_rrc_maxTotalNumCMR_r17 = -1;     /* INTEGER_2_64 */
static int hf_nr_rrc_maxTotalNumTx_PortsNZP_CSI_RS_r17 = -1;  /* INTEGER_2_256 */
static int hf_nr_rrc_singleUL_Transmission = -1;  /* T_singleUL_Transmission */
static int hf_nr_rrc_dynamicPowerSharingENDC = -1;  /* T_dynamicPowerSharingENDC */
static int hf_nr_rrc_tdm_Pattern = -1;            /* T_tdm_Pattern */
static int hf_nr_rrc_ul_SharingEUTRA_NR = -1;     /* T_ul_SharingEUTRA_NR */
static int hf_nr_rrc_ul_SwitchingTimeEUTRA_NR = -1;  /* T_ul_SwitchingTimeEUTRA_NR */
static int hf_nr_rrc_simultaneousRxTxInterBandENDC = -1;  /* T_simultaneousRxTxInterBandENDC */
static int hf_nr_rrc_asyncIntraBandENDC = -1;     /* T_asyncIntraBandENDC */
static int hf_nr_rrc_dualPA_Architecture_01 = -1;  /* T_dualPA_Architecture_01 */
static int hf_nr_rrc_intraBandENDC_Support = -1;  /* T_intraBandENDC_Support */
static int hf_nr_rrc_ul_TimingAlignmentEUTRA_NR = -1;  /* T_ul_TimingAlignmentEUTRA_NR */
static int hf_nr_rrc_dynamicPowerSharingNEDC = -1;  /* T_dynamicPowerSharingNEDC */
static int hf_nr_rrc_interBandContiguousMRDC = -1;  /* T_interBandContiguousMRDC */
static int hf_nr_rrc_simultaneousRxTxInterBandENDCPerBandPair = -1;  /* SimultaneousRxTxPerBandPair */
static int hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16 = -1;  /* T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16 */
static int hf_nr_rrc_eutra_TDD_Config0_r16 = -1;  /* T_eutra_TDD_Config0_r16 */
static int hf_nr_rrc_eutra_TDD_Config1_r16 = -1;  /* T_eutra_TDD_Config1_r16 */
static int hf_nr_rrc_eutra_TDD_Config2_r16 = -1;  /* T_eutra_TDD_Config2_r16 */
static int hf_nr_rrc_eutra_TDD_Config3_r16 = -1;  /* T_eutra_TDD_Config3_r16 */
static int hf_nr_rrc_eutra_TDD_Config4_r16 = -1;  /* T_eutra_TDD_Config4_r16 */
static int hf_nr_rrc_eutra_TDD_Config5_r16 = -1;  /* T_eutra_TDD_Config5_r16 */
static int hf_nr_rrc_eutra_TDD_Config6_r16 = -1;  /* T_eutra_TDD_Config6_r16 */
static int hf_nr_rrc_tdm_restrictionTDD_endc_r16 = -1;  /* T_tdm_restrictionTDD_endc_r16 */
static int hf_nr_rrc_tdm_restrictionFDD_endc_r16 = -1;  /* T_tdm_restrictionFDD_endc_r16 */
static int hf_nr_rrc_singleUL_HARQ_offsetTDD_PCell_r16 = -1;  /* T_singleUL_HARQ_offsetTDD_PCell_r16 */
static int hf_nr_rrc_tdm_restrictionDualTX_FDD_endc_r16 = -1;  /* T_tdm_restrictionDualTX_FDD_endc_r16 */
static int hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16 = -1;  /* T_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16 */
static int hf_nr_rrc_maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16 = -1;  /* T_maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16 */
static int hf_nr_rrc_maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16 = -1;  /* T_maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16 */
static int hf_nr_rrc_interBandMRDC_WithOverlapDL_Bands_r16 = -1;  /* T_interBandMRDC_WithOverlapDL_Bands_r16 */
static int hf_nr_rrc_condPSCellAdditionENDC_r17 = -1;  /* T_condPSCellAdditionENDC_r17 */
static int hf_nr_rrc_scg_ActivationDeactivationENDC_r17 = -1;  /* T_scg_ActivationDeactivationENDC_r17 */
static int hf_nr_rrc_scg_ActivationDeactivationResumeENDC_r17 = -1;  /* T_scg_ActivationDeactivationResumeENDC_r17 */
static int hf_nr_rrc_measAndMobParametersNRDC = -1;  /* MeasAndMobParametersMRDC */
static int hf_nr_rrc_generalParametersNRDC = -1;  /* GeneralParametersMRDC_XDD_Diff */
static int hf_nr_rrc_fdd_Add_UE_NRDC_Capabilities = -1;  /* UE_MRDC_CapabilityAddXDD_Mode */
static int hf_nr_rrc_tdd_Add_UE_NRDC_Capabilities = -1;  /* UE_MRDC_CapabilityAddXDD_Mode */
static int hf_nr_rrc_fr1_Add_UE_NRDC_Capabilities = -1;  /* UE_MRDC_CapabilityAddFRX_Mode */
static int hf_nr_rrc_fr2_Add_UE_NRDC_Capabilities = -1;  /* UE_MRDC_CapabilityAddFRX_Mode */
static int hf_nr_rrc_nRDC_Parameters_dummy2 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_nRDC_Parameters_dummy = -1;  /* T_nRDC_Parameters_dummy */
static int hf_nr_rrc_sfn_SyncNRDC = -1;           /* T_sfn_SyncNRDC */
static int hf_nr_rrc_pdcp_DuplicationSplitSRB = -1;  /* T_pdcp_DuplicationSplitSRB */
static int hf_nr_rrc_pdcp_DuplicationSplitDRB = -1;  /* T_pdcp_DuplicationSplitDRB */
static int hf_nr_rrc_measAndMobParametersNRDC_v1610 = -1;  /* MeasAndMobParametersMRDC_v1610 */
static int hf_nr_rrc_f1c_OverNR_RRC_r17 = -1;     /* T_f1c_OverNR_RRC_r17 */
static int hf_nr_rrc_measAndMobParametersNRDC_v1700 = -1;  /* MeasAndMobParametersMRDC_v1700 */
static int hf_nr_rrc_inactiveStateNTN_r17 = -1;   /* T_inactiveStateNTN_r17 */
static int hf_nr_rrc_ra_SDT_NTN_r17 = -1;         /* T_ra_SDT_NTN_r17 */
static int hf_nr_rrc_srb_SDT_NTN_r17 = -1;        /* T_srb_SDT_NTN_r17 */
static int hf_nr_rrc_measAndMobParametersNTN_r17 = -1;  /* MeasAndMobParameters */
static int hf_nr_rrc_mac_ParametersNTN_r17 = -1;  /* MAC_Parameters */
static int hf_nr_rrc_phy_ParametersNTN_r17 = -1;  /* Phy_Parameters */
static int hf_nr_rrc_fdd_Add_UE_NR_CapabilitiesNTN_r17 = -1;  /* UE_NR_CapabilityAddXDD_Mode */
static int hf_nr_rrc_fr1_Add_UE_NR_CapabilitiesNTN_r17 = -1;  /* UE_NR_CapabilityAddFRX_Mode */
static int hf_nr_rrc_ue_BasedPerfMeas_ParametersNTN_r17 = -1;  /* UE_BasedPerfMeas_Parameters_r16 */
static int hf_nr_rrc_son_ParametersNTN_r17 = -1;  /* SON_Parameters_r16 */
static int hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Serving_r16 = -1;  /* T_olpc_SRS_PosBasedOnPRS_Serving_r16 */
static int hf_nr_rrc_olpc_SRS_PosBasedOnSSB_Neigh_r16 = -1;  /* T_olpc_SRS_PosBasedOnSSB_Neigh_r16 */
static int hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Neigh_r16 = -1;  /* T_olpc_SRS_PosBasedOnPRS_Neigh_r16 */
static int hf_nr_rrc_maxNumberPathLossEstimatePerServing_r16 = -1;  /* T_maxNumberPathLossEstimatePerServing_r16 */
static int hf_nr_rrc_supportedROHC_Profiles = -1;  /* T_supportedROHC_Profiles */
static int hf_nr_rrc_profile0x0000 = -1;          /* BOOLEAN */
static int hf_nr_rrc_maxNumberROHC_ContextSessions = -1;  /* T_maxNumberROHC_ContextSessions */
static int hf_nr_rrc_uplinkOnlyROHC_Profiles = -1;  /* T_uplinkOnlyROHC_Profiles */
static int hf_nr_rrc_continueROHC_Context = -1;   /* T_continueROHC_Context */
static int hf_nr_rrc_outOfOrderDelivery_01 = -1;  /* T_outOfOrderDelivery_01 */
static int hf_nr_rrc_shortSN = -1;                /* T_shortSN */
static int hf_nr_rrc_pdcp_DuplicationSRB = -1;    /* T_pdcp_DuplicationSRB */
static int hf_nr_rrc_pdcp_DuplicationMCG_OrSCG_DRB = -1;  /* T_pdcp_DuplicationMCG_OrSCG_DRB */
static int hf_nr_rrc_drb_IAB_r16 = -1;            /* T_drb_IAB_r16 */
static int hf_nr_rrc_non_DRB_IAB_r16 = -1;        /* T_non_DRB_IAB_r16 */
static int hf_nr_rrc_extendedDiscardTimer_r16 = -1;  /* T_extendedDiscardTimer_r16 */
static int hf_nr_rrc_continueEHC_Context_r16 = -1;  /* T_continueEHC_Context_r16 */
static int hf_nr_rrc_ehc_r16 = -1;                /* T_ehc_r16 */
static int hf_nr_rrc_maxNumberEHC_Contexts_r16 = -1;  /* T_maxNumberEHC_Contexts_r16 */
static int hf_nr_rrc_jointEHC_ROHC_Config_r16 = -1;  /* T_jointEHC_ROHC_Config_r16 */
static int hf_nr_rrc_pdcp_DuplicationMoreThanTwoRLC_r16 = -1;  /* T_pdcp_DuplicationMoreThanTwoRLC_r16 */
static int hf_nr_rrc_longSN_RedCap_r17 = -1;      /* T_longSN_RedCap_r17 */
static int hf_nr_rrc_udc_r17 = -1;                /* T_udc_r17 */
static int hf_nr_rrc_standardDictionary_r17 = -1;  /* T_standardDictionary_r17 */
static int hf_nr_rrc_operatorDictionary_r17 = -1;  /* T_operatorDictionary_r17 */
static int hf_nr_rrc_versionOfDictionary_r17 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_associatedPLMN_ID_r17 = -1;  /* PLMN_Identity */
static int hf_nr_rrc_continueUDC_r17 = -1;        /* T_continueUDC_r17 */
static int hf_nr_rrc_supportOfBufferSize_r17 = -1;  /* T_supportOfBufferSize_r17 */
static int hf_nr_rrc_pdcp_DuplicationSplitSRB_01 = -1;  /* T_pdcp_DuplicationSplitSRB_01 */
static int hf_nr_rrc_pdcp_DuplicationSplitDRB_01 = -1;  /* T_pdcp_DuplicationSplitDRB_01 */
static int hf_nr_rrc_scg_DRB_NR_IAB_r16 = -1;     /* T_scg_DRB_NR_IAB_r16 */
static int hf_nr_rrc_phy_ParametersCommon = -1;   /* Phy_ParametersCommon */
static int hf_nr_rrc_phy_ParametersXDD_Diff = -1;  /* Phy_ParametersXDD_Diff */
static int hf_nr_rrc_phy_ParametersFRX_Diff = -1;  /* Phy_ParametersFRX_Diff */
static int hf_nr_rrc_phy_ParametersFR1 = -1;      /* Phy_ParametersFR1 */
static int hf_nr_rrc_phy_ParametersFR2 = -1;      /* Phy_ParametersFR2 */
static int hf_nr_rrc_phy_ParametersCommon_v16a0 = -1;  /* Phy_ParametersCommon_v16a0 */
static int hf_nr_rrc_csi_RS_CFRA_ForHO = -1;      /* T_csi_RS_CFRA_ForHO */
static int hf_nr_rrc_dynamicPRB_BundlingDL = -1;  /* T_dynamicPRB_BundlingDL */
static int hf_nr_rrc_sp_CSI_ReportPUCCH = -1;     /* T_sp_CSI_ReportPUCCH */
static int hf_nr_rrc_sp_CSI_ReportPUSCH = -1;     /* T_sp_CSI_ReportPUSCH */
static int hf_nr_rrc_nzp_CSI_RS_IntefMgmt = -1;   /* T_nzp_CSI_RS_IntefMgmt */
static int hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH = -1;  /* T_type2_SP_CSI_Feedback_LongPUCCH */
static int hf_nr_rrc_precoderGranularityCORESET = -1;  /* T_precoderGranularityCORESET */
static int hf_nr_rrc_dynamicHARQ_ACK_Codebook = -1;  /* T_dynamicHARQ_ACK_Codebook */
static int hf_nr_rrc_semiStaticHARQ_ACK_Codebook = -1;  /* T_semiStaticHARQ_ACK_Codebook */
static int hf_nr_rrc_spatialBundlingHARQ_ACK = -1;  /* T_spatialBundlingHARQ_ACK */
static int hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI = -1;  /* T_dynamicBetaOffsetInd_HARQ_ACK_CSI */
static int hf_nr_rrc_pucch_Repetition_F1_3_4 = -1;  /* T_pucch_Repetition_F1_3_4 */
static int hf_nr_rrc_ra_Type0_PUSCH = -1;         /* T_ra_Type0_PUSCH */
static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH = -1;  /* T_dynamicSwitchRA_Type0_1_PDSCH */
static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH = -1;  /* T_dynamicSwitchRA_Type0_1_PUSCH */
static int hf_nr_rrc_pdsch_MappingTypeA = -1;     /* T_pdsch_MappingTypeA */
static int hf_nr_rrc_pdsch_MappingTypeB = -1;     /* T_pdsch_MappingTypeB */
static int hf_nr_rrc_interleavingVRB_ToPRB_PDSCH = -1;  /* T_interleavingVRB_ToPRB_PDSCH */
static int hf_nr_rrc_interSlotFreqHopping_PUSCH = -1;  /* T_interSlotFreqHopping_PUSCH */
static int hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots = -1;  /* T_type1_PUSCH_RepetitionMultiSlots */
static int hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots = -1;  /* T_type2_PUSCH_RepetitionMultiSlots */
static int hf_nr_rrc_pusch_RepetitionMultiSlots = -1;  /* T_pusch_RepetitionMultiSlots */
static int hf_nr_rrc_pdsch_RepetitionMultiSlots = -1;  /* T_pdsch_RepetitionMultiSlots */
static int hf_nr_rrc_downlinkSPS = -1;            /* T_downlinkSPS */
static int hf_nr_rrc_configuredUL_GrantType1 = -1;  /* T_configuredUL_GrantType1 */
static int hf_nr_rrc_configuredUL_GrantType2 = -1;  /* T_configuredUL_GrantType2 */
static int hf_nr_rrc_pre_EmptIndication_DL = -1;  /* T_pre_EmptIndication_DL */
static int hf_nr_rrc_cbg_TransIndication_DL = -1;  /* T_cbg_TransIndication_DL */
static int hf_nr_rrc_cbg_TransIndication_UL = -1;  /* T_cbg_TransIndication_UL */
static int hf_nr_rrc_cbg_FlushIndication_DL = -1;  /* T_cbg_FlushIndication_DL */
static int hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL = -1;  /* T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL */
static int hf_nr_rrc_rateMatchingResrcSetSemi_Static = -1;  /* T_rateMatchingResrcSetSemi_Static */
static int hf_nr_rrc_rateMatchingResrcSetDynamic = -1;  /* T_rateMatchingResrcSetDynamic */
static int hf_nr_rrc_bwp_SwitchingDelay = -1;     /* T_bwp_SwitchingDelay */
static int hf_nr_rrc_phy_ParametersCommon_eag_1_dummy = -1;  /* T_phy_ParametersCommon_eag_1_dummy */
static int hf_nr_rrc_maxNumberSearchSpaces = -1;  /* T_maxNumberSearchSpaces */
static int hf_nr_rrc_rateMatchingCtrlResrcSetDynamic = -1;  /* T_rateMatchingCtrlResrcSetDynamic */
static int hf_nr_rrc_maxLayersMIMO_Indication = -1;  /* T_maxLayersMIMO_Indication */
static int hf_nr_rrc_spCellPlacement = -1;        /* CarrierAggregationVariant */
static int hf_nr_rrc_twoStepRACH_r16 = -1;        /* T_twoStepRACH_r16 */
static int hf_nr_rrc_dci_Format1_2And0_2_r16 = -1;  /* T_dci_Format1_2And0_2_r16 */
static int hf_nr_rrc_monitoringDCI_SameSearchSpace_r16 = -1;  /* T_monitoringDCI_SameSearchSpace_r16 */
static int hf_nr_rrc_type2_CG_ReleaseDCI_0_1_r16 = -1;  /* T_type2_CG_ReleaseDCI_0_1_r16 */
static int hf_nr_rrc_type2_CG_ReleaseDCI_0_2_r16 = -1;  /* T_type2_CG_ReleaseDCI_0_2_r16 */
static int hf_nr_rrc_sps_ReleaseDCI_1_1_r16 = -1;  /* T_sps_ReleaseDCI_1_1_r16 */
static int hf_nr_rrc_sps_ReleaseDCI_1_2_r16 = -1;  /* T_sps_ReleaseDCI_1_2_r16 */
static int hf_nr_rrc_csi_TriggerStateNon_ActiveBWP_r16 = -1;  /* T_csi_TriggerStateNon_ActiveBWP_r16 */
static int hf_nr_rrc_separateSMTC_InterIAB_Support_r16 = -1;  /* T_separateSMTC_InterIAB_Support_r16 */
static int hf_nr_rrc_separateRACH_IAB_Support_r16 = -1;  /* T_separateRACH_IAB_Support_r16 */
static int hf_nr_rrc_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16 = -1;  /* T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16 */
static int hf_nr_rrc_ul_flexibleDL_SlotFormatDynamics_IAB_r16 = -1;  /* T_ul_flexibleDL_SlotFormatDynamics_IAB_r16 */
static int hf_nr_rrc_dft_S_OFDM_WaveformUL_IAB_r16 = -1;  /* T_dft_S_OFDM_WaveformUL_IAB_r16 */
static int hf_nr_rrc_dci_25_AI_RNTI_Support_IAB_r16 = -1;  /* T_dci_25_AI_RNTI_Support_IAB_r16 */
static int hf_nr_rrc_t_DeltaReceptionSupport_IAB_r16 = -1;  /* T_t_DeltaReceptionSupport_IAB_r16 */
static int hf_nr_rrc_guardSymbolReportReception_IAB_r16 = -1;  /* T_guardSymbolReportReception_IAB_r16 */
static int hf_nr_rrc_harqACK_CB_SpatialBundlingPUCCH_Group_r16 = -1;  /* T_harqACK_CB_SpatialBundlingPUCCH_Group_r16 */
static int hf_nr_rrc_crossSlotScheduling_r16 = -1;  /* T_crossSlotScheduling_r16 */
static int hf_nr_rrc_non_SharedSpectrumChAccess_r16_01 = -1;  /* T_non_SharedSpectrumChAccess_r16 */
static int hf_nr_rrc_sharedSpectrumChAccess_r16_01 = -1;  /* T_sharedSpectrumChAccess_r16 */
static int hf_nr_rrc_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 = -1;  /* T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 */
static int hf_nr_rrc_extendedCG_Periodicities_r16 = -1;  /* T_extendedCG_Periodicities_r16 */
static int hf_nr_rrc_extendedSPS_Periodicities_r16 = -1;  /* T_extendedSPS_Periodicities_r16 */
static int hf_nr_rrc_codebookVariantsList_r16 = -1;  /* CodebookVariantsList_r16 */
static int hf_nr_rrc_pusch_RepetitionTypeA_r16 = -1;  /* T_pusch_RepetitionTypeA_r16 */
static int hf_nr_rrc_sharedSpectrumChAccess_r16_02 = -1;  /* T_sharedSpectrumChAccess_r16_01 */
static int hf_nr_rrc_non_SharedSpectrumChAccess_r16_02 = -1;  /* T_non_SharedSpectrumChAccess_r16_01 */
static int hf_nr_rrc_dci_DL_PriorityIndicator_r16 = -1;  /* T_dci_DL_PriorityIndicator_r16 */
static int hf_nr_rrc_dci_UL_PriorityIndicator_r16 = -1;  /* T_dci_UL_PriorityIndicator_r16 */
static int hf_nr_rrc_maxNumberPathlossRS_Update_r16 = -1;  /* T_maxNumberPathlossRS_Update_r16 */
static int hf_nr_rrc_type2_HARQ_ACK_Codebook_r16 = -1;  /* T_type2_HARQ_ACK_Codebook_r16 */
static int hf_nr_rrc_maxTotalResourcesForAcrossFreqRanges_r16 = -1;  /* T_maxTotalResourcesForAcrossFreqRanges_r16 */
static int hf_nr_rrc_maxNumberResWithinSlotAcrossCC_AcrossFR_r16 = -1;  /* T_maxNumberResWithinSlotAcrossCC_AcrossFR_r16 */
static int hf_nr_rrc_maxNumberResAcrossCC_AcrossFR_r16 = -1;  /* T_maxNumberResAcrossCC_AcrossFR_r16 */
static int hf_nr_rrc_harqACK_separateMultiDCI_MultiTRP_r16 = -1;  /* T_harqACK_separateMultiDCI_MultiTRP_r16 */
static int hf_nr_rrc_maxNumberLongPUCCHs_r16 = -1;  /* T_maxNumberLongPUCCHs_r16 */
static int hf_nr_rrc_harqACK_jointMultiDCI_MultiTRP_r16 = -1;  /* T_harqACK_jointMultiDCI_MultiTRP_r16 */
static int hf_nr_rrc_bwp_SwitchingMultiCCs_r16 = -1;  /* T_bwp_SwitchingMultiCCs_r16 */
static int hf_nr_rrc_type1_r16 = -1;              /* T_type1_r16 */
static int hf_nr_rrc_type2_r16_01 = -1;           /* T_type2_r16_01 */
static int hf_nr_rrc_targetSMTC_SCG_r16 = -1;     /* T_targetSMTC_SCG_r16 */
static int hf_nr_rrc_supportRepetitionZeroOffsetRV_r16 = -1;  /* T_supportRepetitionZeroOffsetRV_r16 */
static int hf_nr_rrc_cbg_TransInOrderPUSCH_UL_r16 = -1;  /* T_cbg_TransInOrderPUSCH_UL_r16 */
static int hf_nr_rrc_bwp_SwitchingMultiDormancyCCs_r16 = -1;  /* T_bwp_SwitchingMultiDormancyCCs_r16 */
static int hf_nr_rrc_type1_r16_01 = -1;           /* T_type1_r16_01 */
static int hf_nr_rrc_type2_r16_02 = -1;           /* T_type2_r16_02 */
static int hf_nr_rrc_supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16 = -1;  /* T_supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16 */
static int hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16 = -1;  /* T_pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16 */
static int hf_nr_rrc_newBeamIdentifications2PortCSI_RS_r16 = -1;  /* T_newBeamIdentifications2PortCSI_RS_r16 */
static int hf_nr_rrc_pathlossEstimation2PortCSI_RS_r16 = -1;  /* T_pathlossEstimation2PortCSI_RS_r16 */
static int hf_nr_rrc_mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16 = -1;  /* T_mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16 */
static int hf_nr_rrc_guardSymbolReportReception_IAB_r17 = -1;  /* T_guardSymbolReportReception_IAB_r17 */
static int hf_nr_rrc_restricted_IAB_DU_BeamReception_r17 = -1;  /* T_restricted_IAB_DU_BeamReception_r17 */
static int hf_nr_rrc_recommended_IAB_MT_BeamTransmission_r17 = -1;  /* T_recommended_IAB_MT_BeamTransmission_r17 */
static int hf_nr_rrc_case6_TimingAlignmentReception_IAB_r17 = -1;  /* T_case6_TimingAlignmentReception_IAB_r17 */
static int hf_nr_rrc_case7_TimingAlignmentReception_IAB_r17 = -1;  /* T_case7_TimingAlignmentReception_IAB_r17 */
static int hf_nr_rrc_dl_tx_PowerAdjustment_IAB_r17 = -1;  /* T_dl_tx_PowerAdjustment_IAB_r17 */
static int hf_nr_rrc_desired_ul_tx_PowerAdjustment_r17 = -1;  /* T_desired_ul_tx_PowerAdjustment_r17 */
static int hf_nr_rrc_fdm_SoftResourceAvailability_DynamicIndication_r17 = -1;  /* T_fdm_SoftResourceAvailability_DynamicIndication_r17 */
static int hf_nr_rrc_updated_T_DeltaRangeReception_r17 = -1;  /* T_updated_T_DeltaRangeReception_r17 */
static int hf_nr_rrc_slotBasedDynamicPUCCH_Rep_r17 = -1;  /* T_slotBasedDynamicPUCCH_Rep_r17 */
static int hf_nr_rrc_sps_HARQ_ACK_Deferral_r17 = -1;  /* T_sps_HARQ_ACK_Deferral_r17 */
static int hf_nr_rrc_non_SharedSpectrumChAccess_r17_01 = -1;  /* T_non_SharedSpectrumChAccess_r17 */
static int hf_nr_rrc_sharedSpectrumChAccess_r17_01 = -1;  /* T_sharedSpectrumChAccess_r17 */
static int hf_nr_rrc_unifiedJointTCI_commonUpdate_r17 = -1;  /* INTEGER_1_4 */
static int hf_nr_rrc_mTRP_PDCCH_singleSpan_r17 = -1;  /* T_mTRP_PDCCH_singleSpan_r17 */
static int hf_nr_rrc_supportedActivatedPRS_ProcessingWindow_r17 = -1;  /* T_supportedActivatedPRS_ProcessingWindow_r17 */
static int hf_nr_rrc_cg_TimeDomainAllocationExtension_r17 = -1;  /* T_cg_TimeDomainAllocationExtension_r17 */
static int hf_nr_rrc_ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17 = -1;  /* T_ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17 */
static int hf_nr_rrc_directionalCollisionDC_IAB_r17 = -1;  /* T_directionalCollisionDC_IAB_r17 */
static int hf_nr_rrc_dummy1_04 = -1;              /* T_dummy1_04 */
static int hf_nr_rrc_dummy2_02 = -1;              /* T_dummy2_02 */
static int hf_nr_rrc_dummy3_02 = -1;              /* T_dummy3_02 */
static int hf_nr_rrc_dummy4 = -1;                 /* T_dummy4 */
static int hf_nr_rrc_srs_AdditionalRepetition_r17 = -1;  /* T_srs_AdditionalRepetition_r17 */
static int hf_nr_rrc_pusch_Repetition_CG_SDT_r17 = -1;  /* T_pusch_Repetition_CG_SDT_r17 */
static int hf_nr_rrc_srs_PeriodicityAndOffsetExt_r16 = -1;  /* T_srs_PeriodicityAndOffsetExt_r16 */
static int hf_nr_rrc_dynamicSFI = -1;             /* T_dynamicSFI */
static int hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols = -1;  /* T_twoPUCCH_F0_2_ConsecSymbols */
static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH = -1;  /* T_twoDifferentTPC_Loop_PUSCH */
static int hf_nr_rrc_twoDifferentTPC_Loop_PUCCH = -1;  /* T_twoDifferentTPC_Loop_PUCCH */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeA */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeB */
static int hf_nr_rrc_ul_SchedulingOffset = -1;    /* T_ul_SchedulingOffset */
static int hf_nr_rrc_dynamicSFI_01 = -1;          /* T_dynamicSFI_01 */
static int hf_nr_rrc_phy_ParametersFRX_Diff_dummy1 = -1;  /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_twoFL_DMRS = -1;             /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_phy_ParametersFRX_Diff_dummy2 = -1;  /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_phy_ParametersFRX_Diff_dummy3 = -1;  /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_supportedDMRS_TypeDL = -1;   /* T_supportedDMRS_TypeDL */
static int hf_nr_rrc_supportedDMRS_TypeUL = -1;   /* T_supportedDMRS_TypeUL */
static int hf_nr_rrc_semiOpenLoopCSI = -1;        /* T_semiOpenLoopCSI */
static int hf_nr_rrc_csi_ReportWithoutPMI = -1;   /* T_csi_ReportWithoutPMI */
static int hf_nr_rrc_csi_ReportWithoutCQI = -1;   /* T_csi_ReportWithoutCQI */
static int hf_nr_rrc_onePortsPTRS = -1;           /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01 = -1;  /* T_twoPUCCH_F0_2_ConsecSymbols_01 */
static int hf_nr_rrc_pucch_F2_WithFH = -1;        /* T_pucch_F2_WithFH */
static int hf_nr_rrc_pucch_F3_WithFH = -1;        /* T_pucch_F3_WithFH */
static int hf_nr_rrc_pucch_F4_WithFH = -1;        /* T_pucch_F4_WithFH */
static int hf_nr_rrc_pucch_F0_2WithoutFH = -1;    /* T_pucch_F0_2WithoutFH */
static int hf_nr_rrc_pucch_F1_3_4WithoutFH = -1;  /* T_pucch_F1_3_4WithoutFH */
static int hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot = -1;  /* T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot */
static int hf_nr_rrc_uci_CodeBlockSegmentation = -1;  /* T_uci_CodeBlockSegmentation */
static int hf_nr_rrc_onePUCCH_LongAndShortFormat = -1;  /* T_onePUCCH_LongAndShortFormat */
static int hf_nr_rrc_twoPUCCH_AnyOthersInSlot = -1;  /* T_twoPUCCH_AnyOthersInSlot */
static int hf_nr_rrc_intraSlotFreqHopping_PUSCH = -1;  /* T_intraSlotFreqHopping_PUSCH */
static int hf_nr_rrc_pusch_LBRM = -1;             /* T_pusch_LBRM */
static int hf_nr_rrc_pdcch_BlindDetectionCA = -1;  /* INTEGER_4_16 */
static int hf_nr_rrc_tpc_PUSCH_RNTI_01 = -1;      /* T_tpc_PUSCH_RNTI */
static int hf_nr_rrc_tpc_PUCCH_RNTI_01 = -1;      /* T_tpc_PUCCH_RNTI */
static int hf_nr_rrc_tpc_SRS_RNTI_01 = -1;        /* T_tpc_SRS_RNTI */
static int hf_nr_rrc_absoluteTPC_Command = -1;    /* T_absoluteTPC_Command */
static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01 = -1;  /* T_twoDifferentTPC_Loop_PUSCH_01 */
static int hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01 = -1;  /* T_twoDifferentTPC_Loop_PUCCH_01 */
static int hf_nr_rrc_pusch_HalfPi_BPSK = -1;      /* T_pusch_HalfPi_BPSK */
static int hf_nr_rrc_pucch_F3_4_HalfPi_BPSK = -1;  /* T_pucch_F3_4_HalfPi_BPSK */
static int hf_nr_rrc_almostContiguousCP_OFDM_UL = -1;  /* T_almostContiguousCP_OFDM_UL */
static int hf_nr_rrc_sp_CSI_RS = -1;              /* T_sp_CSI_RS */
static int hf_nr_rrc_sp_CSI_IM = -1;              /* T_sp_CSI_IM */
static int hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot = -1;  /* T_tdd_MultiDL_UL_SwitchPerSlot */
static int hf_nr_rrc_multipleCORESET = -1;        /* T_multipleCORESET */
static int hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot = -1;  /* T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot */
static int hf_nr_rrc_sameSymbol = -1;             /* T_sameSymbol */
static int hf_nr_rrc_diffSymbol = -1;             /* T_diffSymbol */
static int hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH = -1;  /* T_mux_SR_HARQ_ACK_PUCCH */
static int hf_nr_rrc_mux_MultipleGroupCtrlCH_Overlap = -1;  /* T_mux_MultipleGroupCtrlCH_Overlap */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_01 = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeA_01 */
static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_01 = -1;  /* T_dl_SchedulingOffset_PDSCH_TypeB_01 */
static int hf_nr_rrc_ul_SchedulingOffset_01 = -1;  /* T_ul_SchedulingOffset_01 */
static int hf_nr_rrc_dl_64QAM_MCS_TableAlt = -1;  /* T_dl_64QAM_MCS_TableAlt */
static int hf_nr_rrc_ul_64QAM_MCS_TableAlt = -1;  /* T_ul_64QAM_MCS_TableAlt */
static int hf_nr_rrc_cqi_TableAlt = -1;           /* T_cqi_TableAlt */
static int hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_UL = -1;  /* T_oneFL_DMRS_TwoAdditionalDMRS_UL */
static int hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_UL = -1;  /* T_twoFL_DMRS_TwoAdditionalDMRS_UL */
static int hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_UL = -1;  /* T_oneFL_DMRS_ThreeAdditionalDMRS_UL */
static int hf_nr_rrc_pdcch_BlindDetectionNRDC = -1;  /* T_pdcch_BlindDetectionNRDC */
static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE = -1;  /* INTEGER_1_15 */
static int hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol = -1;  /* T_mux_HARQ_ACK_PUSCH_DiffSymbol */
static int hf_nr_rrc_type1_HARQ_ACK_Codebook_r16 = -1;  /* T_type1_HARQ_ACK_Codebook_r16 */
static int hf_nr_rrc_enhancedPowerControl_r16 = -1;  /* T_enhancedPowerControl_r16 */
static int hf_nr_rrc_simultaneousTCI_ActMultipleCC_r16 = -1;  /* T_simultaneousTCI_ActMultipleCC_r16 */
static int hf_nr_rrc_simultaneousSpatialRelationMultipleCC_r16 = -1;  /* T_simultaneousSpatialRelationMultipleCC_r16 */
static int hf_nr_rrc_cli_RSSI_FDM_DL_r16 = -1;    /* T_cli_RSSI_FDM_DL_r16 */
static int hf_nr_rrc_cli_SRS_RSRP_FDM_DL_r16 = -1;  /* T_cli_SRS_RSRP_FDM_DL_r16 */
static int hf_nr_rrc_maxLayersMIMO_Adaptation_r16 = -1;  /* T_maxLayersMIMO_Adaptation_r16 */
static int hf_nr_rrc_aggregationFactorSPS_DL_r16 = -1;  /* T_aggregationFactorSPS_DL_r16 */
static int hf_nr_rrc_maxTotalResourcesForOneFreqRange_r16 = -1;  /* T_maxTotalResourcesForOneFreqRange_r16 */
static int hf_nr_rrc_maxNumberResWithinSlotAcrossCC_OneFR_r16 = -1;  /* T_maxNumberResWithinSlotAcrossCC_OneFR_r16 */
static int hf_nr_rrc_maxNumberResAcrossCC_OneFR_r16 = -1;  /* T_maxNumberResAcrossCC_OneFR_r16 */
static int hf_nr_rrc_twoTCI_Act_servingCellInCC_List_r16 = -1;  /* T_twoTCI_Act_servingCellInCC_List_r16 */
static int hf_nr_rrc_cri_RI_CQI_WithoutNon_PMI_PortInd_r16 = -1;  /* T_cri_RI_CQI_WithoutNon_PMI_PortInd_r16 */
static int hf_nr_rrc_cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17 = -1;  /* T_cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17 */
static int hf_nr_rrc_pdcch_MonitoringSingleOccasion = -1;  /* T_pdcch_MonitoringSingleOccasion */
static int hf_nr_rrc_phy_ParametersFR1_scs_60kHz = -1;  /* T_phy_ParametersFR1_scs_60kHz */
static int hf_nr_rrc_pdsch_256QAM_FR1 = -1;       /* T_pdsch_256QAM_FR1 */
static int hf_nr_rrc_pdsch_RE_MappingFR1_PerSymbol = -1;  /* T_pdsch_RE_MappingFR1_PerSymbol */
static int hf_nr_rrc_pdsch_RE_MappingFR1_PerSlot = -1;  /* T_pdsch_RE_MappingFR1_PerSlot */
static int hf_nr_rrc_pdcch_MonitoringSingleSpanFirst4Sym_r16 = -1;  /* T_pdcch_MonitoringSingleSpanFirst4Sym_r16 */
static int hf_nr_rrc_phy_ParametersFR2_dummy = -1;  /* T_phy_ParametersFR2_dummy */
static int hf_nr_rrc_pdsch_RE_MappingFR2_PerSymbol = -1;  /* T_pdsch_RE_MappingFR2_PerSymbol */
static int hf_nr_rrc_pCell_FR2 = -1;              /* T_pCell_FR2 */
static int hf_nr_rrc_pdsch_RE_MappingFR2_PerSlot = -1;  /* T_pdsch_RE_MappingFR2_PerSlot */
static int hf_nr_rrc_defaultSpatialRelationPathlossRS_r16 = -1;  /* T_defaultSpatialRelationPathlossRS_r16 */
static int hf_nr_rrc_spatialRelationUpdateAP_SRS_r16 = -1;  /* T_spatialRelationUpdateAP_SRS_r16 */
static int hf_nr_rrc_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 = -1;  /* T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 */
static int hf_nr_rrc_naics_Capability_List = -1;  /* SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry */
static int hf_nr_rrc_naics_Capability_List_item = -1;  /* NAICS_Capability_Entry */
static int hf_nr_rrc_tdd_PCellUL_TX_AllUL_Subframe_r16 = -1;  /* T_tdd_PCellUL_TX_AllUL_Subframe_r16 */
static int hf_nr_rrc_fdd_PCellUL_TX_AllUL_Subframe_r16 = -1;  /* T_fdd_PCellUL_TX_AllUL_Subframe_r16 */
static int hf_nr_rrc_numberOfNAICS_CapableCC = -1;  /* INTEGER_1_5 */
static int hf_nr_rrc_numberOfAggregatedPRB = -1;  /* T_numberOfAggregatedPRB */
static int hf_nr_rrc_ss_SINR_Meas_r16 = -1;       /* T_ss_SINR_Meas_r16 */
static int hf_nr_rrc_sp_CSI_ReportPUCCH_r16 = -1;  /* T_sp_CSI_ReportPUCCH_r16 */
static int hf_nr_rrc_sp_CSI_ReportPUSCH_r16 = -1;  /* T_sp_CSI_ReportPUSCH_r16 */
static int hf_nr_rrc_dynamicSFI_r16 = -1;         /* T_dynamicSFI_r16 */
static int hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16 = -1;  /* T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16 */
static int hf_nr_rrc_sameSymbol_r16 = -1;         /* T_sameSymbol_r16 */
static int hf_nr_rrc_diffSymbol_r16 = -1;         /* T_diffSymbol_r16 */
static int hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH_r16 = -1;  /* T_mux_SR_HARQ_ACK_PUCCH_r16 */
static int hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16 = -1;  /* T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16 */
static int hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol_r16 = -1;  /* T_mux_HARQ_ACK_PUSCH_DiffSymbol_r16 */
static int hf_nr_rrc_pucch_Repetition_F1_3_4_r16 = -1;  /* T_pucch_Repetition_F1_3_4_r16 */
static int hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots_r16 = -1;  /* T_type1_PUSCH_RepetitionMultiSlots_r16 */
static int hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots_r16 = -1;  /* T_type2_PUSCH_RepetitionMultiSlots_r16 */
static int hf_nr_rrc_pusch_RepetitionMultiSlots_r16 = -1;  /* T_pusch_RepetitionMultiSlots_r16 */
static int hf_nr_rrc_pdsch_RepetitionMultiSlots_r16 = -1;  /* T_pdsch_RepetitionMultiSlots_r16 */
static int hf_nr_rrc_downlinkSPS_r16 = -1;        /* T_downlinkSPS_r16 */
static int hf_nr_rrc_configuredUL_GrantType1_r16 = -1;  /* T_configuredUL_GrantType1_r16 */
static int hf_nr_rrc_configuredUL_GrantType2_r16 = -1;  /* T_configuredUL_GrantType2_r16 */
static int hf_nr_rrc_pre_EmptIndication_DL_r16 = -1;  /* T_pre_EmptIndication_DL_r16 */
static int hf_nr_rrc_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17 = -1;  /* T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17 */
static int hf_nr_rrc_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17 = -1;  /* T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17 */
static int hf_nr_rrc_maxNumOfSRSposResourceSets_r17 = -1;  /* T_maxNumOfSRSposResourceSets_r17 */
static int hf_nr_rrc_maxNumOfPeriodicSRSposResources_r17 = -1;  /* T_maxNumOfPeriodicSRSposResources_r17 */
static int hf_nr_rrc_maxNumOfPeriodicSRSposResourcesPerSlot_r17 = -1;  /* T_maxNumOfPeriodicSRSposResourcesPerSlot_r17 */
static int hf_nr_rrc_differentNumerologyBetweenSRSposAndInitialBWP_r17 = -1;  /* T_differentNumerologyBetweenSRSposAndInitialBWP_r17 */
static int hf_nr_rrc_srsPosWithoutRestrictionOnBWP_r17 = -1;  /* T_srsPosWithoutRestrictionOnBWP_r17 */
static int hf_nr_rrc_maxNumOfPeriodicAndSemipersistentSRSposResources_r17 = -1;  /* T_maxNumOfPeriodicAndSemipersistentSRSposResources_r17 */
static int hf_nr_rrc_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17 = -1;  /* T_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17 */
static int hf_nr_rrc_differentCenterFreqBetweenSRSposAndInitialBWP_r17 = -1;  /* T_differentCenterFreqBetweenSRSposAndInitialBWP_r17 */
static int hf_nr_rrc_switchingTimeSRS_TX_OtherTX_r17 = -1;  /* T_switchingTimeSRS_TX_OtherTX_r17 */
static int hf_nr_rrc_maxNumOfSemiPersistentSRSposResources_r17 = -1;  /* T_maxNumOfSemiPersistentSRSposResources_r17 */
static int hf_nr_rrc_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17 = -1;  /* T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17 */
static int hf_nr_rrc_powSav_ParametersCommon_r16 = -1;  /* PowSav_ParametersCommon_r16 */
static int hf_nr_rrc_powSav_ParametersFRX_Diff_r16 = -1;  /* PowSav_ParametersFRX_Diff_r16 */
static int hf_nr_rrc_powSav_ParametersFR2_2_r17 = -1;  /* PowSav_ParametersFR2_2_r17 */
static int hf_nr_rrc_drx_Preference_r16_01 = -1;  /* T_drx_Preference_r16 */
static int hf_nr_rrc_maxCC_Preference_r16_01 = -1;  /* T_maxCC_Preference_r16 */
static int hf_nr_rrc_releasePreference_r16_01 = -1;  /* T_releasePreference_r16 */
static int hf_nr_rrc_minSchedulingOffsetPreference_r16_01 = -1;  /* T_minSchedulingOffsetPreference_r16 */
static int hf_nr_rrc_maxBW_Preference_r16_01 = -1;  /* T_maxBW_Preference_r16 */
static int hf_nr_rrc_maxMIMO_LayerPreference_r16_01 = -1;  /* T_maxMIMO_LayerPreference_r16 */
static int hf_nr_rrc_maxBW_Preference_r17 = -1;   /* T_maxBW_Preference_r17 */
static int hf_nr_rrc_maxMIMO_LayerPreference_r17 = -1;  /* T_maxMIMO_LayerPreference_r17 */
static int hf_nr_rrc_fallback = -1;               /* T_fallback */
static int hf_nr_rrc_differentTB_PerSlot = -1;    /* T_differentTB_PerSlot */
static int hf_nr_rrc_upto1 = -1;                  /* NumberOfCarriers */
static int hf_nr_rrc_upto2 = -1;                  /* NumberOfCarriers */
static int hf_nr_rrc_upto4 = -1;                  /* NumberOfCarriers */
static int hf_nr_rrc_upto7 = -1;                  /* NumberOfCarriers */
static int hf_nr_rrc_prsProcessingType_r17 = -1;  /* T_prsProcessingType_r17 */
static int hf_nr_rrc_ppw_dl_PRS_BufferType_r17 = -1;  /* T_ppw_dl_PRS_BufferType_r17 */
static int hf_nr_rrc_ppw_durationOfPRS_Processing_r17 = -1;  /* T_ppw_durationOfPRS_Processing_r17 */
static int hf_nr_rrc_ppw_durationOfPRS_Processing1_r17 = -1;  /* T_ppw_durationOfPRS_Processing1_r17 */
static int hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsN_r17 = -1;  /* T_ppw_durationOfPRS_ProcessingSymbolsN_r17 */
static int hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsT_r17 = -1;  /* T_ppw_durationOfPRS_ProcessingSymbolsT_r17 */
static int hf_nr_rrc_ppw_durationOfPRS_Processing2_r17 = -1;  /* T_ppw_durationOfPRS_Processing2_r17 */
static int hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsN2_r17 = -1;  /* T_ppw_durationOfPRS_ProcessingSymbolsN2_r17 */
static int hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsT2_r17 = -1;  /* T_ppw_durationOfPRS_ProcessingSymbolsT2_r17 */
static int hf_nr_rrc_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17 = -1;  /* T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17 */
static int hf_nr_rrc_scs15_r17_02 = -1;           /* T_scs15_r17_01 */
static int hf_nr_rrc_scs30_r17_02 = -1;           /* T_scs30_r17_01 */
static int hf_nr_rrc_scs60_r17_02 = -1;           /* T_scs60_r17_01 */
static int hf_nr_rrc_scs120_r17_02 = -1;          /* T_scs120_r17_01 */
static int hf_nr_rrc_ppw_maxNumOfDL_Bandwidth_r17 = -1;  /* T_ppw_maxNumOfDL_Bandwidth_r17 */
static int hf_nr_rrc_fr1_r17_02 = -1;             /* T_fr1_r17_02 */
static int hf_nr_rrc_fr2_r17_02 = -1;             /* T_fr2_r17_02 */
static int hf_nr_rrc_supportOfRedCap_r17 = -1;    /* T_supportOfRedCap_r17 */
static int hf_nr_rrc_supportOf16DRB_RedCap_r17 = -1;  /* T_supportOf16DRB_RedCap_r17 */
static int hf_nr_rrc_ncd_SSB_ForRedCapInitialBWP_SDT_r17 = -1;  /* T_ncd_SSB_ForRedCapInitialBWP_SDT_r17 */
static int hf_nr_rrc_supportedBandListNR = -1;    /* SEQUENCE_SIZE_1_maxBands_OF_BandNR */
static int hf_nr_rrc_supportedBandListNR_item = -1;  /* BandNR */
static int hf_nr_rrc_supportedBandCombinationList = -1;  /* BandCombinationList */
static int hf_nr_rrc_appliedFreqBandListFilter = -1;  /* FreqBandList */
static int hf_nr_rrc_supportedBandCombinationList_v1540 = -1;  /* BandCombinationList_v1540 */
static int hf_nr_rrc_srs_SwitchingTimeRequested = -1;  /* T_srs_SwitchingTimeRequested */
static int hf_nr_rrc_supportedBandCombinationList_v1550 = -1;  /* BandCombinationList_v1550 */
static int hf_nr_rrc_supportedBandCombinationList_v1560 = -1;  /* BandCombinationList_v1560 */
static int hf_nr_rrc_supportedBandCombinationList_v1610 = -1;  /* BandCombinationList_v1610 */
static int hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_r16 = -1;  /* BandCombinationListSidelinkEUTRA_NR_r16 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_r16 = -1;  /* BandCombinationList_UplinkTxSwitch_r16 */
static int hf_nr_rrc_supportedBandCombinationList_v1630 = -1;  /* BandCombinationList_v1630 */
static int hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_v1630 = -1;  /* BandCombinationListSidelinkEUTRA_NR_v1630 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1630 = -1;  /* BandCombinationList_UplinkTxSwitch_v1630 */
static int hf_nr_rrc_supportedBandCombinationList_v1640 = -1;  /* BandCombinationList_v1640 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1640 = -1;  /* BandCombinationList_UplinkTxSwitch_v1640 */
static int hf_nr_rrc_supportedBandCombinationList_v1650 = -1;  /* BandCombinationList_v1650 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1650 = -1;  /* BandCombinationList_UplinkTxSwitch_v1650 */
static int hf_nr_rrc_extendedBand_n77_r16 = -1;   /* T_extendedBand_n77_r16 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1670 = -1;  /* BandCombinationList_UplinkTxSwitch_v1670 */
static int hf_nr_rrc_supportedBandCombinationList_v1680 = -1;  /* BandCombinationList_v1680 */
static int hf_nr_rrc_supportedBandCombinationList_v1690 = -1;  /* BandCombinationList_v1690 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1690 = -1;  /* BandCombinationList_UplinkTxSwitch_v1690 */
static int hf_nr_rrc_supportedBandCombinationList_v1700 = -1;  /* BandCombinationList_v1700 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1700 = -1;  /* BandCombinationList_UplinkTxSwitch_v1700 */
static int hf_nr_rrc_supportedBandCombinationListSL_RelayDiscovery_r17 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_supportedBandCombinationListSL_NonRelayDiscovery_r17 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_v1710 = -1;  /* BandCombinationListSidelinkEUTRA_NR_v1710 */
static int hf_nr_rrc_sidelinkRequested_r17 = -1;  /* T_sidelinkRequested_r17 */
static int hf_nr_rrc_extendedBand_n77_2_r17 = -1;  /* T_extendedBand_n77_2_r17 */
static int hf_nr_rrc_supportedBandCombinationList_v1720 = -1;  /* BandCombinationList_v1720 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1720 = -1;  /* BandCombinationList_UplinkTxSwitch_v1720 */
static int hf_nr_rrc_supportedBandCombinationList_v1730 = -1;  /* BandCombinationList_v1730 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1730 = -1;  /* BandCombinationList_UplinkTxSwitch_v1730 */
static int hf_nr_rrc_supportedBandCombinationListSL_RelayDiscovery_v1730 = -1;  /* BandCombinationListSL_Discovery_r17 */
static int hf_nr_rrc_supportedBandCombinationListSL_NonRelayDiscovery_v1730 = -1;  /* BandCombinationListSL_Discovery_r17 */
static int hf_nr_rrc_supportedBandCombinationList_v1740 = -1;  /* BandCombinationList_v1740 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1740 = -1;  /* BandCombinationList_UplinkTxSwitch_v1740 */
static int hf_nr_rrc_supportedBandCombinationList_v15g0 = -1;  /* BandCombinationList_v15g0 */
static int hf_nr_rrc_supportedBandCombinationList_v16a0 = -1;  /* BandCombinationList_v16a0 */
static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v16a0 = -1;  /* BandCombinationList_UplinkTxSwitch_v16a0 */
static int hf_nr_rrc_supportedBandListNR_v16c0 = -1;  /* SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0 */
static int hf_nr_rrc_supportedBandListNR_v16c0_item = -1;  /* BandNR_v16c0 */
static int hf_nr_rrc_modifiedMPR_Behaviour = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_mimo_ParametersPerBand = -1;  /* MIMO_ParametersPerBand */
static int hf_nr_rrc_extendedCP = -1;             /* T_extendedCP */
static int hf_nr_rrc_multipleTCI = -1;            /* T_multipleTCI */
static int hf_nr_rrc_bwp_WithoutRestriction = -1;  /* T_bwp_WithoutRestriction */
static int hf_nr_rrc_bwp_SameNumerology = -1;     /* T_bwp_SameNumerology */
static int hf_nr_rrc_bwp_DiffNumerology = -1;     /* T_bwp_DiffNumerology */
static int hf_nr_rrc_crossCarrierScheduling_SameSCS = -1;  /* T_crossCarrierScheduling_SameSCS */
static int hf_nr_rrc_pdsch_256QAM_FR2 = -1;       /* T_pdsch_256QAM_FR2 */
static int hf_nr_rrc_pusch_256QAM = -1;           /* T_pusch_256QAM */
static int hf_nr_rrc_ue_PowerClass = -1;          /* T_ue_PowerClass */
static int hf_nr_rrc_rateMatchingLTE_CRS = -1;    /* T_rateMatchingLTE_CRS */
static int hf_nr_rrc_channelBWs_DL = -1;          /* T_channelBWs_DL */
static int hf_nr_rrc_fr1 = -1;                    /* T_fr1 */
static int hf_nr_rrc_bandNR_channelBWs_DL_fr1_scs_15kHz = -1;  /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_scs_30kHz_08 = -1;           /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_bandNR_channelBWs_DL_fr1_scs_60kHz = -1;  /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_fr2 = -1;                    /* T_fr2 */
static int hf_nr_rrc_bandNR_channelBWs_DL_fr2_scs_60kHz = -1;  /* BIT_STRING_SIZE_3 */
static int hf_nr_rrc_bandNR_channelBWs_DL_fr2_scs_120kHz = -1;  /* BIT_STRING_SIZE_3 */
static int hf_nr_rrc_channelBWs_UL = -1;          /* T_channelBWs_UL */
static int hf_nr_rrc_fr1_01 = -1;                 /* T_fr1_01 */
static int hf_nr_rrc_bandNR_channelBWs_UL_fr1_scs_15kHz = -1;  /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_bandNR_channelBWs_UL_fr1_scs_60kHz = -1;  /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_fr2_01 = -1;                 /* T_fr2_01 */
static int hf_nr_rrc_bandNR_channelBWs_UL_fr2_scs_60kHz = -1;  /* BIT_STRING_SIZE_3 */
static int hf_nr_rrc_bandNR_channelBWs_UL_fr2_scs_120kHz = -1;  /* BIT_STRING_SIZE_3 */
static int hf_nr_rrc_maxUplinkDutyCycle_PC2_FR1 = -1;  /* T_maxUplinkDutyCycle_PC2_FR1 */
static int hf_nr_rrc_pucch_SpatialRelInfoMAC_CE = -1;  /* T_pucch_SpatialRelInfoMAC_CE */
static int hf_nr_rrc_powerBoosting_pi2BPSK = -1;  /* T_powerBoosting_pi2BPSK */
static int hf_nr_rrc_maxUplinkDutyCycle_FR2 = -1;  /* T_maxUplinkDutyCycle_FR2 */
static int hf_nr_rrc_channelBWs_DL_v1590 = -1;    /* T_channelBWs_DL_v1590 */
static int hf_nr_rrc_fr1_02 = -1;                 /* T_fr1_02 */
static int hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr1_scs_15kHz = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_scs_30kHz_09 = -1;           /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr1_scs_60kHz = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_fr2_02 = -1;                 /* T_fr2_02 */
static int hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr2_scs_60kHz = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr2_scs_120kHz = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_channelBWs_UL_v1590 = -1;    /* T_channelBWs_UL_v1590 */
static int hf_nr_rrc_fr1_03 = -1;                 /* T_fr1_03 */
static int hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr1_scs_15kHz = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr1_scs_60kHz = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_fr2_03 = -1;                 /* T_fr2_03 */
static int hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr2_scs_60kHz = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr2_scs_120kHz = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_asymmetricBandwidthCombinationSet = -1;  /* BIT_STRING_SIZE_1_32 */
static int hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_r16 = -1;  /* SharedSpectrumChAccessParamsPerBand_r16 */
static int hf_nr_rrc_cancelOverlappingPUSCH_r16 = -1;  /* T_cancelOverlappingPUSCH_r16 */
static int hf_nr_rrc_multipleRateMatchingEUTRA_CRS_r16 = -1;  /* T_multipleRateMatchingEUTRA_CRS_r16 */
static int hf_nr_rrc_maxNumberPatterns_r16 = -1;  /* INTEGER_2_6 */
static int hf_nr_rrc_maxNumberNon_OverlapPatterns_r16 = -1;  /* INTEGER_1_3 */
static int hf_nr_rrc_overlapRateMatchingEUTRA_CRS_r16 = -1;  /* T_overlapRateMatchingEUTRA_CRS_r16 */
static int hf_nr_rrc_pdsch_MappingTypeB_Alt_r16 = -1;  /* T_pdsch_MappingTypeB_Alt_r16 */
static int hf_nr_rrc_oneSlotPeriodicTRS_r16 = -1;  /* T_oneSlotPeriodicTRS_r16 */
static int hf_nr_rrc_olpc_SRS_Pos_r16 = -1;       /* OLPC_SRS_Pos_r16 */
static int hf_nr_rrc_spatialRelationsSRS_Pos_r16 = -1;  /* SpatialRelationsSRS_Pos_r16 */
static int hf_nr_rrc_simulSRS_MIMO_TransWithinBand_r16 = -1;  /* T_simulSRS_MIMO_TransWithinBand_r16 */
static int hf_nr_rrc_channelBW_DL_IAB_r16 = -1;   /* T_channelBW_DL_IAB_r16 */
static int hf_nr_rrc_fr1_100mhz = -1;             /* T_fr1_100mhz */
static int hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz = -1;  /* T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz */
static int hf_nr_rrc_scs_30kHz_10 = -1;           /* T_scs_30kHz_05 */
static int hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz = -1;  /* T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz */
static int hf_nr_rrc_fr2_200mhz = -1;             /* T_fr2_200mhz */
static int hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz = -1;  /* T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz */
static int hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz = -1;  /* T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz */
static int hf_nr_rrc_channelBW_UL_IAB_r16 = -1;   /* T_channelBW_UL_IAB_r16 */
static int hf_nr_rrc_fr1_100mhz_01 = -1;          /* T_fr1_100mhz_01 */
static int hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz = -1;  /* T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz */
static int hf_nr_rrc_scs_30kHz_11 = -1;           /* T_scs_30kHz_06 */
static int hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz = -1;  /* T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz */
static int hf_nr_rrc_fr2_200mhz_01 = -1;          /* T_fr2_200mhz_01 */
static int hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz = -1;  /* T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz */
static int hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz = -1;  /* T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz */
static int hf_nr_rrc_rasterShift7dot5_IAB_r16 = -1;  /* T_rasterShift7dot5_IAB_r16 */
static int hf_nr_rrc_ue_PowerClass_v1610 = -1;    /* T_ue_PowerClass_v1610 */
static int hf_nr_rrc_condHandover_r16 = -1;       /* T_condHandover_r16 */
static int hf_nr_rrc_condHandoverFailure_r16 = -1;  /* T_condHandoverFailure_r16 */
static int hf_nr_rrc_condHandoverTwoTriggerEvents_r16 = -1;  /* T_condHandoverTwoTriggerEvents_r16 */
static int hf_nr_rrc_condPSCellChange_r16 = -1;   /* T_condPSCellChange_r16 */
static int hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16 = -1;  /* T_condPSCellChangeTwoTriggerEvents_r16 */
static int hf_nr_rrc_mpr_PowerBoost_FR2_r16_01 = -1;  /* T_mpr_PowerBoost_FR2_r16_01 */
static int hf_nr_rrc_activeConfiguredGrant_r16 = -1;  /* T_activeConfiguredGrant_r16 */
static int hf_nr_rrc_maxNumberConfigsPerBWP_r16 = -1;  /* T_maxNumberConfigsPerBWP_r16 */
static int hf_nr_rrc_maxNumberConfigsAllCC_r16 = -1;  /* INTEGER_2_32 */
static int hf_nr_rrc_jointReleaseConfiguredGrantType2_r16 = -1;  /* T_jointReleaseConfiguredGrantType2_r16 */
static int hf_nr_rrc_sps_r16 = -1;                /* T_sps_r16 */
static int hf_nr_rrc_maxNumberConfigsPerBWP_r16_01 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_jointReleaseSPS_r16 = -1;    /* T_jointReleaseSPS_r16 */
static int hf_nr_rrc_simulSRS_TransWithinBand_r16 = -1;  /* T_simulSRS_TransWithinBand_r16 */
static int hf_nr_rrc_trs_AdditionalBandwidth_r16 = -1;  /* T_trs_AdditionalBandwidth_r16 */
static int hf_nr_rrc_handoverIntraF_IAB_r16 = -1;  /* T_handoverIntraF_IAB_r16 */
static int hf_nr_rrc_simulTX_SRS_AntSwitchingIntraBandUL_CA_r16 = -1;  /* SimulSRS_ForAntennaSwitching_r16 */
static int hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1630 = -1;  /* SharedSpectrumChAccessParamsPerBand_v1630 */
static int hf_nr_rrc_handoverUTRA_FDD_r16 = -1;   /* T_handoverUTRA_FDD_r16 */
static int hf_nr_rrc_enhancedUL_TransientPeriod_r16 = -1;  /* T_enhancedUL_TransientPeriod_r16 */
static int hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1640 = -1;  /* SharedSpectrumChAccessParamsPerBand_v1640 */
static int hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots_v1650 = -1;  /* T_type1_PUSCH_RepetitionMultiSlots_v1650 */
static int hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots_v1650 = -1;  /* T_type2_PUSCH_RepetitionMultiSlots_v1650 */
static int hf_nr_rrc_pusch_RepetitionMultiSlots_v1650 = -1;  /* T_pusch_RepetitionMultiSlots_v1650 */
static int hf_nr_rrc_configuredUL_GrantType1_v1650 = -1;  /* T_configuredUL_GrantType1_v1650 */
static int hf_nr_rrc_configuredUL_GrantType2_v1650 = -1;  /* T_configuredUL_GrantType2_v1650 */
static int hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1650 = -1;  /* SharedSpectrumChAccessParamsPerBand_v1650 */
static int hf_nr_rrc_enhancedSkipUplinkTxConfigured_v1660 = -1;  /* T_enhancedSkipUplinkTxConfigured_v1660 */
static int hf_nr_rrc_enhancedSkipUplinkTxDynamic_v1660 = -1;  /* T_enhancedSkipUplinkTxDynamic_v1660 */
static int hf_nr_rrc_maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16 = -1;  /* T_maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16 */
static int hf_nr_rrc_txDiversity_r16 = -1;        /* T_txDiversity_r16 */
static int hf_nr_rrc_pdsch_1024QAM_FR1_r17 = -1;  /* T_pdsch_1024QAM_FR1_r17 */
static int hf_nr_rrc_ue_PowerClass_v1700 = -1;    /* T_ue_PowerClass_v1700 */
static int hf_nr_rrc_fr2_2_AccessParamsPerBand_r17 = -1;  /* FR2_2_AccessParamsPerBand_r17 */
static int hf_nr_rrc_rlm_Relaxation_r17 = -1;     /* T_rlm_Relaxation_r17 */
static int hf_nr_rrc_bfd_Relaxation_r17 = -1;     /* T_bfd_Relaxation_r17 */
static int hf_nr_rrc_cg_SDT_r17 = -1;             /* T_cg_SDT_r17 */
static int hf_nr_rrc_locationBasedCondHandover_r17 = -1;  /* T_locationBasedCondHandover_r17 */
static int hf_nr_rrc_timeBasedCondHandover_r17 = -1;  /* T_timeBasedCondHandover_r17 */
static int hf_nr_rrc_eventA4BasedCondHandover_r17 = -1;  /* T_eventA4BasedCondHandover_r17 */
static int hf_nr_rrc_mn_InitiatedCondPSCellChangeNRDC_r17 = -1;  /* T_mn_InitiatedCondPSCellChangeNRDC_r17 */
static int hf_nr_rrc_sn_InitiatedCondPSCellChangeNRDC_r17 = -1;  /* T_sn_InitiatedCondPSCellChangeNRDC_r17 */
static int hf_nr_rrc_pdcch_SkippingWithoutSSSG_r17 = -1;  /* T_pdcch_SkippingWithoutSSSG_r17 */
static int hf_nr_rrc_sssg_Switching_1BitInd_r17 = -1;  /* T_sssg_Switching_1BitInd_r17 */
static int hf_nr_rrc_sssg_Switching_2BitInd_r17 = -1;  /* T_sssg_Switching_2BitInd_r17 */
static int hf_nr_rrc_pdcch_SkippingWithSSSG_r17 = -1;  /* T_pdcch_SkippingWithSSSG_r17 */
static int hf_nr_rrc_searchSpaceSetGrp_switchCap2_r17 = -1;  /* T_searchSpaceSetGrp_switchCap2_r17 */
static int hf_nr_rrc_uplinkPreCompensation_r17 = -1;  /* T_uplinkPreCompensation_r17 */
static int hf_nr_rrc_uplink_TA_Reporting_r17 = -1;  /* T_uplink_TA_Reporting_r17 */
static int hf_nr_rrc_max_HARQ_ProcessNumber_r17 = -1;  /* T_max_HARQ_ProcessNumber_r17 */
static int hf_nr_rrc_type2_HARQ_Codebook_r17 = -1;  /* T_type2_HARQ_Codebook_r17 */
static int hf_nr_rrc_type1_HARQ_Codebook_r17 = -1;  /* T_type1_HARQ_Codebook_r17 */
static int hf_nr_rrc_type3_HARQ_Codebook_r17 = -1;  /* T_type3_HARQ_Codebook_r17 */
static int hf_nr_rrc_ue_specific_K_Offset_r17 = -1;  /* T_ue_specific_K_Offset_r17 */
static int hf_nr_rrc_multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17 = -1;  /* T_multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17 */
static int hf_nr_rrc_multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17 = -1;  /* T_multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17 */
static int hf_nr_rrc_parallelPRS_MeasRRC_Inactive_r17 = -1;  /* T_parallelPRS_MeasRRC_Inactive_r17 */
static int hf_nr_rrc_nr_UE_TxTEG_ID_MaxSupport_r17 = -1;  /* T_nr_UE_TxTEG_ID_MaxSupport_r17 */
static int hf_nr_rrc_prs_ProcessingRRC_Inactive_r17 = -1;  /* T_prs_ProcessingRRC_Inactive_r17 */
static int hf_nr_rrc_prs_ProcessingWindowType1A_r17 = -1;  /* T_prs_ProcessingWindowType1A_r17 */
static int hf_nr_rrc_prs_ProcessingWindowType1B_r17 = -1;  /* T_prs_ProcessingWindowType1B_r17 */
static int hf_nr_rrc_prs_ProcessingWindowType2_r17 = -1;  /* T_prs_ProcessingWindowType2_r17 */
static int hf_nr_rrc_srs_AllPosResourcesRRC_Inactive_r17 = -1;  /* SRS_AllPosResourcesRRC_Inactive_r17 */
static int hf_nr_rrc_olpc_SRS_PosRRC_Inactive_r17 = -1;  /* OLPC_SRS_Pos_r16 */
static int hf_nr_rrc_spatialRelationsSRS_PosRRC_Inactive_r17 = -1;  /* SpatialRelationsSRS_Pos_r16 */
static int hf_nr_rrc_maxNumberPUSCH_TypeA_Repetition_r17 = -1;  /* T_maxNumberPUSCH_TypeA_Repetition_r17 */
static int hf_nr_rrc_puschTypeA_RepetitionsAvailSlot_r17 = -1;  /* T_puschTypeA_RepetitionsAvailSlot_r17 */
static int hf_nr_rrc_tb_ProcessingMultiSlotPUSCH_r17 = -1;  /* T_tb_ProcessingMultiSlotPUSCH_r17 */
static int hf_nr_rrc_tb_ProcessingRepMultiSlotPUSCH_r17 = -1;  /* T_tb_ProcessingRepMultiSlotPUSCH_r17 */
static int hf_nr_rrc_maxDurationDMRS_Bundling_r17 = -1;  /* T_maxDurationDMRS_Bundling_r17 */
static int hf_nr_rrc_fdd_r17 = -1;                /* T_fdd_r17 */
static int hf_nr_rrc_tdd_r17 = -1;                /* T_tdd_r17 */
static int hf_nr_rrc_pusch_RepetitionMsg3_r17 = -1;  /* T_pusch_RepetitionMsg3_r17 */
static int hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1710 = -1;  /* SharedSpectrumChAccessParamsPerBand_v1710 */
static int hf_nr_rrc_parallelMeasurementWithoutRestriction_r17 = -1;  /* T_parallelMeasurementWithoutRestriction_r17 */
static int hf_nr_rrc_maxNumber_NGSO_SatellitesWithinOneSMTC_r17 = -1;  /* T_maxNumber_NGSO_SatellitesWithinOneSMTC_r17 */
static int hf_nr_rrc_k1_RangeExtension_r17 = -1;  /* T_k1_RangeExtension_r17 */
static int hf_nr_rrc_aperiodicCSI_RS_FastScellActivation_r17 = -1;  /* T_aperiodicCSI_RS_FastScellActivation_r17 */
static int hf_nr_rrc_maxNumberAperiodicCSI_RS_PerCC_r17 = -1;  /* T_maxNumberAperiodicCSI_RS_PerCC_r17 */
static int hf_nr_rrc_maxNumberAperiodicCSI_RS_AcrossCCs_r17 = -1;  /* T_maxNumberAperiodicCSI_RS_AcrossCCs_r17 */
static int hf_nr_rrc_aperiodicCSI_RS_AdditionalBandwidth_r17 = -1;  /* T_aperiodicCSI_RS_AdditionalBandwidth_r17 */
static int hf_nr_rrc_bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17 = -1;  /* T_bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17 */
static int hf_nr_rrc_halfDuplexFDD_TypeA_RedCap_r17_01 = -1;  /* T_halfDuplexFDD_TypeA_RedCap_r17 */
static int hf_nr_rrc_posSRS_RRC_Inactive_OutsideInitialUL_BWP_r17 = -1;  /* PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17 */
static int hf_nr_rrc_channelBWs_DL_SCS_480kHz_FR2_2_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_channelBWs_UL_SCS_480kHz_FR2_2_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_channelBWs_DL_SCS_960kHz_FR2_2_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_channelBWs_UL_SCS_960kHz_FR2_2_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_ul_GapFR2_r17 = -1;          /* T_ul_GapFR2_r17 */
static int hf_nr_rrc_oneShotHARQ_feedbackTriggeredByDCI_1_2_r17 = -1;  /* T_oneShotHARQ_feedbackTriggeredByDCI_1_2_r17 */
static int hf_nr_rrc_oneShotHARQ_feedbackPhy_Priority_r17 = -1;  /* T_oneShotHARQ_feedbackPhy_Priority_r17 */
static int hf_nr_rrc_enhancedType3_HARQ_CodebookFeedback_r17 = -1;  /* T_enhancedType3_HARQ_CodebookFeedback_r17 */
static int hf_nr_rrc_enhancedType3_HARQ_Codebooks_r17 = -1;  /* T_enhancedType3_HARQ_Codebooks_r17 */
static int hf_nr_rrc_maxNumberPUCCH_Transmissions_r17 = -1;  /* T_maxNumberPUCCH_Transmissions_r17 */
static int hf_nr_rrc_triggeredHARQ_CodebookRetx_r17 = -1;  /* T_triggeredHARQ_CodebookRetx_r17 */
static int hf_nr_rrc_minHARQ_Retx_Offset_r17 = -1;  /* T_minHARQ_Retx_Offset_r17 */
static int hf_nr_rrc_maxHARQ_Retx_Offset_r17 = -1;  /* T_maxHARQ_Retx_Offset_r17 */
static int hf_nr_rrc_ue_OneShotUL_TimingAdj_r17 = -1;  /* T_ue_OneShotUL_TimingAdj_r17 */
static int hf_nr_rrc_pucch_Repetition_F0_2_r17 = -1;  /* T_pucch_Repetition_F0_2_r17 */
static int hf_nr_rrc_cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17 = -1;  /* T_cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17 */
static int hf_nr_rrc_mux_HARQ_ACK_DiffPriorities_r17 = -1;  /* T_mux_HARQ_ACK_DiffPriorities_r17 */
static int hf_nr_rrc_ta_BasedPDC_NTN_SharedSpectrumChAccess_r17 = -1;  /* T_ta_BasedPDC_NTN_SharedSpectrumChAccess_r17 */
static int hf_nr_rrc_ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17 = -1;  /* T_ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17 */
static int hf_nr_rrc_maxNumberG_RNTI_r17 = -1;    /* INTEGER_2_8 */
static int hf_nr_rrc_dynamicMulticastDCI_Format4_2_r17 = -1;  /* T_dynamicMulticastDCI_Format4_2_r17 */
static int hf_nr_rrc_maxModulationOrderForMulticast_r17 = -1;  /* T_maxModulationOrderForMulticast_r17 */
static int hf_nr_rrc_fr1_r17_03 = -1;             /* T_fr1_r17_03 */
static int hf_nr_rrc_fr2_r17_03 = -1;             /* T_fr2_r17_03 */
static int hf_nr_rrc_dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17 = -1;  /* T_dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17 */
static int hf_nr_rrc_dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17 = -1;  /* T_dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17 */
static int hf_nr_rrc_nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17 = -1;  /* T_nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17 */
static int hf_nr_rrc_ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17 = -1;  /* T_ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17 */
static int hf_nr_rrc_maxNumberG_CS_RNTI_r17 = -1;  /* INTEGER_2_8 */
static int hf_nr_rrc_re_LevelRateMatchingForMulticast_r17 = -1;  /* T_re_LevelRateMatchingForMulticast_r17 */
static int hf_nr_rrc_pdsch_1024QAM_2MIMO_FR1_r17 = -1;  /* T_pdsch_1024QAM_2MIMO_FR1_r17 */
static int hf_nr_rrc_prs_MeasurementWithoutMG_r17 = -1;  /* T_prs_MeasurementWithoutMG_r17 */
static int hf_nr_rrc_maxNumber_LEO_SatellitesPerCarrier_r17 = -1;  /* INTEGER_3_4 */
static int hf_nr_rrc_prs_ProcessingCapabilityOutsideMGinPPW_r17 = -1;  /* SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 */
static int hf_nr_rrc_prs_ProcessingCapabilityOutsideMGinPPW_r17_item = -1;  /* PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 */
static int hf_nr_rrc_srs_SemiPersistent_PosResourcesRRC_Inactive_r17 = -1;  /* T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17 */
static int hf_nr_rrc_maxNumOfSemiPersistentSRSposResources_r17_01 = -1;  /* T_maxNumOfSemiPersistentSRSposResources_r17_01 */
static int hf_nr_rrc_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01 = -1;  /* T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01 */
static int hf_nr_rrc_channelBWs_DL_SCS_120kHz_FR2_2_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_channelBWs_UL_SCS_120kHz_FR2_2_r17 = -1;  /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeA_r17 = -1;  /* T_dmrs_BundlingPUSCH_RepTypeA_r17 */
static int hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeB_r17 = -1;  /* T_dmrs_BundlingPUSCH_RepTypeB_r17 */
static int hf_nr_rrc_dmrs_BundlingPUSCH_multiSlot_r17 = -1;  /* T_dmrs_BundlingPUSCH_multiSlot_r17 */
static int hf_nr_rrc_dmrs_BundlingPUCCH_Rep_r17 = -1;  /* T_dmrs_BundlingPUCCH_Rep_r17 */
static int hf_nr_rrc_interSlotFreqHopInterSlotBundlingPUSCH_r17 = -1;  /* T_interSlotFreqHopInterSlotBundlingPUSCH_r17 */
static int hf_nr_rrc_interSlotFreqHopPUCCH_r17 = -1;  /* T_interSlotFreqHopPUCCH_r17 */
static int hf_nr_rrc_dmrs_BundlingRestart_r17 = -1;  /* T_dmrs_BundlingRestart_r17 */
static int hf_nr_rrc_dmrs_BundlingNonBackToBackTX_r17 = -1;  /* T_dmrs_BundlingNonBackToBackTX_r17 */
static int hf_nr_rrc_maxDynamicSlotRepetitionForSPS_Multicast_r17 = -1;  /* T_maxDynamicSlotRepetitionForSPS_Multicast_r17 */
static int hf_nr_rrc_nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17 = -1;  /* T_nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17 */
static int hf_nr_rrc_sps_MulticastDCI_Format4_2_r17 = -1;  /* T_sps_MulticastDCI_Format4_2_r17 */
static int hf_nr_rrc_sps_MulticastMultiConfig_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_priorityIndicatorInDCI_Multicast_r17 = -1;  /* T_priorityIndicatorInDCI_Multicast_r17 */
static int hf_nr_rrc_priorityIndicatorInDCI_SPS_Multicast_r17 = -1;  /* T_priorityIndicatorInDCI_SPS_Multicast_r17 */
static int hf_nr_rrc_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17 = -1;  /* T_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17 */
static int hf_nr_rrc_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17 = -1;  /* T_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17 */
static int hf_nr_rrc_releaseSPS_MulticastWithCS_RNTI_r17 = -1;  /* T_releaseSPS_MulticastWithCS_RNTI_r17 */
static int hf_nr_rrc_pusch_RepetitionTypeA_v16c0 = -1;  /* T_pusch_RepetitionTypeA_v16c0 */
static int hf_nr_rrc_srs_SwitchingTimeRequested_01 = -1;  /* T_srs_SwitchingTimeRequested_01 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only = -1;  /* BandCombinationList */
static int hf_nr_rrc_supportedBandCombinationList_v1570 = -1;  /* BandCombinationList_v1570 */
static int hf_nr_rrc_supportedBandCombinationList_v1580 = -1;  /* BandCombinationList_v1580 */
static int hf_nr_rrc_supportedBandCombinationList_v1590 = -1;  /* BandCombinationList_v1590 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15a0 = -1;  /* T_supportedBandCombinationListNEDC_Only_v15a0 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1610 = -1;  /* BandCombinationList_v1610 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1630 = -1;  /* BandCombinationList_v1630 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1640 = -1;  /* BandCombinationList_v1640 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1720 = -1;  /* T_supportedBandCombinationListNEDC_Only_v1720 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1730 = -1;  /* BandCombinationList_v1730 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1740 = -1;  /* BandCombinationList_v1740 */
static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15g0 = -1;  /* BandCombinationList_v15g0 */
static int hf_nr_rrc_am_WithShortSN = -1;         /* T_am_WithShortSN */
static int hf_nr_rrc_um_WithShortSN = -1;         /* T_um_WithShortSN */
static int hf_nr_rrc_um_WithLongSN = -1;          /* T_um_WithLongSN */
static int hf_nr_rrc_extendedT_PollRetransmit_r16 = -1;  /* T_extendedT_PollRetransmit_r16 */
static int hf_nr_rrc_extendedT_StatusProhibit_r16 = -1;  /* T_extendedT_StatusProhibit_r16 */
static int hf_nr_rrc_am_WithLongSN_RedCap_r17 = -1;  /* T_am_WithLongSN_RedCap_r17 */
static int hf_nr_rrc_as_ReflectiveQoS = -1;       /* T_as_ReflectiveQoS */
static int hf_nr_rrc_sdap_QOS_IAB_r16 = -1;       /* T_sdap_QOS_IAB_r16 */
static int hf_nr_rrc_sdapHeaderIAB_r16 = -1;      /* T_sdapHeaderIAB_r16 */
static int hf_nr_rrc_sidelinkParametersNR_r16 = -1;  /* SidelinkParametersNR_r16 */
static int hf_nr_rrc_sidelinkParametersEUTRA_r16 = -1;  /* SidelinkParametersEUTRA_r16 */
static int hf_nr_rrc_rlc_ParametersSidelink_r16 = -1;  /* RLC_ParametersSidelink_r16 */
static int hf_nr_rrc_mac_ParametersSidelink_r16 = -1;  /* MAC_ParametersSidelink_r16 */
static int hf_nr_rrc_fdd_Add_UE_Sidelink_Capabilities_r16 = -1;  /* UE_SidelinkCapabilityAddXDD_Mode_r16 */
static int hf_nr_rrc_tdd_Add_UE_Sidelink_Capabilities_r16 = -1;  /* UE_SidelinkCapabilityAddXDD_Mode_r16 */
static int hf_nr_rrc_supportedBandListSidelink_r16 = -1;  /* SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16 */
static int hf_nr_rrc_supportedBandListSidelink_r16_item = -1;  /* BandSidelink_r16 */
static int hf_nr_rrc_relayParameters_r17 = -1;    /* RelayParameters_r17 */
static int hf_nr_rrc_p0_OLPC_Sidelink_r17 = -1;   /* T_p0_OLPC_Sidelink_r17 */
static int hf_nr_rrc_sl_ParametersEUTRA1_r16 = -1;  /* T_sl_ParametersEUTRA1_r16 */
static int hf_nr_rrc_sl_ParametersEUTRA2_r16 = -1;  /* T_sl_ParametersEUTRA2_r16 */
static int hf_nr_rrc_sl_ParametersEUTRA3_r16 = -1;  /* T_sl_ParametersEUTRA3_r16 */
static int hf_nr_rrc_supportedBandListSidelinkEUTRA_r16 = -1;  /* SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16 */
static int hf_nr_rrc_supportedBandListSidelinkEUTRA_r16_item = -1;  /* BandSidelinkEUTRA_r16 */
static int hf_nr_rrc_am_WithLongSN_Sidelink_r16 = -1;  /* T_am_WithLongSN_Sidelink_r16 */
static int hf_nr_rrc_um_WithLongSN_Sidelink_r16 = -1;  /* T_um_WithLongSN_Sidelink_r16 */
static int hf_nr_rrc_mac_ParametersSidelinkCommon_r16 = -1;  /* MAC_ParametersSidelinkCommon_r16 */
static int hf_nr_rrc_mac_ParametersSidelinkXDD_Diff_r16 = -1;  /* MAC_ParametersSidelinkXDD_Diff_r16 */
static int hf_nr_rrc_lcp_RestrictionSidelink_r16 = -1;  /* T_lcp_RestrictionSidelink_r16 */
static int hf_nr_rrc_multipleConfiguredGrantsSidelink_r16 = -1;  /* T_multipleConfiguredGrantsSidelink_r16 */
static int hf_nr_rrc_drx_OnSidelink_r17 = -1;     /* T_drx_OnSidelink_r17 */
static int hf_nr_rrc_multipleSR_ConfigurationsSidelink_r16 = -1;  /* T_multipleSR_ConfigurationsSidelink_r16 */
static int hf_nr_rrc_logicalChannelSR_DelayTimerSidelink_r16 = -1;  /* T_logicalChannelSR_DelayTimerSidelink_r16 */
static int hf_nr_rrc_freqBandSidelinkEUTRA_r16 = -1;  /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_gnb_ScheduledMode3SidelinkEUTRA_r16 = -1;  /* T_gnb_ScheduledMode3SidelinkEUTRA_r16 */
static int hf_nr_rrc_gnb_ScheduledMode3DelaySidelinkEUTRA_r16 = -1;  /* T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16 */
static int hf_nr_rrc_gnb_ScheduledMode4SidelinkEUTRA_r16 = -1;  /* T_gnb_ScheduledMode4SidelinkEUTRA_r16 */
static int hf_nr_rrc_sl_Reception_r16 = -1;       /* T_sl_Reception_r16 */
static int hf_nr_rrc_harq_RxProcessSidelink_r16 = -1;  /* T_harq_RxProcessSidelink_r16 */
static int hf_nr_rrc_pscch_RxSidelink_r16 = -1;   /* T_pscch_RxSidelink_r16 */
static int hf_nr_rrc_scs_CP_PatternRxSidelink_r16 = -1;  /* T_scs_CP_PatternRxSidelink_r16 */
static int hf_nr_rrc_fr1_r16 = -1;                /* T_fr1_r16 */
static int hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_30kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_60kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_fr2_r16_01 = -1;             /* T_fr2_r16_01 */
static int hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_60kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_120kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_extendedCP_RxSidelink_r16 = -1;  /* T_extendedCP_RxSidelink_r16 */
static int hf_nr_rrc_sl_TransmissionMode1_r16 = -1;  /* T_sl_TransmissionMode1_r16 */
static int hf_nr_rrc_harq_TxProcessModeOneSidelink_r16 = -1;  /* T_harq_TxProcessModeOneSidelink_r16 */
static int hf_nr_rrc_scs_CP_PatternTxSidelinkModeOne_r16 = -1;  /* T_scs_CP_PatternTxSidelinkModeOne_r16 */
static int hf_nr_rrc_fr1_r16_01 = -1;             /* T_fr1_r16_01 */
static int hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_15kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_30kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_60kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_fr2_r16_02 = -1;             /* T_fr2_r16_02 */
static int hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr2_r16_scs_60kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr2_r16_scs_120kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_extendedCP_TxSidelink_r16 = -1;  /* T_extendedCP_TxSidelink_r16 */
static int hf_nr_rrc_harq_ReportOnPUCCH_r16 = -1;  /* T_harq_ReportOnPUCCH_r16 */
static int hf_nr_rrc_sync_Sidelink_r16 = -1;      /* T_sync_Sidelink_r16 */
static int hf_nr_rrc_gNB_Sync_r16 = -1;           /* T_gNB_Sync_r16 */
static int hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16 = -1;  /* T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16 */
static int hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16 = -1;  /* T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16 */
static int hf_nr_rrc_sl_Tx_256QAM_r16 = -1;       /* T_sl_Tx_256QAM_r16 */
static int hf_nr_rrc_psfch_FormatZeroSidelink_r16 = -1;  /* T_psfch_FormatZeroSidelink_r16 */
static int hf_nr_rrc_psfch_RxNumber = -1;         /* T_psfch_RxNumber */
static int hf_nr_rrc_psfch_TxNumber = -1;         /* T_psfch_TxNumber */
static int hf_nr_rrc_lowSE_64QAM_MCS_TableSidelink_r16 = -1;  /* T_lowSE_64QAM_MCS_TableSidelink_r16 */
static int hf_nr_rrc_enb_sync_Sidelink_r16 = -1;  /* T_enb_sync_Sidelink_r16 */
static int hf_nr_rrc_sl_TransmissionMode2_r16 = -1;  /* T_sl_TransmissionMode2_r16 */
static int hf_nr_rrc_harq_TxProcessModeTwoSidelink_r16 = -1;  /* T_harq_TxProcessModeTwoSidelink_r16 */
static int hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r16 = -1;  /* T_scs_CP_PatternTxSidelinkModeTwo_r16 */
static int hf_nr_rrc_dl_openLoopPC_Sidelink_r16 = -1;  /* T_dl_openLoopPC_Sidelink_r16 */
static int hf_nr_rrc_congestionControlSidelink_r16 = -1;  /* T_congestionControlSidelink_r16 */
static int hf_nr_rrc_cbr_ReportSidelink_r16 = -1;  /* T_cbr_ReportSidelink_r16 */
static int hf_nr_rrc_cbr_CR_TimeLimitSidelink_r16 = -1;  /* T_cbr_CR_TimeLimitSidelink_r16 */
static int hf_nr_rrc_fewerSymbolSlotSidelink_r16 = -1;  /* T_fewerSymbolSlotSidelink_r16 */
static int hf_nr_rrc_sl_openLoopPC_RSRP_ReportSidelink_r16 = -1;  /* T_sl_openLoopPC_RSRP_ReportSidelink_r16 */
static int hf_nr_rrc_sl_Rx_256QAM_r16 = -1;       /* T_sl_Rx_256QAM_r16 */
static int hf_nr_rrc_ue_PowerClassSidelink_r16 = -1;  /* T_ue_PowerClassSidelink_r16 */
static int hf_nr_rrc_sl_TransmissionMode2_RandomResourceSelection_r17 = -1;  /* T_sl_TransmissionMode2_RandomResourceSelection_r17 */
static int hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17_02 = -1;  /* T_harq_TxProcessModeTwoSidelink_r17_02 */
static int hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17_02 = -1;  /* T_scs_CP_PatternTxSidelinkModeTwo_r17_02 */
static int hf_nr_rrc_fr1_r17_04 = -1;             /* T_fr1_r17_04 */
static int hf_nr_rrc_fr2_r17_04 = -1;             /* T_fr2_r17_04 */
static int hf_nr_rrc_extendedCP_Mode2Random_r17 = -1;  /* T_extendedCP_Mode2Random_r17 */
static int hf_nr_rrc_dl_openLoopPC_Sidelink_r17_02 = -1;  /* T_dl_openLoopPC_Sidelink_r17_02 */
static int hf_nr_rrc_sync_Sidelink_v1710 = -1;    /* T_sync_Sidelink_v1710 */
static int hf_nr_rrc_sync_GNSS_r17 = -1;          /* T_sync_GNSS_r17 */
static int hf_nr_rrc_gNB_Sync_r17 = -1;           /* T_gNB_Sync_r17 */
static int hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17 = -1;  /* T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17 */
static int hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17 = -1;  /* T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17 */
static int hf_nr_rrc_enb_sync_Sidelink_v1710 = -1;  /* T_enb_sync_Sidelink_v1710 */
static int hf_nr_rrc_rx_IUC_Scheme1_PreferredMode2Sidelink_r17 = -1;  /* T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17 */
static int hf_nr_rrc_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17 = -1;  /* T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17 */
static int hf_nr_rrc_rx_IUC_Scheme2_Mode2Sidelink_r17 = -1;  /* T_rx_IUC_Scheme2_Mode2Sidelink_r17 */
static int hf_nr_rrc_rx_IUC_Scheme1_SCI_r17 = -1;  /* T_rx_IUC_Scheme1_SCI_r17 */
static int hf_nr_rrc_rx_IUC_Scheme1_SCI_ExplicitReq_r17 = -1;  /* T_rx_IUC_Scheme1_SCI_ExplicitReq_r17 */
static int hf_nr_rrc_relayUE_Operation_L2_r17 = -1;  /* T_relayUE_Operation_L2_r17 */
static int hf_nr_rrc_remoteUE_Operation_L2_r17 = -1;  /* T_remoteUE_Operation_L2_r17 */
static int hf_nr_rrc_remoteUE_PathSwitchToIdleInactiveRelay_r17 = -1;  /* T_remoteUE_PathSwitchToIdleInactiveRelay_r17 */
static int hf_nr_rrc_rach_Report_r16 = -1;        /* T_rach_Report_r16 */
static int hf_nr_rrc_rlfReportCHO_r17 = -1;       /* T_rlfReportCHO_r17 */
static int hf_nr_rrc_rlfReportDAPS_r17 = -1;      /* T_rlfReportDAPS_r17 */
static int hf_nr_rrc_success_HO_Report_r17 = -1;  /* T_success_HO_Report_r17 */
static int hf_nr_rrc_twoStepRACH_Report_r17 = -1;  /* T_twoStepRACH_Report_r17 */
static int hf_nr_rrc_pscell_MHI_Report_r17 = -1;  /* T_pscell_MHI_Report_r17 */
static int hf_nr_rrc_onDemandSI_Report_r17 = -1;  /* T_onDemandSI_Report_r17 */
static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 = -1;  /* T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 */
static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 = -1;  /* T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 */
static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 = -1;  /* T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 */
static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnSRS_r16 = -1;  /* T_spatialRelation_SRS_PosBasedOnSRS_r16 */
static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 = -1;  /* T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 */
static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 = -1;  /* T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 */
static int hf_nr_rrc_srs_PosResourcesRRC_Inactive_r17 = -1;  /* T_srs_PosResourcesRRC_Inactive_r17 */
static int hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r17 = -1;  /* T_maxNumberSRS_PosResourceSetPerBWP_r17 */
static int hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r17 = -1;  /* T_maxNumberSRS_PosResourcesPerBWP_r17 */
static int hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r17 = -1;  /* T_maxNumberSRS_ResourcesPerBWP_PerSlot_r17 */
static int hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r17 = -1;  /* T_maxNumberPeriodicSRS_PosResourcesPerBWP_r17 */
static int hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17 = -1;  /* T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17 */
static int hf_nr_rrc_dummy1_05 = -1;              /* T_dummy1_05 */
static int hf_nr_rrc_dummy2_03 = -1;              /* T_dummy2_03 */
static int hf_nr_rrc_switchingTimeDL = -1;        /* T_switchingTimeDL */
static int hf_nr_rrc_switchingTimeUL = -1;        /* T_switchingTimeUL */
static int hf_nr_rrc_switchingTimeDL_01 = -1;     /* T_switchingTimeDL_01 */
static int hf_nr_rrc_switchingTimeUL_01 = -1;     /* T_switchingTimeUL_01 */
static int hf_nr_rrc_fr1_04 = -1;                 /* T_fr1_04 */
static int hf_nr_rrc_fr2_04 = -1;                 /* T_fr2_04 */
static int hf_nr_rrc_fr1_r17_05 = -1;             /* T_fr1_r17_05 */
static int hf_nr_rrc_fr2_r17_05 = -1;             /* T_fr2_r17_05 */
static int hf_nr_rrc_barometerMeasReport_r16 = -1;  /* T_barometerMeasReport_r16 */
static int hf_nr_rrc_immMeasBT_r16 = -1;          /* T_immMeasBT_r16 */
static int hf_nr_rrc_immMeasWLAN_r16 = -1;        /* T_immMeasWLAN_r16 */
static int hf_nr_rrc_loggedMeasBT_r16 = -1;       /* T_loggedMeasBT_r16 */
static int hf_nr_rrc_loggedMeasurements_r16 = -1;  /* T_loggedMeasurements_r16 */
static int hf_nr_rrc_loggedMeasWLAN_r16 = -1;     /* T_loggedMeasWLAN_r16 */
static int hf_nr_rrc_orientationMeasReport_r16 = -1;  /* T_orientationMeasReport_r16 */
static int hf_nr_rrc_speedMeasReport_r16 = -1;    /* T_speedMeasReport_r16 */
static int hf_nr_rrc_gnss_Location_r16 = -1;      /* T_gnss_Location_r16 */
static int hf_nr_rrc_ulPDCP_Delay_r16 = -1;       /* T_ulPDCP_Delay_r16 */
static int hf_nr_rrc_sigBasedLogMDT_OverrideProtect_r17 = -1;  /* T_sigBasedLogMDT_OverrideProtect_r17 */
static int hf_nr_rrc_multipleCEF_Report_r17 = -1;  /* T_multipleCEF_Report_r17 */
static int hf_nr_rrc_excessPacketDelay_r17 = -1;  /* T_excessPacketDelay_r17 */
static int hf_nr_rrc_earlyMeasLog_r17 = -1;       /* T_earlyMeasLog_r17 */
static int hf_nr_rrc_UE_CapabilityRAT_ContainerList_item = -1;  /* UE_CapabilityRAT_Container */
static int hf_nr_rrc_rat_Type = -1;               /* RAT_Type */
static int hf_nr_rrc_ue_CapabilityRAT_Container = -1;  /* T_ue_CapabilityRAT_Container */
static int hf_nr_rrc_UE_CapabilityRAT_RequestList_item = -1;  /* UE_CapabilityRAT_Request */
static int hf_nr_rrc_capabilityRequestFilter = -1;  /* T_capabilityRequestFilter */
static int hf_nr_rrc_mrdc_Request = -1;           /* T_mrdc_Request */
static int hf_nr_rrc_omitEN_DC = -1;              /* T_omitEN_DC */
static int hf_nr_rrc_includeNR_DC = -1;           /* T_includeNR_DC */
static int hf_nr_rrc_includeNE_DC = -1;           /* T_includeNE_DC */
static int hf_nr_rrc_codebookTypeRequest_r16 = -1;  /* T_codebookTypeRequest_r16 */
static int hf_nr_rrc_type1_SinglePanel_r16_01 = -1;  /* T_type1_SinglePanel_r16_01 */
static int hf_nr_rrc_type1_MultiPanel_r16_01 = -1;  /* T_type1_MultiPanel_r16_01 */
static int hf_nr_rrc_type2_r16_03 = -1;           /* T_type2_r16_03 */
static int hf_nr_rrc_type2_PortSelection_r16_01 = -1;  /* T_type2_PortSelection_r16_01 */
static int hf_nr_rrc_uplinkTxSwitchRequest_r16 = -1;  /* T_uplinkTxSwitchRequest_r16 */
static int hf_nr_rrc_requestedCellGrouping_r16 = -1;  /* SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16 */
static int hf_nr_rrc_requestedCellGrouping_r16_item = -1;  /* CellGrouping_r16 */
static int hf_nr_rrc_fallbackGroupFiveRequest_r17 = -1;  /* T_fallbackGroupFiveRequest_r17 */
static int hf_nr_rrc_mcg_r16 = -1;                /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */
static int hf_nr_rrc_mcg_r16_item = -1;           /* FreqBandIndicatorNR */
static int hf_nr_rrc_scg_r16 = -1;                /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */
static int hf_nr_rrc_scg_r16_item = -1;           /* FreqBandIndicatorNR */
static int hf_nr_rrc_mode_r16 = -1;               /* T_mode_r16 */
static int hf_nr_rrc_frequencyBandListFilter = -1;  /* FreqBandList */
static int hf_nr_rrc_nonCriticalExtension_124 = -1;  /* UE_CapabilityRequestFilterNR_v1540 */
static int hf_nr_rrc_srs_SwitchingTimeRequest = -1;  /* T_srs_SwitchingTimeRequest */
static int hf_nr_rrc_nonCriticalExtension_125 = -1;  /* UE_CapabilityRequestFilterNR_v1710 */
static int hf_nr_rrc_sidelinkRequest_r17 = -1;    /* T_sidelinkRequest_r17 */
static int hf_nr_rrc_nonCriticalExtension_126 = -1;  /* T_nonCriticalExtension_53 */
static int hf_nr_rrc_measAndMobParametersMRDC = -1;  /* MeasAndMobParametersMRDC */
static int hf_nr_rrc_phy_ParametersMRDC_v1530 = -1;  /* Phy_ParametersMRDC */
static int hf_nr_rrc_rf_ParametersMRDC = -1;      /* RF_ParametersMRDC */
static int hf_nr_rrc_generalParametersMRDC = -1;  /* GeneralParametersMRDC_XDD_Diff */
static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities = -1;  /* UE_MRDC_CapabilityAddXDD_Mode */
static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities = -1;  /* UE_MRDC_CapabilityAddXDD_Mode */
static int hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities = -1;  /* UE_MRDC_CapabilityAddFRX_Mode */
static int hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities = -1;  /* UE_MRDC_CapabilityAddFRX_Mode */
static int hf_nr_rrc_featureSetCombinations = -1;  /* SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination */
static int hf_nr_rrc_featureSetCombinations_item = -1;  /* FeatureSetCombination */
static int hf_nr_rrc_pdcp_ParametersMRDC_v1530 = -1;  /* PDCP_ParametersMRDC */
static int hf_nr_rrc_lateNonCriticalExtension_01 = -1;  /* T_lateNonCriticalExtension */
static int hf_nr_rrc_nonCriticalExtension_127 = -1;  /* UE_MRDC_Capability_v1560 */
static int hf_nr_rrc_receivedFilters = -1;        /* T_receivedFilters */
static int hf_nr_rrc_measAndMobParametersMRDC_v1560 = -1;  /* MeasAndMobParametersMRDC_v1560 */
static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities_v1560 = -1;  /* UE_MRDC_CapabilityAddXDD_Mode_v1560 */
static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities_v1560 = -1;  /* UE_MRDC_CapabilityAddXDD_Mode_v1560 */
static int hf_nr_rrc_nonCriticalExtension_128 = -1;  /* UE_MRDC_Capability_v1610 */
static int hf_nr_rrc_measAndMobParametersMRDC_v1610 = -1;  /* MeasAndMobParametersMRDC_v1610 */
static int hf_nr_rrc_generalParametersMRDC_v1610 = -1;  /* GeneralParametersMRDC_v1610 */
static int hf_nr_rrc_pdcp_ParametersMRDC_v1610 = -1;  /* PDCP_ParametersMRDC_v1610 */
static int hf_nr_rrc_nonCriticalExtension_129 = -1;  /* UE_MRDC_Capability_v1700 */
static int hf_nr_rrc_measAndMobParametersMRDC_v1700 = -1;  /* MeasAndMobParametersMRDC_v1700 */
static int hf_nr_rrc_nonCriticalExtension_130 = -1;  /* UE_MRDC_Capability_v1730 */
static int hf_nr_rrc_measAndMobParametersMRDC_v1730 = -1;  /* MeasAndMobParametersMRDC_v1730 */
static int hf_nr_rrc_nonCriticalExtension_131 = -1;  /* T_nonCriticalExtension_54 */
static int hf_nr_rrc_rf_ParametersMRDC_v15g0 = -1;  /* RF_ParametersMRDC_v15g0 */
static int hf_nr_rrc_nonCriticalExtension_132 = -1;  /* T_nonCriticalExtension_55 */
static int hf_nr_rrc_generalParametersMRDC_XDD_Diff = -1;  /* GeneralParametersMRDC_XDD_Diff */
static int hf_nr_rrc_splitSRB_WithOneUL_Path = -1;  /* T_splitSRB_WithOneUL_Path */
static int hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG = -1;  /* T_splitDRB_withUL_Both_MCG_SCG */
static int hf_nr_rrc_srb3 = -1;                   /* T_srb3 */
static int hf_nr_rrc_dummy_07 = -1;               /* T_dummy_05 */
static int hf_nr_rrc_f1c_OverEUTRA_r16 = -1;      /* T_f1c_OverEUTRA_r16 */
static int hf_nr_rrc_accessStratumRelease = -1;   /* AccessStratumRelease */
static int hf_nr_rrc_pdcp_Parameters = -1;        /* PDCP_Parameters */
static int hf_nr_rrc_rlc_Parameters = -1;         /* RLC_Parameters */
static int hf_nr_rrc_mac_Parameters = -1;         /* MAC_Parameters */
static int hf_nr_rrc_phy_Parameters = -1;         /* Phy_Parameters */
static int hf_nr_rrc_rf_Parameters = -1;          /* RF_Parameters */
static int hf_nr_rrc_measAndMobParameters = -1;   /* MeasAndMobParameters */
static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities = -1;  /* UE_NR_CapabilityAddXDD_Mode */
static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1;  /* UE_NR_CapabilityAddXDD_Mode */
static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities = -1;  /* UE_NR_CapabilityAddFRX_Mode */
static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities = -1;  /* UE_NR_CapabilityAddFRX_Mode */
static int hf_nr_rrc_featureSets = -1;            /* FeatureSets */
static int hf_nr_rrc_lateNonCriticalExtension_02 = -1;  /* T_lateNonCriticalExtension_01 */
static int hf_nr_rrc_nonCriticalExtension_133 = -1;  /* UE_NR_Capability_v1530 */
static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities_v1530 = -1;  /* UE_NR_CapabilityAddXDD_Mode_v1530 */
static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities_v1530 = -1;  /* UE_NR_CapabilityAddXDD_Mode_v1530 */
static int hf_nr_rrc_uE_NR_Capability_v1530_dummy = -1;  /* T_uE_NR_Capability_v1530_dummy */
static int hf_nr_rrc_interRAT_Parameters = -1;    /* InterRAT_Parameters */
static int hf_nr_rrc_inactiveState = -1;          /* T_inactiveState */
static int hf_nr_rrc_delayBudgetReporting = -1;   /* T_delayBudgetReporting */
static int hf_nr_rrc_nonCriticalExtension_134 = -1;  /* UE_NR_Capability_v1540 */
static int hf_nr_rrc_sdap_Parameters = -1;        /* SDAP_Parameters */
static int hf_nr_rrc_overheatingInd = -1;         /* T_overheatingInd */
static int hf_nr_rrc_ims_Parameters = -1;         /* IMS_Parameters */
static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1540 = -1;  /* UE_NR_CapabilityAddFRX_Mode_v1540 */
static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1540 = -1;  /* UE_NR_CapabilityAddFRX_Mode_v1540 */
static int hf_nr_rrc_fr1_fr2_Add_UE_NR_Capabilities = -1;  /* UE_NR_CapabilityAddFRX_Mode */
static int hf_nr_rrc_nonCriticalExtension_135 = -1;  /* UE_NR_Capability_v1550 */
static int hf_nr_rrc_reducedCP_Latency = -1;      /* T_reducedCP_Latency */
static int hf_nr_rrc_nonCriticalExtension_136 = -1;  /* UE_NR_Capability_v1560 */
static int hf_nr_rrc_nrdc_Parameters = -1;        /* NRDC_Parameters */
static int hf_nr_rrc_receivedFilters_01 = -1;     /* T_receivedFilters_01 */
static int hf_nr_rrc_nonCriticalExtension_137 = -1;  /* UE_NR_Capability_v1570 */
static int hf_nr_rrc_nrdc_Parameters_v1570 = -1;  /* NRDC_Parameters_v1570 */
static int hf_nr_rrc_nonCriticalExtension_138 = -1;  /* UE_NR_Capability_v1610 */
static int hf_nr_rrc_nrdc_Parameters_v15c0 = -1;  /* NRDC_Parameters_v15c0 */
static int hf_nr_rrc_partialFR2_FallbackRX_Req = -1;  /* T_partialFR2_FallbackRX_Req */
static int hf_nr_rrc_nonCriticalExtension_139 = -1;  /* UE_NR_Capability_v15g0 */
static int hf_nr_rrc_rf_Parameters_v15g0 = -1;    /* RF_Parameters_v15g0 */
static int hf_nr_rrc_nonCriticalExtension_140 = -1;  /* UE_NR_Capability_v15j0 */
static int hf_nr_rrc_nonCriticalExtension_141 = -1;  /* UE_NR_Capability_v16a0 */
static int hf_nr_rrc_inDeviceCoexInd_r16 = -1;    /* T_inDeviceCoexInd_r16 */
static int hf_nr_rrc_dl_DedicatedMessageSegmentation_r16 = -1;  /* T_dl_DedicatedMessageSegmentation_r16 */
static int hf_nr_rrc_nrdc_Parameters_v1610 = -1;  /* NRDC_Parameters_v1610 */
static int hf_nr_rrc_powSav_Parameters_r16 = -1;  /* PowSav_Parameters_r16 */
static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1610 = -1;  /* UE_NR_CapabilityAddFRX_Mode_v1610 */
static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1610 = -1;  /* UE_NR_CapabilityAddFRX_Mode_v1610 */
static int hf_nr_rrc_bh_RLF_Indication_r16 = -1;  /* T_bh_RLF_Indication_r16 */
static int hf_nr_rrc_directSN_AdditionFirstRRC_IAB_r16 = -1;  /* T_directSN_AdditionFirstRRC_IAB_r16 */
static int hf_nr_rrc_bap_Parameters_r16 = -1;     /* BAP_Parameters_r16 */
static int hf_nr_rrc_referenceTimeProvision_r16 = -1;  /* T_referenceTimeProvision_r16 */
static int hf_nr_rrc_sidelinkParameters_r16 = -1;  /* SidelinkParameters_r16 */
static int hf_nr_rrc_highSpeedParameters_r16 = -1;  /* HighSpeedParameters_r16 */
static int hf_nr_rrc_mac_Parameters_v1610 = -1;   /* MAC_Parameters_v1610 */
static int hf_nr_rrc_mcgRLF_RecoveryViaSCG_r16 = -1;  /* T_mcgRLF_RecoveryViaSCG_r16 */
static int hf_nr_rrc_resumeWithStoredMCG_SCells_r16 = -1;  /* T_resumeWithStoredMCG_SCells_r16 */
static int hf_nr_rrc_resumeWithStoredSCG_r16 = -1;  /* T_resumeWithStoredSCG_r16 */
static int hf_nr_rrc_resumeWithSCG_Config_r16 = -1;  /* T_resumeWithSCG_Config_r16 */
static int hf_nr_rrc_ue_BasedPerfMeas_Parameters_r16 = -1;  /* UE_BasedPerfMeas_Parameters_r16 */
static int hf_nr_rrc_son_Parameters_r16 = -1;     /* SON_Parameters_r16 */
static int hf_nr_rrc_onDemandSIB_Connected_r16 = -1;  /* T_onDemandSIB_Connected_r16 */
static int hf_nr_rrc_nonCriticalExtension_142 = -1;  /* UE_NR_Capability_v1640 */
static int hf_nr_rrc_redirectAtResumeByNAS_r16 = -1;  /* T_redirectAtResumeByNAS_r16 */
static int hf_nr_rrc_phy_ParametersSharedSpectrumChAccess_r16 = -1;  /* Phy_ParametersSharedSpectrumChAccess_r16 */
static int hf_nr_rrc_nonCriticalExtension_143 = -1;  /* UE_NR_Capability_v1650 */
static int hf_nr_rrc_mpsPriorityIndication_r16_01 = -1;  /* T_mpsPriorityIndication_r16_01 */
static int hf_nr_rrc_highSpeedParameters_v1650 = -1;  /* HighSpeedParameters_v1650 */
static int hf_nr_rrc_nonCriticalExtension_144 = -1;  /* UE_NR_Capability_v1690 */
static int hf_nr_rrc_ul_RRC_Segmentation_r16_01 = -1;  /* T_ul_RRC_Segmentation_r16_01 */
static int hf_nr_rrc_nonCriticalExtension_145 = -1;  /* UE_NR_Capability_v1700 */
static int hf_nr_rrc_phy_Parameters_v16a0 = -1;   /* Phy_Parameters_v16a0 */
static int hf_nr_rrc_rf_Parameters_v16a0 = -1;    /* RF_Parameters_v16a0 */
static int hf_nr_rrc_nonCriticalExtension_146 = -1;  /* UE_NR_Capability_v16c0 */
static int hf_nr_rrc_rf_Parameters_v16c0 = -1;    /* RF_Parameters_v16c0 */
static int hf_nr_rrc_nonCriticalExtension_147 = -1;  /* UE_NR_Capability_v16d0 */
static int hf_nr_rrc_featureSets_v16d0 = -1;      /* FeatureSets_v16d0 */
static int hf_nr_rrc_nonCriticalExtension_148 = -1;  /* T_nonCriticalExtension_56 */
static int hf_nr_rrc_inactiveStatePO_Determination_r17_01 = -1;  /* T_inactiveStatePO_Determination_r17_01 */
static int hf_nr_rrc_highSpeedParameters_v1700 = -1;  /* HighSpeedParameters_v1700 */
static int hf_nr_rrc_powSav_Parameters_v1700 = -1;  /* PowSav_Parameters_v1700 */
static int hf_nr_rrc_mac_Parameters_v1700 = -1;   /* MAC_Parameters_v1700 */
static int hf_nr_rrc_ims_Parameters_v1700 = -1;   /* IMS_Parameters_v1700 */
static int hf_nr_rrc_measAndMobParameters_v1700 = -1;  /* MeasAndMobParameters_v1700 */
static int hf_nr_rrc_appLayerMeasParameters_r17 = -1;  /* AppLayerMeasParameters_r17 */
static int hf_nr_rrc_redCapParameters_r17 = -1;   /* RedCapParameters_r17 */
static int hf_nr_rrc_ra_SDT_r17 = -1;             /* T_ra_SDT_r17 */
static int hf_nr_rrc_srb_SDT_r17 = -1;            /* T_srb_SDT_r17 */
static int hf_nr_rrc_gNB_SideRTT_BasedPDC_r17 = -1;  /* T_gNB_SideRTT_BasedPDC_r17 */
static int hf_nr_rrc_bh_RLF_DetectionRecovery_Indication_r17 = -1;  /* T_bh_RLF_DetectionRecovery_Indication_r17 */
static int hf_nr_rrc_nrdc_Parameters_v1700 = -1;  /* NRDC_Parameters_v1700 */
static int hf_nr_rrc_bap_Parameters_v1700 = -1;   /* BAP_Parameters_v1700 */
static int hf_nr_rrc_musim_GapPreference_r17 = -1;  /* T_musim_GapPreference_r17 */
static int hf_nr_rrc_musimLeaveConnected_r17 = -1;  /* T_musimLeaveConnected_r17 */
static int hf_nr_rrc_mbs_Parameters_r17 = -1;     /* MBS_Parameters_r17 */
static int hf_nr_rrc_nonTerrestrialNetwork_r17 = -1;  /* T_nonTerrestrialNetwork_r17 */
static int hf_nr_rrc_ntn_ScenarioSupport_r17 = -1;  /* T_ntn_ScenarioSupport_r17 */
static int hf_nr_rrc_sliceInfoforCellReselection_r17 = -1;  /* T_sliceInfoforCellReselection_r17 */
static int hf_nr_rrc_ue_RadioPagingInfo_r17_01 = -1;  /* UE_RadioPagingInfo_r17 */
static int hf_nr_rrc_ul_GapFR2_Pattern_r17 = -1;  /* BIT_STRING_SIZE_4 */
static int hf_nr_rrc_ntn_Parameters_r17 = -1;     /* NTN_Parameters_r17 */
static int hf_nr_rrc_nonCriticalExtension_149 = -1;  /* UE_NR_Capability_v1740 */
static int hf_nr_rrc_redCapParameters_v1740 = -1;  /* RedCapParameters_v1740 */
static int hf_nr_rrc_nonCriticalExtension_150 = -1;  /* UE_NR_Capability_v1750 */
static int hf_nr_rrc_crossCarrierSchedulingConfigurationRelease_r17 = -1;  /* T_crossCarrierSchedulingConfigurationRelease_r17 */
static int hf_nr_rrc_nonCriticalExtension_151 = -1;  /* T_nonCriticalExtension_57 */
static int hf_nr_rrc_flowControlBH_RLC_ChannelBased_r16 = -1;  /* T_flowControlBH_RLC_ChannelBased_r16 */
static int hf_nr_rrc_flowControlRouting_ID_Based_r16 = -1;  /* T_flowControlRouting_ID_Based_r16 */
static int hf_nr_rrc_bapHeaderRewriting_Rerouting_r17 = -1;  /* T_bapHeaderRewriting_Rerouting_r17 */
static int hf_nr_rrc_bapHeaderRewriting_Routing_r17 = -1;  /* T_bapHeaderRewriting_Routing_r17 */
static int hf_nr_rrc_maxMRB_Add_r17 = -1;         /* INTEGER_1_16 */
static int hf_nr_rrc_pei_SubgroupingSupportBandList_r17 = -1;  /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */
static int hf_nr_rrc_pei_SubgroupingSupportBandList_r17_item = -1;  /* FreqBandIndicatorNR */
static int hf_nr_rrc_ul_DynamicChAccess_r16 = -1;  /* T_ul_DynamicChAccess_r16 */
static int hf_nr_rrc_ul_Semi_StaticChAccess_r16 = -1;  /* T_ul_Semi_StaticChAccess_r16 */
static int hf_nr_rrc_ssb_RRM_DynamicChAccess_r16 = -1;  /* T_ssb_RRM_DynamicChAccess_r16 */
static int hf_nr_rrc_ssb_RRM_Semi_StaticChAccess_r16 = -1;  /* T_ssb_RRM_Semi_StaticChAccess_r16 */
static int hf_nr_rrc_mib_Acquisition_r16 = -1;    /* T_mib_Acquisition_r16 */
static int hf_nr_rrc_ssb_RLM_DynamicChAccess_r16 = -1;  /* T_ssb_RLM_DynamicChAccess_r16 */
static int hf_nr_rrc_ssb_RLM_Semi_StaticChAccess_r16 = -1;  /* T_ssb_RLM_Semi_StaticChAccess_r16 */
static int hf_nr_rrc_sib1_Acquisition_r16 = -1;   /* T_sib1_Acquisition_r16 */
static int hf_nr_rrc_extRA_ResponseWindow_r16 = -1;  /* T_extRA_ResponseWindow_r16 */
static int hf_nr_rrc_ssb_BFD_CBD_dynamicChannelAccess_r16 = -1;  /* T_ssb_BFD_CBD_dynamicChannelAccess_r16 */
static int hf_nr_rrc_ssb_BFD_CBD_semi_staticChannelAccess_r16 = -1;  /* T_ssb_BFD_CBD_semi_staticChannelAccess_r16 */
static int hf_nr_rrc_csi_RS_BFD_CBD_r16 = -1;     /* T_csi_RS_BFD_CBD_r16 */
static int hf_nr_rrc_ul_ChannelBW_SCell_10mhz_r16 = -1;  /* T_ul_ChannelBW_SCell_10mhz_r16 */
static int hf_nr_rrc_rssi_ChannelOccupancyReporting_r16 = -1;  /* T_rssi_ChannelOccupancyReporting_r16 */
static int hf_nr_rrc_srs_StartAnyOFDM_Symbol_r16 = -1;  /* T_srs_StartAnyOFDM_Symbol_r16 */
static int hf_nr_rrc_searchSpaceFreqMonitorLocation_r16 = -1;  /* INTEGER_1_5 */
static int hf_nr_rrc_coreset_RB_Offset_r16 = -1;  /* T_coreset_RB_Offset_r16 */
static int hf_nr_rrc_cgi_Acquisition_r16 = -1;    /* T_cgi_Acquisition_r16 */
static int hf_nr_rrc_configuredUL_Tx_r16 = -1;    /* T_configuredUL_Tx_r16 */
static int hf_nr_rrc_prach_Wideband_r16 = -1;     /* T_prach_Wideband_r16 */
static int hf_nr_rrc_dci_AvailableRB_Set_r16 = -1;  /* T_dci_AvailableRB_Set_r16 */
static int hf_nr_rrc_dci_ChOccupancyDuration_r16 = -1;  /* T_dci_ChOccupancyDuration_r16 */
static int hf_nr_rrc_typeB_PDSCH_length_r16 = -1;  /* T_typeB_PDSCH_length_r16 */
static int hf_nr_rrc_searchSpaceSwitchWithDCI_r16 = -1;  /* T_searchSpaceSwitchWithDCI_r16 */
static int hf_nr_rrc_searchSpaceSwitchWithoutDCI_r16 = -1;  /* T_searchSpaceSwitchWithoutDCI_r16 */
static int hf_nr_rrc_searchSpaceSwitchCapability2_r16 = -1;  /* T_searchSpaceSwitchCapability2_r16 */
static int hf_nr_rrc_non_numericalPDSCH_HARQ_timing_r16 = -1;  /* T_non_numericalPDSCH_HARQ_timing_r16 */
static int hf_nr_rrc_enhancedDynamicHARQ_codebook_r16 = -1;  /* T_enhancedDynamicHARQ_codebook_r16 */
static int hf_nr_rrc_oneShotHARQ_feedback_r16 = -1;  /* T_oneShotHARQ_feedback_r16 */
static int hf_nr_rrc_multiPUSCH_UL_grant_r16 = -1;  /* T_multiPUSCH_UL_grant_r16 */
static int hf_nr_rrc_csi_RS_RLM_r16 = -1;         /* T_csi_RS_RLM_r16 */
static int hf_nr_rrc_dummy_08 = -1;               /* T_dummy_06 */
static int hf_nr_rrc_periodicAndSemi_PersistentCSI_RS_r16 = -1;  /* T_periodicAndSemi_PersistentCSI_RS_r16 */
static int hf_nr_rrc_pusch_PRB_interlace_r16 = -1;  /* T_pusch_PRB_interlace_r16 */
static int hf_nr_rrc_pucch_F0_F1_PRB_Interlace_r16 = -1;  /* T_pucch_F0_F1_PRB_Interlace_r16 */
static int hf_nr_rrc_occ_PRB_PF2_PF3_r16 = -1;    /* T_occ_PRB_PF2_PF3_r16 */
static int hf_nr_rrc_extCP_rangeCG_PUSCH_r16 = -1;  /* T_extCP_rangeCG_PUSCH_r16 */
static int hf_nr_rrc_configuredGrantWithReTx_r16 = -1;  /* T_configuredGrantWithReTx_r16 */
static int hf_nr_rrc_ed_Threshold_r16 = -1;       /* T_ed_Threshold_r16 */
static int hf_nr_rrc_ul_DL_COT_Sharing_r16 = -1;  /* T_ul_DL_COT_Sharing_r16 */
static int hf_nr_rrc_mux_CG_UCI_HARQ_ACK_r16 = -1;  /* T_mux_CG_UCI_HARQ_ACK_r16 */
static int hf_nr_rrc_cg_resourceConfig_r16 = -1;  /* T_cg_resourceConfig_r16 */
static int hf_nr_rrc_dl_ReceptionIntraCellGuardband_r16 = -1;  /* T_dl_ReceptionIntraCellGuardband_r16 */
static int hf_nr_rrc_dl_ReceptionLBT_subsetRB_r16 = -1;  /* T_dl_ReceptionLBT_subsetRB_r16 */
static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB_r16 = -1;  /* T_csi_RSRP_AndRSRQ_MeasWithSSB_r16 */
static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB_r16 = -1;  /* T_csi_RSRP_AndRSRQ_MeasWithoutSSB_r16 */
static int hf_nr_rrc_csi_SINR_Meas_r16 = -1;      /* T_csi_SINR_Meas_r16 */
static int hf_nr_rrc_ssb_AndCSI_RS_RLM_r16 = -1;  /* T_ssb_AndCSI_RS_RLM_r16 */
static int hf_nr_rrc_csi_RS_CFRA_ForHO_r16 = -1;  /* T_csi_RS_CFRA_ForHO_r16 */
static int hf_nr_rrc_extendedSearchSpaceSwitchWithDCI_r16 = -1;  /* T_extendedSearchSpaceSwitchWithDCI_r16 */
static int hf_nr_rrc_ul_Semi_StaticChAccessDependentConfig_r17 = -1;  /* T_ul_Semi_StaticChAccessDependentConfig_r17 */
static int hf_nr_rrc_ul_Semi_StaticChAccessIndependentConfig_r17 = -1;  /* T_ul_Semi_StaticChAccessIndependentConfig_r17 */
static int hf_nr_rrc_measConfigAppLayerToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17 */
static int hf_nr_rrc_measConfigAppLayerToAddModList_r17_item = -1;  /* MeasConfigAppLayer_r17 */
static int hf_nr_rrc_measConfigAppLayerToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17 */
static int hf_nr_rrc_measConfigAppLayerToReleaseList_r17_item = -1;  /* MeasConfigAppLayerId_r17 */
static int hf_nr_rrc_rrc_SegAllowed_r17 = -1;     /* T_rrc_SegAllowed_r17 */
static int hf_nr_rrc_measConfigAppLayerContainer_r17 = -1;  /* OCTET_STRING_SIZE_1_8000 */
static int hf_nr_rrc_serviceType_r17 = -1;        /* T_serviceType_r17 */
static int hf_nr_rrc_pauseReporting_r17 = -1;     /* BOOLEAN */
static int hf_nr_rrc_transmissionOfSessionStartStop_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_ran_VisibleParameters_r17 = -1;  /* T_ran_VisibleParameters_r17 */
static int hf_nr_rrc_setup_169 = -1;              /* RAN_VisibleParameters_r17 */
static int hf_nr_rrc_ran_VisiblePeriodicity_r17 = -1;  /* T_ran_VisiblePeriodicity_r17 */
static int hf_nr_rrc_numberOfBufferLevelEntries_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_reportPlayoutDelayForMediaStartup_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_areaConfig_r16 = -1;         /* AreaConfig_r16 */
static int hf_nr_rrc_interFreqTargetList_r16 = -1;  /* SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16 */
static int hf_nr_rrc_interFreqTargetList_r16_item = -1;  /* InterFreqTargetInfo_r16 */
static int hf_nr_rrc_areaConfig_r17 = -1;         /* AreaConfig_r16 */
static int hf_nr_rrc_interFreqTargetList_r17 = -1;  /* SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16 */
static int hf_nr_rrc_interFreqTargetList_r17_item = -1;  /* InterFreqTargetInfo_r16 */
static int hf_nr_rrc_cellGlobalIdList_r16 = -1;   /* CellGlobalIdList_r16 */
static int hf_nr_rrc_trackingAreaCodeList_r16 = -1;  /* TrackingAreaCodeList_r16 */
static int hf_nr_rrc_trackingAreaIdentityList_r16 = -1;  /* TrackingAreaIdentityList_r16 */
static int hf_nr_rrc_dl_CarrierFreq_r16 = -1;     /* ARFCN_ValueNR */
static int hf_nr_rrc_cellList_r16 = -1;           /* SEQUENCE_SIZE_1_32_OF_PhysCellId */
static int hf_nr_rrc_cellList_r16_item = -1;      /* PhysCellId */
static int hf_nr_rrc_CellGlobalIdList_r16_item = -1;  /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_TrackingAreaCodeList_r16_item = -1;  /* TrackingAreaCode */
static int hf_nr_rrc_TrackingAreaIdentityList_r16_item = -1;  /* TrackingAreaIdentity_r16 */
static int hf_nr_rrc_BT_NameList_r16_item = -1;   /* BT_Name_r16 */
static int hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item = -1;  /* EUTRA_MBSFN_SubframeConfig */
static int hf_nr_rrc_radioframeAllocationPeriod = -1;  /* T_radioframeAllocationPeriod */
static int hf_nr_rrc_radioframeAllocationOffset = -1;  /* INTEGER_0_7 */
static int hf_nr_rrc_subframeAllocation1 = -1;    /* T_subframeAllocation1 */
static int hf_nr_rrc_oneFrame = -1;               /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_fourFrames = -1;             /* BIT_STRING_SIZE_24 */
static int hf_nr_rrc_subframeAllocation2 = -1;    /* T_subframeAllocation2 */
static int hf_nr_rrc_oneFrame_01 = -1;            /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_fourFrames_01 = -1;          /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_EUTRA_MultiBandInfoList_item = -1;  /* EUTRA_MultiBandInfo */
static int hf_nr_rrc_eutra_FreqBandIndicator = -1;  /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_eutra_NS_PmaxList = -1;      /* EUTRA_NS_PmaxList */
static int hf_nr_rrc_EUTRA_NS_PmaxList_item = -1;  /* EUTRA_NS_PmaxValue */
static int hf_nr_rrc_additionalPmax_01 = -1;      /* INTEGER_M30_33 */
static int hf_nr_rrc_additionalSpectrumEmission_01 = -1;  /* INTEGER_1_288 */
static int hf_nr_rrc_start_01 = -1;               /* EUTRA_PhysCellId */
static int hf_nr_rrc_range_01 = -1;               /* T_range_01 */
static int hf_nr_rrc_iPv4_Address_r16 = -1;       /* BIT_STRING_SIZE_32 */
static int hf_nr_rrc_iPv6_Address_r16 = -1;       /* BIT_STRING_SIZE_128 */
static int hf_nr_rrc_iPv6_Prefix_r16 = -1;        /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_LogMeasResultListBT_r16_item = -1;  /* LogMeasResultBT_r16 */
static int hf_nr_rrc_bt_Addr_r16 = -1;            /* BIT_STRING_SIZE_48 */
static int hf_nr_rrc_rssi_BT_r16 = -1;            /* INTEGER_M128_127 */
static int hf_nr_rrc_LogMeasResultListWLAN_r16_item = -1;  /* LogMeasResultWLAN_r16 */
static int hf_nr_rrc_wlan_Identifiers_r16 = -1;   /* WLAN_Identifiers_r16 */
static int hf_nr_rrc_rssiWLAN_r16 = -1;           /* WLAN_RSSI_Range_r16 */
static int hf_nr_rrc_rtt_WLAN_r16 = -1;           /* WLAN_RTT_r16 */
static int hf_nr_rrc_ssid_r16 = -1;               /* T_ssid_r16 */
static int hf_nr_rrc_bssid_r16 = -1;              /* OCTET_STRING_SIZE_6 */
static int hf_nr_rrc_hessid_r16 = -1;             /* OCTET_STRING_SIZE_6 */
static int hf_nr_rrc_rttValue_r16 = -1;           /* INTEGER_0_16777215 */
static int hf_nr_rrc_rttUnits_r16 = -1;           /* T_rttUnits_r16 */
static int hf_nr_rrc_rttAccuracy_r16 = -1;        /* INTEGER_0_255 */
static int hf_nr_rrc_delayBudgetReportingConfig = -1;  /* T_delayBudgetReportingConfig */
static int hf_nr_rrc_setup_170 = -1;              /* T_setup */
static int hf_nr_rrc_delayBudgetReportingProhibitTimer = -1;  /* T_delayBudgetReportingProhibitTimer */
static int hf_nr_rrc_overheatingAssistanceConfig = -1;  /* T_overheatingAssistanceConfig */
static int hf_nr_rrc_setup_171 = -1;              /* OverheatingAssistanceConfig */
static int hf_nr_rrc_idc_AssistanceConfig_r16 = -1;  /* T_idc_AssistanceConfig_r16 */
static int hf_nr_rrc_setup_172 = -1;              /* IDC_AssistanceConfig_r16 */
static int hf_nr_rrc_drx_PreferenceConfig_r16 = -1;  /* T_drx_PreferenceConfig_r16 */
static int hf_nr_rrc_setup_173 = -1;              /* DRX_PreferenceConfig_r16 */
static int hf_nr_rrc_maxBW_PreferenceConfig_r16 = -1;  /* T_maxBW_PreferenceConfig_r16 */
static int hf_nr_rrc_setup_174 = -1;              /* MaxBW_PreferenceConfig_r16 */
static int hf_nr_rrc_maxCC_PreferenceConfig_r16 = -1;  /* T_maxCC_PreferenceConfig_r16 */
static int hf_nr_rrc_setup_175 = -1;              /* MaxCC_PreferenceConfig_r16 */
static int hf_nr_rrc_maxMIMO_LayerPreferenceConfig_r16 = -1;  /* T_maxMIMO_LayerPreferenceConfig_r16 */
static int hf_nr_rrc_setup_176 = -1;              /* MaxMIMO_LayerPreferenceConfig_r16 */
static int hf_nr_rrc_minSchedulingOffsetPreferenceConfig_r16 = -1;  /* T_minSchedulingOffsetPreferenceConfig_r16 */
static int hf_nr_rrc_setup_177 = -1;              /* MinSchedulingOffsetPreferenceConfig_r16 */
static int hf_nr_rrc_releasePreferenceConfig_r16 = -1;  /* T_releasePreferenceConfig_r16 */
static int hf_nr_rrc_setup_178 = -1;              /* ReleasePreferenceConfig_r16 */
static int hf_nr_rrc_referenceTimePreferenceReporting_r16 = -1;  /* T_referenceTimePreferenceReporting_r16 */
static int hf_nr_rrc_btNameList_r16 = -1;         /* T_btNameList_r16 */
static int hf_nr_rrc_wlanNameList_r16 = -1;       /* T_wlanNameList_r16 */
static int hf_nr_rrc_sensorNameList_r16 = -1;     /* T_sensorNameList_r16 */
static int hf_nr_rrc_obtainCommonLocation_r16 = -1;  /* T_obtainCommonLocation_r16 */
static int hf_nr_rrc_sl_AssistanceConfigNR_r16 = -1;  /* T_sl_AssistanceConfigNR_r16 */
static int hf_nr_rrc_ul_GapFR2_PreferenceConfig_r17 = -1;  /* T_ul_GapFR2_PreferenceConfig_r17 */
static int hf_nr_rrc_musim_GapAssistanceConfig_r17 = -1;  /* T_musim_GapAssistanceConfig_r17 */
static int hf_nr_rrc_setup_179 = -1;              /* MUSIM_GapAssistanceConfig_r17 */
static int hf_nr_rrc_musim_LeaveAssistanceConfig_r17 = -1;  /* T_musim_LeaveAssistanceConfig_r17 */
static int hf_nr_rrc_setup_180 = -1;              /* MUSIM_LeaveAssistanceConfig_r17 */
static int hf_nr_rrc_successHO_Config_r17 = -1;   /* T_successHO_Config_r17 */
static int hf_nr_rrc_setup_181 = -1;              /* SuccessHO_Config_r17 */
static int hf_nr_rrc_maxBW_PreferenceConfigFR2_2_r17 = -1;  /* T_maxBW_PreferenceConfigFR2_2_r17 */
static int hf_nr_rrc_maxMIMO_LayerPreferenceConfigFR2_2_r17 = -1;  /* T_maxMIMO_LayerPreferenceConfigFR2_2_r17 */
static int hf_nr_rrc_minSchedulingOffsetPreferenceConfigExt_r17 = -1;  /* T_minSchedulingOffsetPreferenceConfigExt_r17 */
static int hf_nr_rrc_rlm_RelaxationReportingConfig_r17 = -1;  /* T_rlm_RelaxationReportingConfig_r17 */
static int hf_nr_rrc_setup_182 = -1;              /* RLM_RelaxationReportingConfig_r17 */
static int hf_nr_rrc_bfd_RelaxationReportingConfig_r17 = -1;  /* T_bfd_RelaxationReportingConfig_r17 */
static int hf_nr_rrc_setup_183 = -1;              /* BFD_RelaxationReportingConfig_r17 */
static int hf_nr_rrc_scg_DeactivationPreferenceConfig_r17 = -1;  /* T_scg_DeactivationPreferenceConfig_r17 */
static int hf_nr_rrc_setup_184 = -1;              /* SCG_DeactivationPreferenceConfig_r17 */
static int hf_nr_rrc_rrm_MeasRelaxationReportingConfig_r17 = -1;  /* T_rrm_MeasRelaxationReportingConfig_r17 */
static int hf_nr_rrc_setup_185 = -1;              /* RRM_MeasRelaxationReportingConfig_r17 */
static int hf_nr_rrc_propDelayDiffReportConfig_r17 = -1;  /* T_propDelayDiffReportConfig_r17 */
static int hf_nr_rrc_setup_186 = -1;              /* PropDelayDiffReportConfig_r17 */
static int hf_nr_rrc_CandidateServingFreqListNR_r16_item = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_musim_GapProhibitTimer_r17 = -1;  /* T_musim_GapProhibitTimer_r17 */
static int hf_nr_rrc_musim_LeaveWithoutResponseTimer_r17 = -1;  /* T_musim_LeaveWithoutResponseTimer_r17 */
static int hf_nr_rrc_thresholdPercentageT304_r17 = -1;  /* T_thresholdPercentageT304_r17 */
static int hf_nr_rrc_thresholdPercentageT310_r17 = -1;  /* T_thresholdPercentageT310_r17 */
static int hf_nr_rrc_thresholdPercentageT312_r17 = -1;  /* T_thresholdPercentageT312_r17 */
static int hf_nr_rrc_sourceDAPS_FailureReporting_r17 = -1;  /* T_sourceDAPS_FailureReporting_r17 */
static int hf_nr_rrc_overheatingIndicationProhibitTimer = -1;  /* T_overheatingIndicationProhibitTimer */
static int hf_nr_rrc_candidateServingFreqListNR_r16 = -1;  /* CandidateServingFreqListNR_r16 */
static int hf_nr_rrc_drx_PreferenceProhibitTimer_r16 = -1;  /* T_drx_PreferenceProhibitTimer_r16 */
static int hf_nr_rrc_maxBW_PreferenceProhibitTimer_r16 = -1;  /* T_maxBW_PreferenceProhibitTimer_r16 */
static int hf_nr_rrc_maxCC_PreferenceProhibitTimer_r16 = -1;  /* T_maxCC_PreferenceProhibitTimer_r16 */
static int hf_nr_rrc_maxMIMO_LayerPreferenceProhibitTimer_r16 = -1;  /* T_maxMIMO_LayerPreferenceProhibitTimer_r16 */
static int hf_nr_rrc_minSchedulingOffsetPreferenceProhibitTimer_r16 = -1;  /* T_minSchedulingOffsetPreferenceProhibitTimer_r16 */
static int hf_nr_rrc_releasePreferenceProhibitTimer_r16 = -1;  /* T_releasePreferenceProhibitTimer_r16 */
static int hf_nr_rrc_connectedReporting = -1;     /* T_connectedReporting */
static int hf_nr_rrc_rlm_RelaxtionReportingProhibitTimer = -1;  /* T_rlm_RelaxtionReportingProhibitTimer */
static int hf_nr_rrc_bfd_RelaxtionReportingProhibitTimer = -1;  /* T_bfd_RelaxtionReportingProhibitTimer */
static int hf_nr_rrc_scg_DeactivationPreferenceProhibitTimer_r17 = -1;  /* T_scg_DeactivationPreferenceProhibitTimer_r17 */
static int hf_nr_rrc_s_SearchDeltaP_Stationary_r17_01 = -1;  /* T_s_SearchDeltaP_Stationary_r17_01 */
static int hf_nr_rrc_t_SearchDeltaP_Stationary_r17_01 = -1;  /* T_t_SearchDeltaP_Stationary_r17_01 */
static int hf_nr_rrc_threshPropDelayDiff_r17 = -1;  /* T_threshPropDelayDiff_r17 */
static int hf_nr_rrc_neighCellInfoList_r17 = -1;  /* SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17 */
static int hf_nr_rrc_neighCellInfoList_r17_item = -1;  /* NeighbourCellInfo_r17 */
static int hf_nr_rrc_measUncomBarPre_r16 = -1;    /* T_measUncomBarPre_r16 */
static int hf_nr_rrc_measUeSpeed = -1;            /* T_measUeSpeed */
static int hf_nr_rrc_measUeOrientation = -1;      /* T_measUeOrientation */
static int hf_nr_rrc_traceId_r16 = -1;            /* OCTET_STRING_SIZE_3 */
static int hf_nr_rrc_logMeasAvailable_r16_01 = -1;  /* T_logMeasAvailable_r16_01 */
static int hf_nr_rrc_logMeasAvailableBT_r16_01 = -1;  /* T_logMeasAvailableBT_r16_01 */
static int hf_nr_rrc_logMeasAvailableWLAN_r16_01 = -1;  /* T_logMeasAvailableWLAN_r16_01 */
static int hf_nr_rrc_connEstFailInfoAvailable_r16 = -1;  /* T_connEstFailInfoAvailable_r16 */
static int hf_nr_rrc_rlf_InfoAvailable_r16 = -1;  /* T_rlf_InfoAvailable_r16 */
static int hf_nr_rrc_successHO_InfoAvailable_r17 = -1;  /* T_successHO_InfoAvailable_r17 */
static int hf_nr_rrc_sigLogMeasConfigAvailable_r17 = -1;  /* BOOLEAN */
static int hf_nr_rrc_VisitedCellInfoList_r16_item = -1;  /* VisitedCellInfo_r16 */
static int hf_nr_rrc_visitedCellId_r16 = -1;      /* T_visitedCellId_r16 */
static int hf_nr_rrc_nr_CellId_r16 = -1;          /* T_nr_CellId_r16 */
static int hf_nr_rrc_eutra_CellId_r16 = -1;       /* T_eutra_CellId_r16 */
static int hf_nr_rrc_cellGlobalId_r16_02 = -1;    /* CGI_InfoEUTRA */
static int hf_nr_rrc_timeSpent_r16 = -1;          /* INTEGER_0_4095 */
static int hf_nr_rrc_visitedPSCellInfoListReport_r17 = -1;  /* VisitedPSCellInfoList_r17 */
static int hf_nr_rrc_VisitedPSCellInfoList_r17_item = -1;  /* VisitedPSCellInfo_r17 */
static int hf_nr_rrc_visitedCellId_r17 = -1;      /* T_visitedCellId_r17 */
static int hf_nr_rrc_nr_CellId_r17 = -1;          /* T_nr_CellId_r17 */
static int hf_nr_rrc_cgi_Info_r17 = -1;           /* CGI_Info_Logging_r16 */
static int hf_nr_rrc_eutra_CellId_r17 = -1;       /* T_eutra_CellId_r17 */
static int hf_nr_rrc_cellGlobalId_r17_01 = -1;    /* CGI_InfoEUTRALogging */
static int hf_nr_rrc_pci_arfcn_r17_01 = -1;       /* PCI_ARFCN_EUTRA_r16 */
static int hf_nr_rrc_timeSpent_r17 = -1;          /* INTEGER_0_4095 */
static int hf_nr_rrc_WLAN_NameList_r16_item = -1;  /* WLAN_Name_r16 */
static int hf_nr_rrc_sl_BWP_Id = -1;              /* BWP_Id */
static int hf_nr_rrc_sl_BWP_Generic_r16 = -1;     /* SL_BWP_Generic_r16 */
static int hf_nr_rrc_sl_BWP_PoolConfig_r16 = -1;  /* SL_BWP_PoolConfig_r16 */
static int hf_nr_rrc_sl_BWP_PoolConfigPS_r17 = -1;  /* T_sl_BWP_PoolConfigPS_r17 */
static int hf_nr_rrc_setup_187 = -1;              /* SL_BWP_PoolConfig_r16 */
static int hf_nr_rrc_sl_BWP_DiscPoolConfig_r17 = -1;  /* T_sl_BWP_DiscPoolConfig_r17 */
static int hf_nr_rrc_setup_188 = -1;              /* SL_BWP_DiscPoolConfig_r17 */
static int hf_nr_rrc_sl_BWP_r16 = -1;             /* BWP */
static int hf_nr_rrc_sl_LengthSymbols_r16 = -1;   /* T_sl_LengthSymbols_r16 */
static int hf_nr_rrc_sl_StartSymbol_r16 = -1;     /* T_sl_StartSymbol_r16 */
static int hf_nr_rrc_sl_PSBCH_Config_r16 = -1;    /* T_sl_PSBCH_Config_r16 */
static int hf_nr_rrc_setup_189 = -1;              /* SL_PSBCH_Config_r16 */
static int hf_nr_rrc_sl_TxDirectCurrentLocation_r16 = -1;  /* INTEGER_0_3301 */
static int hf_nr_rrc_sl_DiscRxPool_r17 = -1;      /* SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16 */
static int hf_nr_rrc_sl_DiscRxPool_r17_item = -1;  /* SL_ResourcePool_r16 */
static int hf_nr_rrc_sl_DiscTxPoolSelected_r17 = -1;  /* SL_TxPoolDedicated_r16 */
static int hf_nr_rrc_sl_DiscTxPoolScheduling_r17 = -1;  /* SL_TxPoolDedicated_r16 */
static int hf_nr_rrc_sl_RxPool_r16 = -1;          /* SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16 */
static int hf_nr_rrc_sl_RxPool_r16_item = -1;     /* SL_ResourcePool_r16 */
static int hf_nr_rrc_sl_TxPoolSelectedNormal_r16 = -1;  /* SL_TxPoolDedicated_r16 */
static int hf_nr_rrc_sl_TxPoolScheduling_r16 = -1;  /* SL_TxPoolDedicated_r16 */
static int hf_nr_rrc_sl_TxPoolExceptional_r16 = -1;  /* SL_ResourcePoolConfig_r16 */
static int hf_nr_rrc_sl_PoolToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16 */
static int hf_nr_rrc_sl_PoolToReleaseList_r16_item = -1;  /* SL_ResourcePoolID_r16 */
static int hf_nr_rrc_sl_PoolToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16 */
static int hf_nr_rrc_sl_PoolToAddModList_r16_item = -1;  /* SL_ResourcePoolConfig_r16 */
static int hf_nr_rrc_sl_ResourcePoolID_r16 = -1;  /* SL_ResourcePoolID_r16 */
static int hf_nr_rrc_sl_ResourcePool_r16 = -1;    /* SL_ResourcePool_r16 */
static int hf_nr_rrc_SL_CBR_PriorityTxConfigList_r16_item = -1;  /* SL_PriorityTxConfigIndex_r16 */
static int hf_nr_rrc_SL_CBR_PriorityTxConfigList_v1650_item = -1;  /* SL_PriorityTxConfigIndex_v1650 */
static int hf_nr_rrc_sl_PriorityThreshold_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_sl_DefaultTxConfigIndex_r16 = -1;  /* INTEGER_0_maxCBR_Level_1_r16 */
static int hf_nr_rrc_sl_CBR_ConfigIndex_r16 = -1;  /* INTEGER_0_maxCBR_Config_1_r16 */
static int hf_nr_rrc_sl_Tx_ConfigIndexList_r16 = -1;  /* SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16 */
static int hf_nr_rrc_sl_Tx_ConfigIndexList_r16_item = -1;  /* SL_TxConfigIndex_r16 */
static int hf_nr_rrc_sl_MCS_RangeList_r16 = -1;   /* SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16 */
static int hf_nr_rrc_sl_MCS_RangeList_r16_item = -1;  /* SL_MinMaxMCS_List_r16 */
static int hf_nr_rrc_sl_CBR_RangeConfigList_r16 = -1;  /* SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16 */
static int hf_nr_rrc_sl_CBR_RangeConfigList_r16_item = -1;  /* SL_CBR_LevelsConfig_r16 */
static int hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16 = -1;  /* SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16 */
static int hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16_item = -1;  /* SL_CBR_PSSCH_TxConfig_r16 */
static int hf_nr_rrc_SL_CBR_LevelsConfig_r16_item = -1;  /* SL_CBR_r16 */
static int hf_nr_rrc_sl_CR_Limit_r16 = -1;        /* INTEGER_0_10000 */
static int hf_nr_rrc_sl_TxParameters_r16 = -1;    /* SL_PSSCH_TxParameters_r16 */
static int hf_nr_rrc_sl_PHY_MAC_RLC_Config_r16 = -1;  /* SL_PHY_MAC_RLC_Config_r16 */
static int hf_nr_rrc_sl_RadioBearerToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16 */
static int hf_nr_rrc_sl_RadioBearerToReleaseList_r16_item = -1;  /* SLRB_Uu_ConfigIndex_r16 */
static int hf_nr_rrc_sl_RadioBearerToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16 */
static int hf_nr_rrc_sl_RadioBearerToAddModList_r16_item = -1;  /* SL_RadioBearerConfig_r16 */
static int hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16 */
static int hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16_item = -1;  /* SL_DestinationIndex_r16 */
static int hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16 */
static int hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16_item = -1;  /* SL_MeasConfigInfo_r16 */
static int hf_nr_rrc_t400_r16 = -1;               /* T_t400_r16 */
static int hf_nr_rrc_sl_PHY_MAC_RLC_Config_v1700 = -1;  /* T_sl_PHY_MAC_RLC_Config_v1700 */
static int hf_nr_rrc_setup_190 = -1;              /* SL_PHY_MAC_RLC_Config_v1700 */
static int hf_nr_rrc_sl_DiscConfig_r17 = -1;      /* T_sl_DiscConfig_r17 */
static int hf_nr_rrc_setup_191 = -1;              /* SL_DiscConfig_r17 */
static int hf_nr_rrc_sl_ScheduledConfig_r16 = -1;  /* T_sl_ScheduledConfig_r16 */
static int hf_nr_rrc_setup_192 = -1;              /* SL_ScheduledConfig_r16 */
static int hf_nr_rrc_sl_UE_SelectedConfig_r16 = -1;  /* T_sl_UE_SelectedConfig_r16 */
static int hf_nr_rrc_setup_193 = -1;              /* SL_UE_SelectedConfig_r16 */
static int hf_nr_rrc_sl_FreqInfoToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16 */
static int hf_nr_rrc_sl_FreqInfoToReleaseList_r16_item = -1;  /* SL_Freq_Id_r16 */
static int hf_nr_rrc_sl_FreqInfoToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16 */
static int hf_nr_rrc_sl_FreqInfoToAddModList_r16_item = -1;  /* SL_FreqConfig_r16 */
static int hf_nr_rrc_sl_RLC_BearerToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16 */
static int hf_nr_rrc_sl_RLC_BearerToReleaseList_r16_item = -1;  /* SL_RLC_BearerConfigIndex_r16 */
static int hf_nr_rrc_sl_RLC_BearerToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16 */
static int hf_nr_rrc_sl_RLC_BearerToAddModList_r16_item = -1;  /* SL_RLC_BearerConfig_r16 */
static int hf_nr_rrc_sl_MaxNumConsecutiveDTX_r16 = -1;  /* T_sl_MaxNumConsecutiveDTX_r16 */
static int hf_nr_rrc_sl_CSI_Acquisition_r16 = -1;  /* T_sl_CSI_Acquisition_r16 */
static int hf_nr_rrc_sl_CSI_SchedulingRequestId_r16 = -1;  /* T_sl_CSI_SchedulingRequestId_r16 */
static int hf_nr_rrc_setup_194 = -1;              /* SchedulingRequestId */
static int hf_nr_rrc_sl_SSB_PriorityNR_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_networkControlledSyncTx_r16 = -1;  /* T_networkControlledSyncTx_r16 */
static int hf_nr_rrc_SL_RLC_ChannelToAddModList_r17_item = -1;  /* SL_RLC_ChannelConfig_r17 */
static int hf_nr_rrc_sl_DRX_Config_r17 = -1;      /* SL_DRX_Config_r17 */
static int hf_nr_rrc_sl_RLC_ChannelToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17 */
static int hf_nr_rrc_sl_RLC_ChannelToReleaseList_r17_item = -1;  /* SL_RLC_ChannelID_r17 */
static int hf_nr_rrc_sl_RLC_ChannelToAddModList_r17 = -1;  /* SL_RLC_ChannelToAddModList_r17 */
static int hf_nr_rrc_sl_RelayUE_Config_r17 = -1;  /* T_sl_RelayUE_Config_r17 */
static int hf_nr_rrc_setup_195 = -1;              /* SL_RelayUE_Config_r17 */
static int hf_nr_rrc_sl_RemoteUE_Config_r17 = -1;  /* T_sl_RemoteUE_Config_r17 */
static int hf_nr_rrc_setup_196 = -1;              /* SL_RemoteUE_Config_r17 */
static int hf_nr_rrc_sl_ConfigIndexCG_r16 = -1;   /* SL_ConfigIndexCG_r16 */
static int hf_nr_rrc_sl_PeriodCG_r16 = -1;        /* SL_PeriodCG_r16 */
static int hf_nr_rrc_sl_NrOfHARQ_Processes_r16 = -1;  /* INTEGER_1_16 */
static int hf_nr_rrc_sl_HARQ_ProcID_offset_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_sl_CG_MaxTransNumList_r16 = -1;  /* SL_CG_MaxTransNumList_r16 */
static int hf_nr_rrc_rrc_ConfiguredSidelinkGrant_r16 = -1;  /* T_rrc_ConfiguredSidelinkGrant_r16 */
static int hf_nr_rrc_sl_TimeResourceCG_Type1_r16 = -1;  /* INTEGER_0_496 */
static int hf_nr_rrc_sl_StartSubchannelCG_Type1_r16 = -1;  /* INTEGER_0_26 */
static int hf_nr_rrc_sl_FreqResourceCG_Type1_r16 = -1;  /* INTEGER_0_6929 */
static int hf_nr_rrc_sl_TimeOffsetCG_Type1_r16 = -1;  /* INTEGER_0_7999 */
static int hf_nr_rrc_sl_N1PUCCH_AN_r16 = -1;      /* PUCCH_ResourceId */
static int hf_nr_rrc_sl_PSFCH_ToPUCCH_CG_Type1_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_sl_TimeReferenceSFN_Type1_r16 = -1;  /* T_sl_TimeReferenceSFN_Type1_r16 */
static int hf_nr_rrc_sl_N1PUCCH_AN_Type2_r16 = -1;  /* PUCCH_ResourceId */
static int hf_nr_rrc_SL_CG_MaxTransNumList_r16_item = -1;  /* SL_CG_MaxTransNum_r16 */
static int hf_nr_rrc_sl_Priority_r16 = -1;        /* INTEGER_1_8 */
static int hf_nr_rrc_sl_MaxTransNum_r16 = -1;     /* INTEGER_1_32 */
static int hf_nr_rrc_sl_PeriodCG1_r16 = -1;       /* T_sl_PeriodCG1_r16 */
static int hf_nr_rrc_sl_PeriodCG2_r16 = -1;       /* INTEGER_1_99 */
static int hf_nr_rrc_sl_DRX_ConfigGC_BC_r17 = -1;  /* SL_DRX_ConfigGC_BC_r17 */
static int hf_nr_rrc_sl_DRX_ConfigUC_ToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16 */
static int hf_nr_rrc_sl_DRX_ConfigUC_ToReleaseList_r17_item = -1;  /* SL_DestinationIndex_r16 */
static int hf_nr_rrc_sl_DRX_ConfigUC_ToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17 */
static int hf_nr_rrc_sl_DRX_ConfigUC_ToAddModList_r17_item = -1;  /* SL_DRX_ConfigUC_Info_r17 */
static int hf_nr_rrc_sl_DestinationIndex_r17 = -1;  /* SL_DestinationIndex_r16 */
static int hf_nr_rrc_sl_DRX_ConfigUC_r17 = -1;    /* SL_DRX_ConfigUC_r17 */
static int hf_nr_rrc_sl_DRX_GC_BC_PerQoS_List_r17 = -1;  /* SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17 */
static int hf_nr_rrc_sl_DRX_GC_BC_PerQoS_List_r17_item = -1;  /* SL_DRX_GC_BC_QoS_r17 */
static int hf_nr_rrc_sl_DRX_GC_generic_r17 = -1;  /* SL_DRX_GC_Generic_r17 */
static int hf_nr_rrc_sl_DefaultDRX_GC_BC_r17 = -1;  /* SL_DRX_GC_BC_QoS_r17 */
static int hf_nr_rrc_sl_DRX_GC_BC_MappedQoS_FlowList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16 */
static int hf_nr_rrc_sl_DRX_GC_BC_MappedQoS_FlowList_r17_item = -1;  /* SL_QoS_Profile_r16 */
static int hf_nr_rrc_sl_DRX_GC_BC_OnDurationTimer_r17 = -1;  /* T_sl_DRX_GC_BC_OnDurationTimer_r17 */
static int hf_nr_rrc_milliSeconds_03 = -1;        /* T_milliSeconds_03 */
static int hf_nr_rrc_sl_DRX_GC_InactivityTimer_r17 = -1;  /* T_sl_DRX_GC_InactivityTimer_r17 */
static int hf_nr_rrc_sl_DRX_GC_BC_Cycle_r17 = -1;  /* T_sl_DRX_GC_BC_Cycle_r17 */
static int hf_nr_rrc_sl_DRX_GC_HARQ_RTT_Timer1_r17 = -1;  /* T_sl_DRX_GC_HARQ_RTT_Timer1_r17 */
static int hf_nr_rrc_sl_DRX_GC_HARQ_RTT_Timer2_r17 = -1;  /* T_sl_DRX_GC_HARQ_RTT_Timer2_r17 */
static int hf_nr_rrc_sl_DRX_GC_RetransmissionTimer_r17 = -1;  /* T_sl_DRX_GC_RetransmissionTimer_r17 */
static int hf_nr_rrc_sl_drx_onDurationTimer_r17 = -1;  /* T_sl_drx_onDurationTimer_r17 */
static int hf_nr_rrc_milliSeconds_04 = -1;        /* T_milliSeconds_04 */
static int hf_nr_rrc_sl_drx_InactivityTimer_r17 = -1;  /* T_sl_drx_InactivityTimer_r17 */
static int hf_nr_rrc_sl_drx_HARQ_RTT_Timer1_r17 = -1;  /* T_sl_drx_HARQ_RTT_Timer1_r17 */
static int hf_nr_rrc_sl_drx_HARQ_RTT_Timer2_r17 = -1;  /* T_sl_drx_HARQ_RTT_Timer2_r17 */
static int hf_nr_rrc_sl_drx_RetransmissionTimer_r17 = -1;  /* T_sl_drx_RetransmissionTimer_r17 */
static int hf_nr_rrc_sl_drx_CycleStartOffset_r17 = -1;  /* T_sl_drx_CycleStartOffset_r17 */
static int hf_nr_rrc_sl_drx_SlotOffset = -1;      /* INTEGER_0_31 */
static int hf_nr_rrc_sl_drx_onDurationTimer_r17_01 = -1;  /* T_sl_drx_onDurationTimer_r17_01 */
static int hf_nr_rrc_milliSeconds_05 = -1;        /* T_milliSeconds_05 */
static int hf_nr_rrc_sl_drx_CycleStartOffset_r17_01 = -1;  /* T_sl_drx_CycleStartOffset_r17_01 */
static int hf_nr_rrc_sl_drx_SlotOffset_r17 = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_sl_Freq_Id_r16 = -1;         /* SL_Freq_Id_r16 */
static int hf_nr_rrc_sl_SCS_SpecificCarrierList_r16 = -1;  /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */
static int hf_nr_rrc_sl_SCS_SpecificCarrierList_r16_item = -1;  /* SCS_SpecificCarrier */
static int hf_nr_rrc_sl_AbsoluteFrequencyPointA_r16 = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_sl_AbsoluteFrequencySSB_r16 = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_frequencyShift7p5khzSL_r16 = -1;  /* T_frequencyShift7p5khzSL_r16 */
static int hf_nr_rrc_valueN_r16 = -1;             /* INTEGER_M1_1 */
static int hf_nr_rrc_sl_BWP_ToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id */
static int hf_nr_rrc_sl_BWP_ToReleaseList_r16_item = -1;  /* BWP_Id */
static int hf_nr_rrc_sl_BWP_ToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16 */
static int hf_nr_rrc_sl_BWP_ToAddModList_r16_item = -1;  /* SL_BWP_Config_r16 */
static int hf_nr_rrc_sl_SyncConfigList_r16 = -1;  /* SL_SyncConfigList_r16 */
static int hf_nr_rrc_sl_SyncPriority_r16 = -1;    /* T_sl_SyncPriority_r16 */
static int hf_nr_rrc_sl_InterUE_CoordinationScheme1_r17 = -1;  /* SL_InterUE_CoordinationScheme1_r17 */
static int hf_nr_rrc_sl_InterUE_CoordinationScheme2_r17 = -1;  /* SL_InterUE_CoordinationScheme2_r17 */
static int hf_nr_rrc_sl_IUC_Explicit_r17 = -1;    /* T_sl_IUC_Explicit_r17 */
static int hf_nr_rrc_sl_IUC_Condition_r17 = -1;   /* T_sl_IUC_Condition_r17 */
static int hf_nr_rrc_sl_Condition1_A_2_r17 = -1;  /* T_sl_Condition1_A_2_r17 */
static int hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option1List_r17 = -1;  /* SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17 */
static int hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option1List_r17_item = -1;  /* SL_ThresholdRSRP_Condition1_B_1_r17 */
static int hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option2List_r17 = -1;  /* SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17 */
static int hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option2List_r17_item = -1;  /* SL_ThresholdRSRP_Condition1_B_1_r17 */
static int hf_nr_rrc_sl_ContainerCoordInfo_r17 = -1;  /* T_sl_ContainerCoordInfo_r17 */
static int hf_nr_rrc_sl_ContainerRequest_r17 = -1;  /* T_sl_ContainerRequest_r17 */
static int hf_nr_rrc_sl_TriggerConditionCoordInfo_r17 = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_sl_TriggerConditionRequest_r17 = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_sl_PriorityCoordInfoExplicit_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_sl_PriorityCoordInfoCondition_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_sl_PriorityRequest_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_sl_PriorityPreferredResourceSet_r17 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_sl_MaxSlotOffsetTRIV_r17 = -1;  /* INTEGER_1_8000 */
static int hf_nr_rrc_sl_NumSubCH_PreferredResourceSet_r17 = -1;  /* INTEGER_1_27 */
static int hf_nr_rrc_sl_ReservedPeriodPreferredResourceSet_r17 = -1;  /* INTEGER_1_16 */
static int hf_nr_rrc_sl_DetermineResourceType_r17 = -1;  /* T_sl_DetermineResourceType_r17 */
static int hf_nr_rrc_sl_IUC_Scheme2_r17 = -1;     /* T_sl_IUC_Scheme2_r17 */
static int hf_nr_rrc_sl_RB_SetPSFCH_r17 = -1;     /* BIT_STRING_SIZE_10_275 */
static int hf_nr_rrc_sl_TypeUE_A_r17 = -1;        /* T_sl_TypeUE_A_r17 */
static int hf_nr_rrc_sl_PSFCH_Occasion_r17 = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_sl_SlotLevelResourceExclusion_r17 = -1;  /* T_sl_SlotLevelResourceExclusion_r17 */
static int hf_nr_rrc_sl_OptionForCondition2_A_1_r17 = -1;  /* INTEGER_0_1 */
static int hf_nr_rrc_sl_IndicationUE_B_r17 = -1;  /* T_sl_IndicationUE_B_r17 */
static int hf_nr_rrc_sl_DeltaRSRP_Thresh_v1720 = -1;  /* INTEGER_M30_30 */
static int hf_nr_rrc_sl_Priority_r17 = -1;        /* INTEGER_1_8 */
static int hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_r17 = -1;  /* INTEGER_0_66 */
static int hf_nr_rrc_sl_PrioritisedBitRate_r16 = -1;  /* T_sl_PrioritisedBitRate_r16 */
static int hf_nr_rrc_sl_BucketSizeDuration_r16 = -1;  /* T_sl_BucketSizeDuration_r16 */
static int hf_nr_rrc_sl_ConfiguredGrantType1Allowed_r16 = -1;  /* T_sl_ConfiguredGrantType1Allowed_r16 */
static int hf_nr_rrc_sl_HARQ_FeedbackEnabled_r16 = -1;  /* T_sl_HARQ_FeedbackEnabled_r16 */
static int hf_nr_rrc_sl_AllowedCG_List_r16 = -1;  /* SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16 */
static int hf_nr_rrc_sl_AllowedCG_List_r16_item = -1;  /* SL_ConfigIndexCG_r16 */
static int hf_nr_rrc_sl_AllowedSCS_List_r16 = -1;  /* SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing */
static int hf_nr_rrc_sl_AllowedSCS_List_r16_item = -1;  /* SubcarrierSpacing */
static int hf_nr_rrc_sl_MaxPUSCH_Duration_r16 = -1;  /* T_sl_MaxPUSCH_Duration_r16 */
static int hf_nr_rrc_sl_LogicalChannelGroup_r16 = -1;  /* INTEGER_0_maxLCG_ID */
static int hf_nr_rrc_sl_SchedulingRequestId_r16 = -1;  /* SchedulingRequestId */
static int hf_nr_rrc_sl_LogicalChannelSR_DelayTimerApplied_r16 = -1;  /* BOOLEAN */
static int hf_nr_rrc_sl_RemoteUE_ToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17 */
static int hf_nr_rrc_sl_RemoteUE_ToAddModList_r17_item = -1;  /* SL_RemoteUE_ToAddMod_r17 */
static int hf_nr_rrc_sl_RemoteUE_ToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16 */
static int hf_nr_rrc_sl_RemoteUE_ToReleaseList_r17_item = -1;  /* SL_DestinationIdentity_r16 */
static int hf_nr_rrc_sl_L2IdentityRemote_r17 = -1;  /* SL_DestinationIdentity_r16 */
static int hf_nr_rrc_sl_SRAP_ConfigRelay_r17 = -1;  /* SL_SRAP_Config_r17 */
static int hf_nr_rrc_sl_SRAP_ConfigRemote_r17 = -1;  /* SL_SRAP_Config_r17 */
static int hf_nr_rrc_sl_DestinationIndex_r16 = -1;  /* SL_DestinationIndex_r16 */
static int hf_nr_rrc_sl_MeasConfig_r16 = -1;      /* SL_MeasConfig_r16 */
static int hf_nr_rrc_sl_MeasObjectToRemoveList_r16 = -1;  /* SL_MeasObjectToRemoveList_r16 */
static int hf_nr_rrc_sl_MeasObjectToAddModList_r16 = -1;  /* SL_MeasObjectList_r16 */
static int hf_nr_rrc_sl_ReportConfigToRemoveList_r16 = -1;  /* SL_ReportConfigToRemoveList_r16 */
static int hf_nr_rrc_sl_ReportConfigToAddModList_r16 = -1;  /* SL_ReportConfigList_r16 */
static int hf_nr_rrc_sl_MeasIdToRemoveList_r16 = -1;  /* SL_MeasIdToRemoveList_r16 */
static int hf_nr_rrc_sl_MeasIdToAddModList_r16 = -1;  /* SL_MeasIdList_r16 */
static int hf_nr_rrc_sl_QuantityConfig_r16 = -1;  /* SL_QuantityConfig_r16 */
static int hf_nr_rrc_SL_MeasObjectToRemoveList_r16_item = -1;  /* SL_MeasObjectId_r16 */
static int hf_nr_rrc_SL_ReportConfigToRemoveList_r16_item = -1;  /* SL_ReportConfigId_r16 */
static int hf_nr_rrc_SL_MeasIdToRemoveList_r16_item = -1;  /* SL_MeasId_r16 */
static int hf_nr_rrc_SL_MeasIdList_r16_item = -1;  /* SL_MeasIdInfo_r16 */
static int hf_nr_rrc_sl_MeasId_r16 = -1;          /* SL_MeasId_r16 */
static int hf_nr_rrc_sl_MeasObjectId_r16 = -1;    /* SL_MeasObjectId_r16 */
static int hf_nr_rrc_sl_ReportConfigId_r16 = -1;  /* SL_ReportConfigId_r16 */
static int hf_nr_rrc_SL_MeasObjectList_r16_item = -1;  /* SL_MeasObjectInfo_r16 */
static int hf_nr_rrc_sl_MeasObject_r16 = -1;      /* SL_MeasObject_r16 */
static int hf_nr_rrc_frequencyInfoSL_r16 = -1;    /* ARFCN_ValueNR */
static int hf_nr_rrc_ng_5G_S_TMSI_r17 = -1;       /* NG_5G_S_TMSI */
static int hf_nr_rrc_fullI_RNTI_r17 = -1;         /* I_RNTI_Value */
static int hf_nr_rrc_sl_AllowedResourceSelectionConfig_r17 = -1;  /* T_sl_AllowedResourceSelectionConfig_r17 */
static int hf_nr_rrc_sl_MinNumCandidateSlotsPeriodic_r17 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_sl_PBPS_OccasionReservePeriodList_r17 = -1;  /* T_sl_PBPS_OccasionReservePeriodList_r17 */
static int hf_nr_rrc_sl_PBPS_OccasionReservePeriodList_r17_item = -1;  /* INTEGER_1_16 */
static int hf_nr_rrc_sl_Additional_PBPS_Occasion_r17 = -1;  /* T_sl_Additional_PBPS_Occasion_r17 */
static int hf_nr_rrc_sl_CPS_WindowPeriodic_r17 = -1;  /* INTEGER_5_30 */
static int hf_nr_rrc_sl_MinNumCandidateSlotsAperiodic_r17 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_sl_MinNumRssiMeasurementSlots_r17 = -1;  /* INTEGER_1_800 */
static int hf_nr_rrc_sl_DefaultCBR_RandomSelection_r17 = -1;  /* INTEGER_0_100 */
static int hf_nr_rrc_sl_DefaultCBR_PartialSensing_r17 = -1;  /* INTEGER_0_100 */
static int hf_nr_rrc_sl_CPS_WindowAperiodic_r17 = -1;  /* INTEGER_0_30 */
static int hf_nr_rrc_sl_PartialSensingInactiveTime_r17 = -1;  /* T_sl_PartialSensingInactiveTime_r17 */
static int hf_nr_rrc_sl_DiscardTimer_r16 = -1;    /* T_sl_DiscardTimer_r16 */
static int hf_nr_rrc_sl_PDCP_SN_Size_r16 = -1;    /* T_sl_PDCP_SN_Size_r16 */
static int hf_nr_rrc_sl_OutOfOrderDelivery = -1;  /* T_sl_OutOfOrderDelivery */
static int hf_nr_rrc_dl_P0_PSBCH_r16 = -1;        /* INTEGER_M16_15 */
static int hf_nr_rrc_dl_Alpha_PSBCH_r16 = -1;     /* T_dl_Alpha_PSBCH_r16 */
static int hf_nr_rrc_dl_P0_PSBCH_r17 = -1;        /* INTEGER_M202_24 */
static int hf_nr_rrc_SL_PSSCH_TxConfigList_r16_item = -1;  /* SL_PSSCH_TxConfig_r16 */
static int hf_nr_rrc_sl_TypeTxSync_r16 = -1;      /* SL_TypeTxSync_r16 */
static int hf_nr_rrc_sl_ThresUE_Speed_r16 = -1;   /* T_sl_ThresUE_Speed_r16 */
static int hf_nr_rrc_sl_ParametersAboveThres_r16 = -1;  /* SL_PSSCH_TxParameters_r16 */
static int hf_nr_rrc_sl_ParametersBelowThres_r16 = -1;  /* SL_PSSCH_TxParameters_r16 */
static int hf_nr_rrc_sl_ParametersAboveThres_v1650 = -1;  /* SL_MinMaxMCS_List_r16 */
static int hf_nr_rrc_sl_ParametersBelowThres_v1650 = -1;  /* SL_MinMaxMCS_List_r16 */
static int hf_nr_rrc_sl_MinMCS_PSSCH_r16 = -1;    /* INTEGER_0_27 */
static int hf_nr_rrc_sl_MaxMCS_PSSCH_r16 = -1;    /* INTEGER_0_31 */
static int hf_nr_rrc_sl_MinSubChannelNumPSSCH_r16 = -1;  /* INTEGER_1_27 */
static int hf_nr_rrc_sl_MaxSubchannelNumPSSCH_r16 = -1;  /* INTEGER_1_27 */
static int hf_nr_rrc_sl_MaxTxTransNumPSSCH_r16 = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_sl_MaxTxPower_r16 = -1;      /* SL_TxPower_r16 */
static int hf_nr_rrc_sl_PQI_r16 = -1;             /* SL_PQI_r16 */
static int hf_nr_rrc_sl_GFBR_r16 = -1;            /* INTEGER_0_4000000000 */
static int hf_nr_rrc_sl_MFBR_r16 = -1;            /* INTEGER_0_4000000000 */
static int hf_nr_rrc_sl_Range_r16 = -1;           /* INTEGER_1_1000 */
static int hf_nr_rrc_sl_StandardizedPQI_r16 = -1;  /* INTEGER_0_255 */
static int hf_nr_rrc_sl_Non_StandardizedPQI_r16 = -1;  /* T_sl_Non_StandardizedPQI_r16 */
static int hf_nr_rrc_sl_ResourceType_r16 = -1;    /* T_sl_ResourceType_r16 */
static int hf_nr_rrc_sl_PriorityLevel_r16 = -1;   /* INTEGER_1_8 */
static int hf_nr_rrc_sl_PacketDelayBudget_r16 = -1;  /* INTEGER_0_1023 */
static int hf_nr_rrc_sl_PacketErrorRate_r16 = -1;  /* INTEGER_0_9 */
static int hf_nr_rrc_sl_AveragingWindow_r16 = -1;  /* INTEGER_0_4095 */
static int hf_nr_rrc_sl_MaxDataBurstVolume_r16 = -1;  /* INTEGER_0_4095 */
static int hf_nr_rrc_sl_FilterCoefficientDMRS_r16 = -1;  /* FilterCoefficient */
static int hf_nr_rrc_slrb_Uu_ConfigIndex_r16 = -1;  /* SLRB_Uu_ConfigIndex_r16 */
static int hf_nr_rrc_sl_SDAP_Config_r16 = -1;     /* SL_SDAP_Config_r16 */
static int hf_nr_rrc_sl_PDCP_Config_r16 = -1;     /* SL_PDCP_Config_r16 */
static int hf_nr_rrc_sl_TransRange_r16 = -1;      /* T_sl_TransRange_r16 */
static int hf_nr_rrc_threshHighRelay_r17 = -1;    /* RSRP_Range */
static int hf_nr_rrc_threshLowRelay_r17 = -1;     /* RSRP_Range */
static int hf_nr_rrc_hystMaxRelay_r17 = -1;       /* Hysteresis */
static int hf_nr_rrc_hystMinRelay_r17 = -1;       /* Hysteresis */
static int hf_nr_rrc_threshHighRemote_r17 = -1;   /* RSRP_Range */
static int hf_nr_rrc_hystMaxRemote_r17 = -1;      /* Hysteresis */
static int hf_nr_rrc_sl_ReselectionConfig_r17 = -1;  /* SL_ReselectionConfig_r17 */
static int hf_nr_rrc_sl_RSRP_Thresh_r17 = -1;     /* SL_RSRP_Range_r16 */
static int hf_nr_rrc_sl_FilterCoefficientRSRP_r17 = -1;  /* FilterCoefficient */
static int hf_nr_rrc_sl_HystMin_r17 = -1;         /* Hysteresis */
static int hf_nr_rrc_SL_ReportConfigList_r16_item = -1;  /* SL_ReportConfigInfo_r16 */
static int hf_nr_rrc_sl_ReportConfig_r16 = -1;    /* SL_ReportConfig_r16 */
static int hf_nr_rrc_sl_ReportType_r16 = -1;      /* T_sl_ReportType_r16 */
static int hf_nr_rrc_sl_Periodical_r16 = -1;      /* SL_PeriodicalReportConfig_r16 */
static int hf_nr_rrc_sl_EventTriggered_r16 = -1;  /* SL_EventTriggerConfig_r16 */
static int hf_nr_rrc_sl_ReportInterval_r16 = -1;  /* ReportInterval */
static int hf_nr_rrc_sl_ReportAmount_r16 = -1;    /* T_sl_ReportAmount_r16 */
static int hf_nr_rrc_sl_ReportQuantity_r16 = -1;  /* SL_MeasReportQuantity_r16 */
static int hf_nr_rrc_sl_RS_Type_r16 = -1;         /* SL_RS_Type_r16 */
static int hf_nr_rrc_sl_EventId_r16 = -1;         /* T_sl_EventId_r16 */
static int hf_nr_rrc_eventS1_r16 = -1;            /* T_eventS1_r16 */
static int hf_nr_rrc_s1_Threshold_r16 = -1;       /* SL_MeasTriggerQuantity_r16 */
static int hf_nr_rrc_sl_ReportOnLeave_r16 = -1;   /* BOOLEAN */
static int hf_nr_rrc_sl_Hysteresis_r16 = -1;      /* Hysteresis */
static int hf_nr_rrc_sl_TimeToTrigger_r16 = -1;   /* TimeToTrigger */
static int hf_nr_rrc_eventS2_r16 = -1;            /* T_eventS2_r16 */
static int hf_nr_rrc_s2_Threshold_r16 = -1;       /* SL_MeasTriggerQuantity_r16 */
static int hf_nr_rrc_sl_ReportAmount_r16_01 = -1;  /* T_sl_ReportAmount_r16_01 */
static int hf_nr_rrc_sL_MeasReportQuantity_r16_sl_RSRP_r16 = -1;  /* BOOLEAN */
static int hf_nr_rrc_sl_RSRP_r16 = -1;            /* RSRP_Range */
static int hf_nr_rrc_sl_PSCCH_Config_r16 = -1;    /* T_sl_PSCCH_Config_r16 */
static int hf_nr_rrc_setup_197 = -1;              /* SL_PSCCH_Config_r16 */
static int hf_nr_rrc_sl_PSSCH_Config_r16 = -1;    /* T_sl_PSSCH_Config_r16 */
static int hf_nr_rrc_setup_198 = -1;              /* SL_PSSCH_Config_r16 */
static int hf_nr_rrc_sl_PSFCH_Config_r16 = -1;    /* T_sl_PSFCH_Config_r16 */
static int hf_nr_rrc_setup_199 = -1;              /* SL_PSFCH_Config_r16 */
static int hf_nr_rrc_sl_SyncAllowed_r16 = -1;     /* SL_SyncAllowed_r16 */
static int hf_nr_rrc_sl_SubchannelSize_r16 = -1;  /* T_sl_SubchannelSize_r16 */
static int hf_nr_rrc_sL_ResourcePool_r16_dummy = -1;  /* INTEGER_10_160 */
static int hf_nr_rrc_sl_StartRB_Subchannel_r16 = -1;  /* INTEGER_0_265 */
static int hf_nr_rrc_sl_NumSubchannel_r16 = -1;   /* INTEGER_1_27 */
static int hf_nr_rrc_sl_Additional_MCS_Table_r16 = -1;  /* T_sl_Additional_MCS_Table_r16 */
static int hf_nr_rrc_sl_ThreshS_RSSI_CBR_r16 = -1;  /* INTEGER_0_45 */
static int hf_nr_rrc_sl_TimeWindowSizeCBR_r16 = -1;  /* T_sl_TimeWindowSizeCBR_r16 */
static int hf_nr_rrc_sl_TimeWindowSizeCR_r16 = -1;  /* T_sl_TimeWindowSizeCR_r16 */
static int hf_nr_rrc_sl_PTRS_Config_r16 = -1;     /* SL_PTRS_Config_r16 */
static int hf_nr_rrc_sl_UE_SelectedConfigRP_r16 = -1;  /* SL_UE_SelectedConfigRP_r16 */
static int hf_nr_rrc_sl_RxParametersNcell_r16 = -1;  /* T_sl_RxParametersNcell_r16 */
static int hf_nr_rrc_sl_TDD_Configuration_r16 = -1;  /* TDD_UL_DL_ConfigCommon */
static int hf_nr_rrc_sl_SyncConfigIndex_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_sl_ZoneConfigMCR_List_r16 = -1;  /* SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16 */
static int hf_nr_rrc_sl_ZoneConfigMCR_List_r16_item = -1;  /* SL_ZoneConfigMCR_r16 */
static int hf_nr_rrc_sl_FilterCoefficient_r16 = -1;  /* FilterCoefficient */
static int hf_nr_rrc_sl_RB_Number_r16 = -1;       /* INTEGER_10_275 */
static int hf_nr_rrc_sl_PreemptionEnable_r16 = -1;  /* T_sl_PreemptionEnable_r16 */
static int hf_nr_rrc_sl_PriorityThreshold_UL_URLLC_r16 = -1;  /* INTEGER_1_9 */
static int hf_nr_rrc_sl_PriorityThreshold_r16_01 = -1;  /* INTEGER_1_9 */
static int hf_nr_rrc_sl_X_Overhead_r16 = -1;      /* T_sl_X_Overhead_r16 */
static int hf_nr_rrc_sl_PowerControl_r16 = -1;    /* SL_PowerControl_r16 */
static int hf_nr_rrc_sl_TxPercentageList_r16 = -1;  /* SL_TxPercentageList_r16 */
static int hf_nr_rrc_sl_MinMaxMCS_List_r16 = -1;  /* SL_MinMaxMCS_List_r16 */
static int hf_nr_rrc_sl_TimeResource_r16 = -1;    /* BIT_STRING_SIZE_10_160 */
static int hf_nr_rrc_sl_PBPS_CPS_Config_r17 = -1;  /* T_sl_PBPS_CPS_Config_r17 */
static int hf_nr_rrc_setup_200 = -1;              /* SL_PBPS_CPS_Config_r17 */
static int hf_nr_rrc_sl_InterUE_CoordinationConfig_r17 = -1;  /* T_sl_InterUE_CoordinationConfig_r17 */
static int hf_nr_rrc_setup_201 = -1;              /* SL_InterUE_CoordinationConfig_r17 */
static int hf_nr_rrc_sl_ZoneConfigMCR_Index_r16 = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_sl_TransRange_r16_01 = -1;   /* T_sl_TransRange_r16_01 */
static int hf_nr_rrc_sl_ZoneConfig_r16 = -1;      /* SL_ZoneConfig_r16 */
static int hf_nr_rrc_gnss_Sync_r16 = -1;          /* T_gnss_Sync_r16 */
static int hf_nr_rrc_gnbEnb_Sync_r16 = -1;        /* T_gnbEnb_Sync_r16 */
static int hf_nr_rrc_ue_Sync_r16 = -1;            /* T_ue_Sync_r16 */
static int hf_nr_rrc_sl_TimeResourcePSCCH_r16 = -1;  /* T_sl_TimeResourcePSCCH_r16 */
static int hf_nr_rrc_sl_FreqResourcePSCCH_r16 = -1;  /* T_sl_FreqResourcePSCCH_r16 */
static int hf_nr_rrc_sl_DMRS_ScrambleID_r16 = -1;  /* INTEGER_0_65535 */
static int hf_nr_rrc_sl_NumReservedBits_r16 = -1;  /* INTEGER_2_4 */
static int hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16 = -1;  /* T_sl_PSSCH_DMRS_TimePatternList_r16 */
static int hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16_item = -1;  /* INTEGER_2_4 */
static int hf_nr_rrc_sl_BetaOffsets2ndSCI_r16 = -1;  /* SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16 */
static int hf_nr_rrc_sl_BetaOffsets2ndSCI_r16_item = -1;  /* SL_BetaOffsets_r16 */
static int hf_nr_rrc_sl_Scaling_r16 = -1;         /* T_sl_Scaling_r16 */
static int hf_nr_rrc_sl_PSFCH_Period_r16 = -1;    /* T_sl_PSFCH_Period_r16 */
static int hf_nr_rrc_sl_PSFCH_RB_Set_r16 = -1;    /* BIT_STRING_SIZE_10_275 */
static int hf_nr_rrc_sl_NumMuxCS_Pair_r16 = -1;   /* T_sl_NumMuxCS_Pair_r16 */
static int hf_nr_rrc_sl_MinTimeGapPSFCH_r16 = -1;  /* T_sl_MinTimeGapPSFCH_r16 */
static int hf_nr_rrc_sl_PSFCH_HopID_r16 = -1;     /* INTEGER_0_1023 */
static int hf_nr_rrc_sl_PSFCH_CandidateResourceType_r16 = -1;  /* T_sl_PSFCH_CandidateResourceType_r16 */
static int hf_nr_rrc_sl_PTRS_FreqDensity_r16 = -1;  /* T_sl_PTRS_FreqDensity_r16 */
static int hf_nr_rrc_sl_PTRS_FreqDensity_r16_item = -1;  /* INTEGER_1_276 */
static int hf_nr_rrc_sl_PTRS_TimeDensity_r16 = -1;  /* T_sl_PTRS_TimeDensity_r16 */
static int hf_nr_rrc_sl_PTRS_TimeDensity_r16_item = -1;  /* INTEGER_0_29 */
static int hf_nr_rrc_sl_PTRS_RE_Offset_r16 = -1;  /* T_sl_PTRS_RE_Offset_r16 */
static int hf_nr_rrc_sl_CBR_PriorityTxConfigList_r16 = -1;  /* SL_CBR_PriorityTxConfigList_r16 */
static int hf_nr_rrc_sl_Thres_RSRP_List_r16 = -1;  /* SL_Thres_RSRP_List_r16 */
static int hf_nr_rrc_sl_MultiReserveResource_r16 = -1;  /* T_sl_MultiReserveResource_r16 */
static int hf_nr_rrc_sl_MaxNumPerReserve_r16 = -1;  /* T_sl_MaxNumPerReserve_r16 */
static int hf_nr_rrc_sl_SensingWindow_r16 = -1;   /* T_sl_SensingWindow_r16 */
static int hf_nr_rrc_sl_SelectionWindowList_r16 = -1;  /* SL_SelectionWindowList_r16 */
static int hf_nr_rrc_sl_ResourceReservePeriodList_r16 = -1;  /* SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16 */
static int hf_nr_rrc_sl_ResourceReservePeriodList_r16_item = -1;  /* SL_ResourceReservePeriod_r16 */
static int hf_nr_rrc_sl_RS_ForSensing_r16 = -1;   /* T_sl_RS_ForSensing_r16 */
static int hf_nr_rrc_sl_CBR_PriorityTxConfigList_v1650 = -1;  /* SL_CBR_PriorityTxConfigList_v1650 */
static int hf_nr_rrc_sl_ResourceReservePeriod1_r16 = -1;  /* T_sl_ResourceReservePeriod1_r16 */
static int hf_nr_rrc_sl_ResourceReservePeriod2_r16 = -1;  /* INTEGER_1_99 */
static int hf_nr_rrc_SL_SelectionWindowList_r16_item = -1;  /* SL_SelectionWindowConfig_r16 */
static int hf_nr_rrc_sl_SelectionWindow_r16 = -1;  /* T_sl_SelectionWindow_r16 */
static int hf_nr_rrc_SL_TxPercentageList_r16_item = -1;  /* SL_TxPercentageConfig_r16 */
static int hf_nr_rrc_sl_TxPercentage_r16 = -1;    /* T_sl_TxPercentage_r16 */
static int hf_nr_rrc_SL_MinMaxMCS_List_r16_item = -1;  /* SL_MinMaxMCS_Config_r16 */
static int hf_nr_rrc_sl_MCS_Table_r16 = -1;       /* T_sl_MCS_Table_r16 */
static int hf_nr_rrc_sl_MaxTransPower_r16 = -1;   /* INTEGER_M30_33 */
static int hf_nr_rrc_sl_Alpha_PSSCH_PSCCH_r16 = -1;  /* T_sl_Alpha_PSSCH_PSCCH_r16 */
static int hf_nr_rrc_dl_Alpha_PSSCH_PSCCH_r16 = -1;  /* T_dl_Alpha_PSSCH_PSCCH_r16 */
static int hf_nr_rrc_sl_P0_PSSCH_PSCCH_r16 = -1;  /* INTEGER_M16_15 */
static int hf_nr_rrc_dl_P0_PSSCH_PSCCH_r16 = -1;  /* INTEGER_M16_15 */
static int hf_nr_rrc_dl_Alpha_PSFCH_r16 = -1;     /* T_dl_Alpha_PSFCH_r16 */
static int hf_nr_rrc_dl_P0_PSFCH_r16 = -1;        /* INTEGER_M16_15 */
static int hf_nr_rrc_dl_P0_PSSCH_PSCCH_r17 = -1;  /* INTEGER_M202_24 */
static int hf_nr_rrc_sl_P0_PSSCH_PSCCH_r17 = -1;  /* INTEGER_M202_24 */
static int hf_nr_rrc_dl_P0_PSFCH_r17 = -1;        /* INTEGER_M202_24 */
static int hf_nr_rrc_sl_RLC_BearerConfigIndex_r16 = -1;  /* SL_RLC_BearerConfigIndex_r16 */
static int hf_nr_rrc_sl_ServedRadioBearer_r16 = -1;  /* SLRB_Uu_ConfigIndex_r16 */
static int hf_nr_rrc_sl_RLC_Config_r16 = -1;      /* SL_RLC_Config_r16 */
static int hf_nr_rrc_sl_MAC_LogicalChannelConfig_r16 = -1;  /* SL_LogicalChannelConfig_r16 */
static int hf_nr_rrc_sl_RLC_ChannelID_r17 = -1;   /* SL_RLC_ChannelID_r17 */
static int hf_nr_rrc_sl_RLC_Config_r17 = -1;      /* SL_RLC_Config_r16 */
static int hf_nr_rrc_sl_MAC_LogicalChannelConfig_r17 = -1;  /* SL_LogicalChannelConfig_r16 */
static int hf_nr_rrc_sl_PacketDelayBudget_r17 = -1;  /* INTEGER_0_1023 */
static int hf_nr_rrc_sl_AM_RLC_r16 = -1;          /* T_sl_AM_RLC_r16 */
static int hf_nr_rrc_sl_SN_FieldLengthAM_r16 = -1;  /* SN_FieldLengthAM */
static int hf_nr_rrc_sl_T_PollRetransmit_r16 = -1;  /* T_PollRetransmit */
static int hf_nr_rrc_sl_PollPDU_r16 = -1;         /* PollPDU */
static int hf_nr_rrc_sl_PollByte_r16 = -1;        /* PollByte */
static int hf_nr_rrc_sl_MaxRetxThreshold_r16 = -1;  /* T_sl_MaxRetxThreshold_r16 */
static int hf_nr_rrc_sl_UM_RLC_r16 = -1;          /* T_sl_UM_RLC_r16 */
static int hf_nr_rrc_sl_SN_FieldLengthUM_r16 = -1;  /* SN_FieldLengthUM */
static int hf_nr_rrc_sl_RNTI_r16 = -1;            /* RNTI_Value */
static int hf_nr_rrc_mac_MainConfigSL_r16 = -1;   /* MAC_MainConfigSL_r16 */
static int hf_nr_rrc_sl_CS_RNTI_r16 = -1;         /* RNTI_Value */
static int hf_nr_rrc_sl_PSFCH_ToPUCCH_r16 = -1;   /* T_sl_PSFCH_ToPUCCH_r16 */
static int hf_nr_rrc_sl_PSFCH_ToPUCCH_r16_item = -1;  /* INTEGER_0_15 */
static int hf_nr_rrc_sl_ConfiguredGrantConfigList_r16 = -1;  /* SL_ConfiguredGrantConfigList_r16 */
static int hf_nr_rrc_sl_DCI_ToSL_Trans_r16 = -1;  /* T_sl_DCI_ToSL_Trans_r16 */
static int hf_nr_rrc_sl_DCI_ToSL_Trans_r16_item = -1;  /* INTEGER_1_32 */
static int hf_nr_rrc_sl_BSR_Config_r16 = -1;      /* BSR_Config */
static int hf_nr_rrc_ul_PrioritizationThres_r16 = -1;  /* INTEGER_1_16 */
static int hf_nr_rrc_sl_PrioritizationThres_r16 = -1;  /* INTEGER_1_8 */
static int hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16 */
static int hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16_item = -1;  /* SL_ConfigIndexCG_r16 */
static int hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16 */
static int hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16_item = -1;  /* SL_ConfiguredGrantConfig_r16 */
static int hf_nr_rrc_sl_SDAP_Header_r16 = -1;     /* T_sl_SDAP_Header_r16 */
static int hf_nr_rrc_sl_DefaultRB_r16 = -1;       /* BOOLEAN */
static int hf_nr_rrc_sl_MappedQoS_Flows_r16 = -1;  /* T_sl_MappedQoS_Flows_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsList_r16_item = -1;  /* SL_QoS_Profile_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsListDedicated_r16 = -1;  /* SL_MappedQoS_FlowsListDedicated_r16 */
static int hf_nr_rrc_sl_CastType_r16_01 = -1;     /* T_sl_CastType_r16_01 */
static int hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item = -1;  /* SL_QoS_FlowIdentity_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_item = -1;  /* SL_QoS_FlowIdentity_r16 */
static int hf_nr_rrc_sl_LocalIdentity_r17 = -1;   /* INTEGER_0_255 */
static int hf_nr_rrc_sl_MappingToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17 */
static int hf_nr_rrc_sl_MappingToAddModList_r17_item = -1;  /* SL_MappingToAddMod_r17 */
static int hf_nr_rrc_sl_MappingToReleaseList_r17 = -1;  /* SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17 */
static int hf_nr_rrc_sl_MappingToReleaseList_r17_item = -1;  /* SL_RemoteUE_RB_Identity_r17 */
static int hf_nr_rrc_sl_RemoteUE_RB_Identity_r17 = -1;  /* SL_RemoteUE_RB_Identity_r17 */
static int hf_nr_rrc_sl_EgressRLC_ChannelUu_r17 = -1;  /* Uu_RelayRLC_ChannelID_r17 */
static int hf_nr_rrc_sl_EgressRLC_ChannelPC5_r17 = -1;  /* SL_RLC_ChannelID_r17 */
static int hf_nr_rrc_srb_Identity_r17 = -1;       /* INTEGER_0_3 */
static int hf_nr_rrc_drb_Identity_r17 = -1;       /* DRB_Identity */
static int hf_nr_rrc_SL_SyncConfigList_r16_item = -1;  /* SL_SyncConfig_r16 */
static int hf_nr_rrc_sl_SyncRefMinHyst_r16 = -1;  /* T_sl_SyncRefMinHyst_r16 */
static int hf_nr_rrc_sl_SyncRefDiffHyst_r16 = -1;  /* T_sl_SyncRefDiffHyst_r16 */
static int hf_nr_rrc_sl_filterCoefficient_r16 = -1;  /* FilterCoefficient */
static int hf_nr_rrc_sl_SSB_TimeAllocation1_r16 = -1;  /* SL_SSB_TimeAllocation_r16 */
static int hf_nr_rrc_sl_SSB_TimeAllocation2_r16 = -1;  /* SL_SSB_TimeAllocation_r16 */
static int hf_nr_rrc_sl_SSB_TimeAllocation3_r16 = -1;  /* SL_SSB_TimeAllocation_r16 */
static int hf_nr_rrc_sl_SSID_r16 = -1;            /* INTEGER_0_671 */
static int hf_nr_rrc_txParameters_r16 = -1;       /* T_txParameters_r16 */
static int hf_nr_rrc_syncTxThreshIC_r16 = -1;     /* SL_RSRP_Range_r16 */
static int hf_nr_rrc_syncTxThreshOoC_r16 = -1;    /* SL_RSRP_Range_r16 */
static int hf_nr_rrc_syncInfoReserved_r16 = -1;   /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_gnss_Sync_r16_01 = -1;       /* T_gnss_Sync_r16_01 */
static int hf_nr_rrc_sl_NumSSB_WithinPeriod_r16 = -1;  /* T_sl_NumSSB_WithinPeriod_r16 */
static int hf_nr_rrc_sl_TimeOffsetSSB_r16 = -1;   /* INTEGER_0_1279 */
static int hf_nr_rrc_sl_TimeInterval_r16 = -1;    /* INTEGER_0_639 */
static int hf_nr_rrc_SL_Thres_RSRP_List_r16_item = -1;  /* SL_Thres_RSRP_r16 */
static int hf_nr_rrc_minusinfinity_r16 = -1;      /* NULL */
static int hf_nr_rrc_txPower_r16 = -1;            /* INTEGER_M30_33 */
static int hf_nr_rrc_sl_PSSCH_TxConfigList_r16 = -1;  /* SL_PSSCH_TxConfigList_r16 */
static int hf_nr_rrc_sl_ProbResourceKeep_r16 = -1;  /* T_sl_ProbResourceKeep_r16 */
static int hf_nr_rrc_sl_ReselectAfter_r16 = -1;   /* T_sl_ReselectAfter_r16 */
static int hf_nr_rrc_sl_CBR_CommonTxConfigList_r16 = -1;  /* SL_CBR_CommonTxConfigList_r16 */
static int hf_nr_rrc_sl_ZoneLength_r16 = -1;      /* T_sl_ZoneLength_r16 */
static int hf_nr_rrc_CarrierFreqListMBS_r17_item = -1;  /* ARFCN_ValueNR */
static int hf_nr_rrc_locationAndBandwidthBroadcast_r17 = -1;  /* LocationAndBandwidthBroadcast_r17 */
static int hf_nr_rrc_pdsch_ConfigMCCH_r17 = -1;   /* PDSCH_ConfigBroadcast_r17 */
static int hf_nr_rrc_commonControlResourceSetExt_r17 = -1;  /* ControlResourceSet */
static int hf_nr_rrc_sameAsSib1ConfiguredLocationAndBW = -1;  /* NULL */
static int hf_nr_rrc_drx_onDurationTimerPTM_r17 = -1;  /* T_drx_onDurationTimerPTM_r17 */
static int hf_nr_rrc_milliSeconds_06 = -1;        /* T_milliSeconds_06 */
static int hf_nr_rrc_drx_InactivityTimerPTM_r17 = -1;  /* T_drx_InactivityTimerPTM_r17 */
static int hf_nr_rrc_drx_HARQ_RTT_TimerDL_PTM_r17 = -1;  /* INTEGER_0_56 */
static int hf_nr_rrc_drx_RetransmissionTimerDL_PTM_r17 = -1;  /* T_drx_RetransmissionTimerDL_PTM_r17 */
static int hf_nr_rrc_drx_LongCycleStartOffsetPTM_r17 = -1;  /* T_drx_LongCycleStartOffsetPTM_r17 */
static int hf_nr_rrc_drx_SlotOffsetPTM_r17 = -1;  /* INTEGER_0_31 */
static int hf_nr_rrc_MBS_NeighbourCellList_r17_item = -1;  /* MBS_NeighbourCell_r17 */
static int hf_nr_rrc_MBS_ServiceList_r17_item = -1;  /* MBS_ServiceInfo_r17 */
static int hf_nr_rrc_tmgi_r17 = -1;               /* TMGI_r17 */
static int hf_nr_rrc_MBS_SessionInfoList_r17_item = -1;  /* MBS_SessionInfo_r17 */
static int hf_nr_rrc_g_RNTI_r17 = -1;             /* RNTI_Value */
static int hf_nr_rrc_mrb_ListBroadcast_r17 = -1;  /* MRB_ListBroadcast_r17 */
static int hf_nr_rrc_mtch_SchedulingInfo_r17 = -1;  /* DRX_ConfigPTM_Index_r17 */
static int hf_nr_rrc_mtch_NeighbourCell_r17 = -1;  /* BIT_STRING_SIZE_maxNeighCellMBS_r17 */
static int hf_nr_rrc_pdsch_ConfigIndex_r17 = -1;  /* PDSCH_ConfigIndex_r17 */
static int hf_nr_rrc_mtch_SSB_MappingWindowIndex_r17 = -1;  /* MTCH_SSB_MappingWindowIndex_r17 */
static int hf_nr_rrc_MRB_ListBroadcast_r17_item = -1;  /* MRB_InfoBroadcast_r17 */
static int hf_nr_rrc_pdcp_Config_r17_01 = -1;     /* MRB_PDCP_ConfigBroadcast_r17 */
static int hf_nr_rrc_rlc_Config_r17_01 = -1;      /* MRB_RLC_ConfigBroadcast_r17 */
static int hf_nr_rrc_pdcp_SN_SizeDL_r17 = -1;     /* T_pdcp_SN_SizeDL_r17 */
static int hf_nr_rrc_headerCompression_r17 = -1;  /* T_headerCompression_r17 */
static int hf_nr_rrc_rohc_01 = -1;                /* T_rohc_01 */
static int hf_nr_rrc_maxCID_r17 = -1;             /* INTEGER_1_16 */
static int hf_nr_rrc_profiles_r17 = -1;           /* T_profiles_r17 */
static int hf_nr_rrc_profile0x0000_r17 = -1;      /* BOOLEAN */
static int hf_nr_rrc_profile0x0001_r17 = -1;      /* BOOLEAN */
static int hf_nr_rrc_profile0x0002_r17 = -1;      /* BOOLEAN */
static int hf_nr_rrc_t_Reordering_r17 = -1;       /* T_t_Reordering_r17 */
static int hf_nr_rrc_sn_FieldLength_r17 = -1;     /* T_sn_FieldLength_r17 */
static int hf_nr_rrc_t_Reassembly_r17 = -1;       /* T_Reassembly */
static int hf_nr_rrc_MTCH_SSB_MappingWindowList_r17_item = -1;  /* MTCH_SSB_MappingWindowCycleOffset_r17 */
static int hf_nr_rrc_pdschConfigList_r17 = -1;    /* SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17 */
static int hf_nr_rrc_pdschConfigList_r17_item = -1;  /* PDSCH_ConfigPTM_r17 */
static int hf_nr_rrc_pdsch_TimeDomainAllocationList_r17 = -1;  /* PDSCH_TimeDomainResourceAllocationList_r16 */
static int hf_nr_rrc_rateMatchPatternToAddModList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern */
static int hf_nr_rrc_rateMatchPatternToAddModList_r17_item = -1;  /* RateMatchPattern */
static int hf_nr_rrc_lte_CRS_ToMatchAround_r17 = -1;  /* RateMatchPatternLTE_CRS */
static int hf_nr_rrc_mcs_Table_r17_01 = -1;       /* T_mcs_Table_r17_01 */
static int hf_nr_rrc_xOverhead_r17 = -1;          /* T_xOverhead_r17 */
static int hf_nr_rrc_dataScramblingIdentityPDSCH_r17 = -1;  /* INTEGER_0_1023 */
static int hf_nr_rrc_dmrs_ScramblingID0_r17 = -1;  /* INTEGER_0_65535 */
static int hf_nr_rrc_pdsch_AggregationFactor_r17_01 = -1;  /* T_pdsch_AggregationFactor_r17_01 */
static int hf_nr_rrc_plmn_Id_r17 = -1;            /* T_plmn_Id_r17 */
static int hf_nr_rrc_plmn_Index = -1;             /* INTEGER_1_maxPLMN */
static int hf_nr_rrc_explicitValue = -1;          /* PLMN_Identity */
static int hf_nr_rrc_serviceId_r17 = -1;          /* OCTET_STRING_SIZE_3 */
static int hf_nr_rrc_message_09 = -1;             /* SBCCH_SL_BCH_MessageType */
static int hf_nr_rrc_c1_18 = -1;                  /* T_c1_18 */
static int hf_nr_rrc_masterInformationBlockSidelink = -1;  /* MasterInformationBlockSidelink */
static int hf_nr_rrc_messageClassExtension_09 = -1;  /* T_messageClassExtension_09 */
static int hf_nr_rrc_message_10 = -1;             /* SCCH_MessageType */
static int hf_nr_rrc_c1_19 = -1;                  /* T_c1_19 */
static int hf_nr_rrc_measurementReportSidelink = -1;  /* MeasurementReportSidelink */
static int hf_nr_rrc_rrcReconfigurationSidelink = -1;  /* RRCReconfigurationSidelink */
static int hf_nr_rrc_rrcReconfigurationCompleteSidelink = -1;  /* RRCReconfigurationCompleteSidelink */
static int hf_nr_rrc_rrcReconfigurationFailureSidelink = -1;  /* RRCReconfigurationFailureSidelink */
static int hf_nr_rrc_ueCapabilityEnquirySidelink = -1;  /* UECapabilityEnquirySidelink */
static int hf_nr_rrc_ueCapabilityInformationSidelink = -1;  /* UECapabilityInformationSidelink */
static int hf_nr_rrc_uuMessageTransferSidelink_r17 = -1;  /* UuMessageTransferSidelink_r17 */
static int hf_nr_rrc_remoteUEInformationSidelink_r17 = -1;  /* RemoteUEInformationSidelink_r17 */
static int hf_nr_rrc_messageClassExtension_10 = -1;  /* T_messageClassExtension_10 */
static int hf_nr_rrc_c2_01 = -1;                  /* T_c2_01 */
static int hf_nr_rrc_notificationMessageSidelink_r17 = -1;  /* NotificationMessageSidelink_r17 */
static int hf_nr_rrc_ueAssistanceInformationSidelink_r17 = -1;  /* UEAssistanceInformationSidelink_r17 */
static int hf_nr_rrc_messageClassExtensionFuture_r17 = -1;  /* T_messageClassExtensionFuture_r17 */
static int hf_nr_rrc_sl_TDD_Config_r16 = -1;      /* BIT_STRING_SIZE_12 */
static int hf_nr_rrc_inCoverage_r16 = -1;         /* BOOLEAN */
static int hf_nr_rrc_directFrameNumber_r16 = -1;  /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_masterInformationBlockSidelink_slotIndex_r16 = -1;  /* BIT_STRING_SIZE_7 */
static int hf_nr_rrc_reservedBits_r16 = -1;       /* BIT_STRING_SIZE_2 */
static int hf_nr_rrc_criticalExtensions_51 = -1;  /* T_criticalExtensions_51 */
static int hf_nr_rrc_measurementReportSidelink_r16 = -1;  /* MeasurementReportSidelink_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_51 = -1;  /* T_criticalExtensionsFuture_51 */
static int hf_nr_rrc_sl_measResults_r16 = -1;     /* SL_MeasResults_r16 */
static int hf_nr_rrc_nonCriticalExtension_152 = -1;  /* T_nonCriticalExtension_58 */
static int hf_nr_rrc_sl_MeasResult_r16 = -1;      /* SL_MeasResult_r16 */
static int hf_nr_rrc_sl_ResultDMRS_r16 = -1;      /* SL_MeasQuantityResult_r16 */
static int hf_nr_rrc_SL_MeasResultListRelay_r17_item = -1;  /* SL_MeasResultRelay_r17 */
static int hf_nr_rrc_cellIdentity_r17 = -1;       /* CellAccessRelatedInfo */
static int hf_nr_rrc_sl_RelayUE_Identity_r17 = -1;  /* SL_SourceIdentity_r17 */
static int hf_nr_rrc_sl_MeasResult_r17 = -1;      /* SL_MeasResult_r16 */
static int hf_nr_rrc_criticalExtensions_52 = -1;  /* T_criticalExtensions_52 */
static int hf_nr_rrc_notificationMessageSidelink_r17_01 = -1;  /* NotificationMessageSidelink_r17_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_52 = -1;  /* T_criticalExtensionsFuture_52 */
static int hf_nr_rrc_indicationType_r17 = -1;     /* T_indicationType_r17 */
static int hf_nr_rrc_nonCriticalExtension_153 = -1;  /* T_nonCriticalExtension_59 */
static int hf_nr_rrc_criticalExtensions_53 = -1;  /* T_criticalExtensions_53 */
static int hf_nr_rrc_remoteUEInformationSidelink_r17_01 = -1;  /* RemoteUEInformationSidelink_r17_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_53 = -1;  /* T_criticalExtensionsFuture_53 */
static int hf_nr_rrc_sl_RequestedSIB_List_r17 = -1;  /* T_sl_RequestedSIB_List_r17 */
static int hf_nr_rrc_setup_202 = -1;              /* SL_RequestedSIB_List_r17 */
static int hf_nr_rrc_sl_PagingInfo_RemoteUE_r17 = -1;  /* T_sl_PagingInfo_RemoteUE_r17 */
static int hf_nr_rrc_setup_203 = -1;              /* SL_PagingInfo_RemoteUE_r17 */
static int hf_nr_rrc_nonCriticalExtension_154 = -1;  /* T_nonCriticalExtension_60 */
static int hf_nr_rrc_SL_RequestedSIB_List_r17_item = -1;  /* SL_SIB_ReqInfo_r17 */
static int hf_nr_rrc_sl_PagingCycleRemoteUE_r17 = -1;  /* PagingCycle */
static int hf_nr_rrc_rrc_TransactionIdentifier_r16 = -1;  /* RRC_TransactionIdentifier */
static int hf_nr_rrc_criticalExtensions_54 = -1;  /* T_criticalExtensions_54 */
static int hf_nr_rrc_rrcReconfigurationSidelink_r16 = -1;  /* RRCReconfigurationSidelink_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_54 = -1;  /* T_criticalExtensionsFuture_54 */
static int hf_nr_rrc_slrb_ConfigToAddModList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16 */
static int hf_nr_rrc_slrb_ConfigToAddModList_r16_item = -1;  /* SLRB_Config_r16 */
static int hf_nr_rrc_slrb_ConfigToReleaseList_r16 = -1;  /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16 */
static int hf_nr_rrc_slrb_ConfigToReleaseList_r16_item = -1;  /* SLRB_PC5_ConfigIndex_r16 */
static int hf_nr_rrc_sl_MeasConfig_r16_01 = -1;   /* T_sl_MeasConfig_r16 */
static int hf_nr_rrc_setup_204 = -1;              /* SL_MeasConfig_r16 */
static int hf_nr_rrc_sl_CSI_RS_Config_r16 = -1;   /* T_sl_CSI_RS_Config_r16 */
static int hf_nr_rrc_setup_205 = -1;              /* SL_CSI_RS_Config_r16 */
static int hf_nr_rrc_sl_ResetConfig_r16 = -1;     /* T_sl_ResetConfig_r16 */
static int hf_nr_rrc_sl_LatencyBoundCSI_Report_r16 = -1;  /* INTEGER_3_160 */
static int hf_nr_rrc_nonCriticalExtension_155 = -1;  /* RRCReconfigurationSidelink_v1700_IEs */
static int hf_nr_rrc_sl_DRX_ConfigUC_PC5_r17 = -1;  /* T_sl_DRX_ConfigUC_PC5_r17 */
static int hf_nr_rrc_setup_206 = -1;              /* SL_DRX_ConfigUC_r17 */
static int hf_nr_rrc_sl_LatencyBoundIUC_Report_r17 = -1;  /* T_sl_LatencyBoundIUC_Report_r17 */
static int hf_nr_rrc_setup_207 = -1;              /* SL_LatencyBoundIUC_Report_r17 */
static int hf_nr_rrc_sl_RLC_ChannelToReleaseListPC5_r17 = -1;  /* SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17 */
static int hf_nr_rrc_sl_RLC_ChannelToReleaseListPC5_r17_item = -1;  /* SL_RLC_ChannelID_r17 */
static int hf_nr_rrc_sl_RLC_ChannelToAddModListPC5_r17 = -1;  /* SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17 */
static int hf_nr_rrc_sl_RLC_ChannelToAddModListPC5_r17_item = -1;  /* SL_RLC_ChannelConfigPC5_r17 */
static int hf_nr_rrc_nonCriticalExtension_156 = -1;  /* T_nonCriticalExtension_61 */
static int hf_nr_rrc_slrb_PC5_ConfigIndex_r16 = -1;  /* SLRB_PC5_ConfigIndex_r16 */
static int hf_nr_rrc_sl_SDAP_ConfigPC5_r16 = -1;  /* SL_SDAP_ConfigPC5_r16 */
static int hf_nr_rrc_sl_PDCP_ConfigPC5_r16 = -1;  /* SL_PDCP_ConfigPC5_r16 */
static int hf_nr_rrc_sl_RLC_ConfigPC5_r16 = -1;   /* SL_RLC_ConfigPC5_r16 */
static int hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r16 = -1;  /* SL_LogicalChannelConfigPC5_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_01 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item_01 = -1;  /* SL_PQFI_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_01 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16 */
static int hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_item_01 = -1;  /* SL_PQFI_r16 */
static int hf_nr_rrc_sl_SDAP_Header_r16_01 = -1;  /* T_sl_SDAP_Header_r16_01 */
static int hf_nr_rrc_sl_PDCP_SN_Size_r16_01 = -1;  /* T_sl_PDCP_SN_Size_r16_01 */
static int hf_nr_rrc_sl_OutOfOrderDelivery_r16 = -1;  /* T_sl_OutOfOrderDelivery_r16 */
static int hf_nr_rrc_sl_AM_RLC_r16_01 = -1;       /* T_sl_AM_RLC_r16_01 */
static int hf_nr_rrc_sl_UM_Bi_Directional_RLC_r16 = -1;  /* T_sl_UM_Bi_Directional_RLC_r16 */
static int hf_nr_rrc_sl_UM_Uni_Directional_RLC_r16 = -1;  /* T_sl_UM_Uni_Directional_RLC_r16 */
static int hf_nr_rrc_sl_LogicalChannelIdentity_r16 = -1;  /* LogicalChannelIdentity */
static int hf_nr_rrc_sl_CSI_RS_FreqAllocation_r16 = -1;  /* T_sl_CSI_RS_FreqAllocation_r16 */
static int hf_nr_rrc_sl_OneAntennaPort_r16 = -1;  /* BIT_STRING_SIZE_12 */
static int hf_nr_rrc_sl_TwoAntennaPort_r16 = -1;  /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_sl_CSI_RS_FirstSymbol_r16 = -1;  /* INTEGER_3_12 */
static int hf_nr_rrc_sl_RLC_ChannelID_PC5_r17 = -1;  /* SL_RLC_ChannelID_r17 */
static int hf_nr_rrc_sl_RLC_ConfigPC5_r17 = -1;   /* SL_RLC_ConfigPC5_r16 */
static int hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r17 = -1;  /* SL_LogicalChannelConfigPC5_r16 */
static int hf_nr_rrc_criticalExtensions_55 = -1;  /* T_criticalExtensions_55 */
static int hf_nr_rrc_rrcReconfigurationCompleteSidelink_r16 = -1;  /* RRCReconfigurationCompleteSidelink_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_55 = -1;  /* T_criticalExtensionsFuture_55 */
static int hf_nr_rrc_nonCriticalExtension_157 = -1;  /* RRCReconfigurationCompleteSidelink_v1710_IEs */
static int hf_nr_rrc_dummy_09 = -1;               /* T_dummy_07 */
static int hf_nr_rrc_nonCriticalExtension_158 = -1;  /* RRCReconfigurationCompleteSidelink_v1720_IEs */
static int hf_nr_rrc_sl_DRX_ConfigReject_v1720 = -1;  /* T_sl_DRX_ConfigReject_v1720 */
static int hf_nr_rrc_nonCriticalExtension_159 = -1;  /* T_nonCriticalExtension_62 */
static int hf_nr_rrc_criticalExtensions_56 = -1;  /* T_criticalExtensions_56 */
static int hf_nr_rrc_rrcReconfigurationFailureSidelink_r16 = -1;  /* RRCReconfigurationFailureSidelink_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_56 = -1;  /* T_criticalExtensionsFuture_56 */
static int hf_nr_rrc_nonCriticalExtension_160 = -1;  /* T_nonCriticalExtension_63 */
static int hf_nr_rrc_criticalExtensions_57 = -1;  /* T_criticalExtensions_57 */
static int hf_nr_rrc_ueAssistanceInformationSidelink_r17_01 = -1;  /* UEAssistanceInformationSidelink_r17_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_57 = -1;  /* T_criticalExtensionsFuture_57 */
static int hf_nr_rrc_sl_PreferredDRX_ConfigList_r17 = -1;  /* SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17 */
static int hf_nr_rrc_sl_PreferredDRX_ConfigList_r17_item = -1;  /* SL_DRX_ConfigUC_SemiStatic_r17 */
static int hf_nr_rrc_nonCriticalExtension_161 = -1;  /* T_nonCriticalExtension_64 */
static int hf_nr_rrc_criticalExtensions_58 = -1;  /* T_criticalExtensions_58 */
static int hf_nr_rrc_ueCapabilityEnquirySidelink_r16 = -1;  /* UECapabilityEnquirySidelink_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_58 = -1;  /* T_criticalExtensionsFuture_58 */
static int hf_nr_rrc_frequencyBandListFilterSidelink_r16 = -1;  /* FreqBandList */
static int hf_nr_rrc_ue_CapabilityInformationSidelink_r16 = -1;  /* OCTET_STRING */
static int hf_nr_rrc_nonCriticalExtension_162 = -1;  /* T_nonCriticalExtension_65 */
static int hf_nr_rrc_criticalExtensions_59 = -1;  /* T_criticalExtensions_59 */
static int hf_nr_rrc_ueCapabilityInformationSidelink_r16 = -1;  /* UECapabilityInformationSidelink_r16_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_59 = -1;  /* T_criticalExtensionsFuture_59 */
static int hf_nr_rrc_accessStratumReleaseSidelink_r16 = -1;  /* AccessStratumReleaseSidelink_r16 */
static int hf_nr_rrc_pdcp_ParametersSidelink_r16 = -1;  /* PDCP_ParametersSidelink_r16 */
static int hf_nr_rrc_supportedBandCombinationListSidelinkNR_r16 = -1;  /* BandCombinationListSidelinkNR_r16 */
static int hf_nr_rrc_supportedBandListSidelink_r16_01 = -1;  /* SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16 */
static int hf_nr_rrc_supportedBandListSidelink_r16_item_01 = -1;  /* BandSidelinkPC5_r16 */
static int hf_nr_rrc_appliedFreqBandListFilter_r16 = -1;  /* FreqBandList */
static int hf_nr_rrc_nonCriticalExtension_163 = -1;  /* UECapabilityInformationSidelink_v1700_IEs */
static int hf_nr_rrc_mac_ParametersSidelink_r17 = -1;  /* MAC_ParametersSidelink_r17 */
static int hf_nr_rrc_supportedBandCombinationListSidelinkNR_v1710 = -1;  /* BandCombinationListSidelinkNR_v1710 */
static int hf_nr_rrc_nonCriticalExtension_164 = -1;  /* T_nonCriticalExtension_66 */
static int hf_nr_rrc_drx_OnSidelink_r17_01 = -1;  /* T_drx_OnSidelink_r17_01 */
static int hf_nr_rrc_outOfOrderDeliverySidelink_r16 = -1;  /* T_outOfOrderDeliverySidelink_r16 */
static int hf_nr_rrc_BandCombinationListSidelinkNR_r16_item = -1;  /* BandCombinationParametersSidelinkNR_r16 */
static int hf_nr_rrc_BandCombinationListSidelinkNR_v1710_item = -1;  /* BandCombinationParametersSidelinkNR_v1710 */
static int hf_nr_rrc_BandCombinationParametersSidelinkNR_r16_item = -1;  /* BandParametersSidelink_r16 */
static int hf_nr_rrc_BandCombinationParametersSidelinkNR_v1710_item = -1;  /* BandParametersSidelink_v1710 */
static int hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17_02 = -1;  /* T_tx_IUC_Scheme1_Mode2Sidelink_r17_02 */
static int hf_nr_rrc_tx_IUC_Scheme2_Mode2Sidelink_r17_01 = -1;  /* T_tx_IUC_Scheme2_Mode2Sidelink_r17_01 */
static int hf_nr_rrc_sl_Reception_r16_01 = -1;    /* T_sl_Reception_r16_01 */
static int hf_nr_rrc_harq_RxProcessSidelink_r16_01 = -1;  /* T_harq_RxProcessSidelink_r16_01 */
static int hf_nr_rrc_pscch_RxSidelink_r16_01 = -1;  /* T_pscch_RxSidelink_r16_01 */
static int hf_nr_rrc_scs_CP_PatternRxSidelink_r16_01 = -1;  /* T_scs_CP_PatternRxSidelink_r16_01 */
static int hf_nr_rrc_fr1_r16_02 = -1;             /* T_fr1_r16_02 */
static int hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_30kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_60kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_fr2_r16_03 = -1;             /* T_fr2_r16_03 */
static int hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_60kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_120kHz_r16 = -1;  /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_extendedCP_RxSidelink_r16_01 = -1;  /* T_extendedCP_RxSidelink_r16_01 */
static int hf_nr_rrc_sl_Tx_256QAM_r16_01 = -1;    /* T_sl_Tx_256QAM_r16_01 */
static int hf_nr_rrc_lowSE_64QAM_MCS_TableSidelink_r16_01 = -1;  /* T_lowSE_64QAM_MCS_TableSidelink_r16_01 */
static int hf_nr_rrc_csi_ReportSidelink_r16 = -1;  /* T_csi_ReportSidelink_r16 */
static int hf_nr_rrc_csi_RS_PortsSidelink_r16 = -1;  /* T_csi_RS_PortsSidelink_r16 */
static int hf_nr_rrc_rankTwoReception_r16 = -1;   /* T_rankTwoReception_r16 */
static int hf_nr_rrc_sl_openLoopPC_RSRP_ReportSidelink_r16_01 = -1;  /* T_sl_openLoopPC_RSRP_ReportSidelink_r16_01 */
static int hf_nr_rrc_sl_Rx_256QAM_r16_01 = -1;    /* T_sl_Rx_256QAM_r16_01 */
static int hf_nr_rrc_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01 = -1;  /* T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01 */
static int hf_nr_rrc_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01 = -1;  /* T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01 */
static int hf_nr_rrc_rx_IUC_Scheme2_Mode2Sidelink_r17_01 = -1;  /* T_rx_IUC_Scheme2_Mode2Sidelink_r17_01 */
static int hf_nr_rrc_rx_IUC_Scheme1_SCI_r17_01 = -1;  /* T_rx_IUC_Scheme1_SCI_r17_01 */
static int hf_nr_rrc_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01 = -1;  /* T_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01 */
static int hf_nr_rrc_scheme2_ConflictDeterminationRSRP_r17 = -1;  /* T_scheme2_ConflictDeterminationRSRP_r17 */
static int hf_nr_rrc_criticalExtensions_60 = -1;  /* T_criticalExtensions_60 */
static int hf_nr_rrc_uuMessageTransferSidelink_r17_01 = -1;  /* UuMessageTransferSidelink_r17_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_60 = -1;  /* T_criticalExtensionsFuture_60 */
static int hf_nr_rrc_sl_PagingDelivery_r17 = -1;  /* T_sl_PagingDelivery_r17 */
static int hf_nr_rrc_sl_SIB1_Delivery_r17 = -1;   /* T_sl_SIB1_Delivery_r17 */
static int hf_nr_rrc_sl_SystemInformationDelivery_r17 = -1;  /* T_sl_SystemInformationDelivery_r17 */
static int hf_nr_rrc_nonCriticalExtension_165 = -1;  /* T_nonCriticalExtension_67 */
static int dummy_hf_nr_rrc_eag_field = -1; /* never registered */
static int hf_nr_rrc_serialNumber_gs = -1;
static int hf_nr_rrc_serialNumber_msg_code = -1;
static int hf_nr_rrc_serialNumber_upd_nb = -1;
static int hf_nr_rrc_warningType_value = -1;
static int hf_nr_rrc_warningType_emergency_user_alert = -1;
static int hf_nr_rrc_warningType_popup = -1;
static int hf_nr_rrc_warningMessageSegment_nb_pages = -1;
static int hf_nr_rrc_warningMessageSegment_decoded_page = -1;
static int hf_nr_rrc_sib7_fragments = -1;
static int hf_nr_rrc_sib7_fragment = -1;
static int hf_nr_rrc_sib7_fragment_overlap = -1;
static int hf_nr_rrc_sib7_fragment_overlap_conflict = -1;
static int hf_nr_rrc_sib7_fragment_multiple_tails = -1;
static int hf_nr_rrc_sib7_fragment_too_long_fragment = -1;
static int hf_nr_rrc_sib7_fragment_error = -1;
static int hf_nr_rrc_sib7_fragment_count = -1;
static int hf_nr_rrc_sib7_reassembled_in = -1;
static int hf_nr_rrc_sib7_reassembled_length = -1;
static int hf_nr_rrc_sib7_reassembled_data = -1;
static int hf_nr_rrc_sib8_fragments = -1;
static int hf_nr_rrc_sib8_fragment = -1;
static int hf_nr_rrc_sib8_fragment_overlap = -1;
static int hf_nr_rrc_sib8_fragment_overlap_conflict = -1;
static int hf_nr_rrc_sib8_fragment_multiple_tails = -1;
static int hf_nr_rrc_sib8_fragment_too_long_fragment = -1;
static int hf_nr_rrc_sib8_fragment_error = -1;
static int hf_nr_rrc_sib8_fragment_count = -1;
static int hf_nr_rrc_sib8_reassembled_in = -1;
static int hf_nr_rrc_sib8_reassembled_length = -1;
static int hf_nr_rrc_sib8_reassembled_data = -1;
static int hf_nr_rrc_utc_time = -1;
static int hf_nr_rrc_local_time = -1;
static int hf_nr_rrc_absolute_time = -1;

/* Initialize the subtree pointers */
static gint ett_nr_rrc = -1;
static gint ett_nr_rrc_HandoverCommand = -1;
static gint ett_nr_rrc_T_criticalExtensions = -1;
static gint ett_nr_rrc_T_c1 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture = -1;
static gint ett_nr_rrc_HandoverCommand_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension = -1;
static gint ett_nr_rrc_HandoverPreparationInformation = -1;
static gint ett_nr_rrc_T_criticalExtensions_01 = -1;
static gint ett_nr_rrc_T_c1_01 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_01 = -1;
static gint ett_nr_rrc_HandoverPreparationInformation_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1;
static gint ett_nr_rrc_AS_Config = -1;
static gint ett_nr_rrc_AS_Context = -1;
static gint ett_nr_rrc_ConfigRestrictInfoDAPS_r16 = -1;
static gint ett_nr_rrc_T_powerCoordination_r16 = -1;
static gint ett_nr_rrc_ConfigRestrictInfoDAPS_v1640 = -1;
static gint ett_nr_rrc_ReestablishmentInfo = -1;
static gint ett_nr_rrc_ReestabNCellInfoList = -1;
static gint ett_nr_rrc_ReestabNCellInfo = -1;
static gint ett_nr_rrc_RRM_Config = -1;
static gint ett_nr_rrc_CG_Config = -1;
static gint ett_nr_rrc_T_criticalExtensions_02 = -1;
static gint ett_nr_rrc_T_c1_02 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_02 = -1;
static gint ett_nr_rrc_CG_Config_IEs = -1;
static gint ett_nr_rrc_CG_Config_v1540_IEs = -1;
static gint ett_nr_rrc_T_reportCGI_RequestNR = -1;
static gint ett_nr_rrc_T_requestedCellInfo = -1;
static gint ett_nr_rrc_CG_Config_v1560_IEs = -1;
static gint ett_nr_rrc_T_reportCGI_RequestEUTRA = -1;
static gint ett_nr_rrc_T_requestedCellInfoEUTRA = -1;
static gint ett_nr_rrc_CG_Config_v1590_IEs = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA = -1;
static gint ett_nr_rrc_CG_Config_v1610_IEs = -1;
static gint ett_nr_rrc_CG_Config_v1620_IEs = -1;
static gint ett_nr_rrc_CG_Config_v1630_IEs = -1;
static gint ett_nr_rrc_CG_Config_v1640_IEs = -1;
static gint ett_nr_rrc_CG_Config_v1700_IEs = -1;
static gint ett_nr_rrc_CG_Config_v1730_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1;
static gint ett_nr_rrc_ServCellInfoListSCG_NR_r16 = -1;
static gint ett_nr_rrc_ServCellInfoXCG_NR_r16 = -1;
static gint ett_nr_rrc_FrequencyConfig_NR_r16 = -1;
static gint ett_nr_rrc_ServCellInfoListSCG_EUTRA_r16 = -1;
static gint ett_nr_rrc_ServCellInfoXCG_EUTRA_r16 = -1;
static gint ett_nr_rrc_PH_TypeListSCG = -1;
static gint ett_nr_rrc_PH_InfoSCG = -1;
static gint ett_nr_rrc_PH_UplinkCarrierSCG = -1;
static gint ett_nr_rrc_MeasConfigSN = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo = -1;
static gint ett_nr_rrc_NR_FreqInfo = -1;
static gint ett_nr_rrc_ConfigRestrictModReqSCG = -1;
static gint ett_nr_rrc_BandCombinationInfoSN = -1;
static gint ett_nr_rrc_FR_InfoList = -1;
static gint ett_nr_rrc_FR_Info = -1;
static gint ett_nr_rrc_CandidateServingFreqListNR = -1;
static gint ett_nr_rrc_CandidateServingFreqListEUTRA = -1;
static gint ett_nr_rrc_CandidateCellInfoListCPC_r17 = -1;
static gint ett_nr_rrc_CandidateCellInfo_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17 = -1;
static gint ett_nr_rrc_CandidateCell_r17 = -1;
static gint ett_nr_rrc_CG_ConfigInfo = -1;
static gint ett_nr_rrc_T_criticalExtensions_03 = -1;
static gint ett_nr_rrc_T_c1_03 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_03 = -1;
static gint ett_nr_rrc_CG_ConfigInfo_IEs = -1;
static gint ett_nr_rrc_T_scgFailureInfo = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1540_IEs = -1;
static gint ett_nr_rrc_T_measResultReportCGI = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1560_IEs = -1;
static gint ett_nr_rrc_T_scgFailureInfoEUTRA = -1;
static gint ett_nr_rrc_T_measResultReportCGI_EUTRA = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1570_IEs = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1590_IEs = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1610_IEs = -1;
static gint ett_nr_rrc_T_scgFailureInfo_r16 = -1;
static gint ett_nr_rrc_T_dummy1 = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1620_IEs = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1640_IEs = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1700_IEs = -1;
static gint ett_nr_rrc_CG_ConfigInfo_v1730_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1;
static gint ett_nr_rrc_ServCellInfoListMCG_NR_r16 = -1;
static gint ett_nr_rrc_ServCellInfoListMCG_EUTRA_r16 = -1;
static gint ett_nr_rrc_SFTD_FrequencyList_NR = -1;
static gint ett_nr_rrc_SFTD_FrequencyList_EUTRA = -1;
static gint ett_nr_rrc_ConfigRestrictInfoSCG = -1;
static gint ett_nr_rrc_T_powerCoordination_FR1 = -1;
static gint ett_nr_rrc_T_servCellIndexRangeSCG = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN = -1;
static gint ett_nr_rrc_T_powerCoordination_FR2_r16 = -1;
static gint ett_nr_rrc_SelectedBandEntriesMN = -1;
static gint ett_nr_rrc_PH_TypeListMCG = -1;
static gint ett_nr_rrc_PH_InfoMCG = -1;
static gint ett_nr_rrc_PH_UplinkCarrierMCG = -1;
static gint ett_nr_rrc_BandCombinationInfoList = -1;
static gint ett_nr_rrc_BandCombinationInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex = -1;
static gint ett_nr_rrc_DRX_Info = -1;
static gint ett_nr_rrc_T_drx_LongCycleStartOffset = -1;
static gint ett_nr_rrc_T_shortDRX = -1;
static gint ett_nr_rrc_DRX_Info2 = -1;
static gint ett_nr_rrc_T_drx_onDurationTimer = -1;
static gint ett_nr_rrc_MeasConfigMN = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo = -1;
static gint ett_nr_rrc_T_measGapConfig = -1;
static gint ett_nr_rrc_T_measGapConfigFR2 = -1;
static gint ett_nr_rrc_MRDC_AssistanceInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC = -1;
static gint ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC = -1;
static gint ett_nr_rrc_T_affectedCarrierFreqCombMRDC = -1;
static gint ett_nr_rrc_VictimSystemType = -1;
static gint ett_nr_rrc_AffectedCarrierFreqCombEUTRA = -1;
static gint ett_nr_rrc_AffectedCarrierFreqCombNR = -1;
static gint ett_nr_rrc_CandidateCellListCPC_r17 = -1;
static gint ett_nr_rrc_CandidateCellCPC_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId = -1;
static gint ett_nr_rrc_MeasurementTimingConfiguration = -1;
static gint ett_nr_rrc_T_criticalExtensions_04 = -1;
static gint ett_nr_rrc_T_c1_04 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_04 = -1;
static gint ett_nr_rrc_MeasurementTimingConfiguration_IEs = -1;
static gint ett_nr_rrc_MeasurementTimingConfiguration_v1550_IEs = -1;
static gint ett_nr_rrc_MeasurementTimingConfiguration_v1610_IEs = -1;
static gint ett_nr_rrc_T_csi_RS_Config_r16 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_04 = -1;
static gint ett_nr_rrc_MeasTimingList = -1;
static gint ett_nr_rrc_MeasTiming = -1;
static gint ett_nr_rrc_T_frequencyAndTiming = -1;
static gint ett_nr_rrc_UERadioPagingInformation = -1;
static gint ett_nr_rrc_T_criticalExtensions_05 = -1;
static gint ett_nr_rrc_T_c1_05 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_05 = -1;
static gint ett_nr_rrc_UERadioPagingInformation_IEs = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR = -1;
static gint ett_nr_rrc_UERadioPagingInformation_v15e0_IEs = -1;
static gint ett_nr_rrc_UERadioPagingInformation_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1;
static gint ett_nr_rrc_UERadioAccessCapabilityInformation = -1;
static gint ett_nr_rrc_T_criticalExtensions_06 = -1;
static gint ett_nr_rrc_T_c1_06 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_06 = -1;
static gint ett_nr_rrc_UERadioAccessCapabilityInformation_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1;
static gint ett_nr_rrc_BCCH_BCH_Message = -1;
static gint ett_nr_rrc_BCCH_BCH_MessageType = -1;
static gint ett_nr_rrc_T_messageClassExtension = -1;
static gint ett_nr_rrc_BCCH_DL_SCH_Message = -1;
static gint ett_nr_rrc_BCCH_DL_SCH_MessageType = -1;
static gint ett_nr_rrc_T_c1_07 = -1;
static gint ett_nr_rrc_T_messageClassExtension_01 = -1;
static gint ett_nr_rrc_DL_CCCH_Message = -1;
static gint ett_nr_rrc_DL_CCCH_MessageType = -1;
static gint ett_nr_rrc_T_c1_08 = -1;
static gint ett_nr_rrc_T_messageClassExtension_02 = -1;
static gint ett_nr_rrc_DL_DCCH_Message = -1;
static gint ett_nr_rrc_DL_DCCH_MessageType = -1;
static gint ett_nr_rrc_T_c1_09 = -1;
static gint ett_nr_rrc_T_messageClassExtension_03 = -1;
static gint ett_nr_rrc_MCCH_Message_r17 = -1;
static gint ett_nr_rrc_MCCH_MessageType_r17 = -1;
static gint ett_nr_rrc_T_c1_10 = -1;
static gint ett_nr_rrc_T_messageClassExtension_04 = -1;
static gint ett_nr_rrc_PCCH_Message = -1;
static gint ett_nr_rrc_PCCH_MessageType = -1;
static gint ett_nr_rrc_T_c1_11 = -1;
static gint ett_nr_rrc_T_messageClassExtension_05 = -1;
static gint ett_nr_rrc_UL_CCCH_Message = -1;
static gint ett_nr_rrc_UL_CCCH_MessageType = -1;
static gint ett_nr_rrc_T_c1_12 = -1;
static gint ett_nr_rrc_T_messageClassExtension_06 = -1;
static gint ett_nr_rrc_UL_CCCH1_Message = -1;
static gint ett_nr_rrc_UL_CCCH1_MessageType = -1;
static gint ett_nr_rrc_T_c1_13 = -1;
static gint ett_nr_rrc_T_messageClassExtension_07 = -1;
static gint ett_nr_rrc_UL_DCCH_Message = -1;
static gint ett_nr_rrc_UL_DCCH_MessageType = -1;
static gint ett_nr_rrc_T_c1_14 = -1;
static gint ett_nr_rrc_T_messageClassExtension_08 = -1;
static gint ett_nr_rrc_T_c2 = -1;
static gint ett_nr_rrc_T_messageClassExtensionFuture_r16 = -1;
static gint ett_nr_rrc_CounterCheck = -1;
static gint ett_nr_rrc_T_criticalExtensions_07 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_07 = -1;
static gint ett_nr_rrc_CounterCheck_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1;
static gint ett_nr_rrc_DRB_CountMSB_InfoList = -1;
static gint ett_nr_rrc_DRB_CountMSB_Info = -1;
static gint ett_nr_rrc_CounterCheckResponse = -1;
static gint ett_nr_rrc_T_criticalExtensions_08 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_08 = -1;
static gint ett_nr_rrc_CounterCheckResponse_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_08 = -1;
static gint ett_nr_rrc_DRB_CountInfoList = -1;
static gint ett_nr_rrc_DRB_CountInfo = -1;
static gint ett_nr_rrc_DedicatedSIBRequest_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_09 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_09 = -1;
static gint ett_nr_rrc_DedicatedSIBRequest_r16_IEs = -1;
static gint ett_nr_rrc_T_onDemandSIB_RequestList_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_09 = -1;
static gint ett_nr_rrc_PosSIB_ReqInfo_r16 = -1;
static gint ett_nr_rrc_DLDedicatedMessageSegment_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_10 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_10 = -1;
static gint ett_nr_rrc_DLDedicatedMessageSegment_r16_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_10 = -1;
static gint ett_nr_rrc_DLInformationTransfer = -1;
static gint ett_nr_rrc_T_criticalExtensions_11 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_11 = -1;
static gint ett_nr_rrc_DLInformationTransfer_IEs = -1;
static gint ett_nr_rrc_DLInformationTransfer_v1610_IEs = -1;
static gint ett_nr_rrc_DLInformationTransfer_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_11 = -1;
static gint ett_nr_rrc_DLInformationTransferMRDC_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_12 = -1;
static gint ett_nr_rrc_T_c1_15 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_12 = -1;
static gint ett_nr_rrc_DLInformationTransferMRDC_r16_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_12 = -1;
static gint ett_nr_rrc_FailureInformation = -1;
static gint ett_nr_rrc_T_criticalExtensions_13 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_13 = -1;
static gint ett_nr_rrc_FailureInformation_IEs = -1;
static gint ett_nr_rrc_FailureInfoRLC_Bearer = -1;
static gint ett_nr_rrc_FailureInformation_v1610_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_13 = -1;
static gint ett_nr_rrc_FailureInfoDAPS_r16 = -1;
static gint ett_nr_rrc_IABOtherInformation_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_14 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_14 = -1;
static gint ett_nr_rrc_IABOtherInformation_r16_IEs = -1;
static gint ett_nr_rrc_T_ip_InfoType_r16 = -1;
static gint ett_nr_rrc_T_iab_IP_Request_r16 = -1;
static gint ett_nr_rrc_T_iab_IPv6_AddressReq_r16 = -1;
static gint ett_nr_rrc_T_iab_IP_Report_r16 = -1;
static gint ett_nr_rrc_T_iab_IPv6_Report_r16 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_14 = -1;
static gint ett_nr_rrc_IAB_IP_AddressNumReq_r16 = -1;
static gint ett_nr_rrc_IAB_IP_AddressPrefixReq_r16 = -1;
static gint ett_nr_rrc_IAB_IP_AddressAndTraffic_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 = -1;
static gint ett_nr_rrc_IAB_IP_PrefixAndTraffic_r16 = -1;
static gint ett_nr_rrc_LocationMeasurementIndication = -1;
static gint ett_nr_rrc_T_criticalExtensions_15 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_15 = -1;
static gint ett_nr_rrc_LocationMeasurementIndication_IEs = -1;
static gint ett_nr_rrc_T_measurementIndication = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_15 = -1;
static gint ett_nr_rrc_LoggedMeasurementConfiguration_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_16 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_16 = -1;
static gint ett_nr_rrc_LoggedMeasurementConfiguration_r16_IEs = -1;
static gint ett_nr_rrc_T_bt_NameList_r16 = -1;
static gint ett_nr_rrc_T_wlan_NameList_r16 = -1;
static gint ett_nr_rrc_T_sensor_NameList_r16 = -1;
static gint ett_nr_rrc_T_reportType = -1;
static gint ett_nr_rrc_LoggedMeasurementConfiguration_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_16 = -1;
static gint ett_nr_rrc_LoggedPeriodicalReportConfig_r16 = -1;
static gint ett_nr_rrc_LoggedEventTriggerConfig_r16 = -1;
static gint ett_nr_rrc_EventType_r16 = -1;
static gint ett_nr_rrc_T_eventL1 = -1;
static gint ett_nr_rrc_MBSBroadcastConfiguration_r17 = -1;
static gint ett_nr_rrc_T_criticalExtensions_17 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_17 = -1;
static gint ett_nr_rrc_MBSBroadcastConfiguration_r17_IEs = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_17 = -1;
static gint ett_nr_rrc_MBSInterestIndication_r17 = -1;
static gint ett_nr_rrc_T_criticalExtensions_18 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_18 = -1;
static gint ett_nr_rrc_MBSInterestIndication_r17_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_18 = -1;
static gint ett_nr_rrc_MCGFailureInformation_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_19 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_19 = -1;
static gint ett_nr_rrc_MCGFailureInformation_r16_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_19 = -1;
static gint ett_nr_rrc_FailureReportMCG_r16 = -1;
static gint ett_nr_rrc_MeasResultList2UTRA = -1;
static gint ett_nr_rrc_MeasResult2UTRA_FDD_r16 = -1;
static gint ett_nr_rrc_MeasResultList2EUTRA = -1;
static gint ett_nr_rrc_MeasurementReport = -1;
static gint ett_nr_rrc_T_criticalExtensions_20 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_20 = -1;
static gint ett_nr_rrc_MeasurementReport_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_20 = -1;
static gint ett_nr_rrc_MeasurementReportAppLayer_r17 = -1;
static gint ett_nr_rrc_T_criticalExtensions_21 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_21 = -1;
static gint ett_nr_rrc_MeasurementReportAppLayer_r17_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_21 = -1;
static gint ett_nr_rrc_MeasurementReportAppLayerList_r17 = -1;
static gint ett_nr_rrc_MeasReportAppLayer_r17 = -1;
static gint ett_nr_rrc_RAN_VisibleMeasurements_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID = -1;
static gint ett_nr_rrc_MIB = -1;
static gint ett_nr_rrc_MobilityFromNRCommand = -1;
static gint ett_nr_rrc_T_criticalExtensions_22 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_22 = -1;
static gint ett_nr_rrc_MobilityFromNRCommand_IEs = -1;
static gint ett_nr_rrc_MobilityFromNRCommand_v1610_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_22 = -1;
static gint ett_nr_rrc_Paging = -1;
static gint ett_nr_rrc_Paging_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_23 = -1;
static gint ett_nr_rrc_PagingRecordList = -1;
static gint ett_nr_rrc_PagingRecordList_v1700 = -1;
static gint ett_nr_rrc_PagingGroupList_r17 = -1;
static gint ett_nr_rrc_PagingRecord = -1;
static gint ett_nr_rrc_PagingRecord_v1700 = -1;
static gint ett_nr_rrc_PagingUE_Identity = -1;
static gint ett_nr_rrc_RRCReestablishment = -1;
static gint ett_nr_rrc_T_criticalExtensions_23 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_23 = -1;
static gint ett_nr_rrc_RRCReestablishment_IEs = -1;
static gint ett_nr_rrc_RRCReestablishment_v1700_IEs = -1;
static gint ett_nr_rrc_T_sl_L2RemoteUE_Config_r17 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_24 = -1;
static gint ett_nr_rrc_RRCReestablishmentComplete = -1;
static gint ett_nr_rrc_T_criticalExtensions_24 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_24 = -1;
static gint ett_nr_rrc_RRCReestablishmentComplete_IEs = -1;
static gint ett_nr_rrc_RRCReestablishmentComplete_v1610_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_25 = -1;
static gint ett_nr_rrc_RRCReestablishmentRequest = -1;
static gint ett_nr_rrc_RRCReestablishmentRequest_IEs = -1;
static gint ett_nr_rrc_ReestabUE_Identity = -1;
static gint ett_nr_rrc_RRCReconfiguration = -1;
static gint ett_nr_rrc_T_criticalExtensions_25 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_25 = -1;
static gint ett_nr_rrc_RRCReconfiguration_IEs = -1;
static gint ett_nr_rrc_RRCReconfiguration_v1530_IEs = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message = -1;
static gint ett_nr_rrc_RRCReconfiguration_v1540_IEs = -1;
static gint ett_nr_rrc_RRCReconfiguration_v1560_IEs = -1;
static gint ett_nr_rrc_T_mrdc_SecondaryCellGroupConfig = -1;
static gint ett_nr_rrc_RRCReconfiguration_v1610_IEs = -1;
static gint ett_nr_rrc_T_bap_Config_r16 = -1;
static gint ett_nr_rrc_T_t316_r16 = -1;
static gint ett_nr_rrc_T_needForGapsConfigNR_r16 = -1;
static gint ett_nr_rrc_T_onDemandSIB_Request_r16 = -1;
static gint ett_nr_rrc_T_sl_ConfigDedicatedNR_r16 = -1;
static gint ett_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16 = -1;
static gint ett_nr_rrc_RRCReconfiguration_v1700_IEs = -1;
static gint ett_nr_rrc_T_sl_L2RelayUE_Config_r17 = -1;
static gint ett_nr_rrc_T_sl_L2RemoteUE_Config_r17_01 = -1;
static gint ett_nr_rrc_T_needForGapNCSG_ConfigNR_r17 = -1;
static gint ett_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17 = -1;
static gint ett_nr_rrc_T_musim_GapConfig_r17 = -1;
static gint ett_nr_rrc_T_ul_GapFR2_Config_r17 = -1;
static gint ett_nr_rrc_T_ue_TxTEG_RequestUL_TDOA_Config_r17 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_26 = -1;
static gint ett_nr_rrc_MRDC_SecondaryCellGroupConfig = -1;
static gint ett_nr_rrc_T_mrdc_SecondaryCellGroup = -1;
static gint ett_nr_rrc_BAP_Config_r16 = -1;
static gint ett_nr_rrc_MasterKeyUpdate = -1;
static gint ett_nr_rrc_OnDemandSIB_Request_r16 = -1;
static gint ett_nr_rrc_IAB_IP_AddressConfigurationList_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16 = -1;
static gint ett_nr_rrc_IAB_IP_AddressConfiguration_r16 = -1;
static gint ett_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16 = -1;
static gint ett_nr_rrc_UE_TxTEG_RequestUL_TDOA_Config_r17 = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete = -1;
static gint ett_nr_rrc_T_criticalExtensions_26 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_26 = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_v1560_IEs = -1;
static gint ett_nr_rrc_T_scg_Response = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_v1610_IEs = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_v1640_IEs = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_v1700_IEs = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_v1720_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_27 = -1;
static gint ett_nr_rrc_RRCReject = -1;
static gint ett_nr_rrc_T_criticalExtensions_27 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_27 = -1;
static gint ett_nr_rrc_RRCReject_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_28 = -1;
static gint ett_nr_rrc_RRCRelease = -1;
static gint ett_nr_rrc_T_criticalExtensions_28 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_28 = -1;
static gint ett_nr_rrc_RRCRelease_IEs = -1;
static gint ett_nr_rrc_T_deprioritisationReq = -1;
static gint ett_nr_rrc_RRCRelease_v1540_IEs = -1;
static gint ett_nr_rrc_RRCRelease_v1610_IEs = -1;
static gint ett_nr_rrc_T_measIdleConfig_r16 = -1;
static gint ett_nr_rrc_RRCRelease_v1650_IEs = -1;
static gint ett_nr_rrc_RRCRelease_v1710_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_29 = -1;
static gint ett_nr_rrc_RedirectedCarrierInfo = -1;
static gint ett_nr_rrc_RedirectedCarrierInfo_EUTRA = -1;
static gint ett_nr_rrc_CarrierInfoNR = -1;
static gint ett_nr_rrc_SuspendConfig = -1;
static gint ett_nr_rrc_T_sdt_Config_r17 = -1;
static gint ett_nr_rrc_T_srs_PosRRC_Inactive_r17 = -1;
static gint ett_nr_rrc_T_ncd_SSB_RedCapInitialBWP_SDT_r17 = -1;
static gint ett_nr_rrc_CellReselectionPriorities = -1;
static gint ett_nr_rrc_FreqPriorityListEUTRA = -1;
static gint ett_nr_rrc_FreqPriorityListNR = -1;
static gint ett_nr_rrc_FreqPriorityEUTRA = -1;
static gint ett_nr_rrc_FreqPriorityNR = -1;
static gint ett_nr_rrc_RAN_NotificationAreaInfo = -1;
static gint ett_nr_rrc_PLMN_RAN_AreaCellList = -1;
static gint ett_nr_rrc_PLMN_RAN_AreaCell = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity = -1;
static gint ett_nr_rrc_PLMN_RAN_AreaConfigList = -1;
static gint ett_nr_rrc_PLMN_RAN_AreaConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig = -1;
static gint ett_nr_rrc_RAN_AreaConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode = -1;
static gint ett_nr_rrc_SDT_Config_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity = -1;
static gint ett_nr_rrc_T_sdt_MAC_PHY_CG_Config_r17 = -1;
static gint ett_nr_rrc_SDT_MAC_PHY_CG_Config_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity = -1;
static gint ett_nr_rrc_T_cg_SDT_ConfigInitialBWP_NUL_r17 = -1;
static gint ett_nr_rrc_T_cg_SDT_ConfigInitialBWP_SUL_r17 = -1;
static gint ett_nr_rrc_T_cg_SDT_TA_ValidationConfig_r17 = -1;
static gint ett_nr_rrc_CG_SDT_TA_ValidationConfig_r17 = -1;
static gint ett_nr_rrc_BWP_DownlinkDedicatedSDT_r17 = -1;
static gint ett_nr_rrc_T_pdcch_Config_r17 = -1;
static gint ett_nr_rrc_T_pdsch_Config_r17 = -1;
static gint ett_nr_rrc_BWP_UplinkDedicatedSDT_r17 = -1;
static gint ett_nr_rrc_T_pusch_Config_r17 = -1;
static gint ett_nr_rrc_CG_SDT_ConfigLCH_Restriction_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16 = -1;
static gint ett_nr_rrc_SRS_PosRRC_InactiveConfig_r17 = -1;
static gint ett_nr_rrc_SRS_PosConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16 = -1;
static gint ett_nr_rrc_RRCResume = -1;
static gint ett_nr_rrc_T_criticalExtensions_29 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_29 = -1;
static gint ett_nr_rrc_RRCResume_IEs = -1;
static gint ett_nr_rrc_RRCResume_v1560_IEs = -1;
static gint ett_nr_rrc_RRCResume_v1610_IEs = -1;
static gint ett_nr_rrc_T_mrdc_SecondaryCellGroup_r16 = -1;
static gint ett_nr_rrc_T_needForGapsConfigNR_r16_01 = -1;
static gint ett_nr_rrc_RRCResume_v1700_IEs = -1;
static gint ett_nr_rrc_T_sl_ConfigDedicatedNR_r17 = -1;
static gint ett_nr_rrc_T_sl_L2RemoteUE_Config_r17_02 = -1;
static gint ett_nr_rrc_T_needForGapNCSG_ConfigNR_r17_01 = -1;
static gint ett_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_01 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_30 = -1;
static gint ett_nr_rrc_RRCResumeComplete = -1;
static gint ett_nr_rrc_T_criticalExtensions_30 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_30 = -1;
static gint ett_nr_rrc_RRCResumeComplete_IEs = -1;
static gint ett_nr_rrc_RRCResumeComplete_v1610_IEs = -1;
static gint ett_nr_rrc_T_scg_Response_r16 = -1;
static gint ett_nr_rrc_RRCResumeComplete_v1640_IEs = -1;
static gint ett_nr_rrc_RRCResumeComplete_v1700_IEs = -1;
static gint ett_nr_rrc_RRCResumeComplete_v1720_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_31 = -1;
static gint ett_nr_rrc_RRCResumeRequest = -1;
static gint ett_nr_rrc_RRCResumeRequest_IEs = -1;
static gint ett_nr_rrc_RRCResumeRequest1 = -1;
static gint ett_nr_rrc_RRCResumeRequest1_IEs = -1;
static gint ett_nr_rrc_RRCSetup = -1;
static gint ett_nr_rrc_T_criticalExtensions_31 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_31 = -1;
static gint ett_nr_rrc_RRCSetup_IEs = -1;
static gint ett_nr_rrc_RRCSetup_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_32 = -1;
static gint ett_nr_rrc_RRCSetupComplete = -1;
static gint ett_nr_rrc_T_criticalExtensions_32 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_32 = -1;
static gint ett_nr_rrc_RRCSetupComplete_IEs = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI = -1;
static gint ett_nr_rrc_T_ng_5G_S_TMSI_Value = -1;
static gint ett_nr_rrc_RRCSetupComplete_v1610_IEs = -1;
static gint ett_nr_rrc_RRCSetupComplete_v1690_IEs = -1;
static gint ett_nr_rrc_RRCSetupComplete_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_33 = -1;
static gint ett_nr_rrc_RegisteredAMF = -1;
static gint ett_nr_rrc_RRCSetupRequest = -1;
static gint ett_nr_rrc_RRCSetupRequest_IEs = -1;
static gint ett_nr_rrc_InitialUE_Identity = -1;
static gint ett_nr_rrc_RRCSystemInfoRequest = -1;
static gint ett_nr_rrc_T_criticalExtensions_33 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_33 = -1;
static gint ett_nr_rrc_RRCSystemInfoRequest_IEs = -1;
static gint ett_nr_rrc_RRC_PosSystemInfoRequest_r16_IEs = -1;
static gint ett_nr_rrc_SCGFailureInformation = -1;
static gint ett_nr_rrc_T_criticalExtensions_34 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_34 = -1;
static gint ett_nr_rrc_SCGFailureInformation_IEs = -1;
static gint ett_nr_rrc_SCGFailureInformation_v1590_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_34 = -1;
static gint ett_nr_rrc_FailureReportSCG = -1;
static gint ett_nr_rrc_T_previousPSCellId_r17 = -1;
static gint ett_nr_rrc_T_failedPSCellId_r17 = -1;
static gint ett_nr_rrc_MeasResultFreqList = -1;
static gint ett_nr_rrc_SCGFailureInformationEUTRA = -1;
static gint ett_nr_rrc_T_criticalExtensions_35 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_35 = -1;
static gint ett_nr_rrc_SCGFailureInformationEUTRA_IEs = -1;
static gint ett_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_35 = -1;
static gint ett_nr_rrc_FailureReportSCG_EUTRA = -1;
static gint ett_nr_rrc_MeasResultFreqListFailMRDC = -1;
static gint ett_nr_rrc_SecurityModeCommand = -1;
static gint ett_nr_rrc_T_criticalExtensions_36 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_36 = -1;
static gint ett_nr_rrc_SecurityModeCommand_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_36 = -1;
static gint ett_nr_rrc_SecurityConfigSMC = -1;
static gint ett_nr_rrc_SecurityModeComplete = -1;
static gint ett_nr_rrc_T_criticalExtensions_37 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_37 = -1;
static gint ett_nr_rrc_SecurityModeComplete_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_37 = -1;
static gint ett_nr_rrc_SecurityModeFailure = -1;
static gint ett_nr_rrc_T_criticalExtensions_38 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_38 = -1;
static gint ett_nr_rrc_SecurityModeFailure_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_38 = -1;
static gint ett_nr_rrc_SIB1 = -1;
static gint ett_nr_rrc_T_cellSelectionInfo = -1;
static gint ett_nr_rrc_T_uac_BarringInfo = -1;
static gint ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo = -1;
static gint ett_nr_rrc_SIB1_v1610_IEs = -1;
static gint ett_nr_rrc_SIB1_v1630_IEs = -1;
static gint ett_nr_rrc_T_uac_BarringInfo_v1630 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16 = -1;
static gint ett_nr_rrc_SIB1_v1700_IEs = -1;
static gint ett_nr_rrc_T_uac_BarringInfo_v1700 = -1;
static gint ett_nr_rrc_T_featurePriorities_r17 = -1;
static gint ett_nr_rrc_SIB1_v1740_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_39 = -1;
static gint ett_nr_rrc_SDT_ConfigCommonSIB_r17 = -1;
static gint ett_nr_rrc_RedCap_ConfigCommonSIB_r17 = -1;
static gint ett_nr_rrc_T_cellBarredRedCap_r17 = -1;
static gint ett_nr_rrc_SidelinkUEInformationNR_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_39 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_39 = -1;
static gint ett_nr_rrc_SidelinkUEInformationNR_r16_IEs = -1;
static gint ett_nr_rrc_SidelinkUEInformationNR_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_40 = -1;
static gint ett_nr_rrc_SL_InterestedFreqList_r16 = -1;
static gint ett_nr_rrc_SL_TxResourceReqList_r16 = -1;
static gint ett_nr_rrc_SL_TxResourceReq_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 = -1;
static gint ett_nr_rrc_SL_TxResourceReqList_v1700 = -1;
static gint ett_nr_rrc_SL_RxDRX_ReportList_v1700 = -1;
static gint ett_nr_rrc_SL_TxResourceReq_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17 = -1;
static gint ett_nr_rrc_SL_RxDRX_Report_v1700 = -1;
static gint ett_nr_rrc_SL_RxInterestedGC_BC_DestList_r17 = -1;
static gint ett_nr_rrc_SL_RxInterestedGC_BC_Dest_r17 = -1;
static gint ett_nr_rrc_SL_TxResourceReqListDisc_r17 = -1;
static gint ett_nr_rrc_SL_TxResourceReqDisc_r17 = -1;
static gint ett_nr_rrc_SL_TxResourceReqListCommRelay_r17 = -1;
static gint ett_nr_rrc_SL_TxResourceReqCommRelayInfo_r17 = -1;
static gint ett_nr_rrc_SL_TxResourceReqCommRelay_r17 = -1;
static gint ett_nr_rrc_SL_TxResourceReqL2U2N_Relay_r17 = -1;
static gint ett_nr_rrc_SL_TxInterestedFreqList_r16 = -1;
static gint ett_nr_rrc_SL_QoS_Info_r16 = -1;
static gint ett_nr_rrc_SL_RLC_ModeIndication_r16 = -1;
static gint ett_nr_rrc_T_sl_Mode_r16 = -1;
static gint ett_nr_rrc_SL_FailureList_r16 = -1;
static gint ett_nr_rrc_SL_Failure_r16 = -1;
static gint ett_nr_rrc_SystemInformation = -1;
static gint ett_nr_rrc_T_criticalExtensions_40 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_r16_01 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_40 = -1;
static gint ett_nr_rrc_SystemInformation_IEs = -1;
static gint ett_nr_rrc_T_sib_TypeAndInfo = -1;
static gint ett_nr_rrc_T_sib_TypeAndInfo_item = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_41 = -1;
static gint ett_nr_rrc_UEAssistanceInformation = -1;
static gint ett_nr_rrc_T_criticalExtensions_41 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_41 = -1;
static gint ett_nr_rrc_UEAssistanceInformation_IEs = -1;
static gint ett_nr_rrc_DelayBudgetReport = -1;
static gint ett_nr_rrc_UEAssistanceInformation_v1540_IEs = -1;
static gint ett_nr_rrc_OverheatingAssistance = -1;
static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR1 = -1;
static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR2 = -1;
static gint ett_nr_rrc_OverheatingAssistance_r17 = -1;
static gint ett_nr_rrc_T_reducedMaxBW_FR2_2_r17 = -1;
static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_2 = -1;
static gint ett_nr_rrc_UEAssistanceInformation_v1610_IEs = -1;
static gint ett_nr_rrc_UEAssistanceInformation_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonSDT_DataIndication_r17 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_42 = -1;
static gint ett_nr_rrc_IDC_Assistance_r16 = -1;
static gint ett_nr_rrc_AffectedCarrierFreqList_r16 = -1;
static gint ett_nr_rrc_AffectedCarrierFreq_r16 = -1;
static gint ett_nr_rrc_AffectedCarrierFreqCombList_r16 = -1;
static gint ett_nr_rrc_AffectedCarrierFreqComb_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR = -1;
static gint ett_nr_rrc_VictimSystemType_r16 = -1;
static gint ett_nr_rrc_DRX_Preference_r16 = -1;
static gint ett_nr_rrc_MaxBW_Preference_r16 = -1;
static gint ett_nr_rrc_MaxBW_PreferenceFR2_2_r17 = -1;
static gint ett_nr_rrc_T_reducedMaxBW_FR2_2_r17_01 = -1;
static gint ett_nr_rrc_MaxCC_Preference_r16 = -1;
static gint ett_nr_rrc_MaxMIMO_LayerPreference_r16 = -1;
static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16 = -1;
static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16 = -1;
static gint ett_nr_rrc_MaxMIMO_LayerPreferenceFR2_2_r17 = -1;
static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_2_r17 = -1;
static gint ett_nr_rrc_MinSchedulingOffsetPreference_r16 = -1;
static gint ett_nr_rrc_T_preferredK0_r16 = -1;
static gint ett_nr_rrc_T_preferredK2_r16 = -1;
static gint ett_nr_rrc_MinSchedulingOffsetPreferenceExt_r17 = -1;
static gint ett_nr_rrc_T_preferredK0_r17 = -1;
static gint ett_nr_rrc_T_preferredK2_r17 = -1;
static gint ett_nr_rrc_MUSIM_Assistance_r17 = -1;
static gint ett_nr_rrc_MUSIM_GapPreferenceList_r17 = -1;
static gint ett_nr_rrc_ReleasePreference_r16 = -1;
static gint ett_nr_rrc_ReducedMaxBW_FRx_r16 = -1;
static gint ett_nr_rrc_ReducedMaxCCs_r16 = -1;
static gint ett_nr_rrc_SL_UE_AssistanceInformationNR_r16 = -1;
static gint ett_nr_rrc_SL_TrafficPatternInfo_r16 = -1;
static gint ett_nr_rrc_UL_GapFR2_Preference_r17 = -1;
static gint ett_nr_rrc_PropagationDelayDifference_r17 = -1;
static gint ett_nr_rrc_UECapabilityEnquiry = -1;
static gint ett_nr_rrc_T_criticalExtensions_42 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_42 = -1;
static gint ett_nr_rrc_UECapabilityEnquiry_IEs = -1;
static gint ett_nr_rrc_UECapabilityEnquiry_v1560_IEs = -1;
static gint ett_nr_rrc_UECapabilityEnquiry_v1610_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_43 = -1;
static gint ett_nr_rrc_UECapabilityInformation = -1;
static gint ett_nr_rrc_T_criticalExtensions_43 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_43 = -1;
static gint ett_nr_rrc_UECapabilityInformation_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_44 = -1;
static gint ett_nr_rrc_UEInformationRequest_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_44 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_44 = -1;
static gint ett_nr_rrc_UEInformationRequest_r16_IEs = -1;
static gint ett_nr_rrc_UEInformationRequest_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_45 = -1;
static gint ett_nr_rrc_UEInformationResponse_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_45 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_45 = -1;
static gint ett_nr_rrc_UEInformationResponse_r16_IEs = -1;
static gint ett_nr_rrc_UEInformationResponse_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_46 = -1;
static gint ett_nr_rrc_LogMeasReport_r16 = -1;
static gint ett_nr_rrc_LogMeasInfoList_r16 = -1;
static gint ett_nr_rrc_LogMeasInfo_r16 = -1;
static gint ett_nr_rrc_T_measResultNeighCells_r16 = -1;
static gint ett_nr_rrc_ConnEstFailReport_r16 = -1;
static gint ett_nr_rrc_T_measResultNeighCells_r16_01 = -1;
static gint ett_nr_rrc_ConnEstFailReportList_r17 = -1;
static gint ett_nr_rrc_MeasResultServingCell_r16 = -1;
static gint ett_nr_rrc_T_resultsSSB = -1;
static gint ett_nr_rrc_MeasResultFailedCell_r16 = -1;
static gint ett_nr_rrc_T_measResult_r16 = -1;
static gint ett_nr_rrc_T_cellResults_r16 = -1;
static gint ett_nr_rrc_T_rsIndexResults_r16 = -1;
static gint ett_nr_rrc_RA_ReportList_r16 = -1;
static gint ett_nr_rrc_RA_Report_r16 = -1;
static gint ett_nr_rrc_T_cellId_r16 = -1;
static gint ett_nr_rrc_RA_InformationCommon_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index = -1;
static gint ett_nr_rrc_PerRAInfoList_r16 = -1;
static gint ett_nr_rrc_PerRAInfoList_v1660 = -1;
static gint ett_nr_rrc_PerRAInfo_r16 = -1;
static gint ett_nr_rrc_PerRASSBInfo_r16 = -1;
static gint ett_nr_rrc_PerRACSI_RSInfo_r16 = -1;
static gint ett_nr_rrc_PerRACSI_RSInfo_v1660 = -1;
static gint ett_nr_rrc_PerRAAttemptInfoList_r16 = -1;
static gint ett_nr_rrc_PerRAAttemptInfo_r16 = -1;
static gint ett_nr_rrc_RLF_Report_r16 = -1;
static gint ett_nr_rrc_T_nr_RLF_Report_r16 = -1;
static gint ett_nr_rrc_T_measResultNeighCells_r16_02 = -1;
static gint ett_nr_rrc_T_previousPCellId_r16 = -1;
static gint ett_nr_rrc_T_failedPCellId_r16 = -1;
static gint ett_nr_rrc_T_nrFailedPCellId_r16 = -1;
static gint ett_nr_rrc_T_eutraFailedPCellId_r16 = -1;
static gint ett_nr_rrc_T_reconnectCellId_r16 = -1;
static gint ett_nr_rrc_T_choCellId_r17 = -1;
static gint ett_nr_rrc_T_eutra_RLF_Report_r16 = -1;
static gint ett_nr_rrc_SuccessHO_Report_r17 = -1;
static gint ett_nr_rrc_T_sourceCellInfo_r17 = -1;
static gint ett_nr_rrc_T_targetCellInfo_r17 = -1;
static gint ett_nr_rrc_T_measResultNeighCells_r17 = -1;
static gint ett_nr_rrc_MeasResultList2NR_r16 = -1;
static gint ett_nr_rrc_MeasResultList2EUTRA_r16 = -1;
static gint ett_nr_rrc_MeasResult2NR_r16 = -1;
static gint ett_nr_rrc_MeasResultListLogging2NR_r16 = -1;
static gint ett_nr_rrc_MeasResultLogging2NR_r16 = -1;
static gint ett_nr_rrc_MeasResultListLoggingNR_r16 = -1;
static gint ett_nr_rrc_MeasResultLoggingNR_r16 = -1;
static gint ett_nr_rrc_MeasResult2EUTRA_r16 = -1;
static gint ett_nr_rrc_MeasResultRLFNR_r16 = -1;
static gint ett_nr_rrc_T_measResult_r16_01 = -1;
static gint ett_nr_rrc_T_cellResults_r16_01 = -1;
static gint ett_nr_rrc_T_rsIndexResults_r16_01 = -1;
static gint ett_nr_rrc_MeasResultSuccessHONR_r17 = -1;
static gint ett_nr_rrc_T_measResult_r17 = -1;
static gint ett_nr_rrc_T_cellResults_r17 = -1;
static gint ett_nr_rrc_T_rsIndexResults_r17 = -1;
static gint ett_nr_rrc_ChoCandidateCellList_r17 = -1;
static gint ett_nr_rrc_ChoCandidateCell_r17 = -1;
static gint ett_nr_rrc_SHR_Cause_r17 = -1;
static gint ett_nr_rrc_UEPositioningAssistanceInfo_r17 = -1;
static gint ett_nr_rrc_T_criticalExtensions_46 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_46 = -1;
static gint ett_nr_rrc_UEPositioningAssistanceInfo_r17_IEs = -1;
static gint ett_nr_rrc_UEPositioningAssistanceInfo_v1720_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_47 = -1;
static gint ett_nr_rrc_UE_TxTEG_AssociationList_r17 = -1;
static gint ett_nr_rrc_UE_TxTEG_Association_r17 = -1;
static gint ett_nr_rrc_NR_TimeStamp_r17 = -1;
static gint ett_nr_rrc_T_nr_Slot_r17 = -1;
static gint ett_nr_rrc_ULDedicatedMessageSegment_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_47 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_47 = -1;
static gint ett_nr_rrc_ULDedicatedMessageSegment_r16_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_48 = -1;
static gint ett_nr_rrc_ULInformationTransfer = -1;
static gint ett_nr_rrc_T_criticalExtensions_48 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_48 = -1;
static gint ett_nr_rrc_ULInformationTransfer_IEs = -1;
static gint ett_nr_rrc_ULInformationTransfer_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_49 = -1;
static gint ett_nr_rrc_ULInformationTransferIRAT_r16 = -1;
static gint ett_nr_rrc_T_criticalExtensions_49 = -1;
static gint ett_nr_rrc_T_c1_16 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_49 = -1;
static gint ett_nr_rrc_ULInformationTransferIRAT_r16_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_50 = -1;
static gint ett_nr_rrc_ULInformationTransferMRDC = -1;
static gint ett_nr_rrc_T_criticalExtensions_50 = -1;
static gint ett_nr_rrc_T_c1_17 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_50 = -1;
static gint ett_nr_rrc_ULInformationTransferMRDC_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_51 = -1;
static gint ett_nr_rrc_SIB2 = -1;
static gint ett_nr_rrc_T_cellReselectionInfoCommon = -1;
static gint ett_nr_rrc_T_speedStateReselectionPars = -1;
static gint ett_nr_rrc_T_q_HystSF = -1;
static gint ett_nr_rrc_T_cellReselectionServingFreqInfo = -1;
static gint ett_nr_rrc_T_intraFreqCellReselectionInfo = -1;
static gint ett_nr_rrc_T_relaxedMeasurement_r16 = -1;
static gint ett_nr_rrc_T_lowMobilityEvaluation_r16 = -1;
static gint ett_nr_rrc_T_cellEdgeEvaluation_r16 = -1;
static gint ett_nr_rrc_T_relaxedMeasurement_r17 = -1;
static gint ett_nr_rrc_T_stationaryMobilityEvaluation_r17 = -1;
static gint ett_nr_rrc_T_cellEdgeEvaluationWhileStationary_r17 = -1;
static gint ett_nr_rrc_SIB3 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16 = -1;
static gint ett_nr_rrc_IntraFreqNeighCellList = -1;
static gint ett_nr_rrc_IntraFreqNeighCellList_v1610 = -1;
static gint ett_nr_rrc_IntraFreqNeighCellList_v1710 = -1;
static gint ett_nr_rrc_IntraFreqNeighCellInfo = -1;
static gint ett_nr_rrc_IntraFreqNeighCellInfo_v1610 = -1;
static gint ett_nr_rrc_IntraFreqNeighCellInfo_v1710 = -1;
static gint ett_nr_rrc_IntraFreqExcludedCellList = -1;
static gint ett_nr_rrc_IntraFreqAllowedCellList_r16 = -1;
static gint ett_nr_rrc_IntraFreqCAG_CellListPerPLMN_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range = -1;
static gint ett_nr_rrc_IntraFreqNeighHSDN_CellList_r17 = -1;
static gint ett_nr_rrc_SIB4 = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqList = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqList_v1610 = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqList_v1700 = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqList_v1720 = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqList_v1730 = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqInfo = -1;
static gint ett_nr_rrc_T_threshX_Q = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqInfo_v1610 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16 = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqInfo_v1700 = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqInfo_v1720 = -1;
static gint ett_nr_rrc_InterFreqCarrierFreqInfo_v1730 = -1;
static gint ett_nr_rrc_InterFreqNeighHSDN_CellList_r17 = -1;
static gint ett_nr_rrc_InterFreqNeighCellList = -1;
static gint ett_nr_rrc_InterFreqNeighCellList_v1610 = -1;
static gint ett_nr_rrc_InterFreqNeighCellList_v1710 = -1;
static gint ett_nr_rrc_InterFreqNeighCellInfo = -1;
static gint ett_nr_rrc_InterFreqNeighCellInfo_v1610 = -1;
static gint ett_nr_rrc_InterFreqNeighCellInfo_v1710 = -1;
static gint ett_nr_rrc_InterFreqExcludedCellList = -1;
static gint ett_nr_rrc_InterFreqAllowedCellList_r16 = -1;
static gint ett_nr_rrc_InterFreqCAG_CellListPerPLMN_r16 = -1;
static gint ett_nr_rrc_SIB5 = -1;
static gint ett_nr_rrc_CarrierFreqListEUTRA = -1;
static gint ett_nr_rrc_CarrierFreqListEUTRA_v1610 = -1;
static gint ett_nr_rrc_CarrierFreqListEUTRA_v1700 = -1;
static gint ett_nr_rrc_CarrierFreqEUTRA = -1;
static gint ett_nr_rrc_T_threshX_Q_01 = -1;
static gint ett_nr_rrc_CarrierFreqEUTRA_v1610 = -1;
static gint ett_nr_rrc_CarrierFreqEUTRA_v1700 = -1;
static gint ett_nr_rrc_EUTRA_FreqNeighHSDN_CellList_r17 = -1;
static gint ett_nr_rrc_EUTRA_FreqExcludedCellList = -1;
static gint ett_nr_rrc_EUTRA_FreqNeighCellList = -1;
static gint ett_nr_rrc_EUTRA_FreqNeighCellInfo = -1;
static gint ett_nr_rrc_SIB6 = -1;
static gint ett_nr_rrc_SIB7 = -1;
static gint ett_nr_rrc_SIB8 = -1;
static gint ett_nr_rrc_SIB9 = -1;
static gint ett_nr_rrc_T_timeInfo = -1;
static gint ett_nr_rrc_SIB10_r16 = -1;
static gint ett_nr_rrc_HRNN_List_r16 = -1;
static gint ett_nr_rrc_HRNN_r16 = -1;
static gint ett_nr_rrc_SIB11_r16 = -1;
static gint ett_nr_rrc_SIB12_r16 = -1;
static gint ett_nr_rrc_SIB13_r16 = -1;
static gint ett_nr_rrc_SIB14_r16 = -1;
static gint ett_nr_rrc_SIB15_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17 = -1;
static gint ett_nr_rrc_ApplicableDisasterInfo_r17 = -1;
static gint ett_nr_rrc_SIB16_r17 = -1;
static gint ett_nr_rrc_SIB17_r17 = -1;
static gint ett_nr_rrc_SIB18_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17 = -1;
static gint ett_nr_rrc_GIN_Element_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16 = -1;
static gint ett_nr_rrc_GINs_PerSNPN_r17 = -1;
static gint ett_nr_rrc_SIB19_r17 = -1;
static gint ett_nr_rrc_NTN_NeighCellConfigList_r17 = -1;
static gint ett_nr_rrc_NTN_NeighCellConfig_r17 = -1;
static gint ett_nr_rrc_SIB20_r17 = -1;
static gint ett_nr_rrc_MCCH_Config_r17 = -1;
static gint ett_nr_rrc_MCCH_RepetitionPeriodAndOffset_r17 = -1;
static gint ett_nr_rrc_SIB21_r17 = -1;
static gint ett_nr_rrc_MBS_FSAI_List_r17 = -1;
static gint ett_nr_rrc_MBS_FSAI_InterFreqList_r17 = -1;
static gint ett_nr_rrc_MBS_FSAI_InterFreq_r17 = -1;
static gint ett_nr_rrc_PosSystemInformation_r16_IEs = -1;
static gint ett_nr_rrc_T_posSIB_TypeAndInfo_r16 = -1;
static gint ett_nr_rrc_T_posSIB_TypeAndInfo_r16_item = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_52 = -1;
static gint ett_nr_rrc_PosSI_SchedulingInfo_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16 = -1;
static gint ett_nr_rrc_PosSchedulingInfo_r16 = -1;
static gint ett_nr_rrc_PosSIB_MappingInfo_r16 = -1;
static gint ett_nr_rrc_PosSIB_Type_r16 = -1;
static gint ett_nr_rrc_GNSS_ID_r16 = -1;
static gint ett_nr_rrc_SBAS_ID_r16 = -1;
static gint ett_nr_rrc_SIBpos_r16 = -1;
static gint ett_nr_rrc_AvailabilityCombinationsPerCell_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17 = -1;
static gint ett_nr_rrc_AvailabilityCombination_r16 = -1;
static gint ett_nr_rrc_T_resourceAvailability_r16 = -1;
static gint ett_nr_rrc_AvailabilityCombinationRB_Groups_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17 = -1;
static gint ett_nr_rrc_T_resourceAvailability_r17 = -1;
static gint ett_nr_rrc_RB_SetGroup_r17 = -1;
static gint ett_nr_rrc_T_resourceAvailability_r17_01 = -1;
static gint ett_nr_rrc_T_rb_Sets_r17 = -1;
static gint ett_nr_rrc_AvailabilityIndicator_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16 = -1;
static gint ett_nr_rrc_BAP_RoutingID_r16 = -1;
static gint ett_nr_rrc_BeamFailureRecoveryConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR = -1;
static gint ett_nr_rrc_T_candidateBeamRSListExt_v1610 = -1;
static gint ett_nr_rrc_PRACH_ResourceDedicatedBFR = -1;
static gint ett_nr_rrc_BFR_SSB_Resource = -1;
static gint ett_nr_rrc_BFR_CSIRS_Resource = -1;
static gint ett_nr_rrc_T_ra_OccasionList = -1;
static gint ett_nr_rrc_CandidateBeamRSListExt_r16 = -1;
static gint ett_nr_rrc_BeamFailureRecoveryRSConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16 = -1;
static gint ett_nr_rrc_BetaOffsets = -1;
static gint ett_nr_rrc_BetaOffsetsCrossPri_r17 = -1;
static gint ett_nr_rrc_BH_LogicalChannelIdentity_r16 = -1;
static gint ett_nr_rrc_BH_RLC_ChannelConfig_r16 = -1;
static gint ett_nr_rrc_BSR_Config = -1;
static gint ett_nr_rrc_BWP = -1;
static gint ett_nr_rrc_BWP_Downlink = -1;
static gint ett_nr_rrc_BWP_DownlinkCommon = -1;
static gint ett_nr_rrc_T_pdcch_ConfigCommon = -1;
static gint ett_nr_rrc_T_pdsch_ConfigCommon = -1;
static gint ett_nr_rrc_BWP_DownlinkDedicated = -1;
static gint ett_nr_rrc_T_pdcch_Config = -1;
static gint ett_nr_rrc_T_pdsch_Config = -1;
static gint ett_nr_rrc_T_sps_Config = -1;
static gint ett_nr_rrc_T_radioLinkMonitoringConfig = -1;
static gint ett_nr_rrc_T_beamFailureRecoverySCellConfig_r16 = -1;
static gint ett_nr_rrc_T_sl_PDCCH_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_V2X_PDCCH_Config_r16 = -1;
static gint ett_nr_rrc_T_beamFailureRecoverySpCellConfig_r17 = -1;
static gint ett_nr_rrc_T_cfr_ConfigMulticast_r17 = -1;
static gint ett_nr_rrc_SPS_ConfigToAddModList_r16 = -1;
static gint ett_nr_rrc_SPS_ConfigToReleaseList_r16 = -1;
static gint ett_nr_rrc_SPS_ConfigDeactivationState_r16 = -1;
static gint ett_nr_rrc_SPS_ConfigDeactivationStateList_r16 = -1;
static gint ett_nr_rrc_DL_PPW_PreConfigToAddModList_r17 = -1;
static gint ett_nr_rrc_DL_PPW_PreConfigToReleaseList_r17 = -1;
static gint ett_nr_rrc_BWP_Uplink = -1;
static gint ett_nr_rrc_BWP_UplinkCommon = -1;
static gint ett_nr_rrc_T_rach_ConfigCommon = -1;
static gint ett_nr_rrc_T_pusch_ConfigCommon = -1;
static gint ett_nr_rrc_T_pucch_ConfigCommon = -1;
static gint ett_nr_rrc_T_rach_ConfigCommonIAB_r16 = -1;
static gint ett_nr_rrc_T_msgA_ConfigCommon_r16 = -1;
static gint ett_nr_rrc_T_additionalRACH_ConfigList_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17 = -1;
static gint ett_nr_rrc_T_mcs_Msg3_Repetitions_r17 = -1;
static gint ett_nr_rrc_AdditionalRACH_ConfigList_r17 = -1;
static gint ett_nr_rrc_AdditionalRACH_Config_r17 = -1;
static gint ett_nr_rrc_BWP_UplinkDedicated = -1;
static gint ett_nr_rrc_T_pucch_Config = -1;
static gint ett_nr_rrc_T_pusch_Config = -1;
static gint ett_nr_rrc_T_configuredGrantConfig = -1;
static gint ett_nr_rrc_T_srs_Config = -1;
static gint ett_nr_rrc_T_beamFailureRecoveryConfig = -1;
static gint ett_nr_rrc_T_sl_PUCCH_Config_r16 = -1;
static gint ett_nr_rrc_T_pucch_ConfigurationList_r16 = -1;
static gint ett_nr_rrc_T_lbt_FailureRecoveryConfig_r16 = -1;
static gint ett_nr_rrc_T_ul_TCI_StateList_r17 = -1;
static gint ett_nr_rrc_T_explicitlist = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17 = -1;
static gint ett_nr_rrc_T_pucch_ConfigurationListMulticast1_r17 = -1;
static gint ett_nr_rrc_T_pucch_ConfigurationListMulticast2_r17 = -1;
static gint ett_nr_rrc_T_pucch_ConfigMulticast1_r17 = -1;
static gint ett_nr_rrc_T_pucch_ConfigMulticast2_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17 = -1;
static gint ett_nr_rrc_ConfiguredGrantConfigToAddModList_r16 = -1;
static gint ett_nr_rrc_ConfiguredGrantConfigToReleaseList_r16 = -1;
static gint ett_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16 = -1;
static gint ett_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16 = -1;
static gint ett_nr_rrc_CandidateBeamRS_r16 = -1;
static gint ett_nr_rrc_T_candidateBeamConfig_r16 = -1;
static gint ett_nr_rrc_CellAccessRelatedInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17 = -1;
static gint ett_nr_rrc_SNPN_AccessInfo_r17 = -1;
static gint ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC = -1;
static gint ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC = -1;
static gint ett_nr_rrc_PLMN_Identity_EUTRA_5GC = -1;
static gint ett_nr_rrc_CellIdentity_EUTRA_5GC = -1;
static gint ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC = -1;
static gint ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC = -1;
static gint ett_nr_rrc_CellGroupConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17 = -1;
static gint ett_nr_rrc_SpCellConfig = -1;
static gint ett_nr_rrc_T_rlf_TimersAndConstants = -1;
static gint ett_nr_rrc_T_lowMobilityEvaluationConnected_r17 = -1;
static gint ett_nr_rrc_T_deactivatedSCG_Config_r17 = -1;
static gint ett_nr_rrc_ReconfigurationWithSync = -1;
static gint ett_nr_rrc_T_rach_ConfigDedicated = -1;
static gint ett_nr_rrc_DAPS_UplinkPowerConfig_r16 = -1;
static gint ett_nr_rrc_SCellConfig = -1;
static gint ett_nr_rrc_T_sCellSIB20_r17 = -1;
static gint ett_nr_rrc_T_plmn_IdentityInfoList_r17 = -1;
static gint ett_nr_rrc_T_npn_IdentityInfoList_r17 = -1;
static gint ett_nr_rrc_DeactivatedSCG_Config_r17 = -1;
static gint ett_nr_rrc_GoodServingCellEvaluation_r17 = -1;
static gint ett_nr_rrc_SL_PathSwitchConfig_r17 = -1;
static gint ett_nr_rrc_IAB_ResourceConfig_r17 = -1;
static gint ett_nr_rrc_T_slotList_r17 = -1;
static gint ett_nr_rrc_ReportUplinkTxDirectCurrentMoreCarrier_r17 = -1;
static gint ett_nr_rrc_IntraBandCC_CombinationReqList_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17 = -1;
static gint ett_nr_rrc_IntraBandCC_Combination_r17 = -1;
static gint ett_nr_rrc_CC_State_r17 = -1;
static gint ett_nr_rrc_CarrierState_r17 = -1;
static gint ett_nr_rrc_CFR_ConfigMulticast_r17 = -1;
static gint ett_nr_rrc_SPS_ConfigMulticastToAddModList_r17 = -1;
static gint ett_nr_rrc_SPS_ConfigMulticastToReleaseList_r17 = -1;
static gint ett_nr_rrc_CGI_InfoEUTRA = -1;
static gint ett_nr_rrc_T_cgi_info_EPC = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC = -1;
static gint ett_nr_rrc_CGI_InfoEUTRALogging = -1;
static gint ett_nr_rrc_CGI_InfoNR = -1;
static gint ett_nr_rrc_T_noSIB1 = -1;
static gint ett_nr_rrc_CGI_Info_Logging_r16 = -1;
static gint ett_nr_rrc_CodebookConfig = -1;
static gint ett_nr_rrc_T_codebookType = -1;
static gint ett_nr_rrc_T_type1_01 = -1;
static gint ett_nr_rrc_T_subType = -1;
static gint ett_nr_rrc_T_typeI_SinglePanel = -1;
static gint ett_nr_rrc_T_nrOfAntennaPorts = -1;
static gint ett_nr_rrc_T_two = -1;
static gint ett_nr_rrc_T_moreThanTwo = -1;
static gint ett_nr_rrc_T_n1_n2 = -1;
static gint ett_nr_rrc_T_typeI_MultiPanel = -1;
static gint ett_nr_rrc_T_ng_n1_n2 = -1;
static gint ett_nr_rrc_T_type2 = -1;
static gint ett_nr_rrc_T_subType_01 = -1;
static gint ett_nr_rrc_T_typeII = -1;
static gint ett_nr_rrc_T_n1_n2_codebookSubsetRestriction = -1;
static gint ett_nr_rrc_T_typeII_PortSelection = -1;
static gint ett_nr_rrc_CodebookConfig_r16 = -1;
static gint ett_nr_rrc_T_codebookType_01 = -1;
static gint ett_nr_rrc_T_type2_01 = -1;
static gint ett_nr_rrc_T_subType_02 = -1;
static gint ett_nr_rrc_T_typeII_r16 = -1;
static gint ett_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16 = -1;
static gint ett_nr_rrc_T_typeII_PortSelection_r16 = -1;
static gint ett_nr_rrc_CodebookConfig_r17 = -1;
static gint ett_nr_rrc_T_codebookType_02 = -1;
static gint ett_nr_rrc_T_type1_02 = -1;
static gint ett_nr_rrc_T_typeI_SinglePanel_Group1_r17 = -1;
static gint ett_nr_rrc_T_nrOfAntennaPorts_01 = -1;
static gint ett_nr_rrc_T_two_01 = -1;
static gint ett_nr_rrc_T_moreThanTwo_01 = -1;
static gint ett_nr_rrc_T_n1_n2_01 = -1;
static gint ett_nr_rrc_T_typeI_SinglePanel_Group2_r17 = -1;
static gint ett_nr_rrc_T_nrOfAntennaPorts_02 = -1;
static gint ett_nr_rrc_T_two_02 = -1;
static gint ett_nr_rrc_T_moreThanTwo_02 = -1;
static gint ett_nr_rrc_T_n1_n2_02 = -1;
static gint ett_nr_rrc_T_type2_02 = -1;
static gint ett_nr_rrc_T_typeII_PortSelection_r17 = -1;
static gint ett_nr_rrc_CodebookConfig_v1730 = -1;
static gint ett_nr_rrc_T_codebookType_03 = -1;
static gint ett_nr_rrc_T_type1_03 = -1;
static gint ett_nr_rrc_CommonLocationInfo_r16 = -1;
static gint ett_nr_rrc_CondReconfigToAddModList_r16 = -1;
static gint ett_nr_rrc_CondReconfigToAddMod_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId = -1;
static gint ett_nr_rrc_CondReconfigExecCondSCG_r17 = -1;
static gint ett_nr_rrc_ConditionalReconfiguration_r16 = -1;
static gint ett_nr_rrc_CondReconfigToRemoveList_r16 = -1;
static gint ett_nr_rrc_ConfiguredGrantConfig = -1;
static gint ett_nr_rrc_T_uci_OnPUSCH = -1;
static gint ett_nr_rrc_T_rrc_ConfiguredUplinkGrant = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16 = -1;
static gint ett_nr_rrc_T_cg_betaOffsetsCrossPri0_r17 = -1;
static gint ett_nr_rrc_T_cg_betaOffsetsCrossPri1_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17 = -1;
static gint ett_nr_rrc_CG_UCI_OnPUSCH = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets = -1;
static gint ett_nr_rrc_CG_COT_Sharing_r16 = -1;
static gint ett_nr_rrc_T_cot_Sharing_r16 = -1;
static gint ett_nr_rrc_CG_COT_Sharing_r17 = -1;
static gint ett_nr_rrc_T_cot_Sharing_r17 = -1;
static gint ett_nr_rrc_CG_StartingOffsets_r16 = -1;
static gint ett_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16 = -1;
static gint ett_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16 = -1;
static gint ett_nr_rrc_BetaOffsetsCrossPriSelCG_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17 = -1;
static gint ett_nr_rrc_CG_SDT_Configuration_r17 = -1;
static gint ett_nr_rrc_T_sdt_SSB_Subset_r17 = -1;
static gint ett_nr_rrc_T_sdt_DMRS_Ports_r17 = -1;
static gint ett_nr_rrc_ConnEstFailureControl = -1;
static gint ett_nr_rrc_ControlResourceSet = -1;
static gint ett_nr_rrc_T_cce_REG_MappingType = -1;
static gint ett_nr_rrc_T_interleaved = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId = -1;
static gint ett_nr_rrc_CrossCarrierSchedulingConfig = -1;
static gint ett_nr_rrc_T_schedulingCellInfo = -1;
static gint ett_nr_rrc_T_own = -1;
static gint ett_nr_rrc_T_other = -1;
static gint ett_nr_rrc_T_carrierIndicatorSize_r16 = -1;
static gint ett_nr_rrc_CSI_AperiodicTriggerStateList = -1;
static gint ett_nr_rrc_CSI_AperiodicTriggerState = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo = -1;
static gint ett_nr_rrc_CSI_AssociatedReportConfigInfo = -1;
static gint ett_nr_rrc_T_resourcesForChannel = -1;
static gint ett_nr_rrc_T_nzp_CSI_RS = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId = -1;
static gint ett_nr_rrc_T_resourcesForChannel2_r17 = -1;
static gint ett_nr_rrc_T_nzp_CSI_RS2_r17 = -1;
static gint ett_nr_rrc_CSI_FrequencyOccupation = -1;
static gint ett_nr_rrc_CSI_IM_Resource = -1;
static gint ett_nr_rrc_T_csi_IM_ResourceElementPattern = -1;
static gint ett_nr_rrc_T_pattern0 = -1;
static gint ett_nr_rrc_T_pattern1 = -1;
static gint ett_nr_rrc_CSI_IM_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId = -1;
static gint ett_nr_rrc_CSI_MeasConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId = -1;
static gint ett_nr_rrc_T_aperiodicTriggerStateList = -1;
static gint ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17 = -1;
static gint ett_nr_rrc_CSI_ReportConfig = -1;
static gint ett_nr_rrc_T_reportConfigType = -1;
static gint ett_nr_rrc_T_periodic = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource = -1;
static gint ett_nr_rrc_T_semiPersistentOnPUCCH = -1;
static gint ett_nr_rrc_T_semiPersistentOnPUSCH = -1;
static gint ett_nr_rrc_T_reportSlotOffsetList = -1;
static gint ett_nr_rrc_T_aperiodic = -1;
static gint ett_nr_rrc_T_reportSlotOffsetList_01 = -1;
static gint ett_nr_rrc_T_reportQuantity = -1;
static gint ett_nr_rrc_T_cri_RI_i1_CQI = -1;
static gint ett_nr_rrc_T_reportFreqConfiguration = -1;
static gint ett_nr_rrc_T_csi_ReportingBand = -1;
static gint ett_nr_rrc_T_groupBasedBeamReporting = -1;
static gint ett_nr_rrc_T_disabled = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks = -1;
static gint ett_nr_rrc_T_semiPersistentOnPUSCH_v1530 = -1;
static gint ett_nr_rrc_T_semiPersistentOnPUSCH_v1610 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16 = -1;
static gint ett_nr_rrc_T_aperiodic_v1610 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16_01 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16_01 = -1;
static gint ett_nr_rrc_T_reportQuantity_r16 = -1;
static gint ett_nr_rrc_T_groupBasedBeamReporting_v1710 = -1;
static gint ett_nr_rrc_T_reportQuantity_r17 = -1;
static gint ett_nr_rrc_T_semiPersistentOnPUSCH_v1720 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetList_r17 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17 = -1;
static gint ett_nr_rrc_T_aperiodic_v1720 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetList_r17_01 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17_01 = -1;
static gint ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17_01 = -1;
static gint ett_nr_rrc_CSI_ReportPeriodicityAndOffset = -1;
static gint ett_nr_rrc_PUCCH_CSI_Resource = -1;
static gint ett_nr_rrc_PortIndexFor8Ranks = -1;
static gint ett_nr_rrc_T_portIndex8 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8 = -1;
static gint ett_nr_rrc_T_portIndex4 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4 = -1;
static gint ett_nr_rrc_T_portIndex2 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2 = -1;
static gint ett_nr_rrc_CSI_ResourceConfig = -1;
static gint ett_nr_rrc_T_csi_RS_ResourceSetList = -1;
static gint ett_nr_rrc_T_nzp_CSI_RS_SSB = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId = -1;
static gint ett_nr_rrc_CSI_ResourcePeriodicityAndOffset = -1;
static gint ett_nr_rrc_CSI_RS_ResourceConfigMobility = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility = -1;
static gint ett_nr_rrc_CSI_RS_CellMobility = -1;
static gint ett_nr_rrc_T_csi_rs_MeasurementBW = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility = -1;
static gint ett_nr_rrc_CSI_RS_Resource_Mobility = -1;
static gint ett_nr_rrc_T_slotConfig = -1;
static gint ett_nr_rrc_T_associatedSSB = -1;
static gint ett_nr_rrc_T_frequencyDomainAllocation = -1;
static gint ett_nr_rrc_T_slotConfig_r17 = -1;
static gint ett_nr_rrc_CSI_RS_ResourceMapping = -1;
static gint ett_nr_rrc_T_frequencyDomainAllocation_01 = -1;
static gint ett_nr_rrc_T_density_01 = -1;
static gint ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList = -1;
static gint ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState = -1;
static gint ett_nr_rrc_CSI_SSB_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17 = -1;
static gint ett_nr_rrc_DL_PPW_PreConfig_r17 = -1;
static gint ett_nr_rrc_DL_PPW_PeriodicityAndStartSlot_r17 = -1;
static gint ett_nr_rrc_T_scs15 = -1;
static gint ett_nr_rrc_T_scs30 = -1;
static gint ett_nr_rrc_T_scs60 = -1;
static gint ett_nr_rrc_T_scs120 = -1;
static gint ett_nr_rrc_DMRS_BundlingPUCCH_Config_r17 = -1;
static gint ett_nr_rrc_DMRS_BundlingPUSCH_Config_r17 = -1;
static gint ett_nr_rrc_DMRS_DownlinkConfig = -1;
static gint ett_nr_rrc_T_phaseTrackingRS = -1;
static gint ett_nr_rrc_DMRS_UplinkConfig = -1;
static gint ett_nr_rrc_T_phaseTrackingRS_01 = -1;
static gint ett_nr_rrc_T_transformPrecodingDisabled = -1;
static gint ett_nr_rrc_T_transformPrecodingEnabled = -1;
static gint ett_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16 = -1;
static gint ett_nr_rrc_DMRS_UplinkTransformPrecoding_r16 = -1;
static gint ett_nr_rrc_DownlinkConfigCommon = -1;
static gint ett_nr_rrc_DownlinkConfigCommonSIB = -1;
static gint ett_nr_rrc_BCCH_Config = -1;
static gint ett_nr_rrc_PCCH_Config = -1;
static gint ett_nr_rrc_T_nAndPagingFrameOffset = -1;
static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO = -1;
static gint ett_nr_rrc_T_sCS15KHZoneT = -1;
static gint ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT = -1;
static gint ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT = -1;
static gint ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT = -1;
static gint ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT = -1;
static gint ett_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT = -1;
static gint ett_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1;
static gint ett_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT = -1;
static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710 = -1;
static gint ett_nr_rrc_T_sCS480KHZoneEighthT = -1;
static gint ett_nr_rrc_T_sCS480KHZoneSixteenthT = -1;
static gint ett_nr_rrc_PEI_Config_r17 = -1;
static gint ett_nr_rrc_SubgroupConfig_r17 = -1;
static gint ett_nr_rrc_DownlinkPreemption = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell = -1;
static gint ett_nr_rrc_INT_ConfigurationPerServingCell = -1;
static gint ett_nr_rrc_DRX_Config = -1;
static gint ett_nr_rrc_T_drx_onDurationTimer_01 = -1;
static gint ett_nr_rrc_T_drx_LongCycleStartOffset_01 = -1;
static gint ett_nr_rrc_T_shortDRX_01 = -1;
static gint ett_nr_rrc_DRX_ConfigExt_v1700 = -1;
static gint ett_nr_rrc_DRX_ConfigSecondaryGroup_r16 = -1;
static gint ett_nr_rrc_T_drx_onDurationTimer_r16 = -1;
static gint ett_nr_rrc_DRX_ConfigSL_r17 = -1;
static gint ett_nr_rrc_EphemerisInfo_r17 = -1;
static gint ett_nr_rrc_PositionVelocity_r17 = -1;
static gint ett_nr_rrc_Orbital_r17 = -1;
static gint ett_nr_rrc_FeatureCombination_r17 = -1;
static gint ett_nr_rrc_NSAG_List_r17 = -1;
static gint ett_nr_rrc_FeatureCombinationPreambles_r17 = -1;
static gint ett_nr_rrc_T_groupBconfigured_r17 = -1;
static gint ett_nr_rrc_FreqPriorityListDedicatedSlicing_r17 = -1;
static gint ett_nr_rrc_FreqPriorityDedicatedSlicing_r17 = -1;
static gint ett_nr_rrc_SliceInfoListDedicated_r17 = -1;
static gint ett_nr_rrc_SliceInfoDedicated_r17 = -1;
static gint ett_nr_rrc_FreqPriorityListSlicing_r17 = -1;
static gint ett_nr_rrc_FreqPrioritySlicing_r17 = -1;
static gint ett_nr_rrc_SliceInfoList_r17 = -1;
static gint ett_nr_rrc_SliceInfo_r17 = -1;
static gint ett_nr_rrc_T_sliceCellListNR_r17 = -1;
static gint ett_nr_rrc_SliceCellListNR_r17 = -1;
static gint ett_nr_rrc_FrequencyInfoDL = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier = -1;
static gint ett_nr_rrc_FrequencyInfoDL_SIB = -1;
static gint ett_nr_rrc_FrequencyInfoUL = -1;
static gint ett_nr_rrc_FrequencyInfoUL_SIB = -1;
static gint ett_nr_rrc_HighSpeedConfig_r16 = -1;
static gint ett_nr_rrc_HighSpeedConfig_v1700 = -1;
static gint ett_nr_rrc_HighSpeedConfigFR2_r17 = -1;
static gint ett_nr_rrc_InvalidSymbolPattern_r16 = -1;
static gint ett_nr_rrc_T_symbols_r16 = -1;
static gint ett_nr_rrc_T_periodicityAndPattern_r16 = -1;
static gint ett_nr_rrc_LBT_FailureRecoveryConfig_r16 = -1;
static gint ett_nr_rrc_LocationInfo_r16 = -1;
static gint ett_nr_rrc_LocationMeasurementInfo = -1;
static gint ett_nr_rrc_EUTRA_RSTD_InfoList = -1;
static gint ett_nr_rrc_EUTRA_RSTD_Info = -1;
static gint ett_nr_rrc_NR_PRS_MeasurementInfoList_r16 = -1;
static gint ett_nr_rrc_NR_PRS_MeasurementInfo_r16 = -1;
static gint ett_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16 = -1;
static gint ett_nr_rrc_LogicalChannelConfig = -1;
static gint ett_nr_rrc_T_ul_SpecificParameters = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing = -1;
static gint ett_nr_rrc_LTE_NeighCellsCRS_AssistInfoList_r17 = -1;
static gint ett_nr_rrc_LTE_NeighCellsCRS_AssistInfo_r17 = -1;
static gint ett_nr_rrc_MAC_CellGroupConfig = -1;
static gint ett_nr_rrc_T_drx_Config = -1;
static gint ett_nr_rrc_T_phr_Config = -1;
static gint ett_nr_rrc_T_dataInactivityTimer = -1;
static gint ett_nr_rrc_T_drx_ConfigSecondaryGroup_r16 = -1;
static gint ett_nr_rrc_T_drx_ConfigSL_r17 = -1;
static gint ett_nr_rrc_T_drx_ConfigExt_v1700 = -1;
static gint ett_nr_rrc_T_tar_Config_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17 = -1;
static gint ett_nr_rrc_MBS_RNTI_SpecificConfig_r17 = -1;
static gint ett_nr_rrc_T_groupCommon_RNTI_r17 = -1;
static gint ett_nr_rrc_T_drx_ConfigPTM_r17 = -1;
static gint ett_nr_rrc_MeasConfig = -1;
static gint ett_nr_rrc_T_s_MeasureConfig = -1;
static gint ett_nr_rrc_MeasObjectToRemoveList = -1;
static gint ett_nr_rrc_MeasIdToRemoveList = -1;
static gint ett_nr_rrc_ReportConfigToRemoveList = -1;
static gint ett_nr_rrc_MeasGapConfig = -1;
static gint ett_nr_rrc_T_gapFR2 = -1;
static gint ett_nr_rrc_T_gapFR1 = -1;
static gint ett_nr_rrc_T_gapUE = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17 = -1;
static gint ett_nr_rrc_GapConfig = -1;
static gint ett_nr_rrc_GapConfig_r17 = -1;
static gint ett_nr_rrc_PosMeasGapPreConfigToAddModList_r17 = -1;
static gint ett_nr_rrc_PosMeasGapPreConfigToReleaseList_r17 = -1;
static gint ett_nr_rrc_PosGapConfig_r17 = -1;
static gint ett_nr_rrc_MeasGapSharingConfig = -1;
static gint ett_nr_rrc_T_gapSharingFR2 = -1;
static gint ett_nr_rrc_T_gapSharingFR1 = -1;
static gint ett_nr_rrc_T_gapSharingUE = -1;
static gint ett_nr_rrc_MeasIdleConfigSIB_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16 = -1;
static gint ett_nr_rrc_MeasIdleConfigDedicated_r16 = -1;
static gint ett_nr_rrc_ValidityAreaList_r16 = -1;
static gint ett_nr_rrc_ValidityArea_r16 = -1;
static gint ett_nr_rrc_ValidityCellList = -1;
static gint ett_nr_rrc_MeasIdleCarrierNR_r16 = -1;
static gint ett_nr_rrc_T_qualityThreshold_r16 = -1;
static gint ett_nr_rrc_T_ssb_MeasConfig_r16 = -1;
static gint ett_nr_rrc_MeasIdleCarrierEUTRA_r16 = -1;
static gint ett_nr_rrc_T_qualityThresholdEUTRA_r16 = -1;
static gint ett_nr_rrc_CellListNR_r16 = -1;
static gint ett_nr_rrc_CellListEUTRA_r16 = -1;
static gint ett_nr_rrc_BeamMeasConfigIdle_NR_r16 = -1;
static gint ett_nr_rrc_MeasIdToAddModList = -1;
static gint ett_nr_rrc_MeasIdToAddMod = -1;
static gint ett_nr_rrc_MeasObjectCLI_r16 = -1;
static gint ett_nr_rrc_CLI_ResourceConfig_r16 = -1;
static gint ett_nr_rrc_T_srs_ResourceConfig_r16 = -1;
static gint ett_nr_rrc_T_rssi_ResourceConfig_r16 = -1;
static gint ett_nr_rrc_SRS_ResourceListConfigCLI_r16 = -1;
static gint ett_nr_rrc_RSSI_ResourceListConfigCLI_r16 = -1;
static gint ett_nr_rrc_SRS_ResourceConfigCLI_r16 = -1;
static gint ett_nr_rrc_RSSI_ResourceConfigCLI_r16 = -1;
static gint ett_nr_rrc_RSSI_PeriodicityAndOffset_r16 = -1;
static gint ett_nr_rrc_MeasObjectEUTRA = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell = -1;
static gint ett_nr_rrc_EUTRA_CellIndexList = -1;
static gint ett_nr_rrc_EUTRA_Cell = -1;
static gint ett_nr_rrc_EUTRA_ExcludedCell = -1;
static gint ett_nr_rrc_MeasObjectNR = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement = -1;
static gint ett_nr_rrc_T_rmtc_Config_r16 = -1;
static gint ett_nr_rrc_T_t312_r16 = -1;
static gint ett_nr_rrc_SSB_MTC3List_r16 = -1;
static gint ett_nr_rrc_SSB_MTC4List_r17 = -1;
static gint ett_nr_rrc_ReferenceSignalConfig = -1;
static gint ett_nr_rrc_T_csi_rs_ResourceConfigMobility = -1;
static gint ett_nr_rrc_SSB_ConfigMobility = -1;
static gint ett_nr_rrc_T_ssb_ToMeasure = -1;
static gint ett_nr_rrc_T_ssb_PositionQCL_Cells_r17 = -1;
static gint ett_nr_rrc_Q_OffsetRangeList = -1;
static gint ett_nr_rrc_ThresholdNR = -1;
static gint ett_nr_rrc_CellsToAddModList = -1;
static gint ett_nr_rrc_CellsToAddModListExt_v1710 = -1;
static gint ett_nr_rrc_CellsToAddMod = -1;
static gint ett_nr_rrc_CellsToAddModExt_v1710 = -1;
static gint ett_nr_rrc_RMTC_Config_r16 = -1;
static gint ett_nr_rrc_T_tci_StateInfo_r17 = -1;
static gint ett_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16 = -1;
static gint ett_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16 = -1;
static gint ett_nr_rrc_SSB_PositionQCL_CellList_r17 = -1;
static gint ett_nr_rrc_SSB_PositionQCL_Cell_r17 = -1;
static gint ett_nr_rrc_MeasObjectNR_SL_r16 = -1;
static gint ett_nr_rrc_Tx_PoolMeasList_r16 = -1;
static gint ett_nr_rrc_MeasObjectRxTxDiff_r17 = -1;
static gint ett_nr_rrc_T_dl_Ref_r17 = -1;
static gint ett_nr_rrc_MeasObjectToAddModList = -1;
static gint ett_nr_rrc_MeasObjectToAddMod = -1;
static gint ett_nr_rrc_T_measObject = -1;
static gint ett_nr_rrc_MeasObjectUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_CellsToAddModListUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_CellsToAddModUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_UTRA_FDD_CellIndexList_r16 = -1;
static gint ett_nr_rrc_MeasResultCellListSFTD_NR = -1;
static gint ett_nr_rrc_MeasResultCellSFTD_NR = -1;
static gint ett_nr_rrc_MeasResultCellListSFTD_EUTRA = -1;
static gint ett_nr_rrc_MeasResultSFTD_EUTRA = -1;
static gint ett_nr_rrc_MeasResults = -1;
static gint ett_nr_rrc_T_measResultNeighCells = -1;
static gint ett_nr_rrc_MeasResultServMOList = -1;
static gint ett_nr_rrc_MeasResultServMO = -1;
static gint ett_nr_rrc_MeasResultListNR = -1;
static gint ett_nr_rrc_MeasResultNR = -1;
static gint ett_nr_rrc_T_measResult = -1;
static gint ett_nr_rrc_T_cellResults = -1;
static gint ett_nr_rrc_T_rsIndexResults = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16 = -1;
static gint ett_nr_rrc_T_triggeredEvent_r17 = -1;
static gint ett_nr_rrc_MeasResultListEUTRA = -1;
static gint ett_nr_rrc_MeasResultEUTRA = -1;
static gint ett_nr_rrc_MultiBandInfoListEUTRA = -1;
static gint ett_nr_rrc_MeasQuantityResults = -1;
static gint ett_nr_rrc_MeasQuantityResultsEUTRA = -1;
static gint ett_nr_rrc_ResultsPerSSB_IndexList = -1;
static gint ett_nr_rrc_ResultsPerSSB_Index = -1;
static gint ett_nr_rrc_ResultsPerCSI_RS_IndexList = -1;
static gint ett_nr_rrc_ResultsPerCSI_RS_Index = -1;
static gint ett_nr_rrc_MeasResultServFreqListEUTRA_SCG = -1;
static gint ett_nr_rrc_MeasResultServFreqListNR_SCG = -1;
static gint ett_nr_rrc_MeasResultListUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_MeasResultUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_T_measResult_r16_02 = -1;
static gint ett_nr_rrc_MeasResultForRSSI_r16 = -1;
static gint ett_nr_rrc_MeasResultCLI_r16 = -1;
static gint ett_nr_rrc_MeasResultListSRS_RSRP_r16 = -1;
static gint ett_nr_rrc_MeasResultSRS_RSRP_r16 = -1;
static gint ett_nr_rrc_MeasResultListCLI_RSSI_r16 = -1;
static gint ett_nr_rrc_MeasResultCLI_RSSI_r16 = -1;
static gint ett_nr_rrc_UL_PDCP_DelayValueResultList_r16 = -1;
static gint ett_nr_rrc_UL_PDCP_DelayValueResult_r16 = -1;
static gint ett_nr_rrc_UL_PDCP_ExcessDelayResultList_r17 = -1;
static gint ett_nr_rrc_UL_PDCP_ExcessDelayResult_r17 = -1;
static gint ett_nr_rrc_MeasResult2EUTRA = -1;
static gint ett_nr_rrc_MeasResult2NR = -1;
static gint ett_nr_rrc_MeasResultIdleEUTRA_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16 = -1;
static gint ett_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16 = -1;
static gint ett_nr_rrc_MeasResultsPerCellIdleEUTRA_r16 = -1;
static gint ett_nr_rrc_T_measIdleResultEUTRA_r16 = -1;
static gint ett_nr_rrc_MeasResultIdleNR_r16 = -1;
static gint ett_nr_rrc_T_measResultServingCell_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16 = -1;
static gint ett_nr_rrc_MeasResultsPerCarrierIdleNR_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16 = -1;
static gint ett_nr_rrc_MeasResultsPerCellIdleNR_r16 = -1;
static gint ett_nr_rrc_T_measIdleResultNR_r16 = -1;
static gint ett_nr_rrc_ResultsPerSSB_IndexList_r16 = -1;
static gint ett_nr_rrc_ResultsPerSSB_IndexIdle_r16 = -1;
static gint ett_nr_rrc_T_ssb_Results_r16 = -1;
static gint ett_nr_rrc_MeasResultRxTxTimeDiff_r17 = -1;
static gint ett_nr_rrc_MeasResultSCG_Failure = -1;
static gint ett_nr_rrc_MeasResultList2NR = -1;
static gint ett_nr_rrc_MeasResultsSL_r16 = -1;
static gint ett_nr_rrc_T_measResultsListSL_r16 = -1;
static gint ett_nr_rrc_MeasResultNR_SL_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16 = -1;
static gint ett_nr_rrc_MeasResultCBR_NR_r16 = -1;
static gint ett_nr_rrc_MeasTriggerQuantityEUTRA = -1;
static gint ett_nr_rrc_MobilityStateParameters = -1;
static gint ett_nr_rrc_MsgA_ConfigCommon_r16 = -1;
static gint ett_nr_rrc_MsgA_PUSCH_Config_r16 = -1;
static gint ett_nr_rrc_MsgA_PUSCH_Resource_r16 = -1;
static gint ett_nr_rrc_MsgA_DMRS_Config_r16 = -1;
static gint ett_nr_rrc_MultiFrequencyBandListNR = -1;
static gint ett_nr_rrc_MultiFrequencyBandListNR_SIB = -1;
static gint ett_nr_rrc_NR_MultiBandInfo = -1;
static gint ett_nr_rrc_MUSIM_GapConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17 = -1;
static gint ett_nr_rrc_MUSIM_Gap_r17 = -1;
static gint ett_nr_rrc_MUSIM_GapInfo_r17 = -1;
static gint ett_nr_rrc_T_musim_GapRepetitionAndOffset_r17 = -1;
static gint ett_nr_rrc_MUSIM_Starting_SFN_AndSubframe_r17 = -1;
static gint ett_nr_rrc_NeedForGapsConfigNR_r16 = -1;
static gint ett_nr_rrc_NeedForGapsInfoNR_r16 = -1;
static gint ett_nr_rrc_NeedForGapsIntraFreqList_r16 = -1;
static gint ett_nr_rrc_NeedForGapsBandListNR_r16 = -1;
static gint ett_nr_rrc_NeedForGapsIntraFreq_r16 = -1;
static gint ett_nr_rrc_NeedForGapsNR_r16 = -1;
static gint ett_nr_rrc_NeedForGapNCSG_ConfigEUTRA_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA = -1;
static gint ett_nr_rrc_NeedForGapNCSG_ConfigNR_r17 = -1;
static gint ett_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17 = -1;
static gint ett_nr_rrc_NeedForNCSG_EUTRA_r17 = -1;
static gint ett_nr_rrc_NeedForGapNCSG_InfoNR_r17 = -1;
static gint ett_nr_rrc_NeedForNCSG_IntraFreqList_r17 = -1;
static gint ett_nr_rrc_NeedForNCSG_BandListNR_r17 = -1;
static gint ett_nr_rrc_NeedForNCSG_IntraFreq_r17 = -1;
static gint ett_nr_rrc_NeedForNCSG_NR_r17 = -1;
static gint ett_nr_rrc_NonCellDefiningSSB_r17 = -1;
static gint ett_nr_rrc_NPN_Identity_r16 = -1;
static gint ett_nr_rrc_T_pni_npn_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16 = -1;
static gint ett_nr_rrc_T_snpn_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16 = -1;
static gint ett_nr_rrc_CAG_IdentityInfo_r16 = -1;
static gint ett_nr_rrc_NPN_IdentityInfoList_r16 = -1;
static gint ett_nr_rrc_NPN_IdentityInfo_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16 = -1;
static gint ett_nr_rrc_NR_DL_PRS_PDC_Info_r17 = -1;
static gint ett_nr_rrc_NR_DL_PRS_PDC_ResourceSet_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17 = -1;
static gint ett_nr_rrc_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17 = -1;
static gint ett_nr_rrc_T_scs15_r17 = -1;
static gint ett_nr_rrc_T_scs30_r17 = -1;
static gint ett_nr_rrc_T_scs60_r17 = -1;
static gint ett_nr_rrc_T_scs120_r17 = -1;
static gint ett_nr_rrc_NR_DL_PRS_Resource_r17 = -1;
static gint ett_nr_rrc_T_dl_PRS_CombSizeN_AndReOffset_r17 = -1;
static gint ett_nr_rrc_DL_PRS_QCL_Info_r17 = -1;
static gint ett_nr_rrc_T_ssb_r17 = -1;
static gint ett_nr_rrc_T_dl_PRS_r17 = -1;
static gint ett_nr_rrc_RepFactorAndTimeGap_r17 = -1;
static gint ett_nr_rrc_NR_NS_PmaxList = -1;
static gint ett_nr_rrc_NR_NS_PmaxValue = -1;
static gint ett_nr_rrc_NSAG_IdentityInfo_r17 = -1;
static gint ett_nr_rrc_NTN_Config_r17 = -1;
static gint ett_nr_rrc_EpochTime_r17 = -1;
static gint ett_nr_rrc_TA_Info_r17 = -1;
static gint ett_nr_rrc_NZP_CSI_RS_Resource = -1;
static gint ett_nr_rrc_NZP_CSI_RS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId = -1;
static gint ett_nr_rrc_CMRGroupingAndPairing_r17 = -1;
static gint ett_nr_rrc_NZP_CSI_RS_Pairing_r17 = -1;
static gint ett_nr_rrc_PathlossReferenceRS_r17 = -1;
static gint ett_nr_rrc_T_referenceSignal_r17 = -1;
static gint ett_nr_rrc_PCI_ARFCN_EUTRA_r16 = -1;
static gint ett_nr_rrc_PCI_ARFCN_NR_r16 = -1;
static gint ett_nr_rrc_PCI_List = -1;
static gint ett_nr_rrc_PCI_Range = -1;
static gint ett_nr_rrc_PCI_RangeElement = -1;
static gint ett_nr_rrc_PCI_RangeIndexList = -1;
static gint ett_nr_rrc_PDCCH_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId = -1;
static gint ett_nr_rrc_T_downlinkPreemption = -1;
static gint ett_nr_rrc_T_tpc_PUSCH = -1;
static gint ett_nr_rrc_T_tpc_PUCCH = -1;
static gint ett_nr_rrc_T_tpc_SRS = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16 = -1;
static gint ett_nr_rrc_T_uplinkCancellation_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17 = -1;
static gint ett_nr_rrc_SearchSpaceSwitchConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16 = -1;
static gint ett_nr_rrc_SearchSpaceSwitchConfig_r17 = -1;
static gint ett_nr_rrc_CellGroupForSwitch_r16 = -1;
static gint ett_nr_rrc_PDCCH_ConfigCommon = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace = -1;
static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01 = -1;
static gint ett_nr_rrc_T_sCS15KHZoneT_01 = -1;
static gint ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01 = -1;
static gint ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01 = -1;
static gint ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01 = -1;
static gint ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01 = -1;
static gint ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT = -1;
static gint ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1;
static gint ett_nr_rrc_T_sCS120KHZoneSixteenthT = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16 = -1;
static gint ett_nr_rrc_T_sdt_SearchSpace_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700 = -1;
static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_01 = -1;
static gint ett_nr_rrc_T_sCS480KHZoneEighthT_01 = -1;
static gint ett_nr_rrc_T_sCS480KHZoneSixteenthT_01 = -1;
static gint ett_nr_rrc_T_pei_ConfigBWP_r17 = -1;
static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPEI_O_r17 = -1;
static gint ett_nr_rrc_T_sCS15KHZoneT_02 = -1;
static gint ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_02 = -1;
static gint ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02 = -1;
static gint ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02 = -1;
static gint ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02 = -1;
static gint ett_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 = -1;
static gint ett_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 = -1;
static gint ett_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01 = -1;
static gint ett_nr_rrc_T_sCS480KHZoneEighthT_02 = -1;
static gint ett_nr_rrc_T_sCS480KHZoneSixteenthT_02 = -1;
static gint ett_nr_rrc_PDCCH_ConfigSIB1 = -1;
static gint ett_nr_rrc_PDCCH_ServingCellConfig = -1;
static gint ett_nr_rrc_T_slotFormatIndicator = -1;
static gint ett_nr_rrc_T_availabilityIndicator_r16 = -1;
static gint ett_nr_rrc_PDCP_Config = -1;
static gint ett_nr_rrc_T_drb = -1;
static gint ett_nr_rrc_T_headerCompression = -1;
static gint ett_nr_rrc_T_rohc = -1;
static gint ett_nr_rrc_T_profiles = -1;
static gint ett_nr_rrc_T_uplinkOnlyROHC = -1;
static gint ett_nr_rrc_T_profiles_01 = -1;
static gint ett_nr_rrc_T_moreThanOneRLC = -1;
static gint ett_nr_rrc_T_primaryPath = -1;
static gint ett_nr_rrc_T_discardTimerExt_r16 = -1;
static gint ett_nr_rrc_T_moreThanTwoRLC_DRB_r16 = -1;
static gint ett_nr_rrc_T_duplicationState_r16 = -1;
static gint ett_nr_rrc_T_ethernetHeaderCompression_r16 = -1;
static gint ett_nr_rrc_T_uplinkDataCompression_r17 = -1;
static gint ett_nr_rrc_T_discardTimerExt2_r17 = -1;
static gint ett_nr_rrc_EthernetHeaderCompression_r16 = -1;
static gint ett_nr_rrc_T_ehc_Common_r16 = -1;
static gint ett_nr_rrc_T_ehc_Downlink_r16 = -1;
static gint ett_nr_rrc_T_ehc_Uplink_r16 = -1;
static gint ett_nr_rrc_UplinkDataCompression_r17 = -1;
static gint ett_nr_rrc_T_newSetup = -1;
static gint ett_nr_rrc_PDSCH_Config = -1;
static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA = -1;
static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId = -1;
static gint ett_nr_rrc_T_pdsch_TimeDomainAllocationList = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId = -1;
static gint ett_nr_rrc_T_prb_BundlingType = -1;
static gint ett_nr_rrc_T_staticBundling = -1;
static gint ett_nr_rrc_T_dynamicBundling = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId = -1;
static gint ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet = -1;
static gint ett_nr_rrc_T_maxMIMO_Layers_r16 = -1;
static gint ett_nr_rrc_T_minimumSchedulingOffsetK0_r16 = -1;
static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16 = -1;
static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16 = -1;
static gint ett_nr_rrc_T_pdsch_TimeDomainAllocationListDCI_1_2_r16 = -1;
static gint ett_nr_rrc_T_prb_BundlingTypeDCI_1_2_r16 = -1;
static gint ett_nr_rrc_T_staticBundling_r16 = -1;
static gint ett_nr_rrc_T_dynamicBundling_r16 = -1;
static gint ett_nr_rrc_T_pdsch_TimeDomainAllocationList_r16 = -1;
static gint ett_nr_rrc_T_repetitionSchemeConfig_r16 = -1;
static gint ett_nr_rrc_T_repetitionSchemeConfig_v1630 = -1;
static gint ett_nr_rrc_T_dl_OrJointTCI_StateList_r17 = -1;
static gint ett_nr_rrc_T_explicitlist_01 = -1;
static gint ett_nr_rrc_T_dummy = -1;
static gint ett_nr_rrc_T_minimumSchedulingOffsetK0_r17 = -1;
static gint ett_nr_rrc_T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17 = -1;
static gint ett_nr_rrc_RateMatchPatternGroup = -1;
static gint ett_nr_rrc_RateMatchPatternGroup_item = -1;
static gint ett_nr_rrc_MinSchedulingOffsetK0_Values_r16 = -1;
static gint ett_nr_rrc_MinSchedulingOffsetK0_Values_r17 = -1;
static gint ett_nr_rrc_PDSCH_ConfigCommon = -1;
static gint ett_nr_rrc_PDSCH_ServingCellConfig = -1;
static gint ett_nr_rrc_T_codeBlockGroupTransmission = -1;
static gint ett_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16 = -1;
static gint ett_nr_rrc_T_downlinkHARQ_FeedbackDisabled_r17 = -1;
static gint ett_nr_rrc_PDSCH_CodeBlockGroupTransmission = -1;
static gint ett_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16 = -1;
static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList = -1;
static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocation = -1;
static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16 = -1;
static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16 = -1;
static gint ett_nr_rrc_Dummy_TDRA_List = -1;
static gint ett_nr_rrc_MultiPDSCH_TDRA_List_r17 = -1;
static gint ett_nr_rrc_MultiPDSCH_TDRA_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16 = -1;
static gint ett_nr_rrc_PHR_Config = -1;
static gint ett_nr_rrc_T_mpe_Reporting_FR2_r16 = -1;
static gint ett_nr_rrc_T_mpe_Reporting_FR2_r17 = -1;
static gint ett_nr_rrc_MPE_Config_FR2_r16 = -1;
static gint ett_nr_rrc_MPE_Config_FR2_r17 = -1;
static gint ett_nr_rrc_PhysicalCellGroupConfig = -1;
static gint ett_nr_rrc_T_cs_RNTI = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetection = -1;
static gint ett_nr_rrc_T_dcp_Config_r16 = -1;
static gint ett_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetection2_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetection3_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17 = -1;
static gint ett_nr_rrc_T_pucch_sSCellPattern_r17 = -1;
static gint ett_nr_rrc_T_pucch_sSCellPatternSecondaryPUCCHgroup_r17 = -1;
static gint ett_nr_rrc_T_multicastConfig_r17 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r17 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetection4_r17 = -1;
static gint ett_nr_rrc_PDSCH_HARQ_ACK_EnhType3_r17 = -1;
static gint ett_nr_rrc_T_applicable_r17 = -1;
static gint ett_nr_rrc_T_perCC = -1;
static gint ett_nr_rrc_T_perHARQ = -1;
static gint ett_nr_rrc_T_perHARQ_Ext_r17 = -1;
static gint ett_nr_rrc_DCP_Config_r16 = -1;
static gint ett_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16 = -1;
static gint ett_nr_rrc_MulticastConfig_r17 = -1;
static gint ett_nr_rrc_T_pdsch_HARQ_ACK_CodebookListMulticast_r17 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r17 = -1;
static gint ett_nr_rrc_PLMN_Identity = -1;
static gint ett_nr_rrc_MCC = -1;
static gint ett_nr_rrc_MNC = -1;
static gint ett_nr_rrc_PLMN_IdentityInfoList = -1;
static gint ett_nr_rrc_PLMN_IdentityInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode = -1;
static gint ett_nr_rrc_PLMN_IdentityList2_r16 = -1;
static gint ett_nr_rrc_PTRS_DownlinkConfig = -1;
static gint ett_nr_rrc_T_frequencyDensity = -1;
static gint ett_nr_rrc_T_timeDensity = -1;
static gint ett_nr_rrc_PTRS_UplinkConfig = -1;
static gint ett_nr_rrc_T_transformPrecoderDisabled = -1;
static gint ett_nr_rrc_T_frequencyDensity_01 = -1;
static gint ett_nr_rrc_T_timeDensity_01 = -1;
static gint ett_nr_rrc_T_transformPrecoderEnabled = -1;
static gint ett_nr_rrc_T_sampleDensity = -1;
static gint ett_nr_rrc_PUCCH_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId = -1;
static gint ett_nr_rrc_T_format1 = -1;
static gint ett_nr_rrc_T_format2 = -1;
static gint ett_nr_rrc_T_format3 = -1;
static gint ett_nr_rrc_T_format4 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId = -1;
static gint ett_nr_rrc_T_dl_DataToUL_ACK = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610 = -1;
static gint ett_nr_rrc_T_dl_DataToUL_ACK_r16 = -1;
static gint ett_nr_rrc_T_ul_AccessConfigListDCI_1_1_r16 = -1;
static gint ett_nr_rrc_T_subslotLengthForPUCCH_r16 = -1;
static gint ett_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16 = -1;
static gint ett_nr_rrc_T_sps_PUCCH_AN_List_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610 = -1;
static gint ett_nr_rrc_T_format0_r17 = -1;
static gint ett_nr_rrc_T_format2Ext_r17 = -1;
static gint ett_nr_rrc_T_format3Ext_r17 = -1;
static gint ett_nr_rrc_T_format4Ext_r17 = -1;
static gint ett_nr_rrc_T_ul_AccessConfigListDCI_1_2_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17 = -1;
static gint ett_nr_rrc_T_dl_DataToUL_ACK_r17 = -1;
static gint ett_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r17 = -1;
static gint ett_nr_rrc_T_ul_AccessConfigListDCI_1_1_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700 = -1;
static gint ett_nr_rrc_T_dmrs_BundlingPUCCH_Config_r17 = -1;
static gint ett_nr_rrc_T_dl_DataToUL_ACK_v1700 = -1;
static gint ett_nr_rrc_T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17 = -1;
static gint ett_nr_rrc_T_sps_PUCCH_AN_ListMulticast_r17 = -1;
static gint ett_nr_rrc_PUCCH_FormatConfig = -1;
static gint ett_nr_rrc_PUCCH_FormatConfigExt_r17 = -1;
static gint ett_nr_rrc_PUCCH_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId = -1;
static gint ett_nr_rrc_PUCCH_Resource = -1;
static gint ett_nr_rrc_T_format = -1;
static gint ett_nr_rrc_PUCCH_ResourceExt_v1610 = -1;
static gint ett_nr_rrc_T_interlaceAllocation_r16 = -1;
static gint ett_nr_rrc_T_interlace0_r16 = -1;
static gint ett_nr_rrc_T_format_v1610 = -1;
static gint ett_nr_rrc_T_occ_v1610 = -1;
static gint ett_nr_rrc_T_format_v1700 = -1;
static gint ett_nr_rrc_PUCCH_format0 = -1;
static gint ett_nr_rrc_PUCCH_format1 = -1;
static gint ett_nr_rrc_PUCCH_format2 = -1;
static gint ett_nr_rrc_PUCCH_format3 = -1;
static gint ett_nr_rrc_PUCCH_format4 = -1;
static gint ett_nr_rrc_PUCCH_ResourceGroup_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId = -1;
static gint ett_nr_rrc_DL_DataToUL_ACK_r16 = -1;
static gint ett_nr_rrc_DL_DataToUL_ACK_r17 = -1;
static gint ett_nr_rrc_DL_DataToUL_ACK_v1700 = -1;
static gint ett_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r16 = -1;
static gint ett_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r17 = -1;
static gint ett_nr_rrc_UL_AccessConfigListDCI_1_1_r16 = -1;
static gint ett_nr_rrc_UL_AccessConfigListDCI_1_2_r17 = -1;
static gint ett_nr_rrc_UL_AccessConfigListDCI_1_1_r17 = -1;
static gint ett_nr_rrc_DL_DataToUL_ACK_MulticastDCI_Format4_1_r17 = -1;
static gint ett_nr_rrc_PUCCH_ConfigCommon = -1;
static gint ett_nr_rrc_PUCCH_ConfigurationList_r16 = -1;
static gint ett_nr_rrc_PUCCH_PowerControl = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS = -1;
static gint ett_nr_rrc_T_pathlossReferenceRSs_v1610 = -1;
static gint ett_nr_rrc_P0_PUCCH = -1;
static gint ett_nr_rrc_PathlossReferenceRSs_v1610 = -1;
static gint ett_nr_rrc_PUCCH_PathlossReferenceRS = -1;
static gint ett_nr_rrc_T_referenceSignal = -1;
static gint ett_nr_rrc_PUCCH_PathlossReferenceRS_r16 = -1;
static gint ett_nr_rrc_T_referenceSignal_r16 = -1;
static gint ett_nr_rrc_PUCCH_PowerControlSetInfo_r17 = -1;
static gint ett_nr_rrc_PUCCH_SpatialRelationInfo = -1;
static gint ett_nr_rrc_T_referenceSignal_01 = -1;
static gint ett_nr_rrc_PUCCH_SpatialRelationInfoExt_r16 = -1;
static gint ett_nr_rrc_PUCCH_SRS = -1;
static gint ett_nr_rrc_PUCCH_TPC_CommandConfig = -1;
static gint ett_nr_rrc_PUSCH_Config = -1;
static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA = -1;
static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB = -1;
static gint ett_nr_rrc_T_frequencyHoppingOffsetLists = -1;
static gint ett_nr_rrc_T_pusch_TimeDomainAllocationList = -1;
static gint ett_nr_rrc_T_uci_OnPUSCH_01 = -1;
static gint ett_nr_rrc_T_minimumSchedulingOffsetK2_r16 = -1;
static gint ett_nr_rrc_T_ul_AccessConfigListDCI_0_1_r16 = -1;
static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_frequencyHoppingDCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_frequencyHoppingOffsetListsDCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_uci_OnPUSCH_ListDCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_1_r16 = -1;
static gint ett_nr_rrc_T_uci_OnPUSCH_ListDCI_0_1_r16 = -1;
static gint ett_nr_rrc_T_pusch_PowerControl_v1610 = -1;
static gint ett_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16 = -1;
static gint ett_nr_rrc_T_ul_AccessConfigListDCI_0_2_r17 = -1;
static gint ett_nr_rrc_T_betaOffsetsCrossPri0_r17 = -1;
static gint ett_nr_rrc_T_betaOffsetsCrossPri1_r17 = -1;
static gint ett_nr_rrc_T_betaOffsetsCrossPri0DCI_0_2_r17 = -1;
static gint ett_nr_rrc_T_betaOffsetsCrossPri1DCI_0_2_r17 = -1;
static gint ett_nr_rrc_T_ul_AccessConfigListDCI_0_1_r17 = -1;
static gint ett_nr_rrc_T_minimumSchedulingOffsetK2_r17 = -1;
static gint ett_nr_rrc_T_dmrs_BundlingPUSCH_Config_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17 = -1;
static gint ett_nr_rrc_UCI_OnPUSCH = -1;
static gint ett_nr_rrc_T_betaOffsets = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets = -1;
static gint ett_nr_rrc_MinSchedulingOffsetK2_Values_r16 = -1;
static gint ett_nr_rrc_MinSchedulingOffsetK2_Values_r17 = -1;
static gint ett_nr_rrc_UCI_OnPUSCH_DCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_betaOffsetsDCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_dynamicDCI_0_2_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsets = -1;
static gint ett_nr_rrc_FrequencyHoppingOffsetListsDCI_0_2_r16 = -1;
static gint ett_nr_rrc_UCI_OnPUSCH_ListDCI_0_2_r16 = -1;
static gint ett_nr_rrc_UCI_OnPUSCH_ListDCI_0_1_r16 = -1;
static gint ett_nr_rrc_UL_AccessConfigListDCI_0_1_r16 = -1;
static gint ett_nr_rrc_UL_AccessConfigListDCI_0_1_r17 = -1;
static gint ett_nr_rrc_UL_AccessConfigListDCI_0_2_r17 = -1;
static gint ett_nr_rrc_BetaOffsetsCrossPriSel_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17 = -1;
static gint ett_nr_rrc_BetaOffsetsCrossPriSelDCI_0_2_r17 = -1;
static gint ett_nr_rrc_T_dynamicDCI_0_2_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17 = -1;
static gint ett_nr_rrc_MPE_Resource_r17 = -1;
static gint ett_nr_rrc_T_mpe_ReferenceSignal_r17 = -1;
static gint ett_nr_rrc_PUSCH_ConfigCommon = -1;
static gint ett_nr_rrc_PUSCH_PowerControl = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId = -1;
static gint ett_nr_rrc_P0_PUSCH_AlphaSet = -1;
static gint ett_nr_rrc_PUSCH_PathlossReferenceRS = -1;
static gint ett_nr_rrc_T_referenceSignal_02 = -1;
static gint ett_nr_rrc_PUSCH_PathlossReferenceRS_r16 = -1;
static gint ett_nr_rrc_T_referenceSignal_r16_01 = -1;
static gint ett_nr_rrc_DummyPathlossReferenceRS_v1710 = -1;
static gint ett_nr_rrc_SRI_PUSCH_PowerControl = -1;
static gint ett_nr_rrc_PUSCH_PowerControl_v1610 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16 = -1;
static gint ett_nr_rrc_T_olpc_ParameterSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710 = -1;
static gint ett_nr_rrc_P0_PUSCH_Set_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16 = -1;
static gint ett_nr_rrc_PUSCH_ServingCellConfig = -1;
static gint ett_nr_rrc_T_codeBlockGroupTransmission_01 = -1;
static gint ett_nr_rrc_T_maxMIMO_LayersDCI_0_2_r16 = -1;
static gint ett_nr_rrc_T_uplinkHARQ_mode_r17 = -1;
static gint ett_nr_rrc_PUSCH_CodeBlockGroupTransmission = -1;
static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList = -1;
static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocation = -1;
static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16 = -1;
static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16 = -1;
static gint ett_nr_rrc_PUSCH_Allocation_r16 = -1;
static gint ett_nr_rrc_PUSCH_TPC_CommandConfig = -1;
static gint ett_nr_rrc_QuantityConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR = -1;
static gint ett_nr_rrc_QuantityConfigNR = -1;
static gint ett_nr_rrc_QuantityConfigRS = -1;
static gint ett_nr_rrc_FilterConfig = -1;
static gint ett_nr_rrc_FilterConfigCLI_r16 = -1;
static gint ett_nr_rrc_QuantityConfigUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_RACH_ConfigCommon = -1;
static gint ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1;
static gint ett_nr_rrc_T_groupBconfigured = -1;
static gint ett_nr_rrc_T_prach_RootSequenceIndex = -1;
static gint ett_nr_rrc_T_ra_PrioritizationForAccessIdentity_r16 = -1;
static gint ett_nr_rrc_T_prach_RootSequenceIndex_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17 = -1;
static gint ett_nr_rrc_RACH_ConfigCommonTwoStepRA_r16 = -1;
static gint ett_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16 = -1;
static gint ett_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16 = -1;
static gint ett_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16 = -1;
static gint ett_nr_rrc_GroupB_ConfiguredTwoStepRA_r16 = -1;
static gint ett_nr_rrc_RACH_ConfigDedicated = -1;
static gint ett_nr_rrc_CFRA = -1;
static gint ett_nr_rrc_T_occasions = -1;
static gint ett_nr_rrc_T_resources = -1;
static gint ett_nr_rrc_T_ssb = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource = -1;
static gint ett_nr_rrc_T_csirs = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource = -1;
static gint ett_nr_rrc_CFRA_TwoStep_r16 = -1;
static gint ett_nr_rrc_T_occasionsTwoStepRA_r16 = -1;
static gint ett_nr_rrc_T_resourcesTwoStep_r16 = -1;
static gint ett_nr_rrc_CFRA_SSB_Resource = -1;
static gint ett_nr_rrc_CFRA_CSIRS_Resource = -1;
static gint ett_nr_rrc_T_ra_OccasionList_01 = -1;
static gint ett_nr_rrc_RACH_ConfigGeneric = -1;
static gint ett_nr_rrc_RACH_ConfigGenericTwoStepRA_r16 = -1;
static gint ett_nr_rrc_RA_Prioritization = -1;
static gint ett_nr_rrc_RA_PrioritizationForSlicing_r17 = -1;
static gint ett_nr_rrc_RA_PrioritizationSliceInfoList_r17 = -1;
static gint ett_nr_rrc_RA_PrioritizationSliceInfo_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17 = -1;
static gint ett_nr_rrc_RadioBearerConfig = -1;
static gint ett_nr_rrc_SRB_ToAddModList = -1;
static gint ett_nr_rrc_SRB_ToAddMod = -1;
static gint ett_nr_rrc_DRB_ToAddModList = -1;
static gint ett_nr_rrc_DRB_ToAddMod = -1;
static gint ett_nr_rrc_T_cnAssociation = -1;
static gint ett_nr_rrc_DRB_ToReleaseList = -1;
static gint ett_nr_rrc_SecurityConfig = -1;
static gint ett_nr_rrc_MRB_ToAddModList_r17 = -1;
static gint ett_nr_rrc_MRB_ToAddMod_r17 = -1;
static gint ett_nr_rrc_MRB_ToReleaseList_r17 = -1;
static gint ett_nr_rrc_RadioLinkMonitoringConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id = -1;
static gint ett_nr_rrc_BeamFailureDetection_r17 = -1;
static gint ett_nr_rrc_RadioLinkMonitoringRS = -1;
static gint ett_nr_rrc_T_detectionResource = -1;
static gint ett_nr_rrc_BeamFailureDetectionSet_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17 = -1;
static gint ett_nr_rrc_BeamLinkMonitoringRS_r17 = -1;
static gint ett_nr_rrc_T_detectionResource_r17 = -1;
static gint ett_nr_rrc_RateMatchPattern = -1;
static gint ett_nr_rrc_T_patternType = -1;
static gint ett_nr_rrc_T_bitmaps = -1;
static gint ett_nr_rrc_T_symbolsInResourceBlock = -1;
static gint ett_nr_rrc_T_periodicityAndPattern = -1;
static gint ett_nr_rrc_RateMatchPatternLTE_CRS = -1;
static gint ett_nr_rrc_LTE_CRS_PatternList_r16 = -1;
static gint ett_nr_rrc_ReferenceTimeInfo_r16 = -1;
static gint ett_nr_rrc_ReferenceTime_r16 = -1;
static gint ett_nr_rrc_RepetitionSchemeConfig_r16 = -1;
static gint ett_nr_rrc_T_fdm_TDM_r16 = -1;
static gint ett_nr_rrc_T_slotBased_r16 = -1;
static gint ett_nr_rrc_RepetitionSchemeConfig_v1630 = -1;
static gint ett_nr_rrc_T_slotBased_v1630 = -1;
static gint ett_nr_rrc_FDM_TDM_r16 = -1;
static gint ett_nr_rrc_SlotBased_r16 = -1;
static gint ett_nr_rrc_SlotBased_v1630 = -1;
static gint ett_nr_rrc_ReportConfigInterRAT = -1;
static gint ett_nr_rrc_T_reportType_01 = -1;
static gint ett_nr_rrc_ReportCGI_EUTRA = -1;
static gint ett_nr_rrc_ReportSFTD_EUTRA = -1;
static gint ett_nr_rrc_EventTriggerConfigInterRAT = -1;
static gint ett_nr_rrc_T_eventId = -1;
static gint ett_nr_rrc_T_eventB1 = -1;
static gint ett_nr_rrc_T_eventB2 = -1;
static gint ett_nr_rrc_T_eventB1_UTRA_FDD_r16 = -1;
static gint ett_nr_rrc_T_eventB2_UTRA_FDD_r16 = -1;
static gint ett_nr_rrc_T_eventY1_Relay_r17 = -1;
static gint ett_nr_rrc_T_eventY2_Relay_r17 = -1;
static gint ett_nr_rrc_T_includeBT_Meas_r16 = -1;
static gint ett_nr_rrc_T_includeWLAN_Meas_r16 = -1;
static gint ett_nr_rrc_T_includeSensor_Meas_r16 = -1;
static gint ett_nr_rrc_PeriodicalReportConfigInterRAT = -1;
static gint ett_nr_rrc_T_includeBT_Meas_r16_01 = -1;
static gint ett_nr_rrc_T_includeWLAN_Meas_r16_01 = -1;
static gint ett_nr_rrc_T_includeSensor_Meas_r16_01 = -1;
static gint ett_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_MeasReportQuantityUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_ReportConfigNR = -1;
static gint ett_nr_rrc_T_reportType_02 = -1;
static gint ett_nr_rrc_ReportCGI = -1;
static gint ett_nr_rrc_ReportSFTD_NR = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId = -1;
static gint ett_nr_rrc_CondTriggerConfig_r16 = -1;
static gint ett_nr_rrc_T_condEventId = -1;
static gint ett_nr_rrc_T_condEventA3 = -1;
static gint ett_nr_rrc_T_condEventA5 = -1;
static gint ett_nr_rrc_T_condEventA4_r17 = -1;
static gint ett_nr_rrc_T_condEventD1_r17 = -1;
static gint ett_nr_rrc_T_condEventT1_r17 = -1;
static gint ett_nr_rrc_EventTriggerConfig = -1;
static gint ett_nr_rrc_T_eventId_01 = -1;
static gint ett_nr_rrc_T_eventA1 = -1;
static gint ett_nr_rrc_T_eventA2 = -1;
static gint ett_nr_rrc_T_eventA3 = -1;
static gint ett_nr_rrc_T_eventA4 = -1;
static gint ett_nr_rrc_T_eventA5 = -1;
static gint ett_nr_rrc_T_eventA6 = -1;
static gint ett_nr_rrc_T_eventX1_r17 = -1;
static gint ett_nr_rrc_T_eventX2_r17 = -1;
static gint ett_nr_rrc_T_eventD1_r17 = -1;
static gint ett_nr_rrc_T_includeBT_Meas_r16_02 = -1;
static gint ett_nr_rrc_T_includeWLAN_Meas_r16_02 = -1;
static gint ett_nr_rrc_T_includeSensor_Meas_r16_02 = -1;
static gint ett_nr_rrc_PeriodicalReportConfig = -1;
static gint ett_nr_rrc_T_includeBT_Meas_r16_03 = -1;
static gint ett_nr_rrc_T_includeWLAN_Meas_r16_03 = -1;
static gint ett_nr_rrc_T_includeSensor_Meas_r16_03 = -1;
static gint ett_nr_rrc_T_ul_DelayValueConfig_r16 = -1;
static gint ett_nr_rrc_T_ul_ExcessDelayConfig_r17 = -1;
static gint ett_nr_rrc_MeasTriggerQuantity = -1;
static gint ett_nr_rrc_MeasTriggerQuantityOffset = -1;
static gint ett_nr_rrc_MeasReportQuantity = -1;
static gint ett_nr_rrc_MeasRSSI_ReportConfig_r16 = -1;
static gint ett_nr_rrc_CLI_EventTriggerConfig_r16 = -1;
static gint ett_nr_rrc_T_eventId_r16 = -1;
static gint ett_nr_rrc_T_eventI1_r16 = -1;
static gint ett_nr_rrc_CLI_PeriodicalReportConfig_r16 = -1;
static gint ett_nr_rrc_RxTxPeriodical_r17 = -1;
static gint ett_nr_rrc_MeasTriggerQuantityCLI_r16 = -1;
static gint ett_nr_rrc_ReportConfigNR_SL_r16 = -1;
static gint ett_nr_rrc_T_reportType_r16 = -1;
static gint ett_nr_rrc_EventTriggerConfigNR_SL_r16 = -1;
static gint ett_nr_rrc_T_eventId_r16_01 = -1;
static gint ett_nr_rrc_T_eventC1 = -1;
static gint ett_nr_rrc_T_eventC2_r16 = -1;
static gint ett_nr_rrc_PeriodicalReportConfigNR_SL_r16 = -1;
static gint ett_nr_rrc_MeasReportQuantity_r16 = -1;
static gint ett_nr_rrc_ReportConfigToAddModList = -1;
static gint ett_nr_rrc_ReportConfigToAddMod = -1;
static gint ett_nr_rrc_T_reportConfig = -1;
static gint ett_nr_rrc_RLC_BearerConfig = -1;
static gint ett_nr_rrc_T_servedRadioBearer = -1;
static gint ett_nr_rrc_MulticastRLC_BearerConfig_r17 = -1;
static gint ett_nr_rrc_RLC_Config = -1;
static gint ett_nr_rrc_T_am = -1;
static gint ett_nr_rrc_T_um_Bi_Directional = -1;
static gint ett_nr_rrc_T_um_Uni_Directional_UL = -1;
static gint ett_nr_rrc_T_um_Uni_Directional_DL = -1;
static gint ett_nr_rrc_UL_AM_RLC = -1;
static gint ett_nr_rrc_DL_AM_RLC = -1;
static gint ett_nr_rrc_UL_UM_RLC = -1;
static gint ett_nr_rrc_DL_UM_RLC = -1;
static gint ett_nr_rrc_RLC_Config_v1610 = -1;
static gint ett_nr_rrc_RLC_Config_v1700 = -1;
static gint ett_nr_rrc_DL_AM_RLC_v1610 = -1;
static gint ett_nr_rrc_DL_AM_RLC_v1700 = -1;
static gint ett_nr_rrc_DL_UM_RLC_v1700 = -1;
static gint ett_nr_rrc_RLF_TimersAndConstants = -1;
static gint ett_nr_rrc_RxTxTimeDiff_r17 = -1;
static gint ett_nr_rrc_SCellActivationRS_Config_r17 = -1;
static gint ett_nr_rrc_SchedulingRequestConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId = -1;
static gint ett_nr_rrc_SchedulingRequestToAddMod = -1;
static gint ett_nr_rrc_SchedulingRequestConfig_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700 = -1;
static gint ett_nr_rrc_SchedulingRequestToAddModExt_v1700 = -1;
static gint ett_nr_rrc_SchedulingRequestResourceConfig = -1;
static gint ett_nr_rrc_T_periodicityAndOffset = -1;
static gint ett_nr_rrc_SchedulingRequestResourceConfigExt_v1610 = -1;
static gint ett_nr_rrc_SchedulingRequestResourceConfigExt_v1700 = -1;
static gint ett_nr_rrc_T_periodicityAndOffset_r17 = -1;
static gint ett_nr_rrc_SCS_SpecificCarrier = -1;
static gint ett_nr_rrc_SDAP_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI = -1;
static gint ett_nr_rrc_SearchSpace = -1;
static gint ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset = -1;
static gint ett_nr_rrc_T_nrofCandidates = -1;
static gint ett_nr_rrc_T_searchSpaceType = -1;
static gint ett_nr_rrc_T_common = -1;
static gint ett_nr_rrc_T_dci_Format0_0_AndFormat1_0 = -1;
static gint ett_nr_rrc_T_dci_Format2_0 = -1;
static gint ett_nr_rrc_T_nrofCandidates_SFI = -1;
static gint ett_nr_rrc_T_dci_Format2_1 = -1;
static gint ett_nr_rrc_T_dci_Format2_2 = -1;
static gint ett_nr_rrc_T_dci_Format2_3 = -1;
static gint ett_nr_rrc_T_ue_Specific = -1;
static gint ett_nr_rrc_SearchSpaceExt_r16 = -1;
static gint ett_nr_rrc_T_searchSpaceType_r16 = -1;
static gint ett_nr_rrc_T_common_r16 = -1;
static gint ett_nr_rrc_T_dci_Format2_4_r16 = -1;
static gint ett_nr_rrc_T_nrofCandidates_CI_r16 = -1;
static gint ett_nr_rrc_T_dci_Format2_5_r16 = -1;
static gint ett_nr_rrc_T_nrofCandidates_IAB_r16 = -1;
static gint ett_nr_rrc_T_dci_Format2_6_r16 = -1;
static gint ett_nr_rrc_T_searchSpaceGroupIdList_r16 = -1;
static gint ett_nr_rrc_SearchSpaceExt_v1700 = -1;
static gint ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset_v1710 = -1;
static gint ett_nr_rrc_T_monitoringSlotsWithinSlotGroup_r17 = -1;
static gint ett_nr_rrc_T_searchSpaceType_r17 = -1;
static gint ett_nr_rrc_T_common_r17 = -1;
static gint ett_nr_rrc_T_dci_Format4_0_r17 = -1;
static gint ett_nr_rrc_T_dci_Format4_1_r17 = -1;
static gint ett_nr_rrc_T_dci_Format4_2_r17 = -1;
static gint ett_nr_rrc_T_dci_Format4_1_AndFormat4_2_r17 = -1;
static gint ett_nr_rrc_T_dci_Format2_7_r17 = -1;
static gint ett_nr_rrc_T_nrofCandidates_PEI_r17 = -1;
static gint ett_nr_rrc_T_searchSpaceGroupIdList_r17 = -1;
static gint ett_nr_rrc_SecurityAlgorithmConfig = -1;
static gint ett_nr_rrc_SemiStaticChannelAccessConfig_r16 = -1;
static gint ett_nr_rrc_SemiStaticChannelAccessConfigUE_r17 = -1;
static gint ett_nr_rrc_Sensor_LocationInfo_r16 = -1;
static gint ett_nr_rrc_ServingCellAndBWP_Id_r17 = -1;
static gint ett_nr_rrc_ServingCellConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink = -1;
static gint ett_nr_rrc_T_pdcch_ServingCellConfig = -1;
static gint ett_nr_rrc_T_pdsch_ServingCellConfig = -1;
static gint ett_nr_rrc_T_csi_MeasConfig = -1;
static gint ett_nr_rrc_T_lte_CRS_ToMatchAround = -1;
static gint ett_nr_rrc_T_dormantBWP_Config_r16 = -1;
static gint ett_nr_rrc_T_ca_SlotOffset_r16 = -1;
static gint ett_nr_rrc_T_servingCellConfig_eag_2_dummy2 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16 = -1;
static gint ett_nr_rrc_T_lte_CRS_PatternList1_r16 = -1;
static gint ett_nr_rrc_T_lte_CRS_PatternList2_r16 = -1;
static gint ett_nr_rrc_T_channelAccessConfig_r16 = -1;
static gint ett_nr_rrc_T_nr_dl_PRS_PDC_Info_r17 = -1;
static gint ett_nr_rrc_T_semiStaticChannelAccessConfigUE_r17 = -1;
static gint ett_nr_rrc_T_mimoParam_r17 = -1;
static gint ett_nr_rrc_T_lte_NeighCellsCRS_AssistInfoList_r17 = -1;
static gint ett_nr_rrc_UplinkConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink = -1;
static gint ett_nr_rrc_T_pusch_ServingCellConfig = -1;
static gint ett_nr_rrc_T_carrierSwitching = -1;
static gint ett_nr_rrc_T_uplinkTxSwitching_r16 = -1;
static gint ett_nr_rrc_DummyJ = -1;
static gint ett_nr_rrc_ChannelAccessConfig_r16 = -1;
static gint ett_nr_rrc_T_energyDetectionConfig_r16 = -1;
static gint ett_nr_rrc_IntraCellGuardBandsPerSCS_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_GuardBand_r16 = -1;
static gint ett_nr_rrc_GuardBand_r16 = -1;
static gint ett_nr_rrc_DormantBWP_Config_r16 = -1;
static gint ett_nr_rrc_T_withinActiveTimeConfig_r16 = -1;
static gint ett_nr_rrc_T_outsideActiveTimeConfig_r16 = -1;
static gint ett_nr_rrc_WithinActiveTimeConfig_r16 = -1;
static gint ett_nr_rrc_OutsideActiveTimeConfig_r16 = -1;
static gint ett_nr_rrc_UplinkTxSwitching_r16 = -1;
static gint ett_nr_rrc_MIMOParam_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17 = -1;
static gint ett_nr_rrc_ServingCellConfigCommon = -1;
static gint ett_nr_rrc_T_ssb_PositionsInBurst = -1;
static gint ett_nr_rrc_T_lte_CRS_ToMatchAround_01 = -1;
static gint ett_nr_rrc_T_channelAccessMode_r16 = -1;
static gint ett_nr_rrc_T_featurePriorities_r17_01 = -1;
static gint ett_nr_rrc_ServingCellConfigCommonSIB = -1;
static gint ett_nr_rrc_T_ssb_PositionsInBurst_01 = -1;
static gint ett_nr_rrc_T_channelAccessMode_r16_01 = -1;
static gint ett_nr_rrc_SI_RequestConfig = -1;
static gint ett_nr_rrc_T_rach_OccasionsSI = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources = -1;
static gint ett_nr_rrc_SI_RequestResources = -1;
static gint ett_nr_rrc_SI_SchedulingInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo = -1;
static gint ett_nr_rrc_SchedulingInfo = -1;
static gint ett_nr_rrc_SI_SchedulingInfo_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17 = -1;
static gint ett_nr_rrc_SI_SchedulingInfo_v1740 = -1;
static gint ett_nr_rrc_SchedulingInfo2_r17 = -1;
static gint ett_nr_rrc_SIB_Mapping = -1;
static gint ett_nr_rrc_SIB_Mapping_v1700 = -1;
static gint ett_nr_rrc_SIB_TypeInfo = -1;
static gint ett_nr_rrc_SIB_TypeInfo_v1700 = -1;
static gint ett_nr_rrc_T_sibType_r17 = -1;
static gint ett_nr_rrc_T_type2_r17 = -1;
static gint ett_nr_rrc_SlotFormatCombinationsPerCell = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination = -1;
static gint ett_nr_rrc_SlotFormatCombination = -1;
static gint ett_nr_rrc_T_slotFormats = -1;
static gint ett_nr_rrc_SlotFormatIndicator = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17 = -1;
static gint ett_nr_rrc_CO_DurationsPerCell_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16 = -1;
static gint ett_nr_rrc_CO_DurationsPerCell_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r17 = -1;
static gint ett_nr_rrc_AvailableRB_SetsPerCell_r16 = -1;
static gint ett_nr_rrc_SearchSpaceSwitchTrigger_r16 = -1;
static gint ett_nr_rrc_S_NSSAI = -1;
static gint ett_nr_rrc_SpeedStateScaleFactors = -1;
static gint ett_nr_rrc_SPS_Config = -1;
static gint ett_nr_rrc_SPS_PUCCH_AN_r16 = -1;
static gint ett_nr_rrc_SPS_PUCCH_AN_List_r16 = -1;
static gint ett_nr_rrc_SRS_CarrierSwitching = -1;
static gint ett_nr_rrc_T_srs_TPC_PDCCH_Group = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config = -1;
static gint ett_nr_rrc_SRS_TPC_PDCCH_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex = -1;
static gint ett_nr_rrc_SRS_CC_SetIndex = -1;
static gint ett_nr_rrc_SRS_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource = -1;
static gint ett_nr_rrc_SRS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId = -1;
static gint ett_nr_rrc_T_resourceType_01 = -1;
static gint ett_nr_rrc_T_aperiodic_01 = -1;
static gint ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList = -1;
static gint ett_nr_rrc_T_semi_persistent = -1;
static gint ett_nr_rrc_T_periodic_01 = -1;
static gint ett_nr_rrc_T_pathlossReferenceRSList_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17 = -1;
static gint ett_nr_rrc_PathlossReferenceRS_Config = -1;
static gint ett_nr_rrc_PathlossReferenceRSList_r16 = -1;
static gint ett_nr_rrc_PathlossReferenceRS_r16 = -1;
static gint ett_nr_rrc_SRS_PosResourceSet_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16 = -1;
static gint ett_nr_rrc_T_resourceType_r16 = -1;
static gint ett_nr_rrc_T_aperiodic_r16 = -1;
static gint ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16 = -1;
static gint ett_nr_rrc_T_semi_persistent_r16 = -1;
static gint ett_nr_rrc_T_periodic_r16 = -1;
static gint ett_nr_rrc_T_pathlossReferenceRS_Pos_r16 = -1;
static gint ett_nr_rrc_SRS_Resource = -1;
static gint ett_nr_rrc_T_transmissionComb = -1;
static gint ett_nr_rrc_T_n2 = -1;
static gint ett_nr_rrc_T_n4 = -1;
static gint ett_nr_rrc_T_resourceMapping = -1;
static gint ett_nr_rrc_T_freqHopping = -1;
static gint ett_nr_rrc_T_resourceType_02 = -1;
static gint ett_nr_rrc_T_aperiodic_02 = -1;
static gint ett_nr_rrc_T_semi_persistent_01 = -1;
static gint ett_nr_rrc_T_periodic_02 = -1;
static gint ett_nr_rrc_T_resourceMapping_r16 = -1;
static gint ett_nr_rrc_T_spatialRelationInfo_PDC_r17 = -1;
static gint ett_nr_rrc_T_resourceMapping_r17 = -1;
static gint ett_nr_rrc_T_partialFreqSounding_r17 = -1;
static gint ett_nr_rrc_T_startRBIndexFScaling_r17 = -1;
static gint ett_nr_rrc_T_transmissionComb_n8_r17 = -1;
static gint ett_nr_rrc_T_srs_TCI_State_r17 = -1;
static gint ett_nr_rrc_T_srs_DLorJointTCI_State_v1730 = -1;
static gint ett_nr_rrc_SRS_PosResource_r16 = -1;
static gint ett_nr_rrc_T_transmissionComb_r16 = -1;
static gint ett_nr_rrc_T_n2_r16 = -1;
static gint ett_nr_rrc_T_n4_r16 = -1;
static gint ett_nr_rrc_T_n8_r16 = -1;
static gint ett_nr_rrc_T_resourceMapping_r16_01 = -1;
static gint ett_nr_rrc_T_freqHopping_r16 = -1;
static gint ett_nr_rrc_T_resourceType_r16_01 = -1;
static gint ett_nr_rrc_T_aperiodic_r16_01 = -1;
static gint ett_nr_rrc_T_semi_persistent_r16_01 = -1;
static gint ett_nr_rrc_T_periodic_r16_01 = -1;
static gint ett_nr_rrc_SRS_SpatialRelationInfo = -1;
static gint ett_nr_rrc_T_referenceSignal_03 = -1;
static gint ett_nr_rrc_T_srs = -1;
static gint ett_nr_rrc_SRS_SpatialRelationInfoPos_r16 = -1;
static gint ett_nr_rrc_T_servingRS_r16 = -1;
static gint ett_nr_rrc_T_referenceSignal_r16_02 = -1;
static gint ett_nr_rrc_T_srs_SpatialRelation_r16 = -1;
static gint ett_nr_rrc_T_resourceSelection_r16 = -1;
static gint ett_nr_rrc_SSB_Configuration_r16 = -1;
static gint ett_nr_rrc_T_sfn0_Offset_r16 = -1;
static gint ett_nr_rrc_SSB_InfoNcell_r16 = -1;
static gint ett_nr_rrc_DL_PRS_Info_r16 = -1;
static gint ett_nr_rrc_SRS_PeriodicityAndOffset = -1;
static gint ett_nr_rrc_SRS_PeriodicityAndOffset_r16 = -1;
static gint ett_nr_rrc_SRS_PeriodicityAndOffsetExt_r16 = -1;
static gint ett_nr_rrc_SpatialRelationInfo_PDC_r17 = -1;
static gint ett_nr_rrc_T_referenceSignal_04 = -1;
static gint ett_nr_rrc_T_srs_01 = -1;
static gint ett_nr_rrc_SRS_TPC_CommandConfig = -1;
static gint ett_nr_rrc_SSB_MTC = -1;
static gint ett_nr_rrc_T_periodicityAndOffset_01 = -1;
static gint ett_nr_rrc_SSB_MTC2 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId = -1;
static gint ett_nr_rrc_SSB_MTC2_LP_r16 = -1;
static gint ett_nr_rrc_SSB_MTC3_r16 = -1;
static gint ett_nr_rrc_T_periodicityAndOffset_r16 = -1;
static gint ett_nr_rrc_T_ssb_ToMeasure_r16 = -1;
static gint ett_nr_rrc_SSB_MTC4_r17 = -1;
static gint ett_nr_rrc_SSB_MTC_AdditionalPCI_r17 = -1;
static gint ett_nr_rrc_T_ssb_PositionsInBurst_r17 = -1;
static gint ett_nr_rrc_SSB_ToMeasure = -1;
static gint ett_nr_rrc_SS_RSSI_Measurement = -1;
static gint ett_nr_rrc_TAG_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG = -1;
static gint ett_nr_rrc_TAG = -1;
static gint ett_nr_rrc_TAR_Config_r17 = -1;
static gint ett_nr_rrc_TCI_ActivatedConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_TCI_StateId = -1;
static gint ett_nr_rrc_TCI_State = -1;
static gint ett_nr_rrc_QCL_Info = -1;
static gint ett_nr_rrc_T_referenceSignal_05 = -1;
static gint ett_nr_rrc_TCI_UL_State_r17 = -1;
static gint ett_nr_rrc_T_referenceSignal_r17_01 = -1;
static gint ett_nr_rrc_TDD_UL_DL_ConfigCommon = -1;
static gint ett_nr_rrc_TDD_UL_DL_Pattern = -1;
static gint ett_nr_rrc_TDD_UL_DL_ConfigDedicated = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex = -1;
static gint ett_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16 = -1;
static gint ett_nr_rrc_TDD_UL_DL_SlotConfig = -1;
static gint ett_nr_rrc_T_symbols = -1;
static gint ett_nr_rrc_T_explicit = -1;
static gint ett_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16 = -1;
static gint ett_nr_rrc_T_symbols_IAB_MT_r16 = -1;
static gint ett_nr_rrc_T_explicit_r16 = -1;
static gint ett_nr_rrc_T_explicit_IAB_MT_r16 = -1;
static gint ett_nr_rrc_UAC_BarringInfoSetList = -1;
static gint ett_nr_rrc_UAC_BarringInfoSetList_v1700 = -1;
static gint ett_nr_rrc_UAC_BarringInfoSet = -1;
static gint ett_nr_rrc_UAC_BarringInfoSet_v1700 = -1;
static gint ett_nr_rrc_UAC_BarringPerCatList = -1;
static gint ett_nr_rrc_UAC_BarringPerCat = -1;
static gint ett_nr_rrc_UAC_BarringPerPLMN_List = -1;
static gint ett_nr_rrc_UAC_BarringPerPLMN = -1;
static gint ett_nr_rrc_T_uac_ACBarringListType = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex = -1;
static gint ett_nr_rrc_UE_TimersAndConstants = -1;
static gint ett_nr_rrc_UL_DelayValueConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity = -1;
static gint ett_nr_rrc_UL_ExcessDelayConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17 = -1;
static gint ett_nr_rrc_ExcessDelay_DRB_IdentityInfo_r17 = -1;
static gint ett_nr_rrc_UL_GapFR2_Config_r17 = -1;
static gint ett_nr_rrc_UplinkCancellation_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16 = -1;
static gint ett_nr_rrc_CI_ConfigurationPerServingCell_r16 = -1;
static gint ett_nr_rrc_T_timeFrequencyRegion_r16 = -1;
static gint ett_nr_rrc_UplinkConfigCommon = -1;
static gint ett_nr_rrc_UplinkConfigCommon_v1700 = -1;
static gint ett_nr_rrc_UplinkConfigCommonSIB = -1;
static gint ett_nr_rrc_UplinkConfigCommonSIB_v1700 = -1;
static gint ett_nr_rrc_Uplink_powerControl_r17 = -1;
static gint ett_nr_rrc_P0AlphaSet_r17 = -1;
static gint ett_nr_rrc_Uu_RelayRLC_ChannelConfig_r17 = -1;
static gint ett_nr_rrc_UplinkTxDirectCurrentList = -1;
static gint ett_nr_rrc_UplinkTxDirectCurrentCell = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP = -1;
static gint ett_nr_rrc_UplinkTxDirectCurrentBWP = -1;
static gint ett_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17 = -1;
static gint ett_nr_rrc_CC_Group_r17 = -1;
static gint ett_nr_rrc_T_offsetToDefault_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17 = -1;
static gint ett_nr_rrc_OffsetValue_r17 = -1;
static gint ett_nr_rrc_DefaultDC_Location_r17 = -1;
static gint ett_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16 = -1;
static gint ett_nr_rrc_UplinkTxDirectCurrentTwoCarrier_r16 = -1;
static gint ett_nr_rrc_UplinkTxDirectCurrentCarrierInfo_r16 = -1;
static gint ett_nr_rrc_T_servCellInfo_r16 = -1;
static gint ett_nr_rrc_UplinkTxDirectCurrentTwoCarrierInfo_r16 = -1;
static gint ett_nr_rrc_ZP_CSI_RS_Resource = -1;
static gint ett_nr_rrc_ZP_CSI_RS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId = -1;
static gint ett_nr_rrc_AppLayerMeasParameters_r17 = -1;
static gint ett_nr_rrc_BandCombinationList = -1;
static gint ett_nr_rrc_BandCombinationList_v1540 = -1;
static gint ett_nr_rrc_BandCombinationList_v1550 = -1;
static gint ett_nr_rrc_BandCombinationList_v1560 = -1;
static gint ett_nr_rrc_BandCombinationList_v1570 = -1;
static gint ett_nr_rrc_BandCombinationList_v1580 = -1;
static gint ett_nr_rrc_BandCombinationList_v1590 = -1;
static gint ett_nr_rrc_BandCombinationList_v15g0 = -1;
static gint ett_nr_rrc_BandCombinationList_v1610 = -1;
static gint ett_nr_rrc_BandCombinationList_v1630 = -1;
static gint ett_nr_rrc_BandCombinationList_v1640 = -1;
static gint ett_nr_rrc_BandCombinationList_v1650 = -1;
static gint ett_nr_rrc_BandCombinationList_v1680 = -1;
static gint ett_nr_rrc_BandCombinationList_v1690 = -1;
static gint ett_nr_rrc_BandCombinationList_v16a0 = -1;
static gint ett_nr_rrc_BandCombinationList_v1700 = -1;
static gint ett_nr_rrc_BandCombinationList_v1720 = -1;
static gint ett_nr_rrc_BandCombinationList_v1730 = -1;
static gint ett_nr_rrc_BandCombinationList_v1740 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_r16 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1650 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1690 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v16a0 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730 = -1;
static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740 = -1;
static gint ett_nr_rrc_BandCombination = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters = -1;
static gint ett_nr_rrc_BandCombination_v1540 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540 = -1;
static gint ett_nr_rrc_BandCombination_v1550 = -1;
static gint ett_nr_rrc_BandCombination_v1560 = -1;
static gint ett_nr_rrc_BandCombination_v1570 = -1;
static gint ett_nr_rrc_BandCombination_v1580 = -1;
static gint ett_nr_rrc_BandCombination_v1590 = -1;
static gint ett_nr_rrc_BandCombination_v15g0 = -1;
static gint ett_nr_rrc_BandCombination_v1610 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610 = -1;
static gint ett_nr_rrc_BandCombination_v1630 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16 = -1;
static gint ett_nr_rrc_BandCombination_v1640 = -1;
static gint ett_nr_rrc_BandCombination_v1650 = -1;
static gint ett_nr_rrc_BandCombination_v1680 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16 = -1;
static gint ett_nr_rrc_BandCombination_v1690 = -1;
static gint ett_nr_rrc_BandCombination_v16a0 = -1;
static gint ett_nr_rrc_BandCombination_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710 = -1;
static gint ett_nr_rrc_BandCombination_v1720 = -1;
static gint ett_nr_rrc_BandCombination_v1730 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730 = -1;
static gint ett_nr_rrc_BandCombination_v1740 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1630 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1640 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1650 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1670 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1690 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v16a0 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1720 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1730 = -1;
static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_v1740 = -1;
static gint ett_nr_rrc_ULTxSwitchingBandPair_r16 = -1;
static gint ett_nr_rrc_ULTxSwitchingBandPair_v1700 = -1;
static gint ett_nr_rrc_UplinkTxSwitchingBandParameters_v1700 = -1;
static gint ett_nr_rrc_BandParameters = -1;
static gint ett_nr_rrc_T_eutra = -1;
static gint ett_nr_rrc_T_nr = -1;
static gint ett_nr_rrc_BandParameters_v1540 = -1;
static gint ett_nr_rrc_T_srs_CarrierSwitch = -1;
static gint ett_nr_rrc_T_nr_01 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR = -1;
static gint ett_nr_rrc_T_eutra_01 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA = -1;
static gint ett_nr_rrc_T_srs_TxSwitch = -1;
static gint ett_nr_rrc_BandParameters_v1610 = -1;
static gint ett_nr_rrc_T_srs_TxSwitch_v1610 = -1;
static gint ett_nr_rrc_BandParameters_v1710 = -1;
static gint ett_nr_rrc_T_srs_AntennaSwitchingBeyond4RX_r17 = -1;
static gint ett_nr_rrc_BandParameters_v1730 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17 = -1;
static gint ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_r16 = -1;
static gint ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1630 = -1;
static gint ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1710 = -1;
static gint ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16 = -1;
static gint ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1630 = -1;
static gint ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1710 = -1;
static gint ett_nr_rrc_BandParametersSidelinkEUTRA_NR_r16 = -1;
static gint ett_nr_rrc_T_eutra_02 = -1;
static gint ett_nr_rrc_T_nr_02 = -1;
static gint ett_nr_rrc_BandParametersSidelinkEUTRA_NR_v1630 = -1;
static gint ett_nr_rrc_T_nr_03 = -1;
static gint ett_nr_rrc_BandParametersSidelinkEUTRA_NR_v1710 = -1;
static gint ett_nr_rrc_T_nr_04 = -1;
static gint ett_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17 = -1;
static gint ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17 = -1;
static gint ett_nr_rrc_T_fr1_r17 = -1;
static gint ett_nr_rrc_T_fr2_r17 = -1;
static gint ett_nr_rrc_BandParametersSidelink_r16 = -1;
static gint ett_nr_rrc_BandCombinationListSL_Discovery_r17 = -1;
static gint ett_nr_rrc_BandParametersSidelinkDiscovery_r17 = -1;
static gint ett_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17_01 = -1;
static gint ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_01 = -1;
static gint ett_nr_rrc_T_fr1_r17_01 = -1;
static gint ett_nr_rrc_T_fr2_r17_01 = -1;
static gint ett_nr_rrc_CA_ParametersEUTRA = -1;
static gint ett_nr_rrc_CA_ParametersEUTRA_v1560 = -1;
static gint ett_nr_rrc_CA_ParametersEUTRA_v1570 = -1;
static gint ett_nr_rrc_CA_ParametersNR = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1540 = -1;
static gint ett_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1550 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1560 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v15g0 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1610 = -1;
static gint ett_nr_rrc_T_interFreqDAPS_r16 = -1;
static gint ett_nr_rrc_T_pdcch_MonitoringCA_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionMCG_UE_Mixed_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionSCG_UE_Mixed_r16 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1630 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1640 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1690 = -1;
static gint ett_nr_rrc_T_csi_ReportingCrossPUCCH_Grp_r16 = -1;
static gint ett_nr_rrc_T_additionalSymbols_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v16a0 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1700 = -1;
static gint ett_nr_rrc_T_mTRP_CSI_EnhancementPerBC_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17 = -1;
static gint ett_nr_rrc_T_non_AlignedFrameBoundaries_r17 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1720 = -1;
static gint ett_nr_rrc_T_semiStaticPUCCH_CellSwitchSingleGroup_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17 = -1;
static gint ett_nr_rrc_T_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17 = -1;
static gint ett_nr_rrc_T_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1730 = -1;
static gint ett_nr_rrc_CA_ParametersNR_v1740 = -1;
static gint ett_nr_rrc_CrossCarrierSchedulingSCell_SpCell_r17 = -1;
static gint ett_nr_rrc_T_supportedSCS_Combinations_r17 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionMixedList_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionCA_MixedExt_r16 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_MixedExt_r16 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionCA_MixedExt_r16 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionCG_UE_MixedExt_r16 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionMCG_SCG_r17 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionMixed_r17 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed_r17 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed_r17 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionCA_Mixed_r17 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionMixed1_r17 = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed1_r17 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed1_r17 = -1;
static gint ett_nr_rrc_PDCCH_BlindDetectionCA_Mixed1_r17 = -1;
static gint ett_nr_rrc_SimulSRS_ForAntennaSwitching_r16 = -1;
static gint ett_nr_rrc_TwoPUCCH_Grp_Configurations_r16 = -1;
static gint ett_nr_rrc_TwoPUCCH_Grp_Configurations_r17 = -1;
static gint ett_nr_rrc_TwoPUCCH_Grp_ConfigParams_r16 = -1;
static gint ett_nr_rrc_CarrierTypePair_r16 = -1;
static gint ett_nr_rrc_PUCCH_Grp_CarrierTypes_r16 = -1;
static gint ett_nr_rrc_PUCCH_Group_Config_r17 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v15g0 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v1610 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v1630 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v1640 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v1650 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v16a0 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v1700 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v1720 = -1;
static gint ett_nr_rrc_CA_ParametersNRDC_v1730 = -1;
static gint ett_nr_rrc_CarrierAggregationVariant = -1;
static gint ett_nr_rrc_CodebookParameters = -1;
static gint ett_nr_rrc_T_type1_04 = -1;
static gint ett_nr_rrc_T_singlePanel = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource = -1;
static gint ett_nr_rrc_T_multiPanel = -1;
static gint ett_nr_rrc_T_type2_03 = -1;
static gint ett_nr_rrc_T_type2_PortSelection = -1;
static gint ett_nr_rrc_CodebookParameters_v1610 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16 = -1;
static gint ett_nr_rrc_T_type1_SinglePanel_r16 = -1;
static gint ett_nr_rrc_T_type1_MultiPanel_r16 = -1;
static gint ett_nr_rrc_T_type2_r16 = -1;
static gint ett_nr_rrc_T_type2_PortSelection_r16 = -1;
static gint ett_nr_rrc_CodebookParametersAddition_r16 = -1;
static gint ett_nr_rrc_T_etype2_r16 = -1;
static gint ett_nr_rrc_T_etype2R1_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16 = -1;
static gint ett_nr_rrc_T_etype2R2_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_01 = -1;
static gint ett_nr_rrc_T_etype2_PS_r16 = -1;
static gint ett_nr_rrc_T_etype2R1_PortSelection_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_02 = -1;
static gint ett_nr_rrc_T_etype2R2_PortSelection_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_03 = -1;
static gint ett_nr_rrc_CodebookComboParametersAddition_r16 = -1;
static gint ett_nr_rrc_T_type1SP_Type2_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_04 = -1;
static gint ett_nr_rrc_T_type1SP_Type2PS_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_05 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R1_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_06 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R2_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_07 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R1PS_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_08 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R2PS_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_09 = -1;
static gint ett_nr_rrc_T_type1SP_Type2_Type2PS_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_10 = -1;
static gint ett_nr_rrc_T_type1MP_Type2_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_11 = -1;
static gint ett_nr_rrc_T_type1MP_Type2PS_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_12 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R1_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_13 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R2_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_14 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R1PS_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_15 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R2PS_null_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_16 = -1;
static gint ett_nr_rrc_T_type1MP_Type2_Type2PS_r16 = -1;
static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_17 = -1;
static gint ett_nr_rrc_CodebookParametersfetype2_r17 = -1;
static gint ett_nr_rrc_T_fetype2basic_r17 = -1;
static gint ett_nr_rrc_T_fetype2R1_r17 = -1;
static gint ett_nr_rrc_T_fetype2R2_r17 = -1;
static gint ett_nr_rrc_CodebookComboParameterMixedType_r17 = -1;
static gint ett_nr_rrc_T_type1SP_feType2PS_null_r17 = -1;
static gint ett_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17 = -1;
static gint ett_nr_rrc_T_type1SP_feType2PS_M2R2_null_r1 = -1;
static gint ett_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17 = -1;
static gint ett_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17 = -1;
static gint ett_nr_rrc_T_type1MP_feType2PS_null_r17 = -1;
static gint ett_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17 = -1;
static gint ett_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17 = -1;
static gint ett_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17 = -1;
static gint ett_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17 = -1;
static gint ett_nr_rrc_CodebookComboParameterMultiTRP_r17 = -1;
static gint ett_nr_rrc_T_nCJT_null_null = -1;
static gint ett_nr_rrc_T_nCJT1SP_null_null = -1;
static gint ett_nr_rrc_T_nCJT_Type2_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT_Type2PS_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R1_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R2_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R1PS_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R2PS_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT_Type2_Type2PS_r16 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2PS_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R1_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R2_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16 = -1;
static gint ett_nr_rrc_T_nCJT_feType2PS_null_r17 = -1;
static gint ett_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17 = -1;
static gint ett_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17 = -1;
static gint ett_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17 = -1;
static gint ett_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17 = -1;
static gint ett_nr_rrc_T_nCJT1SP_feType2PS_null_r17 = -1;
static gint ett_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17 = -1;
static gint ett_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17 = -1;
static gint ett_nr_rrc_CodebookParametersAdditionPerBC_r16 = -1;
static gint ett_nr_rrc_T_etype2R1_r16_01 = -1;
static gint ett_nr_rrc_T_etype2R2_r16_01 = -1;
static gint ett_nr_rrc_T_etype2R1_PortSelection_r16_01 = -1;
static gint ett_nr_rrc_T_etype2R2_PortSelection_r16_01 = -1;
static gint ett_nr_rrc_CodebookComboParametersAdditionPerBC_r16 = -1;
static gint ett_nr_rrc_T_type1SP_Type2_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1SP_Type2PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R1_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R2_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R1PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R2PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1SP_Type2_Type2PS_r16_01 = -1;
static gint ett_nr_rrc_T_type1MP_Type2_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1MP_Type2PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R1_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R2_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R1PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R2PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_type1MP_Type2_Type2PS_r16_01 = -1;
static gint ett_nr_rrc_CodebookParametersfetype2PerBC_r17 = -1;
static gint ett_nr_rrc_T_fetype2basic_r17_01 = -1;
static gint ett_nr_rrc_T_fetype2R1_r17_01 = -1;
static gint ett_nr_rrc_T_fetype2R2_r17_01 = -1;
static gint ett_nr_rrc_CodebookComboParameterMixedTypePerBC_r17 = -1;
static gint ett_nr_rrc_T_type1SP_feType2PS_null_r17_01 = -1;
static gint ett_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17_01 = -1;
static gint ett_nr_rrc_T_type1SP_feType2PS_M2R2_null_r17 = -1;
static gint ett_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17_01 = -1;
static gint ett_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17_01 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17_01 = -1;
static gint ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17_01 = -1;
static gint ett_nr_rrc_T_type1MP_feType2PS_null_r17_01 = -1;
static gint ett_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17_01 = -1;
static gint ett_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17_01 = -1;
static gint ett_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17_01 = -1;
static gint ett_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17_01 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17_01 = -1;
static gint ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17_01 = -1;
static gint ett_nr_rrc_CodebookComboParameterMultiTRP_PerBC_r17 = -1;
static gint ett_nr_rrc_T_nCJT_null_null_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_null_null_01 = -1;
static gint ett_nr_rrc_T_nCJT_Type2_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT_Type2PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R1_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R2_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R1PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R2PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT_Type2_Type2PS_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R1_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R2_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16_01 = -1;
static gint ett_nr_rrc_T_nCJT_feType2PS_null_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_feType2PS_null_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01 = -1;
static gint ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01 = -1;
static gint ett_nr_rrc_CodebookVariantsList_r16 = -1;
static gint ett_nr_rrc_SupportedCSI_RS_Resource = -1;
static gint ett_nr_rrc_FeatureSetCombination = -1;
static gint ett_nr_rrc_FeatureSetsPerBand = -1;
static gint ett_nr_rrc_FeatureSet = -1;
static gint ett_nr_rrc_T_eutra_03 = -1;
static gint ett_nr_rrc_T_nr_05 = -1;
static gint ett_nr_rrc_FeatureSetDownlink = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id = -1;
static gint ett_nr_rrc_T_timeDurationForQCL = -1;
static gint ett_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE = -1;
static gint ett_nr_rrc_FeatureSetDownlink_v1540 = -1;
static gint ett_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap = -1;
static gint ett_nr_rrc_T_pdsch_ProcessingType2 = -1;
static gint ett_nr_rrc_T_pdsch_ProcessingType2_Limited = -1;
static gint ett_nr_rrc_FeatureSetDownlink_v15a0 = -1;
static gint ett_nr_rrc_FeatureSetDownlink_v1610 = -1;
static gint ett_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16 = -1;
static gint ett_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16 = -1;
static gint ett_nr_rrc_T_intraFreqDAPS_r16 = -1;
static gint ett_nr_rrc_T_pdcch_Monitoring_r16 = -1;
static gint ett_nr_rrc_T_pdsch_ProcessingType1_r16 = -1;
static gint ett_nr_rrc_T_pdsch_ProcessingType2_r16 = -1;
static gint ett_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16 = -1;
static gint ett_nr_rrc_FeatureSetDownlink_v1700 = -1;
static gint ett_nr_rrc_T_timeDurationForQCL_v1710 = -1;
static gint ett_nr_rrc_T_mTRP_PDCCH_Case2_1SpanGap_r17 = -1;
static gint ett_nr_rrc_T_mTRP_PDCCH_legacyMonitoring_r17 = -1;
static gint ett_nr_rrc_T_mTRP_PDCCH_Repetition_r17 = -1;
static gint ett_nr_rrc_FeatureSetDownlink_v1720 = -1;
static gint ett_nr_rrc_T_rtt_BasedPDC_PRS_r17 = -1;
static gint ett_nr_rrc_T_maxNumberPRS_ResourceProcessedPerSlot_r17 = -1;
static gint ett_nr_rrc_FeatureSetDownlink_v1730 = -1;
static gint ett_nr_rrc_PDCCH_MonitoringOccasions_r16 = -1;
static gint ett_nr_rrc_PDCCH_RepetitionParameters_r17 = -1;
static gint ett_nr_rrc_DummyA = -1;
static gint ett_nr_rrc_DummyB = -1;
static gint ett_nr_rrc_DummyC = -1;
static gint ett_nr_rrc_DummyD = -1;
static gint ett_nr_rrc_DummyE = -1;
static gint ett_nr_rrc_FeatureSetDownlinkPerCC = -1;
static gint ett_nr_rrc_FeatureSetDownlinkPerCC_v1620 = -1;
static gint ett_nr_rrc_FeatureSetDownlinkPerCC_v1700 = -1;
static gint ett_nr_rrc_FeatureSetDownlinkPerCC_v1720 = -1;
static gint ett_nr_rrc_FeatureSetDownlinkPerCC_v1730 = -1;
static gint ett_nr_rrc_MultiDCI_MultiTRP_r16 = -1;
static gint ett_nr_rrc_CRS_InterfMitigation_r17 = -1;
static gint ett_nr_rrc_FeatureSets = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730 = -1;
static gint ett_nr_rrc_FeatureSets_v16d0 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0 = -1;
static gint ett_nr_rrc_FeatureSetUplink = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id = -1;
static gint ett_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot = -1;
static gint ett_nr_rrc_FeatureSetUplink_v1540 = -1;
static gint ett_nr_rrc_T_pusch_ProcessingType2 = -1;
static gint ett_nr_rrc_FeatureSetUplink_v1610 = -1;
static gint ett_nr_rrc_T_pusch_RepetitionTypeB_r16 = -1;
static gint ett_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16 = -1;
static gint ett_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16 = -1;
static gint ett_nr_rrc_T_intraFreqDAPS_UL_r16 = -1;
static gint ett_nr_rrc_T_multiPUCCH_r16 = -1;
static gint ett_nr_rrc_T_ul_IntraUE_Mux_r16 = -1;
static gint ett_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16_01 = -1;
static gint ett_nr_rrc_T_ul_FullPwrMode2_TPMIGroup_r16 = -1;
static gint ett_nr_rrc_FeatureSetUplink_v1630 = -1;
static gint ett_nr_rrc_FeatureSetUplink_v1640 = -1;
static gint ett_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16 = -1;
static gint ett_nr_rrc_FeatureSetUplink_v16d0 = -1;
static gint ett_nr_rrc_T_pusch_RepetitionTypeB_v16d0 = -1;
static gint ett_nr_rrc_FeatureSetUplink_v1710 = -1;
static gint ett_nr_rrc_FeatureSetUplink_v1720 = -1;
static gint ett_nr_rrc_T_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17 = -1;
static gint ett_nr_rrc_T_additionalCancellationTime_r17 = -1;
static gint ett_nr_rrc_SubSlot_Config_r16 = -1;
static gint ett_nr_rrc_SRS_AllPosResources_r16 = -1;
static gint ett_nr_rrc_SRS_PosResources_r16 = -1;
static gint ett_nr_rrc_SRS_PosResourceAP_r16 = -1;
static gint ett_nr_rrc_SRS_PosResourceSP_r16 = -1;
static gint ett_nr_rrc_SRS_Resources = -1;
static gint ett_nr_rrc_DummyF = -1;
static gint ett_nr_rrc_FeatureSetUplinkPerCC = -1;
static gint ett_nr_rrc_T_mimo_CB_PUSCH = -1;
static gint ett_nr_rrc_FeatureSetUplinkPerCC_v1540 = -1;
static gint ett_nr_rrc_T_mimo_NonCB_PUSCH = -1;
static gint ett_nr_rrc_FeatureSetUplinkPerCC_v1700 = -1;
static gint ett_nr_rrc_FreqBandList = -1;
static gint ett_nr_rrc_FreqBandInformation = -1;
static gint ett_nr_rrc_FreqBandInformationEUTRA = -1;
static gint ett_nr_rrc_FreqBandInformationNR = -1;
static gint ett_nr_rrc_FR2_2_AccessParamsPerBand_r17 = -1;
static gint ett_nr_rrc_T_enhancedPDCCH_monitoringSCS_960kHz_r17 = -1;
static gint ett_nr_rrc_T_support32_DL_HARQ_ProcessPerSCS_r17 = -1;
static gint ett_nr_rrc_T_support32_UL_HARQ_ProcessPerSCS_r17 = -1;
static gint ett_nr_rrc_HighSpeedParameters_r16 = -1;
static gint ett_nr_rrc_HighSpeedParameters_v1650 = -1;
static gint ett_nr_rrc_HighSpeedParameters_v1700 = -1;
static gint ett_nr_rrc_IMS_Parameters = -1;
static gint ett_nr_rrc_IMS_Parameters_v1700 = -1;
static gint ett_nr_rrc_IMS_ParametersCommon = -1;
static gint ett_nr_rrc_IMS_ParametersFRX_Diff = -1;
static gint ett_nr_rrc_IMS_ParametersFR2_2_r17 = -1;
static gint ett_nr_rrc_InterRAT_Parameters = -1;
static gint ett_nr_rrc_EUTRA_Parameters = -1;
static gint ett_nr_rrc_EUTRA_ParametersCommon = -1;
static gint ett_nr_rrc_EUTRA_ParametersXDD_Diff = -1;
static gint ett_nr_rrc_UTRA_FDD_Parameters_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16 = -1;
static gint ett_nr_rrc_MAC_Parameters = -1;
static gint ett_nr_rrc_MAC_Parameters_v1610 = -1;
static gint ett_nr_rrc_MAC_Parameters_v1700 = -1;
static gint ett_nr_rrc_MAC_ParametersCommon = -1;
static gint ett_nr_rrc_MAC_ParametersFRX_Diff_r16 = -1;
static gint ett_nr_rrc_T_drx_Adaptation_r16 = -1;
static gint ett_nr_rrc_MAC_ParametersFR2_2_r17 = -1;
static gint ett_nr_rrc_T_drx_Adaptation_r17 = -1;
static gint ett_nr_rrc_MAC_ParametersXDD_Diff = -1;
static gint ett_nr_rrc_MinTimeGap_r16 = -1;
static gint ett_nr_rrc_MinTimeGapFR2_2_r17 = -1;
static gint ett_nr_rrc_MeasAndMobParameters = -1;
static gint ett_nr_rrc_MeasAndMobParameters_v1700 = -1;
static gint ett_nr_rrc_MeasAndMobParametersCommon = -1;
static gint ett_nr_rrc_T_condHandoverParametersCommon_r16 = -1;
static gint ett_nr_rrc_T_concurrentMeasGap_r17 = -1;
static gint ett_nr_rrc_T_independentGapConfig_maxCC_r17 = -1;
static gint ett_nr_rrc_MeasAndMobParametersXDD_Diff = -1;
static gint ett_nr_rrc_MeasAndMobParametersFRX_Diff = -1;
static gint ett_nr_rrc_MeasAndMobParametersFR2_2_r17 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_v1560 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_v1610 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_v1700 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_v1730 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_Common = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1610 = -1;
static gint ett_nr_rrc_T_condPSCellChangeParametersCommon_r16 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1700 = -1;
static gint ett_nr_rrc_T_condPSCellChangeParameters_r17 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1730 = -1;
static gint ett_nr_rrc_T_independentGapConfig_maxCC_r17_01 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560 = -1;
static gint ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff = -1;
static gint ett_nr_rrc_MIMO_ParametersPerBand = -1;
static gint ett_nr_rrc_T_tci_StatePDSCH = -1;
static gint ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL = -1;
static gint ett_nr_rrc_T_uplinkBeamManagement = -1;
static gint ett_nr_rrc_T_beamReportTiming = -1;
static gint ett_nr_rrc_T_ptrs_DensityRecommendationSetDL = -1;
static gint ett_nr_rrc_T_ptrs_DensityRecommendationSetUL = -1;
static gint ett_nr_rrc_T_beamSwitchTiming = -1;
static gint ett_nr_rrc_T_ssb_csirs_SINR_measurement_r16 = -1;
static gint ett_nr_rrc_T_multiDCI_multiTRP_Parameters_r16 = -1;
static gint ett_nr_rrc_T_outOfOrderOperationDL_r16 = -1;
static gint ett_nr_rrc_T_maxNumberActivatedTCI_States_r16 = -1;
static gint ett_nr_rrc_T_singleDCI_SDM_scheme_Parameters_r16 = -1;
static gint ett_nr_rrc_T_supportInter_slotTDM_r16 = -1;
static gint ett_nr_rrc_T_beamSwitchTiming_r16 = -1;
static gint ett_nr_rrc_T_semi_PersistentL1_SINR_Report_PUCCH_r16 = -1;
static gint ett_nr_rrc_T_spatialRelations_v1640 = -1;
static gint ett_nr_rrc_T_mTRP_BFR_twoBFD_RS_Set_r17 = -1;
static gint ett_nr_rrc_T_unifiedJointTCI_r17 = -1;
static gint ett_nr_rrc_T_unifiedJointTCI_multiMAC_CE_r17 = -1;
static gint ett_nr_rrc_T_unifiedJointTCI_InterCell_r17 = -1;
static gint ett_nr_rrc_T_unifiedSeparateTCI_r17 = -1;
static gint ett_nr_rrc_T_unifiedSeparateTCI_multiMAC_CE_r17 = -1;
static gint ett_nr_rrc_T_unifiedSeparateTCI_ListSharingCA_r17 = -1;
static gint ett_nr_rrc_T_unifiedSeparateTCI_InterCell_r17 = -1;
static gint ett_nr_rrc_T_unifiedJointTCI_mTRP_InterCell_BM_r17 = -1;
static gint ett_nr_rrc_T_mpe_Mitigation_r17 = -1;
static gint ett_nr_rrc_T_srs_PortReport_r17 = -1;
static gint ett_nr_rrc_T_mTRP_PUSCH_CSI_RS_r17 = -1;
static gint ett_nr_rrc_T_mTRP_inter_Cell_r17 = -1;
static gint ett_nr_rrc_T_mTRP_GroupBasedL1_RSRP_r17 = -1;
static gint ett_nr_rrc_T_mTRP_CSI_EnhancementPerBand_r17 = -1;
static gint ett_nr_rrc_T_beamSwitchTiming_v1710 = -1;
static gint ett_nr_rrc_T_beamSwitchTiming_r17 = -1;
static gint ett_nr_rrc_T_beamReportTiming_v1710 = -1;
static gint ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL_v1710 = -1;
static gint ett_nr_rrc_DummyG = -1;
static gint ett_nr_rrc_BeamManagementSSB_CSI_RS = -1;
static gint ett_nr_rrc_DummyH = -1;
static gint ett_nr_rrc_CSI_RS_ForTracking = -1;
static gint ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback = -1;
static gint ett_nr_rrc_CSI_RS_ProcFrameworkForSRS = -1;
static gint ett_nr_rrc_CSI_ReportFramework = -1;
static gint ett_nr_rrc_CSI_ReportFrameworkExt_r16 = -1;
static gint ett_nr_rrc_PTRS_DensityRecommendationDL = -1;
static gint ett_nr_rrc_PTRS_DensityRecommendationUL = -1;
static gint ett_nr_rrc_SpatialRelations = -1;
static gint ett_nr_rrc_DummyI = -1;
static gint ett_nr_rrc_CSI_MultiTRP_SupportedCombinations_r17 = -1;
static gint ett_nr_rrc_MRDC_Parameters = -1;
static gint ett_nr_rrc_MRDC_Parameters_v1580 = -1;
static gint ett_nr_rrc_MRDC_Parameters_v1590 = -1;
static gint ett_nr_rrc_MRDC_Parameters_v15g0 = -1;
static gint ett_nr_rrc_MRDC_Parameters_v1620 = -1;
static gint ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16 = -1;
static gint ett_nr_rrc_MRDC_Parameters_v1630 = -1;
static gint ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16 = -1;
static gint ett_nr_rrc_MRDC_Parameters_v1700 = -1;
static gint ett_nr_rrc_NRDC_Parameters = -1;
static gint ett_nr_rrc_T_nRDC_Parameters_dummy = -1;
static gint ett_nr_rrc_NRDC_Parameters_v1570 = -1;
static gint ett_nr_rrc_NRDC_Parameters_v15c0 = -1;
static gint ett_nr_rrc_NRDC_Parameters_v1610 = -1;
static gint ett_nr_rrc_NRDC_Parameters_v1700 = -1;
static gint ett_nr_rrc_NTN_Parameters_r17 = -1;
static gint ett_nr_rrc_OLPC_SRS_Pos_r16 = -1;
static gint ett_nr_rrc_PDCP_Parameters = -1;
static gint ett_nr_rrc_T_supportedROHC_Profiles = -1;
static gint ett_nr_rrc_T_udc_r17 = -1;
static gint ett_nr_rrc_T_operatorDictionary_r17 = -1;
static gint ett_nr_rrc_PDCP_ParametersMRDC = -1;
static gint ett_nr_rrc_PDCP_ParametersMRDC_v1610 = -1;
static gint ett_nr_rrc_Phy_Parameters = -1;
static gint ett_nr_rrc_Phy_Parameters_v16a0 = -1;
static gint ett_nr_rrc_Phy_ParametersCommon = -1;
static gint ett_nr_rrc_T_crossSlotScheduling_r16 = -1;
static gint ett_nr_rrc_T_pusch_RepetitionTypeA_r16 = -1;
static gint ett_nr_rrc_T_maxTotalResourcesForAcrossFreqRanges_r16 = -1;
static gint ett_nr_rrc_T_harqACK_separateMultiDCI_MultiTRP_r16 = -1;
static gint ett_nr_rrc_T_bwp_SwitchingMultiCCs_r16 = -1;
static gint ett_nr_rrc_T_bwp_SwitchingMultiDormancyCCs_r16 = -1;
static gint ett_nr_rrc_T_sps_HARQ_ACK_Deferral_r17 = -1;
static gint ett_nr_rrc_Phy_ParametersCommon_v16a0 = -1;
static gint ett_nr_rrc_Phy_ParametersXDD_Diff = -1;
static gint ett_nr_rrc_Phy_ParametersFRX_Diff = -1;
static gint ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot = -1;
static gint ett_nr_rrc_T_pdcch_BlindDetectionNRDC = -1;
static gint ett_nr_rrc_T_maxTotalResourcesForOneFreqRange_r16 = -1;
static gint ett_nr_rrc_Phy_ParametersFR1 = -1;
static gint ett_nr_rrc_Phy_ParametersFR2 = -1;
static gint ett_nr_rrc_Phy_ParametersMRDC = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry = -1;
static gint ett_nr_rrc_NAICS_Capability_Entry = -1;
static gint ett_nr_rrc_Phy_ParametersSharedSpectrumChAccess_r16 = -1;
static gint ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16 = -1;
static gint ett_nr_rrc_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17 = -1;
static gint ett_nr_rrc_PowSav_Parameters_r16 = -1;
static gint ett_nr_rrc_PowSav_Parameters_v1700 = -1;
static gint ett_nr_rrc_PowSav_ParametersCommon_r16 = -1;
static gint ett_nr_rrc_PowSav_ParametersFRX_Diff_r16 = -1;
static gint ett_nr_rrc_PowSav_ParametersFR2_2_r17 = -1;
static gint ett_nr_rrc_ProcessingParameters = -1;
static gint ett_nr_rrc_T_differentTB_PerSlot = -1;
static gint ett_nr_rrc_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 = -1;
static gint ett_nr_rrc_T_ppw_durationOfPRS_Processing_r17 = -1;
static gint ett_nr_rrc_T_ppw_durationOfPRS_Processing1_r17 = -1;
static gint ett_nr_rrc_T_ppw_durationOfPRS_Processing2_r17 = -1;
static gint ett_nr_rrc_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17 = -1;
static gint ett_nr_rrc_T_ppw_maxNumOfDL_Bandwidth_r17 = -1;
static gint ett_nr_rrc_RedCapParameters_r17 = -1;
static gint ett_nr_rrc_RedCapParameters_v1740 = -1;
static gint ett_nr_rrc_RF_Parameters = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR = -1;
static gint ett_nr_rrc_RF_Parameters_v15g0 = -1;
static gint ett_nr_rrc_RF_Parameters_v16a0 = -1;
static gint ett_nr_rrc_RF_Parameters_v16c0 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0 = -1;
static gint ett_nr_rrc_BandNR = -1;
static gint ett_nr_rrc_T_channelBWs_DL = -1;
static gint ett_nr_rrc_T_fr1 = -1;
static gint ett_nr_rrc_T_fr2 = -1;
static gint ett_nr_rrc_T_channelBWs_UL = -1;
static gint ett_nr_rrc_T_fr1_01 = -1;
static gint ett_nr_rrc_T_fr2_01 = -1;
static gint ett_nr_rrc_T_channelBWs_DL_v1590 = -1;
static gint ett_nr_rrc_T_fr1_02 = -1;
static gint ett_nr_rrc_T_fr2_02 = -1;
static gint ett_nr_rrc_T_channelBWs_UL_v1590 = -1;
static gint ett_nr_rrc_T_fr1_03 = -1;
static gint ett_nr_rrc_T_fr2_03 = -1;
static gint ett_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16 = -1;
static gint ett_nr_rrc_T_channelBW_DL_IAB_r16 = -1;
static gint ett_nr_rrc_T_fr1_100mhz = -1;
static gint ett_nr_rrc_T_fr2_200mhz = -1;
static gint ett_nr_rrc_T_channelBW_UL_IAB_r16 = -1;
static gint ett_nr_rrc_T_fr1_100mhz_01 = -1;
static gint ett_nr_rrc_T_fr2_200mhz_01 = -1;
static gint ett_nr_rrc_T_activeConfiguredGrant_r16 = -1;
static gint ett_nr_rrc_T_sps_r16 = -1;
static gint ett_nr_rrc_T_maxDurationDMRS_Bundling_r17 = -1;
static gint ett_nr_rrc_T_aperiodicCSI_RS_FastScellActivation_r17 = -1;
static gint ett_nr_rrc_T_enhancedType3_HARQ_CodebookFeedback_r17 = -1;
static gint ett_nr_rrc_T_triggeredHARQ_CodebookRetx_r17 = -1;
static gint ett_nr_rrc_T_maxModulationOrderForMulticast_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 = -1;
static gint ett_nr_rrc_T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17 = -1;
static gint ett_nr_rrc_BandNR_v16c0 = -1;
static gint ett_nr_rrc_RF_ParametersMRDC = -1;
static gint ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0 = -1;
static gint ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v1720 = -1;
static gint ett_nr_rrc_RF_ParametersMRDC_v15g0 = -1;
static gint ett_nr_rrc_RLC_Parameters = -1;
static gint ett_nr_rrc_SDAP_Parameters = -1;
static gint ett_nr_rrc_SidelinkParameters_r16 = -1;
static gint ett_nr_rrc_SidelinkParametersNR_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16 = -1;
static gint ett_nr_rrc_SidelinkParametersEUTRA_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16 = -1;
static gint ett_nr_rrc_RLC_ParametersSidelink_r16 = -1;
static gint ett_nr_rrc_MAC_ParametersSidelink_r16 = -1;
static gint ett_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16 = -1;
static gint ett_nr_rrc_MAC_ParametersSidelinkCommon_r16 = -1;
static gint ett_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16 = -1;
static gint ett_nr_rrc_BandSidelinkEUTRA_r16 = -1;
static gint ett_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16 = -1;
static gint ett_nr_rrc_BandSidelink_r16 = -1;
static gint ett_nr_rrc_T_sl_Reception_r16 = -1;
static gint ett_nr_rrc_T_scs_CP_PatternRxSidelink_r16 = -1;
static gint ett_nr_rrc_T_fr1_r16 = -1;
static gint ett_nr_rrc_T_fr2_r16_01 = -1;
static gint ett_nr_rrc_T_sl_TransmissionMode1_r16 = -1;
static gint ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeOne_r16 = -1;
static gint ett_nr_rrc_T_fr1_r16_01 = -1;
static gint ett_nr_rrc_T_fr2_r16_02 = -1;
static gint ett_nr_rrc_T_sync_Sidelink_r16 = -1;
static gint ett_nr_rrc_T_psfch_FormatZeroSidelink_r16 = -1;
static gint ett_nr_rrc_T_sl_TransmissionMode2_r16 = -1;
static gint ett_nr_rrc_T_congestionControlSidelink_r16 = -1;
static gint ett_nr_rrc_T_sl_TransmissionMode2_RandomResourceSelection_r17 = -1;
static gint ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_02 = -1;
static gint ett_nr_rrc_T_fr1_r17_04 = -1;
static gint ett_nr_rrc_T_fr2_r17_04 = -1;
static gint ett_nr_rrc_T_sync_Sidelink_v1710 = -1;
static gint ett_nr_rrc_RelayParameters_r17 = -1;
static gint ett_nr_rrc_SON_Parameters_r16 = -1;
static gint ett_nr_rrc_SpatialRelationsSRS_Pos_r16 = -1;
static gint ett_nr_rrc_SRS_AllPosResourcesRRC_Inactive_r17 = -1;
static gint ett_nr_rrc_T_srs_PosResourcesRRC_Inactive_r17 = -1;
static gint ett_nr_rrc_SRS_SwitchingTimeNR = -1;
static gint ett_nr_rrc_SRS_SwitchingTimeEUTRA = -1;
static gint ett_nr_rrc_SupportedBandwidth = -1;
static gint ett_nr_rrc_SupportedBandwidth_v1700 = -1;
static gint ett_nr_rrc_UE_BasedPerfMeas_Parameters_r16 = -1;
static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1;
static gint ett_nr_rrc_UE_CapabilityRAT_Container = -1;
static gint ett_nr_rrc_UE_CapabilityRAT_RequestList = -1;
static gint ett_nr_rrc_UE_CapabilityRAT_Request = -1;
static gint ett_nr_rrc_UE_CapabilityRequestFilterCommon = -1;
static gint ett_nr_rrc_T_mrdc_Request = -1;
static gint ett_nr_rrc_T_codebookTypeRequest_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16 = -1;
static gint ett_nr_rrc_CellGrouping_r16 = -1;
static gint ett_nr_rrc_UE_CapabilityRequestFilterNR = -1;
static gint ett_nr_rrc_UE_CapabilityRequestFilterNR_v1540 = -1;
static gint ett_nr_rrc_UE_CapabilityRequestFilterNR_v1710 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_53 = -1;
static gint ett_nr_rrc_UE_MRDC_Capability = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination = -1;
static gint ett_nr_rrc_UE_MRDC_Capability_v1560 = -1;
static gint ett_nr_rrc_UE_MRDC_Capability_v1610 = -1;
static gint ett_nr_rrc_UE_MRDC_Capability_v1700 = -1;
static gint ett_nr_rrc_UE_MRDC_Capability_v1730 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_54 = -1;
static gint ett_nr_rrc_UE_MRDC_Capability_v15g0 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_55 = -1;
static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode = -1;
static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 = -1;
static gint ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode = -1;
static gint ett_nr_rrc_GeneralParametersMRDC_XDD_Diff = -1;
static gint ett_nr_rrc_GeneralParametersMRDC_v1610 = -1;
static gint ett_nr_rrc_UE_NR_Capability = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1530 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1540 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1550 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1560 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1570 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v15c0 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v15g0 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v15j0 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1610 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1640 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1650 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1690 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v16a0 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v16c0 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v16d0 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_56 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1700 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1740 = -1;
static gint ett_nr_rrc_UE_NR_Capability_v1750 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_57 = -1;
static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1;
static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530 = -1;
static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode = -1;
static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 = -1;
static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610 = -1;
static gint ett_nr_rrc_BAP_Parameters_r16 = -1;
static gint ett_nr_rrc_BAP_Parameters_v1700 = -1;
static gint ett_nr_rrc_MBS_Parameters_r17 = -1;
static gint ett_nr_rrc_UE_RadioPagingInfo_r17 = -1;
static gint ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_r16 = -1;
static gint ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1630 = -1;
static gint ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1640 = -1;
static gint ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1650 = -1;
static gint ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1710 = -1;
static gint ett_nr_rrc_AppLayerMeasConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17 = -1;
static gint ett_nr_rrc_MeasConfigAppLayer_r17 = -1;
static gint ett_nr_rrc_T_ran_VisibleParameters_r17 = -1;
static gint ett_nr_rrc_RAN_VisibleParameters_r17 = -1;
static gint ett_nr_rrc_AreaConfiguration_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16 = -1;
static gint ett_nr_rrc_AreaConfiguration_v1700 = -1;
static gint ett_nr_rrc_AreaConfig_r16 = -1;
static gint ett_nr_rrc_InterFreqTargetInfo_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_PhysCellId = -1;
static gint ett_nr_rrc_CellGlobalIdList_r16 = -1;
static gint ett_nr_rrc_TrackingAreaCodeList_r16 = -1;
static gint ett_nr_rrc_TrackingAreaIdentityList_r16 = -1;
static gint ett_nr_rrc_TrackingAreaIdentity_r16 = -1;
static gint ett_nr_rrc_BT_NameList_r16 = -1;
static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList = -1;
static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfig = -1;
static gint ett_nr_rrc_T_subframeAllocation1 = -1;
static gint ett_nr_rrc_T_subframeAllocation2 = -1;
static gint ett_nr_rrc_EUTRA_MultiBandInfoList = -1;
static gint ett_nr_rrc_EUTRA_MultiBandInfo = -1;
static gint ett_nr_rrc_EUTRA_NS_PmaxList = -1;
static gint ett_nr_rrc_EUTRA_NS_PmaxValue = -1;
static gint ett_nr_rrc_EUTRA_PhysCellIdRange = -1;
static gint ett_nr_rrc_IAB_IP_Address_r16 = -1;
static gint ett_nr_rrc_LogMeasResultListBT_r16 = -1;
static gint ett_nr_rrc_LogMeasResultBT_r16 = -1;
static gint ett_nr_rrc_LogMeasResultListWLAN_r16 = -1;
static gint ett_nr_rrc_LogMeasResultWLAN_r16 = -1;
static gint ett_nr_rrc_WLAN_Identifiers_r16 = -1;
static gint ett_nr_rrc_WLAN_RTT_r16 = -1;
static gint ett_nr_rrc_OtherConfig = -1;
static gint ett_nr_rrc_T_delayBudgetReportingConfig = -1;
static gint ett_nr_rrc_T_setup = -1;
static gint ett_nr_rrc_OtherConfig_v1540 = -1;
static gint ett_nr_rrc_T_overheatingAssistanceConfig = -1;
static gint ett_nr_rrc_OtherConfig_v1610 = -1;
static gint ett_nr_rrc_T_idc_AssistanceConfig_r16 = -1;
static gint ett_nr_rrc_T_drx_PreferenceConfig_r16 = -1;
static gint ett_nr_rrc_T_maxBW_PreferenceConfig_r16 = -1;
static gint ett_nr_rrc_T_maxCC_PreferenceConfig_r16 = -1;
static gint ett_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16 = -1;
static gint ett_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16 = -1;
static gint ett_nr_rrc_T_releasePreferenceConfig_r16 = -1;
static gint ett_nr_rrc_T_btNameList_r16 = -1;
static gint ett_nr_rrc_T_wlanNameList_r16 = -1;
static gint ett_nr_rrc_T_sensorNameList_r16 = -1;
static gint ett_nr_rrc_OtherConfig_v1700 = -1;
static gint ett_nr_rrc_T_musim_GapAssistanceConfig_r17 = -1;
static gint ett_nr_rrc_T_musim_LeaveAssistanceConfig_r17 = -1;
static gint ett_nr_rrc_T_successHO_Config_r17 = -1;
static gint ett_nr_rrc_T_rlm_RelaxationReportingConfig_r17 = -1;
static gint ett_nr_rrc_T_bfd_RelaxationReportingConfig_r17 = -1;
static gint ett_nr_rrc_T_scg_DeactivationPreferenceConfig_r17 = -1;
static gint ett_nr_rrc_T_rrm_MeasRelaxationReportingConfig_r17 = -1;
static gint ett_nr_rrc_T_propDelayDiffReportConfig_r17 = -1;
static gint ett_nr_rrc_CandidateServingFreqListNR_r16 = -1;
static gint ett_nr_rrc_MUSIM_GapAssistanceConfig_r17 = -1;
static gint ett_nr_rrc_MUSIM_LeaveAssistanceConfig_r17 = -1;
static gint ett_nr_rrc_SuccessHO_Config_r17 = -1;
static gint ett_nr_rrc_OverheatingAssistanceConfig = -1;
static gint ett_nr_rrc_IDC_AssistanceConfig_r16 = -1;
static gint ett_nr_rrc_DRX_PreferenceConfig_r16 = -1;
static gint ett_nr_rrc_MaxBW_PreferenceConfig_r16 = -1;
static gint ett_nr_rrc_MaxCC_PreferenceConfig_r16 = -1;
static gint ett_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16 = -1;
static gint ett_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16 = -1;
static gint ett_nr_rrc_ReleasePreferenceConfig_r16 = -1;
static gint ett_nr_rrc_RLM_RelaxationReportingConfig_r17 = -1;
static gint ett_nr_rrc_BFD_RelaxationReportingConfig_r17 = -1;
static gint ett_nr_rrc_SCG_DeactivationPreferenceConfig_r17 = -1;
static gint ett_nr_rrc_RRM_MeasRelaxationReportingConfig_r17 = -1;
static gint ett_nr_rrc_PropDelayDiffReportConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17 = -1;
static gint ett_nr_rrc_NeighbourCellInfo_r17 = -1;
static gint ett_nr_rrc_Sensor_NameList_r16 = -1;
static gint ett_nr_rrc_TraceReference_r16 = -1;
static gint ett_nr_rrc_UE_MeasurementsAvailable_r16 = -1;
static gint ett_nr_rrc_VisitedCellInfoList_r16 = -1;
static gint ett_nr_rrc_VisitedCellInfo_r16 = -1;
static gint ett_nr_rrc_T_visitedCellId_r16 = -1;
static gint ett_nr_rrc_T_nr_CellId_r16 = -1;
static gint ett_nr_rrc_T_eutra_CellId_r16 = -1;
static gint ett_nr_rrc_VisitedPSCellInfoList_r17 = -1;
static gint ett_nr_rrc_VisitedPSCellInfo_r17 = -1;
static gint ett_nr_rrc_T_visitedCellId_r17 = -1;
static gint ett_nr_rrc_T_nr_CellId_r17 = -1;
static gint ett_nr_rrc_T_eutra_CellId_r17 = -1;
static gint ett_nr_rrc_WLAN_NameList_r16 = -1;
static gint ett_nr_rrc_SL_BWP_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_BWP_PoolConfigPS_r17 = -1;
static gint ett_nr_rrc_T_sl_BWP_DiscPoolConfig_r17 = -1;
static gint ett_nr_rrc_SL_BWP_Generic_r16 = -1;
static gint ett_nr_rrc_T_sl_PSBCH_Config_r16 = -1;
static gint ett_nr_rrc_SL_BWP_DiscPoolConfig_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16 = -1;
static gint ett_nr_rrc_SL_BWP_PoolConfig_r16 = -1;
static gint ett_nr_rrc_SL_TxPoolDedicated_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16 = -1;
static gint ett_nr_rrc_SL_ResourcePoolConfig_r16 = -1;
static gint ett_nr_rrc_SL_CBR_PriorityTxConfigList_r16 = -1;
static gint ett_nr_rrc_SL_CBR_PriorityTxConfigList_v1650 = -1;
static gint ett_nr_rrc_SL_PriorityTxConfigIndex_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16 = -1;
static gint ett_nr_rrc_SL_PriorityTxConfigIndex_v1650 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16 = -1;
static gint ett_nr_rrc_SL_CBR_CommonTxConfigList_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16 = -1;
static gint ett_nr_rrc_SL_CBR_LevelsConfig_r16 = -1;
static gint ett_nr_rrc_SL_CBR_PSSCH_TxConfig_r16 = -1;
static gint ett_nr_rrc_SL_ConfigDedicatedNR_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16 = -1;
static gint ett_nr_rrc_T_sl_PHY_MAC_RLC_Config_v1700 = -1;
static gint ett_nr_rrc_T_sl_DiscConfig_r17 = -1;
static gint ett_nr_rrc_SL_PHY_MAC_RLC_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_ScheduledConfig_r16 = -1;
static gint ett_nr_rrc_T_sl_UE_SelectedConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16 = -1;
static gint ett_nr_rrc_T_sl_CSI_SchedulingRequestId_r16 = -1;
static gint ett_nr_rrc_SL_RLC_ChannelToAddModList_r17 = -1;
static gint ett_nr_rrc_SL_PHY_MAC_RLC_Config_v1700 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17 = -1;
static gint ett_nr_rrc_SL_DiscConfig_r17 = -1;
static gint ett_nr_rrc_T_sl_RelayUE_Config_r17 = -1;
static gint ett_nr_rrc_T_sl_RemoteUE_Config_r17 = -1;
static gint ett_nr_rrc_SL_ConfiguredGrantConfig_r16 = -1;
static gint ett_nr_rrc_T_rrc_ConfiguredSidelinkGrant_r16 = -1;
static gint ett_nr_rrc_SL_CG_MaxTransNumList_r16 = -1;
static gint ett_nr_rrc_SL_CG_MaxTransNum_r16 = -1;
static gint ett_nr_rrc_SL_PeriodCG_r16 = -1;
static gint ett_nr_rrc_SL_DRX_Config_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17 = -1;
static gint ett_nr_rrc_SL_DRX_ConfigUC_Info_r17 = -1;
static gint ett_nr_rrc_SL_DRX_ConfigGC_BC_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17 = -1;
static gint ett_nr_rrc_SL_DRX_GC_BC_QoS_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16 = -1;
static gint ett_nr_rrc_T_sl_DRX_GC_BC_OnDurationTimer_r17 = -1;
static gint ett_nr_rrc_SL_DRX_GC_Generic_r17 = -1;
static gint ett_nr_rrc_SL_DRX_ConfigUC_r17 = -1;
static gint ett_nr_rrc_T_sl_drx_onDurationTimer_r17 = -1;
static gint ett_nr_rrc_T_sl_drx_CycleStartOffset_r17 = -1;
static gint ett_nr_rrc_SL_DRX_ConfigUC_SemiStatic_r17 = -1;
static gint ett_nr_rrc_T_sl_drx_onDurationTimer_r17_01 = -1;
static gint ett_nr_rrc_T_sl_drx_CycleStartOffset_r17_01 = -1;
static gint ett_nr_rrc_SL_FreqConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16 = -1;
static gint ett_nr_rrc_SL_InterUE_CoordinationConfig_r17 = -1;
static gint ett_nr_rrc_SL_InterUE_CoordinationScheme1_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17 = -1;
static gint ett_nr_rrc_SL_InterUE_CoordinationScheme2_r17 = -1;
static gint ett_nr_rrc_SL_ThresholdRSRP_Condition1_B_1_r17 = -1;
static gint ett_nr_rrc_SL_LogicalChannelConfig_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16 = -1;
static gint ett_nr_rrc_SL_L2RelayUE_Config_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16 = -1;
static gint ett_nr_rrc_SL_RemoteUE_ToAddMod_r17 = -1;
static gint ett_nr_rrc_SL_L2RemoteUE_Config_r17 = -1;
static gint ett_nr_rrc_SL_MeasConfigInfo_r16 = -1;
static gint ett_nr_rrc_SL_MeasConfig_r16 = -1;
static gint ett_nr_rrc_SL_MeasObjectToRemoveList_r16 = -1;
static gint ett_nr_rrc_SL_ReportConfigToRemoveList_r16 = -1;
static gint ett_nr_rrc_SL_MeasIdToRemoveList_r16 = -1;
static gint ett_nr_rrc_SL_MeasIdList_r16 = -1;
static gint ett_nr_rrc_SL_MeasIdInfo_r16 = -1;
static gint ett_nr_rrc_SL_MeasObjectList_r16 = -1;
static gint ett_nr_rrc_SL_MeasObjectInfo_r16 = -1;
static gint ett_nr_rrc_SL_MeasObject_r16 = -1;
static gint ett_nr_rrc_SL_PagingIdentityRemoteUE_r17 = -1;
static gint ett_nr_rrc_SL_PBPS_CPS_Config_r17 = -1;
static gint ett_nr_rrc_T_sl_PBPS_OccasionReservePeriodList_r17 = -1;
static gint ett_nr_rrc_SL_PDCP_Config_r16 = -1;
static gint ett_nr_rrc_SL_PSBCH_Config_r16 = -1;
static gint ett_nr_rrc_SL_PSSCH_TxConfigList_r16 = -1;
static gint ett_nr_rrc_SL_PSSCH_TxConfig_r16 = -1;
static gint ett_nr_rrc_SL_PSSCH_TxParameters_r16 = -1;
static gint ett_nr_rrc_SL_QoS_Profile_r16 = -1;
static gint ett_nr_rrc_SL_PQI_r16 = -1;
static gint ett_nr_rrc_T_sl_Non_StandardizedPQI_r16 = -1;
static gint ett_nr_rrc_SL_QuantityConfig_r16 = -1;
static gint ett_nr_rrc_SL_RadioBearerConfig_r16 = -1;
static gint ett_nr_rrc_SL_RelayUE_Config_r17 = -1;
static gint ett_nr_rrc_SL_RemoteUE_Config_r17 = -1;
static gint ett_nr_rrc_SL_ReselectionConfig_r17 = -1;
static gint ett_nr_rrc_SL_ReportConfigList_r16 = -1;
static gint ett_nr_rrc_SL_ReportConfigInfo_r16 = -1;
static gint ett_nr_rrc_SL_ReportConfig_r16 = -1;
static gint ett_nr_rrc_T_sl_ReportType_r16 = -1;
static gint ett_nr_rrc_SL_PeriodicalReportConfig_r16 = -1;
static gint ett_nr_rrc_SL_EventTriggerConfig_r16 = -1;
static gint ett_nr_rrc_T_sl_EventId_r16 = -1;
static gint ett_nr_rrc_T_eventS1_r16 = -1;
static gint ett_nr_rrc_T_eventS2_r16 = -1;
static gint ett_nr_rrc_SL_MeasReportQuantity_r16 = -1;
static gint ett_nr_rrc_SL_MeasTriggerQuantity_r16 = -1;
static gint ett_nr_rrc_SL_ResourcePool_r16 = -1;
static gint ett_nr_rrc_T_sl_PSCCH_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_PSSCH_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_PSFCH_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_RxParametersNcell_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16 = -1;
static gint ett_nr_rrc_T_sl_PBPS_CPS_Config_r17 = -1;
static gint ett_nr_rrc_T_sl_InterUE_CoordinationConfig_r17 = -1;
static gint ett_nr_rrc_SL_ZoneConfigMCR_r16 = -1;
static gint ett_nr_rrc_SL_SyncAllowed_r16 = -1;
static gint ett_nr_rrc_SL_PSCCH_Config_r16 = -1;
static gint ett_nr_rrc_SL_PSSCH_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16 = -1;
static gint ett_nr_rrc_SL_PSFCH_Config_r16 = -1;
static gint ett_nr_rrc_SL_PTRS_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_PTRS_FreqDensity_r16 = -1;
static gint ett_nr_rrc_T_sl_PTRS_TimeDensity_r16 = -1;
static gint ett_nr_rrc_SL_UE_SelectedConfigRP_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16 = -1;
static gint ett_nr_rrc_SL_ResourceReservePeriod_r16 = -1;
static gint ett_nr_rrc_SL_SelectionWindowList_r16 = -1;
static gint ett_nr_rrc_SL_SelectionWindowConfig_r16 = -1;
static gint ett_nr_rrc_SL_TxPercentageList_r16 = -1;
static gint ett_nr_rrc_SL_TxPercentageConfig_r16 = -1;
static gint ett_nr_rrc_SL_MinMaxMCS_List_r16 = -1;
static gint ett_nr_rrc_SL_MinMaxMCS_Config_r16 = -1;
static gint ett_nr_rrc_SL_PowerControl_r16 = -1;
static gint ett_nr_rrc_SL_RLC_BearerConfig_r16 = -1;
static gint ett_nr_rrc_SL_RLC_ChannelConfig_r17 = -1;
static gint ett_nr_rrc_SL_RLC_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_AM_RLC_r16 = -1;
static gint ett_nr_rrc_T_sl_UM_RLC_r16 = -1;
static gint ett_nr_rrc_SL_ScheduledConfig_r16 = -1;
static gint ett_nr_rrc_T_sl_PSFCH_ToPUCCH_r16 = -1;
static gint ett_nr_rrc_T_sl_DCI_ToSL_Trans_r16 = -1;
static gint ett_nr_rrc_MAC_MainConfigSL_r16 = -1;
static gint ett_nr_rrc_SL_ConfiguredGrantConfigList_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16 = -1;
static gint ett_nr_rrc_SL_SDAP_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_MappedQoS_Flows_r16 = -1;
static gint ett_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 = -1;
static gint ett_nr_rrc_SL_SRAP_Config_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17 = -1;
static gint ett_nr_rrc_SL_MappingToAddMod_r17 = -1;
static gint ett_nr_rrc_SL_RemoteUE_RB_Identity_r17 = -1;
static gint ett_nr_rrc_SL_SyncConfigList_r16 = -1;
static gint ett_nr_rrc_SL_SyncConfig_r16 = -1;
static gint ett_nr_rrc_T_txParameters_r16 = -1;
static gint ett_nr_rrc_SL_SSB_TimeAllocation_r16 = -1;
static gint ett_nr_rrc_SL_Thres_RSRP_List_r16 = -1;
static gint ett_nr_rrc_SL_TxPower_r16 = -1;
static gint ett_nr_rrc_SL_UE_SelectedConfig_r16 = -1;
static gint ett_nr_rrc_SL_ZoneConfig_r16 = -1;
static gint ett_nr_rrc_CarrierFreqListMBS_r17 = -1;
static gint ett_nr_rrc_CFR_ConfigMCCH_MTCH_r17 = -1;
static gint ett_nr_rrc_LocationAndBandwidthBroadcast_r17 = -1;
static gint ett_nr_rrc_DRX_ConfigPTM_r17 = -1;
static gint ett_nr_rrc_T_drx_onDurationTimerPTM_r17 = -1;
static gint ett_nr_rrc_T_drx_LongCycleStartOffsetPTM_r17 = -1;
static gint ett_nr_rrc_MBS_NeighbourCellList_r17 = -1;
static gint ett_nr_rrc_MBS_NeighbourCell_r17 = -1;
static gint ett_nr_rrc_MBS_ServiceList_r17 = -1;
static gint ett_nr_rrc_MBS_ServiceInfo_r17 = -1;
static gint ett_nr_rrc_MBS_SessionInfoList_r17 = -1;
static gint ett_nr_rrc_MBS_SessionInfo_r17 = -1;
static gint ett_nr_rrc_MRB_ListBroadcast_r17 = -1;
static gint ett_nr_rrc_MRB_InfoBroadcast_r17 = -1;
static gint ett_nr_rrc_MRB_PDCP_ConfigBroadcast_r17 = -1;
static gint ett_nr_rrc_T_headerCompression_r17 = -1;
static gint ett_nr_rrc_T_rohc_01 = -1;
static gint ett_nr_rrc_T_profiles_r17 = -1;
static gint ett_nr_rrc_MRB_RLC_ConfigBroadcast_r17 = -1;
static gint ett_nr_rrc_MTCH_SSB_MappingWindowList_r17 = -1;
static gint ett_nr_rrc_MTCH_SSB_MappingWindowCycleOffset_r17 = -1;
static gint ett_nr_rrc_PDSCH_ConfigBroadcast_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17 = -1;
static gint ett_nr_rrc_PDSCH_ConfigPTM_r17 = -1;
static gint ett_nr_rrc_TMGI_r17 = -1;
static gint ett_nr_rrc_T_plmn_Id_r17 = -1;
static gint ett_nr_rrc_SBCCH_SL_BCH_Message = -1;
static gint ett_nr_rrc_SBCCH_SL_BCH_MessageType = -1;
static gint ett_nr_rrc_T_c1_18 = -1;
static gint ett_nr_rrc_T_messageClassExtension_09 = -1;
static gint ett_nr_rrc_SCCH_Message = -1;
static gint ett_nr_rrc_SCCH_MessageType = -1;
static gint ett_nr_rrc_T_c1_19 = -1;
static gint ett_nr_rrc_T_messageClassExtension_10 = -1;
static gint ett_nr_rrc_T_c2_01 = -1;
static gint ett_nr_rrc_T_messageClassExtensionFuture_r17 = -1;
static gint ett_nr_rrc_MasterInformationBlockSidelink = -1;
static gint ett_nr_rrc_MeasurementReportSidelink = -1;
static gint ett_nr_rrc_T_criticalExtensions_51 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_51 = -1;
static gint ett_nr_rrc_MeasurementReportSidelink_r16_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_58 = -1;
static gint ett_nr_rrc_SL_MeasResults_r16 = -1;
static gint ett_nr_rrc_SL_MeasResult_r16 = -1;
static gint ett_nr_rrc_SL_MeasQuantityResult_r16 = -1;
static gint ett_nr_rrc_SL_MeasResultListRelay_r17 = -1;
static gint ett_nr_rrc_SL_MeasResultRelay_r17 = -1;
static gint ett_nr_rrc_NotificationMessageSidelink_r17 = -1;
static gint ett_nr_rrc_T_criticalExtensions_52 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_52 = -1;
static gint ett_nr_rrc_NotificationMessageSidelink_r17_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_59 = -1;
static gint ett_nr_rrc_RemoteUEInformationSidelink_r17 = -1;
static gint ett_nr_rrc_T_criticalExtensions_53 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_53 = -1;
static gint ett_nr_rrc_RemoteUEInformationSidelink_r17_IEs = -1;
static gint ett_nr_rrc_T_sl_RequestedSIB_List_r17 = -1;
static gint ett_nr_rrc_T_sl_PagingInfo_RemoteUE_r17 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_60 = -1;
static gint ett_nr_rrc_SL_RequestedSIB_List_r17 = -1;
static gint ett_nr_rrc_SL_PagingInfo_RemoteUE_r17 = -1;
static gint ett_nr_rrc_RRCReconfigurationSidelink = -1;
static gint ett_nr_rrc_T_criticalExtensions_54 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_54 = -1;
static gint ett_nr_rrc_RRCReconfigurationSidelink_r16_IEs = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16 = -1;
static gint ett_nr_rrc_T_sl_MeasConfig_r16 = -1;
static gint ett_nr_rrc_T_sl_CSI_RS_Config_r16 = -1;
static gint ett_nr_rrc_RRCReconfigurationSidelink_v1700_IEs = -1;
static gint ett_nr_rrc_T_sl_DRX_ConfigUC_PC5_r17 = -1;
static gint ett_nr_rrc_T_sl_LatencyBoundIUC_Report_r17 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17 = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_61 = -1;
static gint ett_nr_rrc_SLRB_Config_r16 = -1;
static gint ett_nr_rrc_SL_SDAP_ConfigPC5_r16 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16 = -1;
static gint ett_nr_rrc_SL_PDCP_ConfigPC5_r16 = -1;
static gint ett_nr_rrc_SL_RLC_ConfigPC5_r16 = -1;
static gint ett_nr_rrc_T_sl_AM_RLC_r16_01 = -1;
static gint ett_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16 = -1;
static gint ett_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16 = -1;
static gint ett_nr_rrc_SL_LogicalChannelConfigPC5_r16 = -1;
static gint ett_nr_rrc_SL_CSI_RS_Config_r16 = -1;
static gint ett_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16 = -1;
static gint ett_nr_rrc_SL_RLC_ChannelConfigPC5_r17 = -1;
static gint ett_nr_rrc_RRCReconfigurationCompleteSidelink = -1;
static gint ett_nr_rrc_T_criticalExtensions_55 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_55 = -1;
static gint ett_nr_rrc_RRCReconfigurationCompleteSidelink_r16_IEs = -1;
static gint ett_nr_rrc_RRCReconfigurationCompleteSidelink_v1710_IEs = -1;
static gint ett_nr_rrc_RRCReconfigurationCompleteSidelink_v1720_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_62 = -1;
static gint ett_nr_rrc_RRCReconfigurationFailureSidelink = -1;
static gint ett_nr_rrc_T_criticalExtensions_56 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_56 = -1;
static gint ett_nr_rrc_RRCReconfigurationFailureSidelink_r16_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_63 = -1;
static gint ett_nr_rrc_UEAssistanceInformationSidelink_r17 = -1;
static gint ett_nr_rrc_T_criticalExtensions_57 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_57 = -1;
static gint ett_nr_rrc_UEAssistanceInformationSidelink_r17_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_64 = -1;
static gint ett_nr_rrc_UECapabilityEnquirySidelink = -1;
static gint ett_nr_rrc_T_criticalExtensions_58 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_58 = -1;
static gint ett_nr_rrc_UECapabilityEnquirySidelink_r16_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_65 = -1;
static gint ett_nr_rrc_UECapabilityInformationSidelink = -1;
static gint ett_nr_rrc_T_criticalExtensions_59 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_59 = -1;
static gint ett_nr_rrc_UECapabilityInformationSidelink_r16_IEs = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16 = -1;
static gint ett_nr_rrc_UECapabilityInformationSidelink_v1700_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_66 = -1;
static gint ett_nr_rrc_MAC_ParametersSidelink_r17 = -1;
static gint ett_nr_rrc_PDCP_ParametersSidelink_r16 = -1;
static gint ett_nr_rrc_BandCombinationListSidelinkNR_r16 = -1;
static gint ett_nr_rrc_BandCombinationListSidelinkNR_v1710 = -1;
static gint ett_nr_rrc_BandCombinationParametersSidelinkNR_r16 = -1;
static gint ett_nr_rrc_BandCombinationParametersSidelinkNR_v1710 = -1;
static gint ett_nr_rrc_BandParametersSidelink_v1710 = -1;
static gint ett_nr_rrc_BandSidelinkPC5_r16 = -1;
static gint ett_nr_rrc_T_sl_Reception_r16_01 = -1;
static gint ett_nr_rrc_T_scs_CP_PatternRxSidelink_r16_01 = -1;
static gint ett_nr_rrc_T_fr1_r16_02 = -1;
static gint ett_nr_rrc_T_fr2_r16_03 = -1;
static gint ett_nr_rrc_T_csi_ReportSidelink_r16 = -1;
static gint ett_nr_rrc_UuMessageTransferSidelink_r17 = -1;
static gint ett_nr_rrc_T_criticalExtensions_60 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_60 = -1;
static gint ett_nr_rrc_UuMessageTransferSidelink_r17_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_67 = -1;
static gint ett_nr_rrc_DedicatedNAS_Message = -1;
static gint ett_nr_rrc_targetRAT_MessageContainer = -1;
static gint ett_nr_rrc_nas_Container = -1;
static gint ett_nr_rrc_serialNumber = -1;
static gint ett_nr_rrc_warningType = -1;
static gint ett_nr_rrc_dataCodingScheme = -1;
static gint ett_nr_rrc_sib7_fragment = -1;
static gint ett_nr_rrc_sib7_fragments = -1;
static gint ett_nr_rrc_sib8_fragment = -1;
static gint ett_nr_rrc_sib8_fragments = -1;
static gint ett_nr_rrc_warningMessageSegment = -1;
static gint ett_nr_rrc_timeInfo = -1;
static gint ett_nr_rrc_capabilityRequestFilter = -1;
static gint ett_nr_rrc_sourceSCG_EUTRA_Config = -1;
static gint ett_nr_rrc_scg_CellGroupConfigEUTRA = -1;
static gint ett_nr_rrc_candidateCellInfoListSN_EUTRA = -1;
static gint ett_nr_rrc_candidateCellInfoListMN_EUTRA = -1;
static gint ett_nr_rrc_sourceConfigSCG_EUTRA = -1;
static gint ett_nr_rrc_eutra_SCG = -1;
static gint ett_nr_rrc_nr_SCG_Response = -1;
static gint ett_nr_rrc_eutra_SCG_Response = -1;
static gint ett_nr_rrc_measResultSCG_FailureMRDC = -1;
static gint ett_nr_rrc_ul_DCCH_MessageNR = -1;
static gint ett_nr_rrc_ul_DCCH_MessageEUTRA = -1;
static gint ett_rr_rrc_nas_SecurityParamFromNR = -1;
static gint ett_nr_rrc_sidelinkUEInformationNR = -1;
static gint ett_nr_rrc_sidelinkUEInformationEUTRA = -1;
static gint ett_nr_rrc_ueAssistanceInformationEUTRA = -1;
static gint ett_nr_rrc_dl_DCCH_MessageNR = -1;
static gint ett_nr_rrc_dl_DCCH_MessageEUTRA = -1;
static gint ett_nr_rrc_sl_ConfigDedicatedEUTRA = -1;
static gint ett_nr_rrc_sl_CapabilityInformationSidelink = -1;
static gint ett_nr_rrc_measResult_RLF_Report_EUTRA = -1;
static gint ett_nr_rrc_measResult_RLF_Report_EUTRA_v1690 = -1;
static gint ett_nr_rrc_locationTimestamp_r16 = -1;
static gint ett_nr_rrc_locationCoordinate_r16 = -1;
static gint ett_nr_rrc_locationError_r16 = -1;
static gint ett_nr_rrc_locationSource_r16 = -1;
static gint ett_nr_rrc_velocityEstimate_r16 = -1;
static gint ett_nr_rrc_sensor_MeasurementInformation_r16 = -1;
static gint ett_nr_rrc_sensor_MotionInformation_r16 = -1;
static gint ett_nr_rrc_bandParametersSidelinkEUTRA1_r16 = -1;
static gint ett_nr_rrc_bandParametersSidelinkEUTRA2_r16 = -1;
static gint ett_nr_rrc_sl_ParametersEUTRA1_r16 = -1;
static gint ett_nr_rrc_sl_ParametersEUTRA2_r16 = -1;
static gint ett_nr_rrc_sl_ParametersEUTRA3_r16 = -1;
static gint ett_nr_rrc_absTimeInfo = -1;
static gint ett_nr_rrc_assistanceDataSIB_Element_r16 = -1;
static gint ett_nr_sl_V2X_ConfigCommon_r16 = -1;
static gint ett_nr_tdd_Config_r16 = -1;
static gint ett_nr_coarseLocationInfo_r17 = -1;
static gint ett_nr_sl_MeasResultsCandRelay_r17 = -1;
static gint ett_nr_sl_MeasResultServingRelay_r17 = -1;
static gint ett_nr_ReferenceLocation_r17 = -1;

static expert_field ei_nr_rrc_number_pages_le15 = EI_INIT;

/* Forward declarations */
static int dissect_UECapabilityInformationSidelink_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_DL_CCCH_Message_PDU(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_);
static int dissect_UL_CCCH_Message_PDU(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_);
static int dissect_UERadioAccessCapabilityInformation_PDU(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_);
static int dissect_SL_MeasResultListRelay_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_SL_MeasResultRelay_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);

static const unit_name_string units_periodicities = { " periodicity", " periodicities" };
static const unit_name_string units_prbs = { " PRB", " PRBs" };
static const unit_name_string units_slots = { " slot", " slots" };

typedef struct {
  guint8 rat_type;
  guint8 target_rat_type;
  guint16 message_identifier;
  guint8 warning_message_segment_type;
  guint8 warning_message_segment_number;
  nr_drb_mac_rlc_mapping_t drb_rlc_mapping;
  nr_drb_rlc_pdcp_mapping_t drb_pdcp_mapping;
  lpp_pos_sib_type_t pos_sib_type;
  pdcp_nr_security_info_t pdcp_security;
} nr_rrc_private_data_t;

/* Helper function to get or create a struct that will be actx->private_data */
static nr_rrc_private_data_t*
nr_rrc_get_private_data(asn1_ctx_t *actx)
{
  if (actx->private_data == NULL) {
    actx->private_data = wmem_new0(actx->pinfo->pool, nr_rrc_private_data_t);
  }
  return (nr_rrc_private_data_t*)actx->private_data;
}


static void
nr_rrc_call_dissector(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
  TRY {
    call_dissector(handle, tvb, pinfo, tree);
  }
  CATCH_BOUNDS_ERRORS {
    show_exception(tvb, pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
  }
  ENDTRY;
}

static void
nr_rrc_q_RxLevMin_fmt(gchar *s, guint32 v)
{
  gint32 d = (gint32)v;

  snprintf(s, ITEM_LABEL_LENGTH, "%d dB (%d)", 2*d, d);
}

static const value_string nr_rrc_serialNumber_gs_vals[] = {
  { 0, "Display mode immediate, cell wide"},
  { 1, "Display mode normal, PLMN wide"},
  { 2, "Display mode normal, tracking area wide"},
  { 3, "Display mode normal, cell wide"},
  { 0, NULL},
};

static const value_string nr_rrc_warningType_vals[] = {
  { 0, "Earthquake"},
  { 1, "Tsunami"},
  { 2, "Earthquake and Tsunami"},
  { 3, "Test"},
  { 4, "Other"},
  { 0, NULL},
};

static const fragment_items nr_rrc_sib7_frag_items = {
    &ett_nr_rrc_sib7_fragment,
    &ett_nr_rrc_sib7_fragments,
    &hf_nr_rrc_sib7_fragments,
    &hf_nr_rrc_sib7_fragment,
    &hf_nr_rrc_sib7_fragment_overlap,
    &hf_nr_rrc_sib7_fragment_overlap_conflict,
    &hf_nr_rrc_sib7_fragment_multiple_tails,
    &hf_nr_rrc_sib7_fragment_too_long_fragment,
    &hf_nr_rrc_sib7_fragment_error,
    &hf_nr_rrc_sib7_fragment_count,
    &hf_nr_rrc_sib7_reassembled_in,
    &hf_nr_rrc_sib7_reassembled_length,
    &hf_nr_rrc_sib7_reassembled_data,
    "SIB7 warning message segments"
};

static const fragment_items nr_rrc_sib8_frag_items = {
    &ett_nr_rrc_sib8_fragment,
    &ett_nr_rrc_sib8_fragments,
    &hf_nr_rrc_sib8_fragments,
    &hf_nr_rrc_sib8_fragment,
    &hf_nr_rrc_sib8_fragment_overlap,
    &hf_nr_rrc_sib8_fragment_overlap_conflict,
    &hf_nr_rrc_sib8_fragment_multiple_tails,
    &hf_nr_rrc_sib8_fragment_too_long_fragment,
    &hf_nr_rrc_sib8_fragment_error,
    &hf_nr_rrc_sib8_fragment_count,
    &hf_nr_rrc_sib8_reassembled_in,
    &hf_nr_rrc_sib8_reassembled_length,
    &hf_nr_rrc_sib8_reassembled_data,
    "SIB8 warning message segments"
};

static void
dissect_nr_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dataCodingScheme)
{
  guint32 offset;
  guint8 nb_of_pages, length, *str;
  proto_item *ti;
  tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
  int i;

  nb_of_pages = tvb_get_guint8(warning_msg_seg_tvb, 0);
  ti = proto_tree_add_uint(tree, hf_nr_rrc_warningMessageSegment_nb_pages, warning_msg_seg_tvb, 0, 1, nb_of_pages);
  if (nb_of_pages > 15) {
    expert_add_info_format(pinfo, ti, &ei_nr_rrc_number_pages_le15,
                           "Number of pages should be <=15 (found %u)", nb_of_pages);
    nb_of_pages = 15;
  }
  for (i = 0, offset = 1; i < nb_of_pages; i++) {
    length = tvb_get_guint8(warning_msg_seg_tvb, offset+82);
    cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length);
    cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0);
    if (cb_data_tvb) {
      str = tvb_get_string_enc(pinfo->pool, cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
      proto_tree_add_string_format(tree, hf_nr_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83,
                                   str, "Decoded Page %u: %s", i+1, str);
    }
    offset += 83;
  }
}

static const value_string nr_rrc_daylightSavingTime_vals[] = {
  { 0, "No adjustment for Daylight Saving Time"},
  { 1, "+1 hour adjustment for Daylight Saving Time"},
  { 2, "+2 hours adjustment for Daylight Saving Time"},
  { 3, "Reserved"},
  { 0, NULL},
};

static void
nr_rrc_localTimeOffset_fmt(gchar *s, guint32 v)
{
  gint32 time_offset = (gint32) v;

  snprintf(s, ITEM_LABEL_LENGTH, "UTC time %c %dhr %dmin (%d)",
             (time_offset < 0) ? '-':'+', abs(time_offset) >> 2,
             (abs(time_offset) & 0x03) * 15, time_offset);
}

static void
nr_rrc_drx_SlotOffset_fmt(gchar *s, guint32 v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%g ms (%u)", 1./32 * v, v);
}

static void
nr_rrc_Hysteresis_fmt(gchar *s, guint32 v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%gdB (%u)", 0.5 * v, v);
}

static void
nr_rrc_msg3_DeltaPreamble_fmt(gchar *s, guint32 v)
{
  gint32 d = (gint32)v;

  snprintf(s, ITEM_LABEL_LENGTH, "%ddB (%d)", 2 * d, d);
}

static void
nr_rrc_Q_RxLevMin_fmt(gchar *s, guint32 v)
{
  gint32 d = (gint32)v;

  snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", 2 * d, d);
}

static void
nr_rrc_RSRP_RangeEUTRA_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)");
  } else if (v < 97) {
    snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v);
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)");
  }
}

static void
nr_rrc_RSRQ_RangeEUTRA_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
  } else if (v < 34) {
    snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v);
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)");
  }
}

static void
nr_rrc_SINR_RangeEUTRA_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "SINR < -23dB (0)");
  } else if (v == 127) {
    snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SINR (127)");
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
  }
}

static void
nr_rrc_ReselectionThreshold_fmt(gchar *s, guint32 v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%udB (%u)", 2 * v, v);
}

static void
nr_rrc_RSRP_Range_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRP < -156dBm (0)");
  } else if (v < 126) {
    snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SS-RSRP < %ddBm (%u)", v-157, v-156, v);
  } else if (v == 126) {
    snprintf(s, ITEM_LABEL_LENGTH, "-31dBm <= SS-RSRP (126)");
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "infinity (127)");
  }
}

static void
nr_rrc_RSRQ_Range_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRQ < -43dB (0)");
  } else if (v < 127) {
    snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-RSRQ < %.1fdB (%u)", (((float)v-1)/2)-43, ((float)v/2)-43, v);
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "20dB <= SS-RSRQ (127)");
  }
}

static void
nr_rrc_SINR_Range_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "SS-SINR < -23dB (0)");
  } else if (v < 127) {
    snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SS-SINR (127)");
  }
}

static void
nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt(gchar *s, guint32 v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%u (%u)", 10+(2*v), v);
}

static void
nr_rrc_timeConnFailure_r16_fmt(gchar *s, guint32 v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%ums (%u)", 100*v, v);
}

static void
nr_rrc_RSSI_Range_r16_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "RSSI < -100dBm (0)");
  } else if (v < 76) {
    snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSSI < %ddBm (%u)", v-101, v-100, v);
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= RSSI (76)");
  }
}

static void
nr_rrc_RSRQ_RangeEUTRA_r16_fmt(gchar *s, guint32 v)
{
  gint32 d = (gint32)v;

  if (d == -34) {
    snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -36dB (-34)");
  } else if (d < 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-19, ((float)d/2)-19, d);
  } else if (d == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
  } else if (d < 34) {
    snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-19.5, ((float)d/2)-19.5, d);
  } else if (d == 34) {
    snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)");
  } else if (d < 46) {
    snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-20, ((float)d/2)-20, d);
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= RSRQ (46)");
  }
}

static void
nr_rrc_utra_FDD_RSCP_r16_fmt(gchar *s, guint32 v)
{
  gint32 d = (gint32)v;

  if (d == -5) {
    snprintf(s, ITEM_LABEL_LENGTH, "RSCP < -120dBm (-5)");
  } else if (d < 91) {
    snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSCP < %ddB (%d)", d-116, d-115, d);
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= RSCP (91)");
  }
}

static void
nr_rrc_utra_FDD_EcN0_r16_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "Ec/No < -24dB (0)");
  } else if (v < 49) {
    snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= Ec/No < %.1fdB (%u)", (((float)v-1)/2)-24, ((float)v/2)-24, v);
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "0dB <= Ec/No (49)");
  }
}

static void
nr_rrc_averageDelay_r16_fmt(gchar *s, guint32 v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/10, v);
}

static void
nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt(gchar *s, guint32 v)
{
  gint32 d = (gint32)v;

  snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", d-115, d);
}

static void
nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt(gchar *s, guint32 v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", (float)v/2-24.5, v);
}

static void
nr_rrc_SRS_RSRP_r16_fmt(gchar *s, guint32 v)
{
  if (v == 0) {
    snprintf(s, ITEM_LABEL_LENGTH, "SRS-RSRP < -140dBm (0)");
  } else if (v < 97) {
    snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SRS-RSRP < %ddB (%u)", v-141, v-140, v);
  } else if (v == 97) {
    snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= SRS-RSRP (97)");
  } else {
    snprintf(s, ITEM_LABEL_LENGTH, "Infinity (98)");
  }
}

static void
nr_rrc_MeasTriggerQuantityOffset_fmt(gchar *s, guint32 v)
{
  gint32 d = (gint32)v;

  snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%d)", (float)d/2, d);
}

static void
nr_rrc_TimeSinceCHO_Reconfig_r17_fmt(gchar *s, guint32 v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%.1fs (%u)", (float)v/10, v);
}

static int
dissect_nr_rrc_cg_configinfo_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "CG-ConfigInfo");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_CG_ConfigInfo_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_radiobearerconfig_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "RadioBearerConfig");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_RadioBearerConfig_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_ue_mrdc_capability_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "UE-MRDC-Capability");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_UE_MRDC_Capability_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_ue_nr_capability_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "UE-NR-Capability");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_UE_NR_Capability_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_ul_dcch_message_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "UL-DCCH-Message");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_UL_DCCH_Message_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_dl_dcch_message_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "DL-DCCH-Message");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_DL_DCCH_Message_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_dl_ccch_message_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "DL-CCCH-Message");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_DL_CCCH_Message_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_ul_ccch_message_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "UL-CCCH-Message");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_UL_CCCH_Message_PDU(tvb, pinfo, sub_tree, NULL);
}


static int
dissect_nr_rrc_cellgroupconfig_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "CellGroupConfig");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_CellGroupConfig_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_ueradioaccesscapabilityinformation_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "UERadioAccessCapabilityInformation");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_UERadioAccessCapabilityInformation_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_measconfig_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "MeasConfig");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_MeasConfig_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_measgapconfig_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "MeasGapConfig");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_MeasGapConfig_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_handoverpreparationinformation_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "HandoverPreparationInformation");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_HandoverPreparationInformation_PDU(tvb, pinfo, sub_tree, NULL);
}



static int
dissect_nr_rrc_rrcreconfiguration_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "RRCReconfiguration");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_RRCReconfiguration_PDU(tvb, pinfo, sub_tree, NULL);
}


static int
dissect_nr_rrc_rrcreconfigurationcomplete_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "RRCReconfigurationComplete");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvb, pinfo, sub_tree, NULL);
}


static int
dissect_nr_rrc_ue_capabilityrat_containerlist_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "UE-CapabilityRAT-ContainerList");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(tvb, pinfo, sub_tree, NULL);
}

static int
dissect_nr_rrc_handovercommand_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
{
    proto_item* ti;
    proto_tree* sub_tree;

    col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
    col_set_str(pinfo->cinfo, COL_INFO, "HandoverCommand");

    ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
    sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
    return dissect_nr_rrc_HandoverCommand_PDU(tvb, pinfo, sub_tree, NULL);
}


/*--- PDUs declarations ---*/
static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_UE_RadioPagingInfo_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PosSystemInformation_r16_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_Paging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_UECapabilityEnquiry_v1560_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_UE_MRDC_Capability_v15g0_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_UE_NR_Capability_v15c0_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PagingRecord_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);



static int
dissect_nr_rrc_T_handoverCommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension, T_nonCriticalExtension_sequence);

  return offset;
}


static const per_sequence_t HandoverCommand_IEs_sequence[] = {
  { &hf_nr_rrc_handoverCommandMessage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_handoverCommandMessage },
  { &hf_nr_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HandoverCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HandoverCommand_IEs, HandoverCommand_IEs_sequence);

  return offset;
}



static int
dissect_nr_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);

  return offset;
}


static const value_string nr_rrc_T_c1_vals[] = {
  {   0, "handoverCommand" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_choice[] = {
  {   0, &hf_nr_rrc_handoverCommand, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_HandoverCommand_IEs },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1, T_c1_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_choice[] = {
  {   0, &hf_nr_rrc_c1           , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions, T_criticalExtensions_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t HandoverCommand_sequence[] = {
  { &hf_nr_rrc_criticalExtensions, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HandoverCommand, HandoverCommand_sequence);

  return offset;
}


static const value_string nr_rrc_RAT_Type_vals[] = {
  { RAT_Type_nr, "nr" },
  { RAT_Type_eutra_nr, "eutra-nr" },
  { RAT_Type_eutra, "eutra" },
  { RAT_Type_utra_fdd_v1610, "utra-fdd-v1610" },
  { 0, NULL }
};


static int
dissect_nr_rrc_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 rat_type;
  nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, &rat_type, TRUE, 0, NULL);

  nr_priv->rat_type = (guint8)rat_type;


  return offset;
}



static int
dissect_nr_rrc_T_ue_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ue_cap_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &ue_cap_tvb);



  if (ue_cap_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;

    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container);
    switch(nr_priv->rat_type){
    case RAT_Type_nr:
      dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
      break;
    case RAT_Type_eutra_nr:
      dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
      break;
    case RAT_Type_eutra:
      dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
      break;
    case RAT_Type_utra_fdd_v1610:
      dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
      break;
    default:
      break;
    }
  }

  return offset;
}


static const per_sequence_t UE_CapabilityRAT_Container_sequence[] = {
  { &hf_nr_rrc_rat_Type     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAT_Type },
  { &hf_nr_rrc_ue_CapabilityRAT_Container, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ue_CapabilityRAT_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
  /* Initialise to invalid value */
  nr_priv->rat_type = 0xFF;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_CapabilityRAT_Container, UE_CapabilityRAT_Container_sequence);



  return offset;
}


static const per_sequence_t UE_CapabilityRAT_ContainerList_sequence_of[1] = {
  { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_Container },
};

static int
dissect_nr_rrc_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UE_CapabilityRAT_ContainerList, UE_CapabilityRAT_ContainerList_sequence_of,
                                                  0, maxRAT_CapabilityContainers, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_rrcReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_sourceRB_SN_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_sourceSCG_NR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_sourceSCG_EUTRA_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *src_scg_eutra_config_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &src_scg_eutra_config_tvb);

  if (src_scg_eutra_config_tvb && lte_rrc_conn_reconf_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer);
    nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, src_scg_eutra_config_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const per_sequence_t AS_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_sourceRB_SN_Config, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sourceRB_SN_Config },
  { &hf_nr_rrc_sourceSCG_NR_Config, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sourceSCG_NR_Config },
  { &hf_nr_rrc_sourceSCG_EUTRA_Config, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sourceSCG_EUTRA_Config },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_sourceSCG_Configured_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sourceSCG_Configured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t AS_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_sourceSCG_Configured, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sourceSCG_Configured },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_2_sequence);

  return offset;
}



static int
dissect_nr_rrc_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32U, &value, FALSE);

  if (nr_rrc_get_private_data(actx)->drb_rlc_mapping.active) {
    nr_rrc_get_private_data(actx)->drb_rlc_mapping.drbid = (guint8)value;
  }
  else if (nr_rrc_get_private_data(actx)->drb_pdcp_mapping.active) {
    nr_rrc_get_private_data(actx)->drb_pdcp_mapping.drbid = (guint8)value;
  }


  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity_sequence_of[1] = {
  { &hf_nr_rrc_sdt_DRB_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity, SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity_sequence_of,
                                                  0, maxDRB, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sdt_SRB2_Indication_r17_vals[] = {
  {   0, "allowed" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdt_SRB2_Indication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_SDT_CG_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_SDT_MAC_PHY_CG_Config_r17_PDU);

  return offset;
}


static const value_string nr_rrc_T_sdt_MAC_PHY_CG_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sdt_MAC_PHY_CG_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_23     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SDT_CG_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sdt_MAC_PHY_CG_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sdt_MAC_PHY_CG_Config_r17, T_sdt_MAC_PHY_CG_Config_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sdt_DRB_ContinueROHC_r17_vals[] = {
  {   0, "cell" },
  {   1, "rna" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdt_DRB_ContinueROHC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SDT_Config_r17_sequence[] = {
  { &hf_nr_rrc_sdt_DRB_List_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity },
  { &hf_nr_rrc_sdt_SRB2_Indication_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_SRB2_Indication_r17 },
  { &hf_nr_rrc_sdt_MAC_PHY_CG_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_MAC_PHY_CG_Config_r17 },
  { &hf_nr_rrc_sdt_DRB_ContinueROHC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_DRB_ContinueROHC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SDT_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SDT_Config_r17, SDT_Config_r17_sequence);

  return offset;
}


static const per_sequence_t AS_Config_eag_3_sequence[] = {
  { &hf_nr_rrc_sdt_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SDT_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Config_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_3_sequence);

  return offset;
}


static const per_sequence_t AS_Config_sequence[] = {
  { &hf_nr_rrc_rrcReconfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rrcReconfiguration },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Config_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Config_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AS_Config, AS_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_ue_InactiveTime_vals[] = {
  {   0, "s1" },
  {   1, "s2" },
  {   2, "s3" },
  {   3, "s5" },
  {   4, "s7" },
  {   5, "s10" },
  {   6, "s15" },
  {   7, "s20" },
  {   8, "s25" },
  {   9, "s30" },
  {  10, "s40" },
  {  11, "s50" },
  {  12, "min1" },
  {  13, "min1s20" },
  {  14, "min1s40" },
  {  15, "min2" },
  {  16, "min2s30" },
  {  17, "min3" },
  {  18, "min3s30" },
  {  19, "min4" },
  {  20, "min5" },
  {  21, "min6" },
  {  22, "min7" },
  {  23, "min8" },
  {  24, "min9" },
  {  25, "min10" },
  {  26, "min12" },
  {  27, "min14" },
  {  28, "min17" },
  {  29, "min20" },
  {  30, "min24" },
  {  31, "min28" },
  {  32, "min33" },
  {  33, "min38" },
  {  34, "min44" },
  {  35, "min50" },
  {  36, "hr1" },
  {  37, "hr1min30" },
  {  38, "hr2" },
  {  39, "hr2min30" },
  {  40, "hr3" },
  {  41, "hr3min30" },
  {  42, "hr4" },
  {  43, "hr5" },
  {  44, "hr6" },
  {  45, "hr8" },
  {  46, "hr10" },
  {  47, "hr13" },
  {  48, "hr16" },
  {  49, "hr20" },
  {  50, "day1" },
  {  51, "day1hr12" },
  {  52, "day2" },
  {  53, "day2hr12" },
  {  54, "day3" },
  {  55, "day4" },
  {  56, "day5" },
  {  57, "day7" },
  {  58, "day10" },
  {  59, "day14" },
  {  60, "day19" },
  {  61, "day24" },
  {  62, "day30" },
  {  63, "dayMoreThan30" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_ue_InactiveTime_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_ue_InactiveTime_vals);


static int
dissect_nr_rrc_T_ue_InactiveTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     64, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_ARFCN_ValueNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNARFCN, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1007U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 127U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 127U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SINR_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 127U, NULL, FALSE);

  return offset;
}


static const per_sequence_t MeasQuantityResults_sequence[] = {
  { &hf_nr_rrc_measQuantityResults_rsrp, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_measQuantityResults_rsrq, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_Range },
  { &hf_nr_rrc_measQuantityResultssinr, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SINR_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasQuantityResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasQuantityResults, MeasQuantityResults_sequence);

  return offset;
}


static const per_sequence_t T_cellResults_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Cell, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasQuantityResults },
  { &hf_nr_rrc_resultsCSI_RS_Cell, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasQuantityResults },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellResults, T_cellResults_sequence);

  return offset;
}



static int
dissect_nr_rrc_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSSBs_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t ResultsPerSSB_Index_sequence[] = {
  { &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
  { &hf_nr_rrc_ssb_Results  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasQuantityResults },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ResultsPerSSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ResultsPerSSB_Index, ResultsPerSSB_Index_sequence);

  return offset;
}


static const per_sequence_t ResultsPerSSB_IndexList_sequence_of[1] = {
  { &hf_nr_rrc_ResultsPerSSB_IndexList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSB_Index },
};

static int
dissect_nr_rrc_ResultsPerSSB_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ResultsPerSSB_IndexList, ResultsPerSSB_IndexList_sequence_of,
                                                  1, maxNrofIndexesToReport2, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCSI_RS_ResourcesRRM_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t ResultsPerCSI_RS_Index_sequence[] = {
  { &hf_nr_rrc_csi_RS_Index , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
  { &hf_nr_rrc_csi_RS_Results, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasQuantityResults },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ResultsPerCSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ResultsPerCSI_RS_Index, ResultsPerCSI_RS_Index_sequence);

  return offset;
}


static const per_sequence_t ResultsPerCSI_RS_IndexList_sequence_of[1] = {
  { &hf_nr_rrc_ResultsPerCSI_RS_IndexList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerCSI_RS_Index },
};

static int
dissect_nr_rrc_ResultsPerCSI_RS_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ResultsPerCSI_RS_IndexList, ResultsPerCSI_RS_IndexList_sequence_of,
                                                  1, maxNrofIndexesToReport2, FALSE);

  return offset;
}


static const per_sequence_t T_rsIndexResults_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Indexes, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResultsPerSSB_IndexList },
  { &hf_nr_rrc_resultsCSI_RS_Indexes, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResultsPerCSI_RS_IndexList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rsIndexResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rsIndexResults, T_rsIndexResults_sequence);

  return offset;
}


static const per_sequence_t T_measResult_sequence[] = {
  { &hf_nr_rrc_cellResults  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults },
  { &hf_nr_rrc_rsIndexResults, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rsIndexResults },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResult, T_measResult_sequence);

  return offset;
}



static int
dissect_nr_rrc_MCC_MNC_Digit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 9U, NULL, FALSE);

  return offset;
}


static const per_sequence_t MCC_sequence_of[1] = {
  { &hf_nr_rrc_MCC_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCC_MNC_Digit },
};

static int
dissect_nr_rrc_MCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MCC, MCC_sequence_of,
                                                  3, 3, FALSE);

  return offset;
}


static const per_sequence_t MNC_sequence_of[1] = {
  { &hf_nr_rrc_MNC_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCC_MNC_Digit },
};

static int
dissect_nr_rrc_MNC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MNC, MNC_sequence_of,
                                                  2, 3, FALSE);

  return offset;
}


static const per_sequence_t PLMN_Identity_sequence[] = {
  { &hf_nr_rrc_mcc          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MCC },
  { &hf_nr_rrc_mnc          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MNC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PLMN_Identity, PLMN_Identity_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity_sequence_of[1] = {
  { &hf_nr_rrc_commonPLMNsWithDisasterCondition_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity, SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}



static int
dissect_nr_rrc_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_RAN_AreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     36, 36, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_cellReservedForOperatorUse_vals[] = {
  {   0, "reserved" },
  {   1, "notReserved" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellReservedForOperatorUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_iab_Support_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_iab_Support_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PLMN_IdentityInfo_eag_1_sequence[] = {
  { &hf_nr_rrc_iab_Support_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_iab_Support_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PLMN_IdentityInfo_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PLMN_IdentityInfo_eag_1_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode_sequence_of[1] = {
  { &hf_nr_rrc_trackingAreaList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode, SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode_sequence_of,
                                                  1, maxTAC_r17, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_22_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            22U, 32U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PLMN_IdentityInfo_eag_2_sequence[] = {
  { &hf_nr_rrc_trackingAreaList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode },
  { &hf_nr_rrc_gNB_ID_Length_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_22_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PLMN_IdentityInfo_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PLMN_IdentityInfo_eag_2_sequence);

  return offset;
}


static const per_sequence_t PLMN_IdentityInfo_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity },
  { &hf_nr_rrc_trackingAreaCode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TrackingAreaCode },
  { &hf_nr_rrc_ranac        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RAN_AreaCode },
  { &hf_nr_rrc_cellIdentity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
  { &hf_nr_rrc_cellReservedForOperatorUse, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReservedForOperatorUse },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfo_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfo_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PLMN_IdentityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PLMN_IdentityInfo, PLMN_IdentityInfo_sequence);

  return offset;
}


static const per_sequence_t PLMN_IdentityInfoList_sequence_of[1] = {
  { &hf_nr_rrc_PLMN_IdentityInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfo },
};

static int
dissect_nr_rrc_PLMN_IdentityInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PLMN_IdentityInfoList, PLMN_IdentityInfoList_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}



static int
dissect_nr_rrc_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 1024U, NULL, FALSE);

  return offset;
}


static const per_sequence_t MultiFrequencyBandListNR_sequence_of[1] = {
  { &hf_nr_rrc_MultiFrequencyBandListNR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
};

static int
dissect_nr_rrc_MultiFrequencyBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MultiFrequencyBandListNR, MultiFrequencyBandListNR_sequence_of,
                                                  1, maxNrofMultiBands, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 15U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ControlResourceSetZero(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 15U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SearchSpaceZero(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 15U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_ConfigSIB1_sequence[] = {
  { &hf_nr_rrc_controlResourceSetZero, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetZero },
  { &hf_nr_rrc_searchSpaceZero, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceZero },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ConfigSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_ConfigSIB1, PDCCH_ConfigSIB1_sequence);

  return offset;
}


static const per_sequence_t T_noSIB1_sequence[] = {
  { &hf_nr_rrc_ssb_SubcarrierOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigSIB1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_noSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_noSIB1, T_noSIB1_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_manualCAGselectionAllowed_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_manualCAGselectionAllowed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CAG_IdentityInfo_r16_sequence[] = {
  { &hf_nr_rrc_cag_Identity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_32 },
  { &hf_nr_rrc_manualCAGselectionAllowed_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_manualCAGselectionAllowed_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CAG_IdentityInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CAG_IdentityInfo_r16, CAG_IdentityInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_cag_IdentityList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CAG_IdentityInfo_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16, SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16_sequence_of,
                                                  1, maxNPN_r16, FALSE);

  return offset;
}


static const per_sequence_t T_pni_npn_r16_sequence[] = {
  { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_cag_IdentityList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pni_npn_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pni_npn_r16, T_pni_npn_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_NID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     44, 44, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16_sequence_of[1] = {
  { &hf_nr_rrc_nid_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NID_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16, SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16_sequence_of,
                                                  1, maxNPN_r16, FALSE);

  return offset;
}


static const per_sequence_t T_snpn_r16_sequence[] = {
  { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_nid_List_r16 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_snpn_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_snpn_r16, T_snpn_r16_sequence);

  return offset;
}


static const value_string nr_rrc_NPN_Identity_r16_vals[] = {
  {   0, "pni-npn-r16" },
  {   1, "snpn-r16" },
  { 0, NULL }
};

static const per_choice_t NPN_Identity_r16_choice[] = {
  {   0, &hf_nr_rrc_pni_npn_r16  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_pni_npn_r16 },
  {   1, &hf_nr_rrc_snpn_r16     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_snpn_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_NPN_Identity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_NPN_Identity_r16, NPN_Identity_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16_sequence_of[1] = {
  { &hf_nr_rrc_npn_IdentityList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NPN_Identity_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16, SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16_sequence_of,
                                                  1, maxNPN_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_cellReservedForOperatorUse_r16_vals[] = {
  {   0, "reserved" },
  {   1, "notReserved" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellReservedForOperatorUse_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_iab_Support_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_iab_Support_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NPN_IdentityInfo_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_gNB_ID_Length_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_22_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NPN_IdentityInfo_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NPN_IdentityInfo_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t NPN_IdentityInfo_r16_sequence[] = {
  { &hf_nr_rrc_npn_IdentityList_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16 },
  { &hf_nr_rrc_trackingAreaCode_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode },
  { &hf_nr_rrc_ranac_r16    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RAN_AreaCode },
  { &hf_nr_rrc_cellIdentity_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
  { &hf_nr_rrc_cellReservedForOperatorUse_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReservedForOperatorUse_r16 },
  { &hf_nr_rrc_iab_Support_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_iab_Support_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_NPN_IdentityInfo_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NPN_IdentityInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NPN_IdentityInfo_r16, NPN_IdentityInfo_r16_sequence);

  return offset;
}


static const per_sequence_t NPN_IdentityInfoList_r16_sequence_of[1] = {
  { &hf_nr_rrc_NPN_IdentityInfoList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NPN_IdentityInfo_r16 },
};

static int
dissect_nr_rrc_NPN_IdentityInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NPN_IdentityInfoList_r16, NPN_IdentityInfoList_r16_sequence_of,
                                                  1, maxNPN_r16, FALSE);

  return offset;
}


static const per_sequence_t CGI_InfoNR_eag_1_sequence[] = {
  { &hf_nr_rrc_npn_IdentityInfoList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NPN_IdentityInfoList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CGI_InfoNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CGI_InfoNR_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_cellReservedForOtherUse_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellReservedForOtherUse_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CGI_InfoNR_eag_2_sequence[] = {
  { &hf_nr_rrc_cellReservedForOtherUse_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cellReservedForOtherUse_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CGI_InfoNR_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CGI_InfoNR_eag_2_sequence);

  return offset;
}


static const per_sequence_t CGI_InfoNR_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityInfoList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PLMN_IdentityInfoList },
  { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MultiFrequencyBandListNR },
  { &hf_nr_rrc_noSIB1       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_noSIB1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoNR_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoNR_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CGI_InfoNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CGI_InfoNR, CGI_InfoNR_sequence);

  return offset;
}


static const per_sequence_t MeasResultNR_eag_1_sequence[] = {
  { &hf_nr_rrc_cgi_Info     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CGI_InfoNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResultNR_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_choCandidate_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_choCandidate_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M30_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -30, 30U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_MeasTriggerQuantityOffset_vals[] = {
  {   0, "rsrp" },
  {   1, "rsrq" },
  {   2, "sinr" },
  { 0, NULL }
};

static const per_choice_t MeasTriggerQuantityOffset_choice[] = {
  {   0, &hf_nr_rrc_measTriggerQuantityOffset_rsrp, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M30_30 },
  {   1, &hf_nr_rrc_measTriggerQuantityOffset_rsrq, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M30_30 },
  {   2, &hf_nr_rrc_measTriggerQuantityOffset_sinr, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M30_30 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_MeasTriggerQuantityOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_MeasTriggerQuantityOffset, MeasTriggerQuantityOffset_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 30U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_TimeToTrigger_vals[] = {
  {   0, "ms0" },
  {   1, "ms40" },
  {   2, "ms64" },
  {   3, "ms80" },
  {   4, "ms100" },
  {   5, "ms128" },
  {   6, "ms160" },
  {   7, "ms256" },
  {   8, "ms320" },
  {   9, "ms480" },
  {  10, "ms512" },
  {  11, "ms640" },
  {  12, "ms1024" },
  {  13, "ms1280" },
  {  14, "ms2560" },
  {  15, "ms5120" },
  { 0, NULL }
};


static int
dissect_nr_rrc_TimeToTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_condEventA3_sequence[] = {
  { &hf_nr_rrc_a3_Offset    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_condEventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_condEventA3, T_condEventA3_sequence);

  return offset;
}


static const value_string nr_rrc_MeasTriggerQuantity_vals[] = {
  {   0, "rsrp" },
  {   1, "rsrq" },
  {   2, "sinr" },
  { 0, NULL }
};

static const per_choice_t MeasTriggerQuantity_choice[] = {
  {   0, &hf_nr_rrc_measTriggerQuantity_rsrp, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RSRP_Range },
  {   1, &hf_nr_rrc_measTriggerQuantity_rsrq, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RSRQ_Range },
  {   2, &hf_nr_rrc_measTriggerQuantity_sinr, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SINR_Range },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_MeasTriggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_MeasTriggerQuantity, MeasTriggerQuantity_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_condEventA5_sequence[] = {
  { &hf_nr_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_condEventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_condEventA5, T_condEventA5_sequence);

  return offset;
}


static const per_sequence_t T_condEventA4_r17_sequence[] = {
  { &hf_nr_rrc_a4_Threshold_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_hysteresis_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_condEventA4_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_condEventA4_r17, T_condEventA4_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_65525(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65525U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ReferenceLocation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ellipsoid_point_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &ellipsoid_point_tvb);

  if (ellipsoid_point_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_ReferenceLocation_r17);
    dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_HysteresisLocation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 32768U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_condEventD1_r17_sequence[] = {
  { &hf_nr_rrc_distanceThreshFromReference1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_65525 },
  { &hf_nr_rrc_distanceThreshFromReference2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_65525 },
  { &hf_nr_rrc_referenceLocation1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceLocation_r17 },
  { &hf_nr_rrc_referenceLocation2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceLocation_r17 },
  { &hf_nr_rrc_hysteresisLocation_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_HysteresisLocation_r17 },
  { &hf_nr_rrc_timeToTrigger_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_condEventD1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_condEventD1_r17, T_condEventD1_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_549755813887(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
                                                            0U, G_GUINT64_CONSTANT(549755813887), NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_6000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 6000U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_condEventT1_r17_sequence[] = {
  { &hf_nr_rrc_t1_Threshold_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_549755813887 },
  { &hf_nr_rrc_duration_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6000 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_condEventT1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_condEventT1_r17, T_condEventT1_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_condEventId_vals[] = {
  {   0, "condEventA3" },
  {   1, "condEventA5" },
  {   2, "condEventA4-r17" },
  {   3, "condEventD1-r17" },
  {   4, "condEventT1-r17" },
  { 0, NULL }
};

static const per_choice_t T_condEventId_choice[] = {
  {   0, &hf_nr_rrc_condEventA3  , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_condEventA3 },
  {   1, &hf_nr_rrc_condEventA5  , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_condEventA5 },
  {   2, &hf_nr_rrc_condEventA4_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_condEventA4_r17 },
  {   3, &hf_nr_rrc_condEventD1_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_condEventD1_r17 },
  {   4, &hf_nr_rrc_condEventT1_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_condEventT1_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_condEventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_condEventId, T_condEventId_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_NR_RS_Type_vals[] = {
  {   0, "ssb" },
  {   1, "csi-rs" },
  { 0, NULL }
};


static int
dissect_nr_rrc_NR_RS_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CondTriggerConfig_r16_sequence[] = {
  { &hf_nr_rrc_condEventId  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_condEventId },
  { &hf_nr_rrc_rsType_r16   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CondTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CondTriggerConfig_r16, CondTriggerConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_choConfig_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CondTriggerConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16, SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}



static int
dissect_nr_rrc_TimeBetweenEvent_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_firstTriggeredEvent_vals[] = {
  {   0, "condFirstEvent" },
  {   1, "condSecondEvent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_firstTriggeredEvent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_triggeredEvent_r17_sequence[] = {
  { &hf_nr_rrc_timeBetweenEvents_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TimeBetweenEvent_r17 },
  { &hf_nr_rrc_firstTriggeredEvent, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_firstTriggeredEvent },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_triggeredEvent_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_triggeredEvent_r17, T_triggeredEvent_r17_sequence);

  return offset;
}


static const per_sequence_t MeasResultNR_eag_2_sequence[] = {
  { &hf_nr_rrc_choCandidate_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_choCandidate_r17 },
  { &hf_nr_rrc_choConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16 },
  { &hf_nr_rrc_triggeredEvent_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_triggeredEvent_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultNR_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResultNR_eag_2_sequence);

  return offset;
}


static const per_sequence_t MeasResultNR_sequence[] = {
  { &hf_nr_rrc_physCellId   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_measResult   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultNR, MeasResultNR_sequence);

  return offset;
}


static const per_sequence_t MeasResultListNR_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultListNR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
};

static int
dissect_nr_rrc_MeasResultListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultListNR, MeasResultListNR_sequence_of,
                                                  1, maxCellReport, FALSE);

  return offset;
}


static const per_sequence_t MeasResult2NR_sequence[] = {
  { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultNR },
  { &hf_nr_rrc_measResultNeighCellListNR_02, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultListNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResult2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResult2NR, MeasResult2NR_sequence);

  return offset;
}


static const per_sequence_t MeasResultList2NR_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultList2NR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR },
};

static int
dissect_nr_rrc_MeasResultList2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultList2NR, MeasResultList2NR_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ARFCN_ValueEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxEARFCN, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_RSRP_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 97U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_RSRQ_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 34U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SINR_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 127U, NULL, FALSE);

  return offset;
}


static const per_sequence_t MeasQuantityResultsEUTRA_sequence[] = {
  { &hf_nr_rrc_measQuantityResultsEUTRA_rsrp, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_RangeEUTRA },
  { &hf_nr_rrc_measQuantityResultsEUTRA_rsrq, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_RangeEUTRA },
  { &hf_nr_rrc_measQuantityResultsEUTRA_sinr, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SINR_RangeEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasQuantityResultsEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasQuantityResultsEUTRA, MeasQuantityResultsEUTRA_sequence);

  return offset;
}


static const per_sequence_t PLMN_IdentityList_EUTRA_EPC_sequence_of[1] = {
  { &hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
};

static int
dissect_nr_rrc_PLMN_IdentityList_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC, PLMN_IdentityList_EUTRA_EPC_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     28, 28, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t CellAccessRelatedInfo_EUTRA_EPC_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityList_eutra_epc, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityList_EUTRA_EPC },
  { &hf_nr_rrc_trackingAreaCode_eutra_epc, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_cellIdentity_eutra_epc, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_28 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC, CellAccessRelatedInfo_EUTRA_EPC_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC_sequence_of[1] = {
  { &hf_nr_rrc_cgi_info_EPC_list_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC, SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}


static const per_sequence_t T_cgi_info_EPC_sequence[] = {
  { &hf_nr_rrc_cgi_info_EPC_legacy, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC },
  { &hf_nr_rrc_cgi_info_EPC_list, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cgi_info_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cgi_info_EPC, T_cgi_info_EPC_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxPLMN, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_PLMN_Identity_EUTRA_5GC_vals[] = {
  {   0, "plmn-Identity-EUTRA-5GC" },
  {   1, "plmn-index" },
  { 0, NULL }
};

static const per_choice_t PLMN_Identity_EUTRA_5GC_choice[] = {
  {   0, &hf_nr_rrc_plmn_Identity_EUTRA_5GC, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PLMN_Identity },
  {   1, &hf_nr_rrc_plmn_index   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_maxPLMN },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_PLMN_Identity_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_PLMN_Identity_EUTRA_5GC, PLMN_Identity_EUTRA_5GC_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PLMN_IdentityList_EUTRA_5GC_sequence_of[1] = {
  { &hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity_EUTRA_5GC },
};

static int
dissect_nr_rrc_PLMN_IdentityList_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC, PLMN_IdentityList_EUTRA_5GC_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}


static const value_string nr_rrc_CellIdentity_EUTRA_5GC_vals[] = {
  {   0, "cellIdentity-EUTRA" },
  {   1, "cellId-index" },
  { 0, NULL }
};

static const per_choice_t CellIdentity_EUTRA_5GC_choice[] = {
  {   0, &hf_nr_rrc_cellIdentity_EUTRA, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_28 },
  {   1, &hf_nr_rrc_cellId_index , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_maxPLMN },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_CellIdentity_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_CellIdentity_EUTRA_5GC, CellIdentity_EUTRA_5GC_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CellAccessRelatedInfo_EUTRA_5GC_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityList_eutra_5gc, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityList_EUTRA_5GC },
  { &hf_nr_rrc_trackingAreaCode_eutra_5gc, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode },
  { &hf_nr_rrc_ranac_5gc    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RAN_AreaCode },
  { &hf_nr_rrc_cellAccessRelatedInfo_EUTRA_5GC_cellIdentity_eutra_5gc, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity_EUTRA_5GC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC, CellAccessRelatedInfo_EUTRA_5GC_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC_sequence_of[1] = {
  { &hf_nr_rrc_cgi_info_5GC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC, SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}



static int
dissect_nr_rrc_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxBandsEUTRA, NULL, FALSE);

  return offset;
}


static const per_sequence_t MultiBandInfoListEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_MultiBandInfoListEUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
};

static int
dissect_nr_rrc_MultiBandInfoListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MultiBandInfoListEUTRA, MultiBandInfoListEUTRA_sequence_of,
                                                  1, maxMultiBands, FALSE);

  return offset;
}


static const value_string nr_rrc_T_freqBandIndicatorPriority_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_freqBandIndicatorPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CGI_InfoEUTRA_sequence[] = {
  { &hf_nr_rrc_cgi_info_EPC , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cgi_info_EPC },
  { &hf_nr_rrc_cgi_info_5GC , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC },
  { &hf_nr_rrc_freqBandIndicator, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
  { &hf_nr_rrc_multiBandInfoList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MultiBandInfoListEUTRA },
  { &hf_nr_rrc_freqBandIndicatorPriority, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_freqBandIndicatorPriority },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CGI_InfoEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CGI_InfoEUTRA, CGI_InfoEUTRA_sequence);

  return offset;
}


static const per_sequence_t MeasResultEUTRA_sequence[] = {
  { &hf_nr_rrc_eutra_PhysCellId_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_measResult_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResultsEUTRA },
  { &hf_nr_rrc_cgi_Info_02  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CGI_InfoEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultEUTRA, MeasResultEUTRA_sequence);

  return offset;
}


static const per_sequence_t MeasResult2EUTRA_sequence[] = {
  { &hf_nr_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_measResultServingCell_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultEUTRA },
  { &hf_nr_rrc_measResultBestNeighCell_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResult2EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResult2EUTRA, MeasResult2EUTRA_sequence);

  return offset;
}


static const per_sequence_t MeasResultServFreqListEUTRA_SCG_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultServFreqListEUTRA_SCG_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2EUTRA },
};

static int
dissect_nr_rrc_MeasResultServFreqListEUTRA_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultServFreqListEUTRA_SCG, MeasResultServFreqListEUTRA_SCG_sequence_of,
                                                  1, maxNrofServingCellsEUTRA, FALSE);

  return offset;
}


static const per_sequence_t RRM_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_rRM_Config_eag_1_candidateCellInfoListSN_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultServFreqListEUTRA_SCG },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRM_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RRM_Config_eag_1_sequence);

  return offset;
}


static const per_sequence_t RRM_Config_sequence[] = {
  { &hf_nr_rrc_ue_InactiveTime, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_InactiveTime },
  { &hf_nr_rrc_candidateCellInfoList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2NR },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRM_Config_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRM_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRM_Config, RRM_Config_sequence);

  return offset;
}



static int
dissect_nr_rrc_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     256, 256, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t ReestabNCellInfo_sequence[] = {
  { &hf_nr_rrc_cellIdentity , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
  { &hf_nr_rrc_key_gNodeB_Star, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_256 },
  { &hf_nr_rrc_shortMAC_I   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReestabNCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReestabNCellInfo, ReestabNCellInfo_sequence);

  return offset;
}


static const per_sequence_t ReestabNCellInfoList_sequence_of[1] = {
  { &hf_nr_rrc_ReestabNCellInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestabNCellInfo },
};

static int
dissect_nr_rrc_ReestabNCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ReestabNCellInfoList, ReestabNCellInfoList_sequence_of,
                                                  1, maxCellPrep, FALSE);

  return offset;
}


static const per_sequence_t ReestablishmentInfo_sequence[] = {
  { &hf_nr_rrc_sourcePhysCellId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_targetCellShortMAC_I, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I },
  { &hf_nr_rrc_additionalReestabInfoList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReestabNCellInfoList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReestablishmentInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReestablishmentInfo, ReestablishmentInfo_sequence);

  return offset;
}



static int
dissect_nr_rrc_BandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxBandComb, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_FeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxFeatureSetsPerBand, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex_sequence_of[1] = {
  { &hf_nr_rrc_allowedFeatureSetsList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEntryIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex, SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex_sequence_of,
                                                  1, maxFeatureSetsPerBand, FALSE);

  return offset;
}


static const per_sequence_t BandCombinationInfo_sequence[] = {
  { &hf_nr_rrc_bandCombinationIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex },
  { &hf_nr_rrc_allowedFeatureSetsList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombinationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombinationInfo, BandCombinationInfo_sequence);

  return offset;
}


static const per_sequence_t BandCombinationInfoList_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationInfo },
};

static int
dissect_nr_rrc_BandCombinationInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationInfoList, BandCombinationInfoList_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}



static int
dissect_nr_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -30, 33U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_powerCoordination_FR1_sequence[] = {
  { &hf_nr_rrc_p_maxNR_FR1  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_p_maxEUTRA   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_p_maxUE_FR1  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_powerCoordination_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_powerCoordination_FR1, T_powerCoordination_FR1_sequence);

  return offset;
}



static int
dissect_nr_rrc_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofServingCells_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_servCellIndexRangeSCG_sequence[] = {
  { &hf_nr_rrc_lowBound     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_upBound      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_servCellIndexRangeSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_servCellIndexRangeSCG, T_servCellIndexRangeSCG_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxMeasFreqsMN, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxMeasIdentitiesMN, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BandEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofServingCells, NULL, FALSE);

  return offset;
}


static const per_sequence_t SelectedBandEntriesMN_sequence_of[1] = {
  { &hf_nr_rrc_SelectedBandEntriesMN_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandEntryIndex },
};

static int
dissect_nr_rrc_SelectedBandEntriesMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SelectedBandEntriesMN, SelectedBandEntriesMN_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN_sequence_of[1] = {
  { &hf_nr_rrc_selectedBandEntriesMNList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SelectedBandEntriesMN },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN, SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 15U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_16384(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 16384U, NULL, FALSE);

  return offset;
}


static const per_sequence_t ConfigRestrictInfoSCG_eag_1_sequence[] = {
  { &hf_nr_rrc_selectedBandEntriesMNList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_maxNumberROHC_ContextSessionsSN, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_16384 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictInfoSCG_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictInfoSCG_eag_1_sequence);

  return offset;
}


static const per_sequence_t ConfigRestrictInfoSCG_eag_2_sequence[] = {
  { &hf_nr_rrc_maxIntraFreqMeasIdentitiesSCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN },
  { &hf_nr_rrc_maxInterFreqMeasIdentitiesSCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictInfoSCG_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictInfoSCG_eag_2_sequence);

  return offset;
}


static const per_sequence_t T_powerCoordination_FR2_r16_sequence[] = {
  { &hf_nr_rrc_p_maxNR_FR2_MCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_p_maxNR_FR2_SCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_p_maxUE_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_powerCoordination_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_powerCoordination_FR2_r16, T_powerCoordination_FR2_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_nrdc_PC_mode_FR1_r16_vals[] = {
  {   0, "semi-static-mode1" },
  {   1, "semi-static-mode2" },
  {   2, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrdc_PC_mode_FR1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrdc_PC_mode_FR2_r16_vals[] = {
  {   0, "semi-static-mode1" },
  {   1, "semi-static-mode2" },
  {   2, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrdc_PC_mode_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofCLI_SRS_Resources_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCLI_SRS_Resources_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofCLI_RSSI_Resources_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCLI_RSSI_Resources_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_65536(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65536U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 31U, NULL, FALSE);

  return offset;
}


static const per_sequence_t ReducedMaxCCs_r16_sequence[] = {
  { &hf_nr_rrc_reducedCCsDL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_reducedCCsUL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReducedMaxCCs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReducedMaxCCs_r16, ReducedMaxCCs_r16_sequence);

  return offset;
}


static const value_string nr_rrc_ReducedAggregatedBandwidth_vals[] = {
  {   0, "mhz0" },
  {   1, "mhz10" },
  {   2, "mhz20" },
  {   3, "mhz30" },
  {   4, "mhz40" },
  {   5, "mhz50" },
  {   6, "mhz60" },
  {   7, "mhz80" },
  {   8, "mhz100" },
  {   9, "mhz200" },
  {  10, "mhz300" },
  {  11, "mhz400" },
  { 0, NULL }
};


static int
dissect_nr_rrc_ReducedAggregatedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     12, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ReducedMaxBW_FRx_r16_sequence[] = {
  { &hf_nr_rrc_reducedBW_DL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth },
  { &hf_nr_rrc_reducedBW_UL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReducedMaxBW_FRx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReducedMaxBW_FRx_r16, ReducedMaxBW_FRx_r16_sequence);

  return offset;
}


static const value_string nr_rrc_MIMO_LayersDL_vals[] = {
  {   0, "twoLayers" },
  {   1, "fourLayers" },
  {   2, "eightLayers" },
  { 0, NULL }
};


static int
dissect_nr_rrc_MIMO_LayersDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_MIMO_LayersUL_vals[] = {
  {   0, "oneLayer" },
  {   1, "twoLayers" },
  {   2, "fourLayers" },
  { 0, NULL }
};


static int
dissect_nr_rrc_MIMO_LayersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_reducedMaxMIMO_LayersFR1_sequence[] = {
  { &hf_nr_rrc_reducedMIMO_LayersFR1_DL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL },
  { &hf_nr_rrc_reducedMIMO_LayersFR1_UL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reducedMaxMIMO_LayersFR1, T_reducedMaxMIMO_LayersFR1_sequence);

  return offset;
}


static const per_sequence_t T_reducedMaxMIMO_LayersFR2_sequence[] = {
  { &hf_nr_rrc_reducedMIMO_LayersFR2_DL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL },
  { &hf_nr_rrc_reducedMIMO_LayersFR2_UL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reducedMaxMIMO_LayersFR2, T_reducedMaxMIMO_LayersFR2_sequence);

  return offset;
}


static const per_sequence_t OverheatingAssistance_sequence[] = {
  { &hf_nr_rrc_reducedMaxCCs, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReducedMaxCCs_r16 },
  { &hf_nr_rrc_reducedMaxBW_FR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReducedMaxBW_FRx_r16 },
  { &hf_nr_rrc_reducedMaxBW_FR2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReducedMaxBW_FRx_r16 },
  { &hf_nr_rrc_reducedMaxMIMO_LayersFR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1 },
  { &hf_nr_rrc_reducedMaxMIMO_LayersFR2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OverheatingAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OverheatingAssistance, OverheatingAssistance_sequence);

  return offset;
}


static const value_string nr_rrc_T_Offset_r16_vals[] = {
  {   0, "ms0dot5" },
  {   1, "ms0dot75" },
  {   2, "ms1" },
  {   3, "ms1dot5" },
  {   4, "ms2" },
  {   5, "ms2dot5" },
  {   6, "ms3" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_Offset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ConfigRestrictInfoSCG_eag_3_sequence[] = {
  { &hf_nr_rrc_p_maxNR_FR1_MCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_powerCoordination_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerCoordination_FR2_r16 },
  { &hf_nr_rrc_nrdc_PC_mode_FR1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrdc_PC_mode_FR1_r16 },
  { &hf_nr_rrc_nrdc_PC_mode_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrdc_PC_mode_FR2_r16 },
  { &hf_nr_rrc_maxMeasSRS_ResourceSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofCLI_SRS_Resources_r16 },
  { &hf_nr_rrc_maxMeasCLI_ResourceSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofCLI_RSSI_Resources_r16 },
  { &hf_nr_rrc_maxNumberEHC_ContextsSN_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65536 },
  { &hf_nr_rrc_allowedReducedConfigForOverheating_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OverheatingAssistance },
  { &hf_nr_rrc_maxToffset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_Offset_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictInfoSCG_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictInfoSCG_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_ReducedAggregatedBandwidth_r17_vals[] = {
  {   0, "mhz0" },
  {   1, "mhz100" },
  {   2, "mhz200" },
  {   3, "mhz400" },
  {   4, "mhz800" },
  {   5, "mhz1200" },
  {   6, "mhz1600" },
  {   7, "mhz2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_ReducedAggregatedBandwidth_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_reducedMaxBW_FR2_2_r17_sequence[] = {
  { &hf_nr_rrc_reducedBW_FR2_2_DL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth_r17 },
  { &hf_nr_rrc_reducedBW_FR2_2_UL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reducedMaxBW_FR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reducedMaxBW_FR2_2_r17, T_reducedMaxBW_FR2_2_r17_sequence);

  return offset;
}


static const per_sequence_t T_reducedMaxMIMO_LayersFR2_2_sequence[] = {
  { &hf_nr_rrc_reducedMIMO_LayersFR2_2_DL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL },
  { &hf_nr_rrc_reducedMIMO_LayersFR2_2_UL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_2, T_reducedMaxMIMO_LayersFR2_2_sequence);

  return offset;
}


static const per_sequence_t OverheatingAssistance_r17_sequence[] = {
  { &hf_nr_rrc_reducedMaxBW_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedMaxBW_FR2_2_r17 },
  { &hf_nr_rrc_reducedMaxMIMO_LayersFR2_2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OverheatingAssistance_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OverheatingAssistance_r17, OverheatingAssistance_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofCondCells_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCondCells_1_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t ConfigRestrictInfoSCG_eag_4_sequence[] = {
  { &hf_nr_rrc_allowedReducedConfigForOverheating_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OverheatingAssistance_r17 },
  { &hf_nr_rrc_maxNumberUDC_DRB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_2 },
  { &hf_nr_rrc_maxNumberCPCCandidates_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofCondCells_1_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictInfoSCG_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictInfoSCG_eag_4_sequence);

  return offset;
}


static const per_sequence_t ConfigRestrictInfoSCG_sequence[] = {
  { &hf_nr_rrc_allowedBC_ListMRDC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationInfoList },
  { &hf_nr_rrc_powerCoordination_FR1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerCoordination_FR1 },
  { &hf_nr_rrc_servCellIndexRangeSCG, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_servCellIndexRangeSCG },
  { &hf_nr_rrc_maxMeasFreqsSCG, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN },
  { &hf_nr_rrc_configRestrictInfoSCG_dummy, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictInfoSCG_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictInfoSCG_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictInfoSCG_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictInfoSCG_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictInfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ConfigRestrictInfoSCG, ConfigRestrictInfoSCG_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_32_OF_CellIdentity_sequence_of[1] = {
  { &hf_nr_rrc_ran_AreaCells_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity, SEQUENCE_SIZE_1_32_OF_CellIdentity_sequence_of,
                                                  1, 32, FALSE);

  return offset;
}


static const per_sequence_t PLMN_RAN_AreaCell_sequence[] = {
  { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_ran_AreaCells, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PLMN_RAN_AreaCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PLMN_RAN_AreaCell, PLMN_RAN_AreaCell_sequence);

  return offset;
}


static const per_sequence_t PLMN_RAN_AreaCellList_sequence_of[1] = {
  { &hf_nr_rrc_PLMN_RAN_AreaCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_RAN_AreaCell },
};

static int
dissect_nr_rrc_PLMN_RAN_AreaCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PLMN_RAN_AreaCellList, PLMN_RAN_AreaCellList_sequence_of,
                                                  1, maxPLMNIdentities, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_32_OF_RAN_AreaCode_sequence_of[1] = {
  { &hf_nr_rrc_ran_AreaCodeList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAN_AreaCode },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode, SEQUENCE_SIZE_1_32_OF_RAN_AreaCode_sequence_of,
                                                  1, 32, FALSE);

  return offset;
}


static const per_sequence_t RAN_AreaConfig_sequence[] = {
  { &hf_nr_rrc_trackingAreaCode, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode },
  { &hf_nr_rrc_ran_AreaCodeList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RAN_AreaConfig, RAN_AreaConfig_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig_sequence_of[1] = {
  { &hf_nr_rrc_ran_Area_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAN_AreaConfig },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig, SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig_sequence_of,
                                                  1, 16, FALSE);

  return offset;
}


static const per_sequence_t PLMN_RAN_AreaConfig_sequence[] = {
  { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_ran_Area     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PLMN_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PLMN_RAN_AreaConfig, PLMN_RAN_AreaConfig_sequence);

  return offset;
}


static const per_sequence_t PLMN_RAN_AreaConfigList_sequence_of[1] = {
  { &hf_nr_rrc_PLMN_RAN_AreaConfigList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_RAN_AreaConfig },
};

static int
dissect_nr_rrc_PLMN_RAN_AreaConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PLMN_RAN_AreaConfigList, PLMN_RAN_AreaConfigList_sequence_of,
                                                  1, maxPLMNIdentities, FALSE);

  return offset;
}


static const value_string nr_rrc_RAN_NotificationAreaInfo_vals[] = {
  {   0, "cellList" },
  {   1, "ran-AreaConfigList" },
  { 0, NULL }
};

static const per_choice_t RAN_NotificationAreaInfo_choice[] = {
  {   0, &hf_nr_rrc_cellList     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_PLMN_RAN_AreaCellList },
  {   1, &hf_nr_rrc_ran_AreaConfigList, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_PLMN_RAN_AreaConfigList },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_RAN_NotificationAreaInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_RAN_NotificationAreaInfo, RAN_NotificationAreaInfo_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t AS_Context_eag_1_sequence[] = {
  { &hf_nr_rrc_ran_NotificationAreaInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RAN_NotificationAreaInfo },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Context_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_ueAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UEAssistanceInformation_PDU);

  return offset;
}


static const per_sequence_t AS_Context_eag_2_sequence[] = {
  { &hf_nr_rrc_ueAssistanceInformation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ueAssistanceInformation },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Context_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_2_sequence);

  return offset;
}


static const per_sequence_t BandCombinationInfoSN_sequence[] = {
  { &hf_nr_rrc_bandCombinationIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex },
  { &hf_nr_rrc_requestedFeatureSets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEntryIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombinationInfoSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombinationInfoSN, BandCombinationInfoSN_sequence);

  return offset;
}


static const per_sequence_t AS_Context_eag_3_sequence[] = {
  { &hf_nr_rrc_selectedBandCombinationSN, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationInfoSN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Context_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_vals[] = {
  {   0, "semi-static-mode1" },
  {   1, "semi-static-mode2" },
  {   2, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_powerCoordination_r16_sequence[] = {
  { &hf_nr_rrc_p_DAPS_Source_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_p_DAPS_Target_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_powerCoordination_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_powerCoordination_r16, T_powerCoordination_r16_sequence);

  return offset;
}


static const per_sequence_t ConfigRestrictInfoDAPS_r16_sequence[] = {
  { &hf_nr_rrc_powerCoordination_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerCoordination_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictInfoDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ConfigRestrictInfoDAPS_r16, ConfigRestrictInfoDAPS_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_sidelinkUEInformationNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sidelink_ue_info_nr_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sidelink_ue_info_nr_tvb);

  if (sidelink_ue_info_nr_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationNR);
    dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_sidelinkUEInformationEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sidelink_ue_info_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sidelink_ue_info_eutra_tvb);

  if (sidelink_ue_info_eutra_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationEUTRA);
    dissect_lte_rrc_SidelinkUEInformation_r12_PDU(sidelink_ue_info_eutra_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_ueAssistanceInformationEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ue_assist_info_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &ue_assist_info_eutra_tvb);

  if (ue_assist_info_eutra_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ueAssistanceInformationEUTRA);
    dissect_lte_rrc_UEAssistanceInformation_r11_PDU(ue_assist_info_eutra_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_ueAssistanceInformationSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UEAssistanceInformation_PDU);

  return offset;
}


static const value_string nr_rrc_T_gapIndicationIntra_r16_vals[] = {
  {   0, "gap" },
  {   1, "no-gap" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapIndicationIntra_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NeedForGapsIntraFreq_r16_sequence[] = {
  { &hf_nr_rrc_servCellId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_gapIndicationIntra_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapIndicationIntra_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForGapsIntraFreq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForGapsIntraFreq_r16, NeedForGapsIntraFreq_r16_sequence);

  return offset;
}


static const per_sequence_t NeedForGapsIntraFreqList_r16_sequence_of[1] = {
  { &hf_nr_rrc_NeedForGapsIntraFreqList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForGapsIntraFreq_r16 },
};

static int
dissect_nr_rrc_NeedForGapsIntraFreqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NeedForGapsIntraFreqList_r16, NeedForGapsIntraFreqList_r16_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const value_string nr_rrc_T_gapIndication_r16_vals[] = {
  {   0, "gap" },
  {   1, "no-gap" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NeedForGapsNR_r16_sequence[] = {
  { &hf_nr_rrc_bandNR_r16   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_gapIndication_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapIndication_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForGapsNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForGapsNR_r16, NeedForGapsNR_r16_sequence);

  return offset;
}


static const per_sequence_t NeedForGapsBandListNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_NeedForGapsBandListNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForGapsNR_r16 },
};

static int
dissect_nr_rrc_NeedForGapsBandListNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NeedForGapsBandListNR_r16, NeedForGapsBandListNR_r16_sequence_of,
                                                  1, maxBands, FALSE);

  return offset;
}


static const per_sequence_t NeedForGapsInfoNR_r16_sequence[] = {
  { &hf_nr_rrc_intraFreq_needForGap_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForGapsIntraFreqList_r16 },
  { &hf_nr_rrc_interFreq_needForGap_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForGapsBandListNR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForGapsInfoNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForGapsInfoNR_r16, NeedForGapsInfoNR_r16_sequence);

  return offset;
}


static const per_sequence_t AS_Context_eag_4_sequence[] = {
  { &hf_nr_rrc_configRestrictInfoDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfigRestrictInfoDAPS_r16 },
  { &hf_nr_rrc_sidelinkUEInformationNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sidelinkUEInformationNR_r16 },
  { &hf_nr_rrc_sidelinkUEInformationEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sidelinkUEInformationEUTRA_r16 },
  { &hf_nr_rrc_ueAssistanceInformationEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ueAssistanceInformationEUTRA_r16 },
  { &hf_nr_rrc_ueAssistanceInformationSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ueAssistanceInformationSCG_r16 },
  { &hf_nr_rrc_needForGapsInfoNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapsInfoNR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Context_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_4_sequence);

  return offset;
}



static int
dissect_nr_rrc_FeatureSetDownlinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxPerCC_FeatureSets, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_FeatureSetUplinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxPerCC_FeatureSets, NULL, FALSE);

  return offset;
}


static const per_sequence_t ConfigRestrictInfoDAPS_v1640_sequence[] = {
  { &hf_nr_rrc_sourceFeatureSetPerDownlinkCC_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC_Id },
  { &hf_nr_rrc_sourceFeatureSetPerUplinkCC_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC_Id },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictInfoDAPS_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ConfigRestrictInfoDAPS_v1640, ConfigRestrictInfoDAPS_v1640_sequence);

  return offset;
}


static const per_sequence_t AS_Context_eag_5_sequence[] = {
  { &hf_nr_rrc_configRestrictInfoDAPS_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfigRestrictInfoDAPS_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Context_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_5_sequence);

  return offset;
}


static const value_string nr_rrc_T_gapIndicationIntra_r17_vals[] = {
  {   0, "gap" },
  {   1, "ncsg" },
  {   2, "nogap-noncsg" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapIndicationIntra_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NeedForNCSG_IntraFreq_r17_sequence[] = {
  { &hf_nr_rrc_servCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_gapIndicationIntra_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapIndicationIntra_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForNCSG_IntraFreq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForNCSG_IntraFreq_r17, NeedForNCSG_IntraFreq_r17_sequence);

  return offset;
}


static const per_sequence_t NeedForNCSG_IntraFreqList_r17_sequence_of[1] = {
  { &hf_nr_rrc_NeedForNCSG_IntraFreqList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForNCSG_IntraFreq_r17 },
};

static int
dissect_nr_rrc_NeedForNCSG_IntraFreqList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NeedForNCSG_IntraFreqList_r17, NeedForNCSG_IntraFreqList_r17_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const value_string nr_rrc_T_gapIndication_r17_01_vals[] = {
  {   0, "gap" },
  {   1, "ncsg" },
  {   2, "nogap-noncsg" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapIndication_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NeedForNCSG_NR_r17_sequence[] = {
  { &hf_nr_rrc_bandNR_r17   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_gapIndication_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapIndication_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForNCSG_NR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForNCSG_NR_r17, NeedForNCSG_NR_r17_sequence);

  return offset;
}


static const per_sequence_t NeedForNCSG_BandListNR_r17_sequence_of[1] = {
  { &hf_nr_rrc_NeedForNCSG_BandListNR_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForNCSG_NR_r17 },
};

static int
dissect_nr_rrc_NeedForNCSG_BandListNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NeedForNCSG_BandListNR_r17, NeedForNCSG_BandListNR_r17_sequence_of,
                                                  1, maxBands, FALSE);

  return offset;
}


static const per_sequence_t NeedForGapNCSG_InfoNR_r17_sequence[] = {
  { &hf_nr_rrc_intraFreq_needForNCSG_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForNCSG_IntraFreqList_r17 },
  { &hf_nr_rrc_interFreq_needForNCSG_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForNCSG_BandListNR_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForGapNCSG_InfoNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForGapNCSG_InfoNR_r17, NeedForGapNCSG_InfoNR_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_gapIndication_r17_vals[] = {
  {   0, "gap" },
  {   1, "ncsg" },
  {   2, "nogap-noncsg" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapIndication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NeedForNCSG_EUTRA_r17_sequence[] = {
  { &hf_nr_rrc_bandEUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
  { &hf_nr_rrc_gapIndication_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapIndication_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForNCSG_EUTRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForNCSG_EUTRA_r17, NeedForNCSG_EUTRA_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17_sequence_of[1] = {
  { &hf_nr_rrc_needForNCSG_EUTRA_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForNCSG_EUTRA_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17, SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17_sequence_of,
                                                  1, maxBandsEUTRA, FALSE);

  return offset;
}


static const per_sequence_t NeedForGapNCSG_InfoEUTRA_r17_sequence[] = {
  { &hf_nr_rrc_needForNCSG_EUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17, NeedForGapNCSG_InfoEUTRA_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_mbsInterestIndication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_MBSInterestIndication_r17_PDU);

  return offset;
}


static const per_sequence_t AS_Context_eag_6_sequence[] = {
  { &hf_nr_rrc_needForGapNCSG_InfoNR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapNCSG_InfoNR_r17 },
  { &hf_nr_rrc_needForGapNCSG_InfoEUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17 },
  { &hf_nr_rrc_mbsInterestIndication_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mbsInterestIndication_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Context_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_6_sequence);

  return offset;
}


static const per_sequence_t AS_Context_sequence[] = {
  { &hf_nr_rrc_reestablishmentInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReestablishmentInfo },
  { &hf_nr_rrc_configRestrictInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ConfigRestrictInfoSCG },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AS_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AS_Context, AS_Context_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_01_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence);

  return offset;
}


static const per_sequence_t HandoverPreparationInformation_IEs_sequence[] = {
  { &hf_nr_rrc_ue_CapabilityRAT_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_ContainerList },
  { &hf_nr_rrc_sourceConfig , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AS_Config },
  { &hf_nr_rrc_rrm_Config   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRM_Config },
  { &hf_nr_rrc_as_Context   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AS_Context },
  { &hf_nr_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HandoverPreparationInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HandoverPreparationInformation_IEs, HandoverPreparationInformation_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_01_vals[] = {
  {   0, "handoverPreparationInformation" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_01_choice[] = {
  {   0, &hf_nr_rrc_handoverPreparationInformation, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_HandoverPreparationInformation_IEs },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_01, T_c1_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_01_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_01_choice[] = {
  {   0, &hf_nr_rrc_c1_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_01 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t HandoverPreparationInformation_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HandoverPreparationInformation, HandoverPreparationInformation_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_scg_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_scg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);

  return offset;
}


static const per_sequence_t ConfigRestrictModReqSCG_eag_1_sequence[] = {
  { &hf_nr_rrc_requestedPDCCH_BlindDetectionSCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_requestedP_MaxEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictModReqSCG_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictModReqSCG_eag_1_sequence);

  return offset;
}


static const per_sequence_t ConfigRestrictModReqSCG_eag_2_sequence[] = {
  { &hf_nr_rrc_requestedP_MaxFR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_requestedMaxInterFreqMeasIdSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN },
  { &hf_nr_rrc_requestedMaxIntraFreqMeasIdSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN },
  { &hf_nr_rrc_requestedToffset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_Offset_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictModReqSCG_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictModReqSCG_eag_2_sequence);

  return offset;
}


static const per_sequence_t ConfigRestrictModReqSCG_sequence[] = {
  { &hf_nr_rrc_requestedBC_MRDC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationInfoSN },
  { &hf_nr_rrc_requestedP_MaxFR1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictModReqSCG_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictModReqSCG_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfigRestrictModReqSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ConfigRestrictModReqSCG, ConfigRestrictModReqSCG_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 9U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 19U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 39U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 59U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_69(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 69U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 79U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 127U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 159U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 319U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 511U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_639(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 639U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_1279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1279U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2047U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2559U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_5119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 5119U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_10239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 10239U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_drx_LongCycleStartOffset_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_vals);

static const per_choice_t T_drx_LongCycleStartOffset_choice[] = {
  {   0, &hf_nr_rrc_ms10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_ms20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_ms32         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   3, &hf_nr_rrc_ms40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_ms60         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_59 },
  {   5, &hf_nr_rrc_ms64         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   6, &hf_nr_rrc_ms70         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_69 },
  {   7, &hf_nr_rrc_ms80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   8, &hf_nr_rrc_ms128        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   9, &hf_nr_rrc_ms160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  10, &hf_nr_rrc_ms256        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  {  11, &hf_nr_rrc_ms320        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_ms512        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_511 },
  {  13, &hf_nr_rrc_ms640        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {  14, &hf_nr_rrc_ms1024       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1023 },
  {  15, &hf_nr_rrc_ms1280       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {  16, &hf_nr_rrc_ms2048       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2047 },
  {  17, &hf_nr_rrc_ms2560       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  {  18, &hf_nr_rrc_ms5120       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_5119 },
  {  19, &hf_nr_rrc_ms10240      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_10239 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_LongCycleStartOffset, T_drx_LongCycleStartOffset_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_ShortCycle_vals[] = {
  {   0, "ms2" },
  {   1, "ms3" },
  {   2, "ms4" },
  {   3, "ms5" },
  {   4, "ms6" },
  {   5, "ms7" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms14" },
  {   9, "ms16" },
  {  10, "ms20" },
  {  11, "ms30" },
  {  12, "ms32" },
  {  13, "ms35" },
  {  14, "ms40" },
  {  15, "ms64" },
  {  16, "ms80" },
  {  17, "ms128" },
  {  18, "ms160" },
  {  19, "ms256" },
  {  20, "ms320" },
  {  21, "ms512" },
  {  22, "ms640" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_drx_ShortCycle_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_vals);


static int
dissect_nr_rrc_T_drx_ShortCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_shortDRX_sequence[] = {
  { &hf_nr_rrc_drx_ShortCycle, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle },
  { &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_shortDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_shortDRX, T_shortDRX_sequence);

  return offset;
}


static const per_sequence_t DRX_Info_sequence[] = {
  { &hf_nr_rrc_drx_LongCycleStartOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset },
  { &hf_nr_rrc_shortDRX     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_shortDRX },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_Info, DRX_Info_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_candidateCellInfoListSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_MeasResultList2NR_PDU);

  return offset;
}


static const per_sequence_t NR_FreqInfo_sequence[] = {
  { &hf_nr_rrc_measuredFrequency, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NR_FreqInfo, NR_FreqInfo_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo_sequence_of[1] = {
  { &hf_nr_rrc_measuredFrequenciesSN_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_FreqInfo },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo, SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo_sequence_of,
                                                  1, maxMeasFreqsSN, FALSE);

  return offset;
}


static const per_sequence_t MeasConfigSN_sequence[] = {
  { &hf_nr_rrc_measuredFrequenciesSN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasConfigSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasConfigSN, MeasConfigSN_sequence);

  return offset;
}


static const value_string nr_rrc_T_fr_Type_vals[] = {
  {   0, "fr1" },
  {   1, "fr2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FR_Info_sequence[] = {
  { &hf_nr_rrc_servCellIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_fr_Type      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_fr_Type },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FR_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FR_Info, FR_Info_sequence);

  return offset;
}


static const per_sequence_t FR_InfoList_sequence_of[1] = {
  { &hf_nr_rrc_FR_InfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FR_Info },
};

static int
dissect_nr_rrc_FR_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FR_InfoList, FR_InfoList_sequence_of,
                                                  1, maxNrofServingCells_1, FALSE);

  return offset;
}


static const per_sequence_t CandidateServingFreqListNR_sequence_of[1] = {
  { &hf_nr_rrc_CandidateServingFreqListNR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
};

static int
dissect_nr_rrc_CandidateServingFreqListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CandidateServingFreqListNR, CandidateServingFreqListNR_sequence_of,
                                                  1, maxFreqIDC_MRDC, FALSE);

  return offset;
}


static const per_sequence_t T_requestedCellInfo_sequence[] = {
  { &hf_nr_rrc_ssbFrequency , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_cellForWhichToReportCGI, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_requestedCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_requestedCellInfo, T_requestedCellInfo_sequence);

  return offset;
}


static const per_sequence_t T_reportCGI_RequestNR_sequence[] = {
  { &hf_nr_rrc_requestedCellInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_requestedCellInfo },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reportCGI_RequestNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reportCGI_RequestNR, T_reportCGI_RequestNR_sequence);

  return offset;
}


static const value_string nr_rrc_T_ph_Type1or3_vals[] = {
  {   0, "type1" },
  {   1, "type3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ph_Type1or3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PH_UplinkCarrierSCG_sequence[] = {
  { &hf_nr_rrc_ph_Type1or3  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ph_Type1or3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PH_UplinkCarrierSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PH_UplinkCarrierSCG, PH_UplinkCarrierSCG_sequence);

  return offset;
}


static const value_string nr_rrc_T_twoSRS_PUSCH_Repetition_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoSRS_PUSCH_Repetition_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PH_InfoSCG_eag_1_sequence[] = {
  { &hf_nr_rrc_twoSRS_PUSCH_Repetition_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoSRS_PUSCH_Repetition_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PH_InfoSCG_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PH_InfoSCG_eag_1_sequence);

  return offset;
}


static const per_sequence_t PH_InfoSCG_sequence[] = {
  { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_ph_Uplink    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_UplinkCarrierSCG },
  { &hf_nr_rrc_ph_SupplementaryUplink, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PH_UplinkCarrierSCG },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_InfoSCG_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PH_InfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PH_InfoSCG, PH_InfoSCG_sequence);

  return offset;
}


static const per_sequence_t PH_TypeListSCG_sequence_of[1] = {
  { &hf_nr_rrc_PH_TypeListSCG_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_InfoSCG },
};

static int
dissect_nr_rrc_PH_TypeListSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PH_TypeListSCG, PH_TypeListSCG_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_scg_CellGroupConfigEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *scg_cell_group_config_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &scg_cell_group_config_eutra_tvb);

  if (scg_cell_group_config_eutra_tvb && lte_rrc_conn_reconf_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_scg_CellGroupConfigEUTRA);
    nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, scg_cell_group_config_eutra_tvb, actx->pinfo, subtree);
  }


  return offset;
}



static int
dissect_nr_rrc_T_cG_Config_v1560_IEs_candidateCellInfoListSN_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *cand_cell_info_list_sn_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &cand_cell_info_list_sn_eutra_tvb);

  if (cand_cell_info_list_sn_eutra_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListSN_EUTRA);
    dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_sn_eutra_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t CandidateServingFreqListEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_CandidateServingFreqListEUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
};

static int
dissect_nr_rrc_CandidateServingFreqListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CandidateServingFreqListEUTRA, CandidateServingFreqListEUTRA_sequence_of,
                                                  1, maxFreqIDC_MRDC, FALSE);

  return offset;
}


static const value_string nr_rrc_T_needForGaps_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_needForGaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 31U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_milliSeconds_01_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms3" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms6" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms30" },
  {  10, "ms40" },
  {  11, "ms50" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms200" },
  {  16, "ms300" },
  {  17, "ms400" },
  {  18, "ms500" },
  {  19, "ms600" },
  {  20, "ms800" },
  {  21, "ms1000" },
  {  22, "ms1200" },
  {  23, "ms1600" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_milliSeconds_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_01_vals);


static int
dissect_nr_rrc_T_milliSeconds_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_onDurationTimer_01_vals[] = {
  {   0, "subMilliSeconds" },
  {   1, "milliSeconds" },
  { 0, NULL }
};

static const per_choice_t T_drx_onDurationTimer_01_choice[] = {
  {   0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_31 },
  {   1, &hf_nr_rrc_milliSeconds_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_milliSeconds_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_onDurationTimer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_onDurationTimer_01, T_drx_onDurationTimer_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_InactivityTimer_vals[] = {
  {   0, "ms0" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms6" },
  {   7, "ms8" },
  {   8, "ms10" },
  {   9, "ms20" },
  {  10, "ms30" },
  {  11, "ms40" },
  {  12, "ms50" },
  {  13, "ms60" },
  {  14, "ms80" },
  {  15, "ms100" },
  {  16, "ms200" },
  {  17, "ms300" },
  {  18, "ms500" },
  {  19, "ms750" },
  {  20, "ms1280" },
  {  21, "ms1920" },
  {  22, "ms2560" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_drx_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_InactivityTimer_vals);


static int
dissect_nr_rrc_T_drx_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 56U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_drx_RetransmissionTimerDL_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "sl6" },
  {   5, "sl8" },
  {   6, "sl16" },
  {   7, "sl24" },
  {   8, "sl33" },
  {   9, "sl40" },
  {  10, "sl64" },
  {  11, "sl80" },
  {  12, "sl96" },
  {  13, "sl112" },
  {  14, "sl128" },
  {  15, "sl160" },
  {  16, "sl320" },
  {  17, "spare15" },
  {  18, "spare14" },
  {  19, "spare13" },
  {  20, "spare12" },
  {  21, "spare11" },
  {  22, "spare10" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_drx_RetransmissionTimerDL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerDL_vals);


static int
dissect_nr_rrc_T_drx_RetransmissionTimerDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_RetransmissionTimerUL_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "sl6" },
  {   5, "sl8" },
  {   6, "sl16" },
  {   7, "sl24" },
  {   8, "sl33" },
  {   9, "sl40" },
  {  10, "sl64" },
  {  11, "sl80" },
  {  12, "sl96" },
  {  13, "sl112" },
  {  14, "sl128" },
  {  15, "sl160" },
  {  16, "sl320" },
  {  17, "spare15" },
  {  18, "spare14" },
  {  19, "spare13" },
  {  20, "spare12" },
  {  21, "spare11" },
  {  22, "spare10" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_drx_RetransmissionTimerUL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerUL_vals);


static int
dissect_nr_rrc_T_drx_RetransmissionTimerUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_LongCycleStartOffset_01_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_01_vals);

static const per_choice_t T_drx_LongCycleStartOffset_01_choice[] = {
  {   0, &hf_nr_rrc_ms10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_ms20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_ms32         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   3, &hf_nr_rrc_ms40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_ms60         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_59 },
  {   5, &hf_nr_rrc_ms64         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   6, &hf_nr_rrc_ms70         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_69 },
  {   7, &hf_nr_rrc_ms80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   8, &hf_nr_rrc_ms128        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   9, &hf_nr_rrc_ms160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  10, &hf_nr_rrc_ms256        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  {  11, &hf_nr_rrc_ms320        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_ms512        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_511 },
  {  13, &hf_nr_rrc_ms640        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {  14, &hf_nr_rrc_ms1024       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1023 },
  {  15, &hf_nr_rrc_ms1280       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {  16, &hf_nr_rrc_ms2048       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2047 },
  {  17, &hf_nr_rrc_ms2560       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  {  18, &hf_nr_rrc_ms5120       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_5119 },
  {  19, &hf_nr_rrc_ms10240      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_10239 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_LongCycleStartOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_LongCycleStartOffset_01, T_drx_LongCycleStartOffset_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_ShortCycle_01_vals[] = {
  {   0, "ms2" },
  {   1, "ms3" },
  {   2, "ms4" },
  {   3, "ms5" },
  {   4, "ms6" },
  {   5, "ms7" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms14" },
  {   9, "ms16" },
  {  10, "ms20" },
  {  11, "ms30" },
  {  12, "ms32" },
  {  13, "ms35" },
  {  14, "ms40" },
  {  15, "ms64" },
  {  16, "ms80" },
  {  17, "ms128" },
  {  18, "ms160" },
  {  19, "ms256" },
  {  20, "ms320" },
  {  21, "ms512" },
  {  22, "ms640" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_drx_ShortCycle_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_01_vals);


static int
dissect_nr_rrc_T_drx_ShortCycle_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_shortDRX_01_sequence[] = {
  { &hf_nr_rrc_drx_ShortCycle_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle_01 },
  { &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_shortDRX_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_shortDRX_01, T_shortDRX_01_sequence);

  return offset;
}


static const per_sequence_t DRX_Config_sequence[] = {
  { &hf_nr_rrc_drx_onDurationTimer_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer_01 },
  { &hf_nr_rrc_drx_InactivityTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimer },
  { &hf_nr_rrc_drx_HARQ_RTT_TimerDL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
  { &hf_nr_rrc_drx_HARQ_RTT_TimerUL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
  { &hf_nr_rrc_drx_RetransmissionTimerDL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerDL },
  { &hf_nr_rrc_drx_RetransmissionTimerUL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerUL },
  { &hf_nr_rrc_drx_LongCycleStartOffset_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset_01 },
  { &hf_nr_rrc_shortDRX_01  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_shortDRX_01 },
  { &hf_nr_rrc_drx_SlotOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_Config, DRX_Config_sequence);

  return offset;
}



static int
dissect_nr_rrc_EUTRA_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 503U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_requestedCellInfoEUTRA_sequence[] = {
  { &hf_nr_rrc_eutraFrequency, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_cellForWhichToReportCGI_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_requestedCellInfoEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_requestedCellInfoEUTRA, T_requestedCellInfoEUTRA_sequence);

  return offset;
}


static const per_sequence_t T_reportCGI_RequestEUTRA_sequence[] = {
  { &hf_nr_rrc_requestedCellInfoEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_requestedCellInfoEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reportCGI_RequestEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reportCGI_RequestEUTRA, T_reportCGI_RequestEUTRA_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR_sequence_of[1] = {
  { &hf_nr_rrc_scellFrequenciesSN_NR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR, SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR_sequence_of,
                                                  1, maxNrofServingCells_1, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_scellFrequenciesSN_EUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA, SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA_sequence_of,
                                                  1, maxNrofServingCells_1, FALSE);

  return offset;
}


static const value_string nr_rrc_T_milliSeconds_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms3" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms6" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms30" },
  {  10, "ms40" },
  {  11, "ms50" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms200" },
  {  16, "ms300" },
  {  17, "ms400" },
  {  18, "ms500" },
  {  19, "ms600" },
  {  20, "ms800" },
  {  21, "ms1000" },
  {  22, "ms1200" },
  {  23, "ms1600" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_milliSeconds_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_vals);


static int
dissect_nr_rrc_T_milliSeconds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_onDurationTimer_vals[] = {
  {   0, "subMilliSeconds" },
  {   1, "milliSeconds" },
  { 0, NULL }
};

static const per_choice_t T_drx_onDurationTimer_choice[] = {
  {   0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_31 },
  {   1, &hf_nr_rrc_milliSeconds , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_milliSeconds },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_onDurationTimer, T_drx_onDurationTimer_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DRX_Info2_sequence[] = {
  { &hf_nr_rrc_drx_onDurationTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_Info2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_Info2, DRX_Info2_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_ueAssistanceInformationSCG_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UEAssistanceInformation_PDU);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofPhysicalResourceBlocks, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_SubcarrierSpacing_vals[] = {
  {   0, "kHz15" },
  {   1, "kHz30" },
  {   2, "kHz60" },
  {   3, "kHz120" },
  {   4, "kHz240" },
  {   5, "kHz480-v1700" },
  {   6, "kHz960-v1700" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FrequencyConfig_NR_r16_sequence[] = {
  { &hf_nr_rrc_freqBandIndicatorNR_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_carrierCenterFreq_NR_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_carrierBandwidth_NR_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks },
  { &hf_nr_rrc_subcarrierSpacing_NR_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FrequencyConfig_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FrequencyConfig_NR_r16, FrequencyConfig_NR_r16_sequence);

  return offset;
}


static const per_sequence_t ServCellInfoXCG_NR_r16_sequence[] = {
  { &hf_nr_rrc_dl_FreqInfo_NR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FrequencyConfig_NR_r16 },
  { &hf_nr_rrc_ul_FreqInfo_NR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FrequencyConfig_NR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServCellInfoXCG_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ServCellInfoXCG_NR_r16, ServCellInfoXCG_NR_r16_sequence);

  return offset;
}


static const per_sequence_t ServCellInfoListSCG_NR_r16_sequence_of[1] = {
  { &hf_nr_rrc_ServCellInfoListSCG_NR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellInfoXCG_NR_r16 },
};

static int
dissect_nr_rrc_ServCellInfoListSCG_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ServCellInfoListSCG_NR_r16, ServCellInfoListSCG_NR_r16_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const value_string nr_rrc_TransmissionBandwidth_EUTRA_r16_vals[] = {
  {   0, "rb6" },
  {   1, "rb15" },
  {   2, "rb25" },
  {   3, "rb50" },
  {   4, "rb75" },
  {   5, "rb100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_TransmissionBandwidth_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServCellInfoXCG_EUTRA_r16_sequence[] = {
  { &hf_nr_rrc_dl_CarrierFreq_EUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_ul_CarrierFreq_EUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_transmissionBandwidth_EUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TransmissionBandwidth_EUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServCellInfoXCG_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ServCellInfoXCG_EUTRA_r16, ServCellInfoXCG_EUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t ServCellInfoListSCG_EUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_ServCellInfoListSCG_EUTRA_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellInfoXCG_EUTRA_r16 },
};

static int
dissect_nr_rrc_ServCellInfoListSCG_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ServCellInfoListSCG_EUTRA_r16, ServCellInfoListSCG_EUTRA_r16_sequence_of,
                                                  1, maxNrofServingCellsEUTRA, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_condExecutionCondSCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CondReconfigExecCondSCG_r17_PDU);

  return offset;
}


static const per_sequence_t CandidateCell_r17_sequence[] = {
  { &hf_nr_rrc_physCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_condExecutionCondSCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condExecutionCondSCG_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CandidateCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CandidateCell_r17, CandidateCell_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17_sequence_of[1] = {
  { &hf_nr_rrc_candidateList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateCell_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17, SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17_sequence_of,
                                                  1, maxNrofCondCells_r16, FALSE);

  return offset;
}


static const per_sequence_t CandidateCellInfo_r17_sequence[] = {
  { &hf_nr_rrc_ssbFrequency_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_candidateList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CandidateCellInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CandidateCellInfo_r17, CandidateCellInfo_r17_sequence);

  return offset;
}


static const per_sequence_t CandidateCellInfoListCPC_r17_sequence_of[1] = {
  { &hf_nr_rrc_CandidateCellInfoListCPC_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateCellInfo_r17 },
};

static int
dissect_nr_rrc_CandidateCellInfoListCPC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CandidateCellInfoListCPC_r17, CandidateCellInfoListCPC_r17_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const value_string nr_rrc_T_twoPHRModeSCG_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPHRModeSCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_02_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1730_IEs_sequence[] = {
  { &hf_nr_rrc_fr1_Carriers_SCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_fr2_Carriers_SCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_nonCriticalExtension_11, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1730_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1730_IEs, CG_Config_v1730_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_candidateCellInfoListCPC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CandidateCellInfoListCPC_r17 },
  { &hf_nr_rrc_twoPHRModeSCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPHRModeSCG_r17 },
  { &hf_nr_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1730_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1700_IEs, CG_Config_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1640_IEs_sequence[] = {
  { &hf_nr_rrc_servCellInfoListSCG_NR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellInfoListSCG_NR_r16 },
  { &hf_nr_rrc_servCellInfoListSCG_EUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellInfoListSCG_EUTRA_r16 },
  { &hf_nr_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1640_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1640_IEs, CG_Config_v1640_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1630_IEs_sequence[] = {
  { &hf_nr_rrc_selectedToffset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_Offset_r16 },
  { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1640_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1630_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1630_IEs, CG_Config_v1630_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1620_IEs_sequence[] = {
  { &hf_nr_rrc_ueAssistanceInformationSCG_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ueAssistanceInformationSCG_r16_01 },
  { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1630_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1620_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1620_IEs, CG_Config_v1620_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_drx_InfoSCG2 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DRX_Info2 },
  { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1620_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1610_IEs, CG_Config_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1590_IEs_sequence[] = {
  { &hf_nr_rrc_scellFrequenciesSN_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR },
  { &hf_nr_rrc_scellFrequenciesSN_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1590_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1590_IEs, CG_Config_v1590_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1560_IEs_sequence[] = {
  { &hf_nr_rrc_pSCellFrequencyEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_scg_CellGroupConfigEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_CellGroupConfigEUTRA },
  { &hf_nr_rrc_cG_Config_v1560_IEs_candidateCellInfoListSN_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cG_Config_v1560_IEs_candidateCellInfoListSN_EUTRA },
  { &hf_nr_rrc_candidateServingFreqListEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CandidateServingFreqListEUTRA },
  { &hf_nr_rrc_needForGaps  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_needForGaps },
  { &hf_nr_rrc_drx_ConfigSCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DRX_Config },
  { &hf_nr_rrc_reportCGI_RequestEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportCGI_RequestEUTRA },
  { &hf_nr_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1590_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1560_IEs, CG_Config_v1560_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_v1540_IEs_sequence[] = {
  { &hf_nr_rrc_pSCellFrequency, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_reportCGI_RequestNR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportCGI_RequestNR },
  { &hf_nr_rrc_ph_InfoSCG   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PH_TypeListSCG },
  { &hf_nr_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1560_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_v1540_IEs, CG_Config_v1540_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_Config_IEs_sequence[] = {
  { &hf_nr_rrc_scg_CellGroupConfig, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_CellGroupConfig },
  { &hf_nr_rrc_scg_RB_Config, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_RB_Config },
  { &hf_nr_rrc_configRestrictModReq, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfigRestrictModReqSCG },
  { &hf_nr_rrc_drx_InfoSCG  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DRX_Info },
  { &hf_nr_rrc_candidateCellInfoListSN, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_candidateCellInfoListSN },
  { &hf_nr_rrc_measConfigSN , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasConfigSN },
  { &hf_nr_rrc_selectedBandCombination, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationInfoSN },
  { &hf_nr_rrc_fr_InfoListSCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FR_InfoList },
  { &hf_nr_rrc_candidateServingFreqListNR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CandidateServingFreqListNR },
  { &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_Config_v1540_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config_IEs, CG_Config_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_02_vals[] = {
  {   0, "cg-Config" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_02_choice[] = {
  {   0, &hf_nr_rrc_cg_Config    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CG_Config_IEs },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_02, T_c1_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_02_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_02_choice[] = {
  {   0, &hf_nr_rrc_c1_02        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_02 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CG_Config_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_Config, CG_Config_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_ue_CapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_candidateCellInfoListSN_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_MeasResultList2NR_PDU);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M30720_30719(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -30720, 30719U, NULL, FALSE);

  return offset;
}


static const per_sequence_t MeasResultCellSFTD_NR_sequence[] = {
  { &hf_nr_rrc_physCellId   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_sfn_OffsetResult, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_frameBoundaryOffsetResult, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30720_30719 },
  { &hf_nr_rrc_rsrp_Result  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultCellSFTD_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultCellSFTD_NR, MeasResultCellSFTD_NR_sequence);

  return offset;
}


static const per_sequence_t MeasResultCellListSFTD_NR_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultCellListSFTD_NR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCellSFTD_NR },
};

static int
dissect_nr_rrc_MeasResultCellListSFTD_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultCellListSFTD_NR, MeasResultCellListSFTD_NR_sequence_of,
                                                  1, maxCellSFTD, FALSE);

  return offset;
}


static const value_string nr_rrc_T_failureType_vals[] = {
  {   0, "t310-Expiry" },
  {   1, "randomAccessProblem" },
  {   2, "rlc-MaxNumRetx" },
  {   3, "synchReconfigFailure-SCG" },
  {   4, "scg-reconfigFailure" },
  {   5, "srb3-IntegrityFailure" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_T_measResultSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_MeasResultSCG_Failure_PDU);

  return offset;
}


static const per_sequence_t T_scgFailureInfo_sequence[] = {
  { &hf_nr_rrc_failureType  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType },
  { &hf_nr_rrc_measResultSCG, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultSCG },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_scgFailureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_scgFailureInfo, T_scgFailureInfo_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo_sequence_of[1] = {
  { &hf_nr_rrc_measuredFrequenciesMN_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_FreqInfo },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo, SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo_sequence_of,
                                                  1, maxMeasFreqsMN, FALSE);

  return offset;
}


static const value_string nr_rrc_T_mgl_vals[] = {
  {   0, "ms1dot5" },
  {   1, "ms3" },
  {   2, "ms3dot5" },
  {   3, "ms4" },
  {   4, "ms5dot5" },
  {   5, "ms6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mgrp_vals[] = {
  {   0, "ms20" },
  {   1, "ms40" },
  {   2, "ms80" },
  {   3, "ms160" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgrp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mgta_vals[] = {
  {   0, "ms0" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgta(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_refServCellIndicator_vals[] = {
  {   0, "pCell" },
  {   1, "pSCell" },
  {   2, "mcg-FR2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_refServCellIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t GapConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_refServCellIndicator, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_refServCellIndicator },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GapConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GapConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_mgl_r16_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgl_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t GapConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_refFR2ServCellAsyncCA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_mgl_r16      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mgl_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GapConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GapConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t GapConfig_sequence[] = {
  { &hf_nr_rrc_gapOffset    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 },
  { &hf_nr_rrc_mgl          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgl },
  { &hf_nr_rrc_mgrp         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgrp },
  { &hf_nr_rrc_mgta         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgta },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_GapConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_GapConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GapConfig, GapConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_measGapConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_measGapConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_GapConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_measGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_measGapConfig, T_measGapConfig_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_gapPurpose_vals[] = {
  {   0, "perUE" },
  {   1, "perFR1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapPurpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_measGapConfigFR2_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_measGapConfigFR2_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_GapConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_measGapConfigFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_measGapConfigFR2, T_measGapConfigFR2_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasConfigMN_eag_1_sequence[] = {
  { &hf_nr_rrc_measGapConfigFR2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measGapConfigFR2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasConfigMN_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfigMN_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_interFreqNoGap_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFreqNoGap_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasConfigMN_eag_2_sequence[] = {
  { &hf_nr_rrc_interFreqNoGap_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqNoGap_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasConfigMN_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfigMN_eag_2_sequence);

  return offset;
}


static const per_sequence_t MeasConfigMN_sequence[] = {
  { &hf_nr_rrc_measuredFrequenciesMN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo },
  { &hf_nr_rrc_measGapConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_measGapConfig },
  { &hf_nr_rrc_gapPurpose   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_gapPurpose },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfigMN_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfigMN_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasConfigMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasConfigMN, MeasConfigMN_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_sourceConfigSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_scg_RB_Config_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_mcg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);

  return offset;
}


static const value_string nr_rrc_T_gps_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_glonass_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_glonass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bds_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_galileo_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_galileo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_wlan_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_wlan(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bluetooth_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bluetooth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t VictimSystemType_sequence[] = {
  { &hf_nr_rrc_gps          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gps },
  { &hf_nr_rrc_glonass      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_glonass },
  { &hf_nr_rrc_bds          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bds },
  { &hf_nr_rrc_galileo      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_galileo },
  { &hf_nr_rrc_wlan         , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_wlan },
  { &hf_nr_rrc_bluetooth    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bluetooth },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_VictimSystemType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_VictimSystemType, VictimSystemType_sequence);

  return offset;
}


static const value_string nr_rrc_T_interferenceDirectionMRDC_vals[] = {
  {   0, "eutra-nr" },
  {   1, "nr" },
  {   2, "other" },
  {   3, "utra-nr-other" },
  {   4, "nr-other" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interferenceDirectionMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t AffectedCarrierFreqCombEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
};

static int
dissect_nr_rrc_AffectedCarrierFreqCombEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_AffectedCarrierFreqCombEUTRA, AffectedCarrierFreqCombEUTRA_sequence_of,
                                                  1, maxNrofServingCellsEUTRA, FALSE);

  return offset;
}


static const per_sequence_t AffectedCarrierFreqCombNR_sequence_of[1] = {
  { &hf_nr_rrc_AffectedCarrierFreqCombNR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
};

static int
dissect_nr_rrc_AffectedCarrierFreqCombNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_AffectedCarrierFreqCombNR, AffectedCarrierFreqCombNR_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t T_affectedCarrierFreqCombMRDC_sequence[] = {
  { &hf_nr_rrc_affectedCarrierFreqCombEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AffectedCarrierFreqCombEUTRA },
  { &hf_nr_rrc_affectedCarrierFreqCombNR, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreqCombNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_affectedCarrierFreqCombMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_affectedCarrierFreqCombMRDC, T_affectedCarrierFreqCombMRDC_sequence);

  return offset;
}


static const per_sequence_t AffectedCarrierFreqCombInfoMRDC_sequence[] = {
  { &hf_nr_rrc_victimSystemType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VictimSystemType },
  { &hf_nr_rrc_interferenceDirectionMRDC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interferenceDirectionMRDC },
  { &hf_nr_rrc_affectedCarrierFreqCombMRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_affectedCarrierFreqCombMRDC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AffectedCarrierFreqCombInfoMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC, AffectedCarrierFreqCombInfoMRDC_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC_sequence_of[1] = {
  { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreqCombInfoMRDC },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC, SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC_sequence_of,
                                                  1, maxNrofCombIDC, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_overheatingAssistanceSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_OverheatingAssistance_PDU);

  return offset;
}


static const per_sequence_t MRDC_AssistanceInfo_eag_1_sequence[] = {
  { &hf_nr_rrc_overheatingAssistanceSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_overheatingAssistanceSCG_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_AssistanceInfo_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MRDC_AssistanceInfo_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_overheatingAssistanceSCG_FR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_OverheatingAssistance_r17_PDU);

  return offset;
}


static const per_sequence_t MRDC_AssistanceInfo_eag_2_sequence[] = {
  { &hf_nr_rrc_overheatingAssistanceSCG_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_overheatingAssistanceSCG_FR2_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_AssistanceInfo_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MRDC_AssistanceInfo_eag_2_sequence);

  return offset;
}


static const per_sequence_t MRDC_AssistanceInfo_sequence[] = {
  { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_AssistanceInfo_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_AssistanceInfo_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_AssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_AssistanceInfo, MRDC_AssistanceInfo_sequence);

  return offset;
}


static const value_string nr_rrc_T_ph_Type1or3_01_vals[] = {
  {   0, "type1" },
  {   1, "type3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ph_Type1or3_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PH_UplinkCarrierMCG_sequence[] = {
  { &hf_nr_rrc_ph_Type1or3_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ph_Type1or3_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PH_UplinkCarrierMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PH_UplinkCarrierMCG, PH_UplinkCarrierMCG_sequence);

  return offset;
}


static const value_string nr_rrc_T_twoSRS_PUSCH_Repetition_r17_01_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoSRS_PUSCH_Repetition_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PH_InfoMCG_eag_1_sequence[] = {
  { &hf_nr_rrc_twoSRS_PUSCH_Repetition_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoSRS_PUSCH_Repetition_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PH_InfoMCG_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PH_InfoMCG_eag_1_sequence);

  return offset;
}


static const per_sequence_t PH_InfoMCG_sequence[] = {
  { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_ph_Uplink_01 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_UplinkCarrierMCG },
  { &hf_nr_rrc_ph_SupplementaryUplink_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PH_UplinkCarrierMCG },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_InfoMCG_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PH_InfoMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PH_InfoMCG, PH_InfoMCG_sequence);

  return offset;
}


static const per_sequence_t PH_TypeListMCG_sequence_of[1] = {
  { &hf_nr_rrc_PH_TypeListMCG_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_InfoMCG },
};

static int
dissect_nr_rrc_PH_TypeListMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PH_TypeListMCG, PH_TypeListMCG_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t T_measResultReportCGI_sequence[] = {
  { &hf_nr_rrc_ssbFrequency , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_cellForWhichToReportCGI, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_cgi_Info     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultReportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResultReportCGI, T_measResultReportCGI_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_candidateCellInfoListMN_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *cand_cell_info_list_mn_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &cand_cell_info_list_mn_eutra_tvb);

  if (cand_cell_info_list_mn_eutra_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListMN_EUTRA);
    dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_mn_eutra_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_cG_ConfigInfo_v1560_IEs_candidateCellInfoListSN_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *cand_cell_info_list_sn_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &cand_cell_info_list_sn_eutra_tvb);

  if (cand_cell_info_list_sn_eutra_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListSN_EUTRA);
    dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_sn_eutra_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_sourceConfigSCG_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *source_config_scg_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &source_config_scg_eutra_tvb);

  if (source_config_scg_eutra_tvb && lte_rrc_conn_reconf_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sourceConfigSCG_EUTRA);
    nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, source_config_scg_eutra_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const value_string nr_rrc_T_failureTypeEUTRA_vals[] = {
  {   0, "t313-Expiry" },
  {   1, "randomAccessProblem" },
  {   2, "rlc-MaxNumRetx" },
  {   3, "scg-ChangeFailure" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureTypeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_T_measResultSCG_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &meas_result_scg_fail_mrdc_tvb);

  if (meas_result_scg_fail_mrdc_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
    dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t T_scgFailureInfoEUTRA_sequence[] = {
  { &hf_nr_rrc_failureTypeEUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureTypeEUTRA },
  { &hf_nr_rrc_measResultSCG_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultSCG_EUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_scgFailureInfoEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_scgFailureInfoEUTRA, T_scgFailureInfoEUTRA_sequence);

  return offset;
}


static const per_sequence_t T_measResultReportCGI_EUTRA_sequence[] = {
  { &hf_nr_rrc_eutraFrequency, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_cellForWhichToReportCGI_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { &hf_nr_rrc_cgi_InfoEUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultReportCGI_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResultReportCGI_EUTRA, T_measResultReportCGI_EUTRA_sequence);

  return offset;
}


static const per_sequence_t MeasResultSFTD_EUTRA_sequence[] = {
  { &hf_nr_rrc_eutra_PhysCellId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { &hf_nr_rrc_sfn_OffsetResult, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_frameBoundaryOffsetResult, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30720_30719 },
  { &hf_nr_rrc_rsrp_Result  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultSFTD_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultSFTD_EUTRA, MeasResultSFTD_EUTRA_sequence);

  return offset;
}


static const per_sequence_t MeasResultCellListSFTD_EUTRA_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultCellListSFTD_EUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultSFTD_EUTRA },
};

static int
dissect_nr_rrc_MeasResultCellListSFTD_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultCellListSFTD_EUTRA, MeasResultCellListSFTD_EUTRA_sequence_of,
                                                  1, maxCellSFTD, FALSE);

  return offset;
}


static const per_sequence_t SFTD_FrequencyList_NR_sequence_of[1] = {
  { &hf_nr_rrc_SFTD_FrequencyList_NR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
};

static int
dissect_nr_rrc_SFTD_FrequencyList_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SFTD_FrequencyList_NR, SFTD_FrequencyList_NR_sequence_of,
                                                  1, maxCellSFTD, FALSE);

  return offset;
}


static const per_sequence_t SFTD_FrequencyList_EUTRA_sequence_of[1] = {
  { &hf_nr_rrc_SFTD_FrequencyList_EUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
};

static int
dissect_nr_rrc_SFTD_FrequencyList_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SFTD_FrequencyList_EUTRA, SFTD_FrequencyList_EUTRA_sequence_of,
                                                  1, maxCellSFTD, FALSE);

  return offset;
}


static const value_string nr_rrc_T_alignedDRX_Indication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_alignedDRX_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_failureType_r16_vals[] = {
  {   0, "scg-lbtFailure-r16" },
  {   1, "beamFailureRecoveryFailure-r16" },
  {   2, "t312-Expiry-r16" },
  {   3, "bh-RLF-r16" },
  {   4, "beamFailure-r17" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_T_measResultSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_MeasResultSCG_Failure_PDU);

  return offset;
}


static const per_sequence_t T_scgFailureInfo_r16_sequence[] = {
  { &hf_nr_rrc_failureType_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_r16 },
  { &hf_nr_rrc_measResultSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultSCG_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_scgFailureInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_scgFailureInfo_r16, T_scgFailureInfo_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_failureTypeEUTRA_r16_vals[] = {
  {   0, "scg-lbtFailure-r16" },
  {   1, "beamFailureRecoveryFailure-r16" },
  {   2, "t312-Expiry-r16" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureTypeEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, NULL);

  return offset;
}


static const per_sequence_t T_dummy1_sequence[] = {
  { &hf_nr_rrc_failureTypeEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureTypeEUTRA_r16 },
  { &hf_nr_rrc_measResultSCG_EUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dummy1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dummy1, T_dummy1_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_sidelinkUEInformationNR_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_ueAssistanceInformationSourceSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UEAssistanceInformation_PDU);

  return offset;
}


static const per_sequence_t ServCellInfoListMCG_NR_r16_sequence_of[1] = {
  { &hf_nr_rrc_ServCellInfoListMCG_NR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellInfoXCG_NR_r16 },
};

static int
dissect_nr_rrc_ServCellInfoListMCG_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ServCellInfoListMCG_NR_r16, ServCellInfoListMCG_NR_r16_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t ServCellInfoListMCG_EUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_ServCellInfoListMCG_EUTRA_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellInfoXCG_EUTRA_r16 },
};

static int
dissect_nr_rrc_ServCellInfoListMCG_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ServCellInfoListMCG_EUTRA_r16, ServCellInfoListMCG_EUTRA_r16_sequence_of,
                                                  1, maxNrofServingCellsEUTRA, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId_sequence_of[1] = {
  { &hf_nr_rrc_candidateCellList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId, SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId_sequence_of,
                                                  1, maxNrofCondCells_r16, FALSE);

  return offset;
}


static const per_sequence_t CandidateCellCPC_r17_sequence[] = {
  { &hf_nr_rrc_ssbFrequency_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_candidateCellList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CandidateCellCPC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CandidateCellCPC_r17, CandidateCellCPC_r17_sequence);

  return offset;
}


static const per_sequence_t CandidateCellListCPC_r17_sequence_of[1] = {
  { &hf_nr_rrc_CandidateCellListCPC_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateCellCPC_r17 },
};

static int
dissect_nr_rrc_CandidateCellListCPC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CandidateCellListCPC_r17, CandidateCellListCPC_r17_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const value_string nr_rrc_T_twoPHRModeMCG_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPHRModeMCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lowMobilityEvaluationConnectedInPCell_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lowMobilityEvaluationConnectedInPCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_03_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1730_IEs_sequence[] = {
  { &hf_nr_rrc_fr1_Carriers_MCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_fr2_Carriers_MCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_nonCriticalExtension_21, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1730_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1730_IEs, CG_ConfigInfo_v1730_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_candidateCellListCPC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CandidateCellListCPC_r17 },
  { &hf_nr_rrc_twoPHRModeMCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPHRModeMCG_r17 },
  { &hf_nr_rrc_lowMobilityEvaluationConnectedInPCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowMobilityEvaluationConnectedInPCell_r17 },
  { &hf_nr_rrc_nonCriticalExtension_20, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1730_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1700_IEs, CG_ConfigInfo_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1640_IEs_sequence[] = {
  { &hf_nr_rrc_servCellInfoListMCG_NR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellInfoListMCG_NR_r16 },
  { &hf_nr_rrc_servCellInfoListMCG_EUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellInfoListMCG_EUTRA_r16 },
  { &hf_nr_rrc_nonCriticalExtension_19, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1640_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1640_IEs, CG_ConfigInfo_v1640_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1620_IEs_sequence[] = {
  { &hf_nr_rrc_ueAssistanceInformationSourceSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ueAssistanceInformationSourceSCG_r16 },
  { &hf_nr_rrc_nonCriticalExtension_18, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1640_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1620_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1620_IEs, CG_ConfigInfo_v1620_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_drx_InfoMCG2 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DRX_Info2 },
  { &hf_nr_rrc_alignedDRX_Indication, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_alignedDRX_Indication },
  { &hf_nr_rrc_scgFailureInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scgFailureInfo_r16 },
  { &hf_nr_rrc_dummy1       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy1 },
  { &hf_nr_rrc_sidelinkUEInformationNR_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sidelinkUEInformationNR_r16_01 },
  { &hf_nr_rrc_sidelinkUEInformationEUTRA_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1620_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1610_IEs, CG_ConfigInfo_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1590_IEs_sequence[] = {
  { &hf_nr_rrc_servFrequenciesMN_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR },
  { &hf_nr_rrc_nonCriticalExtension_16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1590_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1590_IEs, CG_ConfigInfo_v1590_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1570_IEs_sequence[] = {
  { &hf_nr_rrc_sftdFrequencyList_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SFTD_FrequencyList_NR },
  { &hf_nr_rrc_sftdFrequencyList_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SFTD_FrequencyList_EUTRA },
  { &hf_nr_rrc_nonCriticalExtension_15, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1590_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1570_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1570_IEs, CG_ConfigInfo_v1570_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1560_IEs_sequence[] = {
  { &hf_nr_rrc_candidateCellInfoListMN_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_candidateCellInfoListMN_EUTRA },
  { &hf_nr_rrc_cG_ConfigInfo_v1560_IEs_candidateCellInfoListSN_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cG_ConfigInfo_v1560_IEs_candidateCellInfoListSN_EUTRA },
  { &hf_nr_rrc_sourceConfigSCG_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sourceConfigSCG_EUTRA },
  { &hf_nr_rrc_scgFailureInfoEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scgFailureInfoEUTRA },
  { &hf_nr_rrc_drx_ConfigMCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DRX_Config },
  { &hf_nr_rrc_measResultReportCGI_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultReportCGI_EUTRA },
  { &hf_nr_rrc_measResultCellListSFTD_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultCellListSFTD_EUTRA },
  { &hf_nr_rrc_fr_InfoListMCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FR_InfoList },
  { &hf_nr_rrc_nonCriticalExtension_14, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1570_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1560_IEs, CG_ConfigInfo_v1560_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_v1540_IEs_sequence[] = {
  { &hf_nr_rrc_ph_InfoMCG   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PH_TypeListMCG },
  { &hf_nr_rrc_measResultReportCGI, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultReportCGI },
  { &hf_nr_rrc_nonCriticalExtension_13, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1560_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_v1540_IEs, CG_ConfigInfo_v1540_IEs_sequence);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_IEs_sequence[] = {
  { &hf_nr_rrc_ue_CapabilityInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_CapabilityInfo },
  { &hf_nr_rrc_candidateCellInfoListMN, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2NR },
  { &hf_nr_rrc_candidateCellInfoListSN_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_candidateCellInfoListSN_01 },
  { &hf_nr_rrc_measResultCellListSFTD_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultCellListSFTD_NR },
  { &hf_nr_rrc_scgFailureInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scgFailureInfo },
  { &hf_nr_rrc_configRestrictInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfigRestrictInfoSCG },
  { &hf_nr_rrc_drx_InfoMCG  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DRX_Info },
  { &hf_nr_rrc_measConfigMN , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasConfigMN },
  { &hf_nr_rrc_sourceConfigSCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sourceConfigSCG },
  { &hf_nr_rrc_scg_RB_Config_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_RB_Config_01 },
  { &hf_nr_rrc_mcg_RB_Config, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcg_RB_Config },
  { &hf_nr_rrc_mrdc_AssistanceInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MRDC_AssistanceInfo },
  { &hf_nr_rrc_nonCriticalExtension_12, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_ConfigInfo_v1540_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo_IEs, CG_ConfigInfo_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_03_vals[] = {
  {   0, "cg-ConfigInfo" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_03_choice[] = {
  {   0, &hf_nr_rrc_cg_ConfigInfo, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CG_ConfigInfo_IEs },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_03, T_c1_03_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_03_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_03_choice[] = {
  {   0, &hf_nr_rrc_c1_03        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_03 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_03 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CG_ConfigInfo_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_ConfigInfo, CG_ConfigInfo_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_periodicityAndOffset_01_vals[] = {
  {   0, "sf5" },
  {   1, "sf10" },
  {   2, "sf20" },
  {   3, "sf40" },
  {   4, "sf80" },
  {   5, "sf160" },
  { 0, NULL }
};

static const per_choice_t T_periodicityAndOffset_01_choice[] = {
  {   0, &hf_nr_rrc_sf5          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_4 },
  {   1, &hf_nr_rrc_sf10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   2, &hf_nr_rrc_sf20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   3, &hf_nr_rrc_sf40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_sf80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   5, &hf_nr_rrc_sf160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_periodicityAndOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_periodicityAndOffset_01, T_periodicityAndOffset_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_duration_vals[] = {
  {   0, "sf1" },
  {   1, "sf2" },
  {   2, "sf3" },
  {   3, "sf4" },
  {   4, "sf5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SSB_MTC_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset_01 },
  { &hf_nr_rrc_duration_02  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_duration },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_MTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_MTC, SSB_MTC_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, 80, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SS_RSSI_Measurement_sequence[] = {
  { &hf_nr_rrc_measurementSlots, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_80 },
  { &hf_nr_rrc_endSymbol    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SS_RSSI_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SS_RSSI_Measurement, SS_RSSI_Measurement_sequence);

  return offset;
}


static const per_sequence_t T_frequencyAndTiming_sequence[] = {
  { &hf_nr_rrc_carrierFreq  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_ssb_MeasurementTimingConfiguration, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_MTC },
  { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SS_RSSI_Measurement },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_frequencyAndTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_frequencyAndTiming, T_frequencyAndTiming_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     4, 4, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     8, 8, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     64, 64, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_SSB_ToMeasure_vals[] = {
  {   0, "shortBitmap" },
  {   1, "mediumBitmap" },
  {   2, "longBitmap" },
  { 0, NULL }
};

static const per_choice_t SSB_ToMeasure_choice[] = {
  {   0, &hf_nr_rrc_shortBitmap  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   2, &hf_nr_rrc_longBitmap   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SSB_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SSB_ToMeasure, SSB_ToMeasure_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasTiming_eag_1_sequence[] = {
  { &hf_nr_rrc_ssb_ToMeasure, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_ToMeasure },
  { &hf_nr_rrc_physCellId   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PhysCellId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasTiming_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasTiming_eag_1_sequence);

  return offset;
}


static const per_sequence_t MeasTiming_sequence[] = {
  { &hf_nr_rrc_frequencyAndTiming, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyAndTiming },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTiming_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasTiming, MeasTiming_sequence);

  return offset;
}


static const per_sequence_t MeasTimingList_sequence_of[1] = {
  { &hf_nr_rrc_MeasTimingList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTiming },
};

static int
dissect_nr_rrc_MeasTimingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasTimingList, MeasTimingList_sequence_of,
                                                  1, maxMeasFreqsMN, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofPRBs_vals[] = {
  {   0, "size24" },
  {   1, "size48" },
  {   2, "size96" },
  {   3, "size192" },
  {   4, "size264" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofPRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_2169(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2169U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = {
  { &hf_nr_rrc_nrofPRBs     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPRBs },
  { &hf_nr_rrc_startPRB     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence);

  return offset;
}


static const value_string nr_rrc_T_density_vals[] = {
  {   0, "d1" },
  {   1, "d3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_slotConfig_vals[] = {
  {   0, "ms4" },
  {   1, "ms5" },
  {   2, "ms10" },
  {   3, "ms20" },
  {   4, "ms40" },
  { 0, NULL }
};

static const per_choice_t T_slotConfig_choice[] = {
  {   0, &hf_nr_rrc_ms4          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   1, &hf_nr_rrc_ms5          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   2, &hf_nr_rrc_ms10_01      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   3, &hf_nr_rrc_ms20_01      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {   4, &hf_nr_rrc_ms40_01      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_slotConfig, T_slotConfig_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_associatedSSB_sequence[] = {
  { &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
  { &hf_nr_rrc_isQuasiColocated, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_associatedSSB, T_associatedSSB_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     12, 12, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = {
  {   0, "row1" },
  {   1, "row2" },
  { 0, NULL }
};

static const per_choice_t T_frequencyDomainAllocation_choice[] = {
  {   0, &hf_nr_rrc_row1         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   1, &hf_nr_rrc_row2         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_12 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_frequencyDomainAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_frequencyDomainAllocation, T_frequencyDomainAllocation_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 13U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_slotConfig_r17_vals[] = {
  {   0, "ms4" },
  {   1, "ms5" },
  {   2, "ms10" },
  {   3, "ms20" },
  {   4, "ms40" },
  { 0, NULL }
};

static const per_choice_t T_slotConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_ms4_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  {   1, &hf_nr_rrc_ms5_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {   2, &hf_nr_rrc_ms10_02      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {   3, &hf_nr_rrc_ms20_02      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {   4, &hf_nr_rrc_ms40_02      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_slotConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_slotConfig_r17, T_slotConfig_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CSI_RS_Resource_Mobility_eag_1_sequence[] = {
  { &hf_nr_rrc_slotConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_slotConfig_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_Resource_Mobility_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_RS_Resource_Mobility_eag_1_sequence);

  return offset;
}


static const per_sequence_t CSI_RS_Resource_Mobility_sequence[] = {
  { &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
  { &hf_nr_rrc_slotConfig   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotConfig },
  { &hf_nr_rrc_associatedSSB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_associatedSSB },
  { &hf_nr_rrc_frequencyDomainAllocation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation },
  { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { &hf_nr_rrc_sequenceGenerationConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = {
  { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesRRM, FALSE);

  return offset;
}


static const per_sequence_t CSI_RS_CellMobility_sequence[] = {
  { &hf_nr_rrc_cellId       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_csi_rs_MeasurementBW, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_MeasurementBW },
  { &hf_nr_rrc_density      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_density },
  { &hf_nr_rrc_csi_rs_ResourceList_Mobility, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_RS_CellMobility, CSI_RS_CellMobility_sequence);

  return offset;
}


static const per_sequence_t T_csi_RS_Config_r16_sequence[] = {
  { &hf_nr_rrc_csi_RS_SubcarrierSpacing_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_csi_RS_CellMobility_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_CellMobility },
  { &hf_nr_rrc_refSSBFreq_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_RS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_csi_RS_Config_r16, T_csi_RS_Config_r16_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_04_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence);

  return offset;
}


static const per_sequence_t MeasurementTimingConfiguration_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_csi_RS_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_Config_r16 },
  { &hf_nr_rrc_nonCriticalExtension_24, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_04 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementTimingConfiguration_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementTimingConfiguration_v1610_IEs, MeasurementTimingConfiguration_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t MeasurementTimingConfiguration_v1550_IEs_sequence[] = {
  { &hf_nr_rrc_campOnFirstSSB, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_psCellOnlyOnFirstSSB, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_nonCriticalExtension_23, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasurementTimingConfiguration_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementTimingConfiguration_v1550_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementTimingConfiguration_v1550_IEs, MeasurementTimingConfiguration_v1550_IEs_sequence);

  return offset;
}


static const per_sequence_t MeasurementTimingConfiguration_IEs_sequence[] = {
  { &hf_nr_rrc_measTiming   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasTimingList },
  { &hf_nr_rrc_nonCriticalExtension_22, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasurementTimingConfiguration_v1550_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementTimingConfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementTimingConfiguration_IEs, MeasurementTimingConfiguration_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_04_vals[] = {
  {   0, "measTimingConf" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_04_choice[] = {
  {   0, &hf_nr_rrc_measTimingConf, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasurementTimingConfiguration_IEs },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_04, T_c1_04_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_04_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_04_choice[] = {
  {   0, &hf_nr_rrc_c1_04        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_04 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_04 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_04, T_criticalExtensions_04_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasurementTimingConfiguration_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_04, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_04 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementTimingConfiguration, MeasurementTimingConfiguration_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandListNRForPaging_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR, SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR_sequence_of,
                                                  1, maxBands, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_T_ue_RadioPagingInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_UE_RadioPagingInfo_r17_PDU);

  return offset;
}


static const value_string nr_rrc_T_inactiveStatePO_Determination_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inactiveStatePO_Determination_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_numberOfRxRedCap_r17_vals[] = {
  {   0, "one" },
  {   1, "two" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_numberOfRxRedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_05_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence);

  return offset;
}


static const per_sequence_t UERadioPagingInformation_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_ue_RadioPagingInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_RadioPagingInfo_r17 },
  { &hf_nr_rrc_inactiveStatePO_Determination_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inactiveStatePO_Determination_r17 },
  { &hf_nr_rrc_numberOfRxRedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_numberOfRxRedCap_r17 },
  { &hf_nr_rrc_halfDuplexFDD_TypeA_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR },
  { &hf_nr_rrc_nonCriticalExtension_27, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_05 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UERadioPagingInformation_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UERadioPagingInformation_v1700_IEs, UERadioPagingInformation_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t UERadioPagingInformation_v15e0_IEs_sequence[] = {
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1 },
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1 },
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2 },
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1 },
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1 },
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2 },
  { &hf_nr_rrc_nonCriticalExtension_26, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UERadioPagingInformation_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UERadioPagingInformation_v15e0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UERadioPagingInformation_v15e0_IEs, UERadioPagingInformation_v15e0_IEs_sequence);

  return offset;
}


static const per_sequence_t UERadioPagingInformation_IEs_sequence[] = {
  { &hf_nr_rrc_supportedBandListNRForPaging, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR },
  { &hf_nr_rrc_nonCriticalExtension_25, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UERadioPagingInformation_v15e0_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UERadioPagingInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UERadioPagingInformation_IEs, UERadioPagingInformation_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_05_vals[] = {
  {   0, "ueRadioPagingInformation" },
  {   1, "spare7" },
  {   2, "spare6" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_05_choice[] = {
  {   0, &hf_nr_rrc_ueRadioPagingInformation, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UERadioPagingInformation_IEs },
  {   1, &hf_nr_rrc_spare7       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare6       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare5       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   4, &hf_nr_rrc_spare4       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   5, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   6, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   7, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_05, T_c1_05_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_05_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_05_choice[] = {
  {   0, &hf_nr_rrc_c1_05        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_05 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_05 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UERadioPagingInformation_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_05 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UERadioPagingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UERadioPagingInformation, UERadioPagingInformation_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_ue_RadioAccessCapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_06_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence);

  return offset;
}


static const per_sequence_t UERadioAccessCapabilityInformation_IEs_sequence[] = {
  { &hf_nr_rrc_ue_RadioAccessCapabilityInfo, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ue_RadioAccessCapabilityInfo },
  { &hf_nr_rrc_nonCriticalExtension_28, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_06 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UERadioAccessCapabilityInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UERadioAccessCapabilityInformation_IEs, UERadioAccessCapabilityInformation_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_06_vals[] = {
  {   0, "ueRadioAccessCapabilityInformation" },
  {   1, "spare7" },
  {   2, "spare6" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_06_choice[] = {
  {   0, &hf_nr_rrc_ueRadioAccessCapabilityInformation, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UERadioAccessCapabilityInformation_IEs },
  {   1, &hf_nr_rrc_spare7       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare6       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare5       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   4, &hf_nr_rrc_spare4       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   5, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   6, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   7, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_06, T_c1_06_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_06_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_06_choice[] = {
  {   0, &hf_nr_rrc_c1_06        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_06 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_06 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_06, T_criticalExtensions_06_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UERadioAccessCapabilityInformation_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_06, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_06 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UERadioAccessCapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UERadioAccessCapabilityInformation, UERadioAccessCapabilityInformation_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     6, 6, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_subCarrierSpacingCommon_vals[] = {
  {   0, "scs15or60" },
  {   1, "scs30or120" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_subCarrierSpacingCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_TypeA_Position_vals[] = {
  {   0, "pos2" },
  {   1, "pos3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_TypeA_Position(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cellBarred_vals[] = {
  {   0, "barred" },
  {   1, "notBarred" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellBarred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraFreqReselection_vals[] = {
  {   0, "allowed" },
  {   1, "notAllowed" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraFreqReselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, 1, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t MIB_sequence[] = {
  { &hf_nr_rrc_systemFrameNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 },
  { &hf_nr_rrc_subCarrierSpacingCommon, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subCarrierSpacingCommon },
  { &hf_nr_rrc_ssb_SubcarrierOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_dmrs_TypeA_Position, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position },
  { &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigSIB1 },
  { &hf_nr_rrc_cellBarred   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellBarred },
  { &hf_nr_rrc_intraFreqReselection, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqReselection },
  { &hf_nr_rrc_spare        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MIB, MIB_sequence);

  return offset;
}


static const per_sequence_t T_messageClassExtension_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension, T_messageClassExtension_sequence);

  return offset;
}


static const value_string nr_rrc_BCCH_BCH_MessageType_vals[] = {
  {   0, "mib" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t BCCH_BCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_mib          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MIB },
  {   1, &hf_nr_rrc_messageClassExtension, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BCCH_BCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BCCH_BCH_MessageType, BCCH_BCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BCCH_BCH_Message_sequence[] = {
  { &hf_nr_rrc_message      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_BCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BCCH_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BCCH_BCH_Message, BCCH_BCH_Message_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, maxNrofSS_BlocksToAverage, NULL, FALSE);

  return offset;
}


static const per_sequence_t ThresholdNR_sequence[] = {
  { &hf_nr_rrc_thresholdRSRP, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_thresholdRSRQ, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_Range },
  { &hf_nr_rrc_thresholdSINR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SINR_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ThresholdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ThresholdNR, ThresholdNR_sequence);

  return offset;
}


static const value_string nr_rrc_Q_OffsetRange_vals[] = {
  {   0, "dB-24" },
  {   1, "dB-22" },
  {   2, "dB-20" },
  {   3, "dB-18" },
  {   4, "dB-16" },
  {   5, "dB-14" },
  {   6, "dB-12" },
  {   7, "dB-10" },
  {   8, "dB-8" },
  {   9, "dB-6" },
  {  10, "dB-5" },
  {  11, "dB-4" },
  {  12, "dB-3" },
  {  13, "dB-2" },
  {  14, "dB-1" },
  {  15, "dB0" },
  {  16, "dB1" },
  {  17, "dB2" },
  {  18, "dB3" },
  {  19, "dB4" },
  {  20, "dB5" },
  {  21, "dB6" },
  {  22, "dB8" },
  {  23, "dB10" },
  {  24, "dB12" },
  {  25, "dB14" },
  {  26, "dB16" },
  {  27, "dB18" },
  {  28, "dB20" },
  {  29, "dB22" },
  {  30, "dB24" },
  { 0, NULL }
};

static value_string_ext nr_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_Q_OffsetRange_vals);


static int
dissect_nr_rrc_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     31, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_RangeToBestCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_nr_rrc_Q_OffsetRange(tvb, offset, actx, tree, hf_index);

  return offset;
}


static const value_string nr_rrc_T_q_Hyst_vals[] = {
  {   0, "dB0" },
  {   1, "dB1" },
  {   2, "dB2" },
  {   3, "dB3" },
  {   4, "dB4" },
  {   5, "dB5" },
  {   6, "dB6" },
  {   7, "dB8" },
  {   8, "dB10" },
  {   9, "dB12" },
  {  10, "dB14" },
  {  11, "dB16" },
  {  12, "dB18" },
  {  13, "dB20" },
  {  14, "dB22" },
  {  15, "dB24" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_q_Hyst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t_Evaluation_vals[] = {
  {   0, "s30" },
  {   1, "s60" },
  {   2, "s120" },
  {   3, "s180" },
  {   4, "s240" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t_Evaluation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t_HystNormal_vals[] = {
  {   0, "s30" },
  {   1, "s60" },
  {   2, "s120" },
  {   3, "s180" },
  {   4, "s240" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t_HystNormal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MobilityStateParameters_sequence[] = {
  { &hf_nr_rrc_t_Evaluation , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_Evaluation },
  { &hf_nr_rrc_t_HystNormal , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_HystNormal },
  { &hf_nr_rrc_n_CellChangeMedium, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_n_CellChangeHigh, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MobilityStateParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MobilityStateParameters, MobilityStateParameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_sf_Medium_vals[] = {
  {   0, "dB-6" },
  {   1, "dB-4" },
  {   2, "dB-2" },
  {   3, "dB0" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sf_Medium(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sf_High_vals[] = {
  {   0, "dB-6" },
  {   1, "dB-4" },
  {   2, "dB-2" },
  {   3, "dB0" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sf_High(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_q_HystSF_sequence[] = {
  { &hf_nr_rrc_sf_Medium    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_Medium },
  { &hf_nr_rrc_sf_High      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_High },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_q_HystSF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_q_HystSF, T_q_HystSF_sequence);

  return offset;
}


static const per_sequence_t T_speedStateReselectionPars_sequence[] = {
  { &hf_nr_rrc_mobilityStateParameters, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MobilityStateParameters },
  { &hf_nr_rrc_q_HystSF     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_q_HystSF },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_speedStateReselectionPars(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_speedStateReselectionPars, T_speedStateReselectionPars_sequence);

  return offset;
}


static const per_sequence_t T_cellReselectionInfoCommon_sequence[] = {
  { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
  { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ThresholdNR },
  { &hf_nr_rrc_rangeToBestCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RangeToBestCell },
  { &hf_nr_rrc_q_Hyst       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_q_Hyst },
  { &hf_nr_rrc_speedStateReselectionPars, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_speedStateReselectionPars },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellReselectionInfoCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellReselectionInfoCommon, T_cellReselectionInfoCommon_sequence);

  return offset;
}



static int
dissect_nr_rrc_ReselectionThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 31U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ReselectionThresholdQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 31U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CellReselectionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_CellReselectionSubPriority_vals[] = {
  {   0, "oDot2" },
  {   1, "oDot4" },
  {   2, "oDot6" },
  {   3, "oDot8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_CellReselectionSubPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_cellReselectionServingFreqInfo_sequence[] = {
  { &hf_nr_rrc_s_NonIntraSearchP, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_s_NonIntraSearchQ, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReselectionThresholdQ },
  { &hf_nr_rrc_threshServingLowP, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_threshServingLowQ, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReselectionThresholdQ },
  { &hf_nr_rrc_cellReselectionPriority, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority },
  { &hf_nr_rrc_cellReselectionSubPriority, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionSubPriority },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellReselectionServingFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellReselectionServingFreqInfo, T_cellReselectionServingFreqInfo_sequence);

  return offset;
}



static int
dissect_nr_rrc_Q_RxLevMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -70, -22, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_Q_QualMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -43, -12, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_Reselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}


static const per_sequence_t NR_NS_PmaxValue_sequence[] = {
  { &hf_nr_rrc_additionalPmax, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_additionalSpectrumEmission, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AdditionalSpectrumEmission },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NR_NS_PmaxValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NR_NS_PmaxValue, NR_NS_PmaxValue_sequence);

  return offset;
}


static const per_sequence_t NR_NS_PmaxList_sequence_of[1] = {
  { &hf_nr_rrc_NR_NS_PmaxList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_NS_PmaxValue },
};

static int
dissect_nr_rrc_NR_NS_PmaxList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NR_NS_PmaxList, NR_NS_PmaxList_sequence_of,
                                                  1, maxNR_NS_Pmax, FALSE);

  return offset;
}


static const per_sequence_t NR_MultiBandInfo_sequence[] = {
  { &hf_nr_rrc_freqBandIndicatorNR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_nr_NS_PmaxList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NR_NS_PmaxList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NR_MultiBandInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NR_MultiBandInfo, NR_MultiBandInfo_sequence);

  return offset;
}


static const per_sequence_t MultiFrequencyBandListNR_SIB_sequence_of[1] = {
  { &hf_nr_rrc_MultiFrequencyBandListNR_SIB_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_MultiBandInfo },
};

static int
dissect_nr_rrc_MultiFrequencyBandListNR_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MultiFrequencyBandListNR_SIB, MultiFrequencyBandListNR_SIB_sequence_of,
                                                  1, maxNrofMultiBands, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sf_Medium_01_vals[] = {
  {   0, "oDot25" },
  {   1, "oDot5" },
  {   2, "oDot75" },
  {   3, "lDot0" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sf_Medium_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sf_High_01_vals[] = {
  {   0, "oDot25" },
  {   1, "oDot5" },
  {   2, "oDot75" },
  {   3, "lDot0" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sf_High_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SpeedStateScaleFactors_sequence[] = {
  { &hf_nr_rrc_sf_Medium_01 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_Medium_01 },
  { &hf_nr_rrc_sf_High_01   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_High_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SpeedStateScaleFactors(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SpeedStateScaleFactors, SpeedStateScaleFactors_sequence);

  return offset;
}


static const per_sequence_t T_eag_1_02_sequence[] = {
  { &hf_nr_rrc_t_ReselectionNR_SF, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SpeedStateScaleFactors },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_02_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of[1] = {
  { &hf_nr_rrc_pci_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of,
                                                  1, maxNrofPCIsPerSMTC, FALSE);

  return offset;
}


static const value_string nr_rrc_T_periodicity_03_vals[] = {
  {   0, "sf10" },
  {   1, "sf20" },
  {   2, "sf40" },
  {   3, "sf80" },
  {   4, "sf160" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicity_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SSB_MTC2_LP_r16_sequence[] = {
  { &hf_nr_rrc_pci_List     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId },
  { &hf_nr_rrc_periodicity_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_MTC2_LP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_MTC2_LP_r16, SSB_MTC2_LP_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SSB_PositionQCL_Relation_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SSB_PositionQCL_Relation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eag_2_01_sequence[] = {
  { &hf_nr_rrc_smtc2_LP_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC2_LP_r16 },
  { &hf_nr_rrc_ssb_PositionQCL_Common_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_2_01_sequence);

  return offset;
}


static const value_string nr_rrc_SSB_PositionQCL_Relation_r17_vals[] = {
  {   0, "n32" },
  {   1, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SSB_PositionQCL_Relation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eag_3_sequence[] = {
  { &hf_nr_rrc_ssb_PositionQCL_Common_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_3_sequence);

  return offset;
}


static const per_sequence_t SSB_MTC4_r17_sequence[] = {
  { &hf_nr_rrc_pci_List_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId },
  { &hf_nr_rrc_offset_r17_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_MTC4_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_MTC4_r17, SSB_MTC4_r17_sequence);

  return offset;
}


static const per_sequence_t SSB_MTC4List_r17_sequence_of[1] = {
  { &hf_nr_rrc_SSB_MTC4List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_MTC4_r17 },
};

static int
dissect_nr_rrc_SSB_MTC4List_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SSB_MTC4List_r17, SSB_MTC4List_r17_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const per_sequence_t T_eag_4_sequence[] = {
  { &hf_nr_rrc_smtc4list_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC4List_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_4_sequence);

  return offset;
}


static const per_sequence_t T_intraFreqCellReselectionInfo_sequence[] = {
  { &hf_nr_rrc_q_RxLevMin   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin },
  { &hf_nr_rrc_q_RxLevMinSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Q_RxLevMin },
  { &hf_nr_rrc_q_QualMin    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Q_QualMin },
  { &hf_nr_rrc_s_IntraSearchP, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_s_IntraSearchQ, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReselectionThresholdQ },
  { &hf_nr_rrc_t_ReselectionNR, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection },
  { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
  { &hf_nr_rrc_frequencyBandListSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
  { &hf_nr_rrc_p_Max        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_smtc         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC },
  { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SS_RSSI_Measurement },
  { &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_ToMeasure },
  { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_02 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_2_01 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_intraFreqCellReselectionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_intraFreqCellReselectionInfo, T_intraFreqCellReselectionInfo_sequence);

  return offset;
}


static const value_string nr_rrc_T_s_SearchDeltaP_r16_vals[] = {
  {   0, "dB3" },
  {   1, "dB6" },
  {   2, "dB9" },
  {   3, "dB12" },
  {   4, "dB15" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_s_SearchDeltaP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t_SearchDeltaP_r16_vals[] = {
  {   0, "s5" },
  {   1, "s10" },
  {   2, "s20" },
  {   3, "s30" },
  {   4, "s60" },
  {   5, "s120" },
  {   6, "s180" },
  {   7, "s240" },
  {   8, "s300" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t_SearchDeltaP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_lowMobilityEvaluation_r16_sequence[] = {
  { &hf_nr_rrc_s_SearchDeltaP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_s_SearchDeltaP_r16 },
  { &hf_nr_rrc_t_SearchDeltaP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_SearchDeltaP_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_lowMobilityEvaluation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_lowMobilityEvaluation_r16, T_lowMobilityEvaluation_r16_sequence);

  return offset;
}


static const per_sequence_t T_cellEdgeEvaluation_r16_sequence[] = {
  { &hf_nr_rrc_s_SearchThresholdP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_s_SearchThresholdQ_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReselectionThresholdQ },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellEdgeEvaluation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellEdgeEvaluation_r16, T_cellEdgeEvaluation_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_combineRelaxedMeasCondition_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_combineRelaxedMeasCondition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_highPriorityMeasRelax_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highPriorityMeasRelax_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_relaxedMeasurement_r16_sequence[] = {
  { &hf_nr_rrc_lowMobilityEvaluation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowMobilityEvaluation_r16 },
  { &hf_nr_rrc_cellEdgeEvaluation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cellEdgeEvaluation_r16 },
  { &hf_nr_rrc_combineRelaxedMeasCondition_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_combineRelaxedMeasCondition_r16 },
  { &hf_nr_rrc_highPriorityMeasRelax_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_highPriorityMeasRelax_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_relaxedMeasurement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_relaxedMeasurement_r16, T_relaxedMeasurement_r16_sequence);

  return offset;
}


static const per_sequence_t SIB2_eag_1_sequence[] = {
  { &hf_nr_rrc_relaxedMeasurement_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_relaxedMeasurement_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB2_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB2_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 16U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_s_SearchDeltaP_Stationary_r17_vals[] = {
  {   0, "dB2" },
  {   1, "dB3" },
  {   2, "dB6" },
  {   3, "dB9" },
  {   4, "dB12" },
  {   5, "dB15" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_s_SearchDeltaP_Stationary_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t_SearchDeltaP_Stationary_r17_vals[] = {
  {   0, "s5" },
  {   1, "s10" },
  {   2, "s20" },
  {   3, "s30" },
  {   4, "s60" },
  {   5, "s120" },
  {   6, "s180" },
  {   7, "s240" },
  {   8, "s300" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t_SearchDeltaP_Stationary_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_stationaryMobilityEvaluation_r17_sequence[] = {
  { &hf_nr_rrc_s_SearchDeltaP_Stationary_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_s_SearchDeltaP_Stationary_r17 },
  { &hf_nr_rrc_t_SearchDeltaP_Stationary_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_SearchDeltaP_Stationary_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_stationaryMobilityEvaluation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_stationaryMobilityEvaluation_r17, T_stationaryMobilityEvaluation_r17_sequence);

  return offset;
}


static const per_sequence_t T_cellEdgeEvaluationWhileStationary_r17_sequence[] = {
  { &hf_nr_rrc_s_SearchThresholdP2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_s_SearchThresholdQ2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReselectionThresholdQ },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellEdgeEvaluationWhileStationary_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellEdgeEvaluationWhileStationary_r17, T_cellEdgeEvaluationWhileStationary_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_combineRelaxedMeasCondition2_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_combineRelaxedMeasCondition2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_relaxedMeasurement_r17_sequence[] = {
  { &hf_nr_rrc_stationaryMobilityEvaluation_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_stationaryMobilityEvaluation_r17 },
  { &hf_nr_rrc_cellEdgeEvaluationWhileStationary_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cellEdgeEvaluationWhileStationary_r17 },
  { &hf_nr_rrc_combineRelaxedMeasCondition2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_combineRelaxedMeasCondition2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_relaxedMeasurement_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_relaxedMeasurement_r17, T_relaxedMeasurement_r17_sequence);

  return offset;
}


static const per_sequence_t SIB2_eag_2_sequence[] = {
  { &hf_nr_rrc_cellEquivalentSize_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_16 },
  { &hf_nr_rrc_relaxedMeasurement_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_relaxedMeasurement_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB2_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB2_eag_2_sequence);

  return offset;
}


static const per_sequence_t SIB2_sequence[] = {
  { &hf_nr_rrc_cellReselectionInfoCommon, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReselectionInfoCommon },
  { &hf_nr_rrc_cellReselectionServingFreqInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReselectionServingFreqInfo },
  { &hf_nr_rrc_intraFreqCellReselectionInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqCellReselectionInfo },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB2_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB2_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB2 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB2, SIB2_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 8U, NULL, FALSE);

  return offset;
}


static const per_sequence_t IntraFreqNeighCellInfo_sequence[] = {
  { &hf_nr_rrc_physCellId   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_q_OffsetCell , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRange },
  { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_q_RxLevMinOffsetCellSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IntraFreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IntraFreqNeighCellInfo, IntraFreqNeighCellInfo_sequence);

  return offset;
}


static const per_sequence_t IntraFreqNeighCellList_sequence_of[1] = {
  { &hf_nr_rrc_IntraFreqNeighCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraFreqNeighCellInfo },
};

static int
dissect_nr_rrc_IntraFreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_IntraFreqNeighCellList, IntraFreqNeighCellList_sequence_of,
                                                  1, maxCellIntra, FALSE);

  return offset;
}


static const value_string nr_rrc_T_range_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n24" },
  {   5, "n32" },
  {   6, "n48" },
  {   7, "n64" },
  {   8, "n84" },
  {   9, "n96" },
  {  10, "n128" },
  {  11, "n168" },
  {  12, "n252" },
  {  13, "n504" },
  {  14, "n1008" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PCI_Range_sequence[] = {
  { &hf_nr_rrc_start        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_range        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PCI_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PCI_Range, PCI_Range_sequence);

  return offset;
}


static const per_sequence_t IntraFreqExcludedCellList_sequence_of[1] = {
  { &hf_nr_rrc_IntraFreqExcludedCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_IntraFreqExcludedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_IntraFreqExcludedCellList, IntraFreqExcludedCellList_sequence_of,
                                                  1, maxCellExcluded, FALSE);

  return offset;
}


static const per_sequence_t IntraFreqNeighCellInfo_v1610_sequence[] = {
  { &hf_nr_rrc_ssb_PositionQCL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IntraFreqNeighCellInfo_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IntraFreqNeighCellInfo_v1610, IntraFreqNeighCellInfo_v1610_sequence);

  return offset;
}


static const per_sequence_t IntraFreqNeighCellList_v1610_sequence_of[1] = {
  { &hf_nr_rrc_IntraFreqNeighCellList_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraFreqNeighCellInfo_v1610 },
};

static int
dissect_nr_rrc_IntraFreqNeighCellList_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_IntraFreqNeighCellList_v1610, IntraFreqNeighCellList_v1610_sequence_of,
                                                  1, maxCellIntra, FALSE);

  return offset;
}


static const per_sequence_t IntraFreqAllowedCellList_r16_sequence_of[1] = {
  { &hf_nr_rrc_IntraFreqAllowedCellList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_IntraFreqAllowedCellList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_IntraFreqAllowedCellList_r16, IntraFreqAllowedCellList_r16_sequence_of,
                                                  1, maxCellAllowed, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range_sequence_of[1] = {
  { &hf_nr_rrc_cag_CellList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range, SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range_sequence_of,
                                                  1, maxCAG_Cell_r16, FALSE);

  return offset;
}


static const per_sequence_t IntraFreqCAG_CellListPerPLMN_r16_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN },
  { &hf_nr_rrc_cag_CellList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IntraFreqCAG_CellListPerPLMN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IntraFreqCAG_CellListPerPLMN_r16, IntraFreqCAG_CellListPerPLMN_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16_sequence_of[1] = {
  { &hf_nr_rrc_intraFreqCAG_CellList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraFreqCAG_CellListPerPLMN_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16, SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}


static const per_sequence_t SIB3_eag_1_sequence[] = {
  { &hf_nr_rrc_intraFreqNeighCellList_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IntraFreqNeighCellList_v1610 },
  { &hf_nr_rrc_intraFreqAllowedCellList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IntraFreqAllowedCellList_r16 },
  { &hf_nr_rrc_intraFreqCAG_CellList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB3_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB3_eag_1_sequence);

  return offset;
}


static const per_sequence_t IntraFreqNeighHSDN_CellList_r17_sequence_of[1] = {
  { &hf_nr_rrc_IntraFreqNeighHSDN_CellList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_IntraFreqNeighHSDN_CellList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_IntraFreqNeighHSDN_CellList_r17, IntraFreqNeighHSDN_CellList_r17_sequence_of,
                                                  1, maxCellIntra, FALSE);

  return offset;
}


static const per_sequence_t IntraFreqNeighCellInfo_v1710_sequence[] = {
  { &hf_nr_rrc_ssb_PositionQCL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IntraFreqNeighCellInfo_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IntraFreqNeighCellInfo_v1710, IntraFreqNeighCellInfo_v1710_sequence);

  return offset;
}


static const per_sequence_t IntraFreqNeighCellList_v1710_sequence_of[1] = {
  { &hf_nr_rrc_IntraFreqNeighCellList_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraFreqNeighCellInfo_v1710 },
};

static int
dissect_nr_rrc_IntraFreqNeighCellList_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_IntraFreqNeighCellList_v1710, IntraFreqNeighCellList_v1710_sequence_of,
                                                  1, maxCellIntra, FALSE);

  return offset;
}


static const per_sequence_t SIB3_eag_2_sequence[] = {
  { &hf_nr_rrc_intraFreqNeighHSDN_CellList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IntraFreqNeighHSDN_CellList_r17 },
  { &hf_nr_rrc_intraFreqNeighCellList_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IntraFreqNeighCellList_v1710 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB3_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB3_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelAccessMode2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_channelAccessMode2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SIB3_eag_3_sequence[] = {
  { &hf_nr_rrc_channelAccessMode2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelAccessMode2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB3_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB3_eag_3_sequence);

  return offset;
}


static const per_sequence_t SIB3_sequence[] = {
  { &hf_nr_rrc_intraFreqNeighCellList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_IntraFreqNeighCellList },
  { &hf_nr_rrc_intraFreqExcludedCellList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_IntraFreqExcludedCellList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB3_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB3_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB3_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB3 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB3, SIB3_sequence);

  return offset;
}


static const per_sequence_t T_threshX_Q_sequence[] = {
  { &hf_nr_rrc_threshX_HighQ, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ },
  { &hf_nr_rrc_threshX_LowQ , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_threshX_Q(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_threshX_Q, T_threshX_Q_sequence);

  return offset;
}


static const per_sequence_t InterFreqNeighCellInfo_sequence[] = {
  { &hf_nr_rrc_physCellId   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_q_OffsetCell , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRange },
  { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_q_RxLevMinOffsetCellSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqNeighCellInfo, InterFreqNeighCellInfo_sequence);

  return offset;
}


static const per_sequence_t InterFreqNeighCellList_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqNeighCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqNeighCellInfo },
};

static int
dissect_nr_rrc_InterFreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqNeighCellList, InterFreqNeighCellList_sequence_of,
                                                  1, maxCellInter, FALSE);

  return offset;
}


static const per_sequence_t InterFreqExcludedCellList_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqExcludedCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_InterFreqExcludedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqExcludedCellList, InterFreqExcludedCellList_sequence_of,
                                                  1, maxCellExcluded, FALSE);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqInfo_sequence[] = {
  { &hf_nr_rrc_dl_CarrierFreq, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
  { &hf_nr_rrc_frequencyBandListSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
  { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
  { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ThresholdNR },
  { &hf_nr_rrc_smtc         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC },
  { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_ToMeasure },
  { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SS_RSSI_Measurement },
  { &hf_nr_rrc_q_RxLevMin   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin },
  { &hf_nr_rrc_q_RxLevMinSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Q_RxLevMin },
  { &hf_nr_rrc_q_QualMin    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Q_QualMin },
  { &hf_nr_rrc_p_Max        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_t_ReselectionNR, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection },
  { &hf_nr_rrc_t_ReselectionNR_SF, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SpeedStateScaleFactors },
  { &hf_nr_rrc_threshX_HighP, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_threshX_LowP , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_threshX_Q    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_threshX_Q },
  { &hf_nr_rrc_cellReselectionPriority, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionPriority },
  { &hf_nr_rrc_cellReselectionSubPriority, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionSubPriority },
  { &hf_nr_rrc_q_OffsetFreq , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Q_OffsetRange },
  { &hf_nr_rrc_interFreqNeighCellList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqNeighCellList },
  { &hf_nr_rrc_interFreqExcludedCellList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqExcludedCellList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqCarrierFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqCarrierFreqInfo, InterFreqCarrierFreqInfo_sequence);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqList_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqCarrierFreqList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqInfo },
};

static int
dissect_nr_rrc_InterFreqCarrierFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqCarrierFreqList, InterFreqCarrierFreqList_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t InterFreqNeighCellInfo_v1610_sequence[] = {
  { &hf_nr_rrc_ssb_PositionQCL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqNeighCellInfo_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqNeighCellInfo_v1610, InterFreqNeighCellInfo_v1610_sequence);

  return offset;
}


static const per_sequence_t InterFreqNeighCellList_v1610_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqNeighCellList_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqNeighCellInfo_v1610 },
};

static int
dissect_nr_rrc_InterFreqNeighCellList_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqNeighCellList_v1610, InterFreqNeighCellList_v1610_sequence_of,
                                                  1, maxCellInter, FALSE);

  return offset;
}


static const per_sequence_t InterFreqAllowedCellList_r16_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqAllowedCellList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_InterFreqAllowedCellList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqAllowedCellList_r16, InterFreqAllowedCellList_r16_sequence_of,
                                                  1, maxCellAllowed, FALSE);

  return offset;
}


static const per_sequence_t InterFreqCAG_CellListPerPLMN_r16_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN },
  { &hf_nr_rrc_cag_CellList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqCAG_CellListPerPLMN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqCAG_CellListPerPLMN_r16, InterFreqCAG_CellListPerPLMN_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16_sequence_of[1] = {
  { &hf_nr_rrc_interFreqCAG_CellList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCAG_CellListPerPLMN_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16, SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqInfo_v1610_sequence[] = {
  { &hf_nr_rrc_interFreqNeighCellList_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqNeighCellList_v1610 },
  { &hf_nr_rrc_smtc2_LP_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC2_LP_r16 },
  { &hf_nr_rrc_interFreqAllowedCellList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqAllowedCellList_r16 },
  { &hf_nr_rrc_ssb_PositionQCL_Common_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 },
  { &hf_nr_rrc_interFreqCAG_CellList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqCarrierFreqInfo_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqCarrierFreqInfo_v1610, InterFreqCarrierFreqInfo_v1610_sequence);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqList_v1610_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqCarrierFreqList_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqInfo_v1610 },
};

static int
dissect_nr_rrc_InterFreqCarrierFreqList_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqCarrierFreqList_v1610, InterFreqCarrierFreqList_v1610_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t SIB4_eag_1_sequence[] = {
  { &hf_nr_rrc_interFreqCarrierFreqList_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqCarrierFreqList_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB4_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB4_eag_1_sequence);

  return offset;
}


static const per_sequence_t InterFreqNeighHSDN_CellList_r17_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqNeighHSDN_CellList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_InterFreqNeighHSDN_CellList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqNeighHSDN_CellList_r17, InterFreqNeighHSDN_CellList_r17_sequence_of,
                                                  1, maxCellInter, FALSE);

  return offset;
}


static const value_string nr_rrc_T_highSpeedMeasInterFreq_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedMeasInterFreq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_redCapAccessAllowed_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_redCapAccessAllowed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t InterFreqNeighCellInfo_v1710_sequence[] = {
  { &hf_nr_rrc_ssb_PositionQCL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqNeighCellInfo_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqNeighCellInfo_v1710, InterFreqNeighCellInfo_v1710_sequence);

  return offset;
}


static const per_sequence_t InterFreqNeighCellList_v1710_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqNeighCellList_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqNeighCellInfo_v1710 },
};

static int
dissect_nr_rrc_InterFreqNeighCellList_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqNeighCellList_v1710, InterFreqNeighCellList_v1710_sequence_of,
                                                  1, maxCellInter, FALSE);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqInfo_v1700_sequence[] = {
  { &hf_nr_rrc_interFreqNeighHSDN_CellList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqNeighHSDN_CellList_r17 },
  { &hf_nr_rrc_highSpeedMeasInterFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedMeasInterFreq_r17 },
  { &hf_nr_rrc_redCapAccessAllowed_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_redCapAccessAllowed_r17 },
  { &hf_nr_rrc_ssb_PositionQCL_Common_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r17 },
  { &hf_nr_rrc_interFreqNeighCellList_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqNeighCellList_v1710 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqCarrierFreqInfo_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqCarrierFreqInfo_v1700, InterFreqCarrierFreqInfo_v1700_sequence);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqList_v1700_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqCarrierFreqList_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqInfo_v1700 },
};

static int
dissect_nr_rrc_InterFreqCarrierFreqList_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqCarrierFreqList_v1700, InterFreqCarrierFreqList_v1700_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t SIB4_eag_2_sequence[] = {
  { &hf_nr_rrc_interFreqCarrierFreqList_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqCarrierFreqList_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB4_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB4_eag_2_sequence);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqInfo_v1720_sequence[] = {
  { &hf_nr_rrc_smtc4list_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC4List_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqCarrierFreqInfo_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqCarrierFreqInfo_v1720, InterFreqCarrierFreqInfo_v1720_sequence);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqList_v1720_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqCarrierFreqList_v1720_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqInfo_v1720 },
};

static int
dissect_nr_rrc_InterFreqCarrierFreqList_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqCarrierFreqList_v1720, InterFreqCarrierFreqList_v1720_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t SIB4_eag_3_sequence[] = {
  { &hf_nr_rrc_interFreqCarrierFreqList_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqCarrierFreqList_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB4_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB4_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelAccessMode2_r17_01_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_channelAccessMode2_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqInfo_v1730_sequence[] = {
  { &hf_nr_rrc_channelAccessMode2_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelAccessMode2_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqCarrierFreqInfo_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqCarrierFreqInfo_v1730, InterFreqCarrierFreqInfo_v1730_sequence);

  return offset;
}


static const per_sequence_t InterFreqCarrierFreqList_v1730_sequence_of[1] = {
  { &hf_nr_rrc_InterFreqCarrierFreqList_v1730_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqInfo_v1730 },
};

static int
dissect_nr_rrc_InterFreqCarrierFreqList_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_InterFreqCarrierFreqList_v1730, InterFreqCarrierFreqList_v1730_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t SIB4_eag_4_sequence[] = {
  { &hf_nr_rrc_interFreqCarrierFreqList_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterFreqCarrierFreqList_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB4_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB4_eag_4_sequence);

  return offset;
}


static const per_sequence_t SIB4_sequence[] = {
  { &hf_nr_rrc_interFreqCarrierFreqList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB4_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB4_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB4_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB4_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB4 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB4, SIB4_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M30_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -30, 33U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_288(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 288U, NULL, FALSE);

  return offset;
}


static const per_sequence_t EUTRA_NS_PmaxValue_sequence[] = {
  { &hf_nr_rrc_additionalPmax_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M30_33 },
  { &hf_nr_rrc_additionalSpectrumEmission_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_288 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_NS_PmaxValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_NS_PmaxValue, EUTRA_NS_PmaxValue_sequence);

  return offset;
}


static const per_sequence_t EUTRA_NS_PmaxList_sequence_of[1] = {
  { &hf_nr_rrc_EUTRA_NS_PmaxList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_NS_PmaxValue },
};

static int
dissect_nr_rrc_EUTRA_NS_PmaxList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_EUTRA_NS_PmaxList, EUTRA_NS_PmaxList_sequence_of,
                                                  1, maxEUTRA_NS_Pmax, FALSE);

  return offset;
}


static const per_sequence_t EUTRA_MultiBandInfo_sequence[] = {
  { &hf_nr_rrc_eutra_FreqBandIndicator, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
  { &hf_nr_rrc_eutra_NS_PmaxList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_NS_PmaxList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_MultiBandInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_MultiBandInfo, EUTRA_MultiBandInfo_sequence);

  return offset;
}


static const per_sequence_t EUTRA_MultiBandInfoList_sequence_of[1] = {
  { &hf_nr_rrc_EUTRA_MultiBandInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_MultiBandInfo },
};

static int
dissect_nr_rrc_EUTRA_MultiBandInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_EUTRA_MultiBandInfoList, EUTRA_MultiBandInfoList_sequence_of,
                                                  1, maxMultiBands, FALSE);

  return offset;
}


static const value_string nr_rrc_EUTRA_Q_OffsetRange_vals[] = {
  {   0, "dB-24" },
  {   1, "dB-22" },
  {   2, "dB-20" },
  {   3, "dB-18" },
  {   4, "dB-16" },
  {   5, "dB-14" },
  {   6, "dB-12" },
  {   7, "dB-10" },
  {   8, "dB-8" },
  {   9, "dB-6" },
  {  10, "dB-5" },
  {  11, "dB-4" },
  {  12, "dB-3" },
  {  13, "dB-2" },
  {  14, "dB-1" },
  {  15, "dB0" },
  {  16, "dB1" },
  {  17, "dB2" },
  {  18, "dB3" },
  {  19, "dB4" },
  {  20, "dB5" },
  {  21, "dB6" },
  {  22, "dB8" },
  {  23, "dB10" },
  {  24, "dB12" },
  {  25, "dB14" },
  {  26, "dB16" },
  {  27, "dB18" },
  {  28, "dB20" },
  {  29, "dB22" },
  {  30, "dB24" },
  { 0, NULL }
};

static value_string_ext nr_rrc_EUTRA_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_EUTRA_Q_OffsetRange_vals);


static int
dissect_nr_rrc_EUTRA_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     31, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t EUTRA_FreqNeighCellInfo_sequence[] = {
  { &hf_nr_rrc_physCellId_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { &hf_nr_rrc_eUTRA_FreqNeighCellInfo_dummy, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Q_OffsetRange },
  { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_FreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_FreqNeighCellInfo, EUTRA_FreqNeighCellInfo_sequence);

  return offset;
}


static const per_sequence_t EUTRA_FreqNeighCellList_sequence_of[1] = {
  { &hf_nr_rrc_EUTRA_FreqNeighCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_FreqNeighCellInfo },
};

static int
dissect_nr_rrc_EUTRA_FreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_EUTRA_FreqNeighCellList, EUTRA_FreqNeighCellList_sequence_of,
                                                  1, maxCellEUTRA, FALSE);

  return offset;
}


static const value_string nr_rrc_T_range_01_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n24" },
  {   5, "n32" },
  {   6, "n48" },
  {   7, "n64" },
  {   8, "n84" },
  {   9, "n96" },
  {  10, "n128" },
  {  11, "n168" },
  {  12, "n252" },
  {  13, "n504" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_range_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t EUTRA_PhysCellIdRange_sequence[] = {
  { &hf_nr_rrc_start_01     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { &hf_nr_rrc_range_01     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_range_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_PhysCellIdRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_PhysCellIdRange, EUTRA_PhysCellIdRange_sequence);

  return offset;
}


static const per_sequence_t EUTRA_FreqExcludedCellList_sequence_of[1] = {
  { &hf_nr_rrc_EUTRA_FreqExcludedCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange },
};

static int
dissect_nr_rrc_EUTRA_FreqExcludedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_EUTRA_FreqExcludedCellList, EUTRA_FreqExcludedCellList_sequence_of,
                                                  1, maxEUTRA_CellExcluded, FALSE);

  return offset;
}


static const value_string nr_rrc_EUTRA_AllowedMeasBandwidth_vals[] = {
  {   0, "mbw6" },
  {   1, "mbw15" },
  {   2, "mbw25" },
  {   3, "mbw50" },
  {   4, "mbw75" },
  {   5, "mbw100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_EUTRA_AllowedMeasBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_EUTRA_PresenceAntennaPort1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M70_M22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -70, -22, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M34_M3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -34, -3, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_threshX_Q_01_sequence[] = {
  { &hf_nr_rrc_threshX_HighQ, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ },
  { &hf_nr_rrc_threshX_LowQ , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_threshX_Q_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_threshX_Q_01, T_threshX_Q_01_sequence);

  return offset;
}


static const per_sequence_t CarrierFreqEUTRA_sequence[] = {
  { &hf_nr_rrc_carrierFreq_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_eutra_multiBandInfoList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_MultiBandInfoList },
  { &hf_nr_rrc_eutra_FreqNeighCellList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_FreqNeighCellList },
  { &hf_nr_rrc_eutra_ExcludedCellList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_FreqExcludedCellList },
  { &hf_nr_rrc_allowedMeasBandwidth, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_AllowedMeasBandwidth },
  { &hf_nr_rrc_presenceAntennaPort1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PresenceAntennaPort1 },
  { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionPriority },
  { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionSubPriority },
  { &hf_nr_rrc_threshX_High , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_threshX_Low  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
  { &hf_nr_rrc_q_RxLevMin_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M70_M22 },
  { &hf_nr_rrc_q_QualMin_01 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M34_M3 },
  { &hf_nr_rrc_p_MaxEUTRA   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30_33 },
  { &hf_nr_rrc_threshX_Q_01 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_threshX_Q_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CarrierFreqEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CarrierFreqEUTRA, CarrierFreqEUTRA_sequence);

  return offset;
}


static const per_sequence_t CarrierFreqListEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_CarrierFreqListEUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CarrierFreqEUTRA },
};

static int
dissect_nr_rrc_CarrierFreqListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CarrierFreqListEUTRA, CarrierFreqListEUTRA_sequence_of,
                                                  1, maxEUTRA_Carrier, FALSE);

  return offset;
}


static const value_string nr_rrc_T_highSpeedEUTRACarrier_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedEUTRACarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CarrierFreqEUTRA_v1610_sequence[] = {
  { &hf_nr_rrc_highSpeedEUTRACarrier_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedEUTRACarrier_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CarrierFreqEUTRA_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CarrierFreqEUTRA_v1610, CarrierFreqEUTRA_v1610_sequence);

  return offset;
}


static const per_sequence_t CarrierFreqListEUTRA_v1610_sequence_of[1] = {
  { &hf_nr_rrc_CarrierFreqListEUTRA_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CarrierFreqEUTRA_v1610 },
};

static int
dissect_nr_rrc_CarrierFreqListEUTRA_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CarrierFreqListEUTRA_v1610, CarrierFreqListEUTRA_v1610_sequence_of,
                                                  1, maxEUTRA_Carrier, FALSE);

  return offset;
}


static const per_sequence_t SIB5_eag_1_sequence[] = {
  { &hf_nr_rrc_carrierFreqListEUTRA_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CarrierFreqListEUTRA_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB5_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB5_eag_1_sequence);

  return offset;
}


static const per_sequence_t EUTRA_FreqNeighHSDN_CellList_r17_sequence_of[1] = {
  { &hf_nr_rrc_EUTRA_FreqNeighHSDN_CellList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange },
};

static int
dissect_nr_rrc_EUTRA_FreqNeighHSDN_CellList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_EUTRA_FreqNeighHSDN_CellList_r17, EUTRA_FreqNeighHSDN_CellList_r17_sequence_of,
                                                  1, maxCellEUTRA, FALSE);

  return offset;
}


static const per_sequence_t CarrierFreqEUTRA_v1700_sequence[] = {
  { &hf_nr_rrc_eutra_FreqNeighHSDN_CellList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_FreqNeighHSDN_CellList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CarrierFreqEUTRA_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CarrierFreqEUTRA_v1700, CarrierFreqEUTRA_v1700_sequence);

  return offset;
}


static const per_sequence_t CarrierFreqListEUTRA_v1700_sequence_of[1] = {
  { &hf_nr_rrc_CarrierFreqListEUTRA_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CarrierFreqEUTRA_v1700 },
};

static int
dissect_nr_rrc_CarrierFreqListEUTRA_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CarrierFreqListEUTRA_v1700, CarrierFreqListEUTRA_v1700_sequence_of,
                                                  1, maxEUTRA_Carrier, FALSE);

  return offset;
}


static const value_string nr_rrc_T_idleModeMeasVoiceFallback_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleModeMeasVoiceFallback_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SIB5_eag_2_sequence[] = {
  { &hf_nr_rrc_carrierFreqListEUTRA_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CarrierFreqListEUTRA_v1700 },
  { &hf_nr_rrc_idleModeMeasVoiceFallback_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleModeMeasVoiceFallback_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB5_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB5_eag_2_sequence);

  return offset;
}


static const per_sequence_t SIB5_sequence[] = {
  { &hf_nr_rrc_carrierFreqListEUTRA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CarrierFreqListEUTRA },
  { &hf_nr_rrc_t_ReselectionEUTRA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection },
  { &hf_nr_rrc_t_ReselectionEUTRA_SF, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SpeedStateScaleFactors },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB5_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB5_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB5 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB5, SIB5_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_messageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *msg_id_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
                                     16, 16, FALSE, NULL, 0, &msg_id_tvb, NULL);



  if (msg_id_tvb) {
    actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
  }

  return offset;
}



static int
dissect_nr_rrc_T_serialNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *serial_nb_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, FALSE, NULL, 0, &serial_nb_tvb, NULL);



  if (serial_nb_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
  }

  return offset;
}



static int
dissect_nr_rrc_T_warningType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *warning_type_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       2, 2, FALSE, &warning_type_tvb);



  if (warning_type_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningType);
    proto_tree_add_item(subtree, hf_nr_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
    proto_tree_add_item(subtree, hf_nr_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
    proto_tree_add_item(subtree, hf_nr_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
  }

  return offset;
}


static const per_sequence_t SIB6_sequence[] = {
  { &hf_nr_rrc_messageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier },
  { &hf_nr_rrc_serialNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber },
  { &hf_nr_rrc_warningType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningType },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB6 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB6, SIB6_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_messageIdentifier_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *msg_id_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
                                     16, 16, FALSE, NULL, 0, &msg_id_tvb, NULL);



  if (msg_id_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
    actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
  }

  return offset;
}



static int
dissect_nr_rrc_T_serialNumber_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *serial_nb_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, FALSE, NULL, 0, &serial_nb_tvb, NULL);



  if (serial_nb_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;
    nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
  }

  return offset;
}


static const value_string nr_rrc_T_warningMessageSegmentType_vals[] = {
  {   0, "notLastSegment" },
  {   1, "lastSegment" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_warningMessageSegmentType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
  guint32 segment_type;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, &segment_type, FALSE, 0, NULL);

  nr_priv->warning_message_segment_type = (guint8)segment_type;


  return offset;
}



static int
dissect_nr_rrc_T_warningMessageSegmentNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
  guint32 segment_number;
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, &segment_number, FALSE);

  nr_priv->warning_message_segment_number = (guint8)segment_number;


  return offset;
}



static int
dissect_nr_rrc_T_warningMessageSegment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *warning_msg_seg_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &warning_msg_seg_tvb);



  if (warning_msg_seg_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;
    tvbuff_t *frag_tvb;
    gpointer p_dcs;
    fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib7_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
                                                      nr_priv->message_identifier, NULL,
                                                      nr_priv->warning_message_segment_number,
                                                      tvb_reported_length(warning_msg_seg_tvb),
                                                      nr_priv->warning_message_segment_type ? FALSE : TRUE);
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
    frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB7 warning message",
                                        frag_data, &nr_rrc_sib7_frag_items, NULL, subtree);
    p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
    if (frag_tvb && p_dcs) {
      dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
    }
  }

  return offset;
}



static int
dissect_nr_rrc_T_dataCodingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *data_coding_scheme_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       1, 1, FALSE, &data_coding_scheme_tvb);



  if (data_coding_scheme_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;
    guint32 dataCodingScheme;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
    dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
    wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
                    GUINT_TO_POINTER(dataCodingScheme));
  }

  return offset;
}


static const per_sequence_t SIB7_sequence[] = {
  { &hf_nr_rrc_messageIdentifier_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier_01 },
  { &hf_nr_rrc_serialNumber_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber_01 },
  { &hf_nr_rrc_warningMessageSegmentType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentType },
  { &hf_nr_rrc_warningMessageSegmentNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentNumber },
  { &hf_nr_rrc_warningMessageSegment, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegment },
  { &hf_nr_rrc_dataCodingScheme, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dataCodingScheme },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB7 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB7, SIB7_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_messageIdentifier_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *msg_id_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
                                     16, 16, FALSE, NULL, 0, &msg_id_tvb, NULL);



  if (msg_id_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
    actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
  }

  return offset;
}



static int
dissect_nr_rrc_T_serialNumber_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *serial_nb_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, FALSE, NULL, 0, &serial_nb_tvb, NULL);



  if (serial_nb_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;
    nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
    proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
  }

  return offset;
}


static const value_string nr_rrc_T_warningMessageSegmentType_01_vals[] = {
  {   0, "notLastSegment" },
  {   1, "lastSegment" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_warningMessageSegmentType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
  guint32 segment_type;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, &segment_type, FALSE, 0, NULL);

  nr_priv->warning_message_segment_type = (guint8)segment_type;


  return offset;
}



static int
dissect_nr_rrc_T_warningMessageSegmentNumber_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
  guint32 segment_number;
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, &segment_number, FALSE);

  nr_priv->warning_message_segment_number = (guint8)segment_number;


  return offset;
}



static int
dissect_nr_rrc_T_warningMessageSegment_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *warning_msg_seg_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &warning_msg_seg_tvb);



  if (warning_msg_seg_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;
    tvbuff_t *frag_tvb;
    gpointer p_dcs;
    fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib8_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
                                                      nr_priv->message_identifier, NULL,
                                                      nr_priv->warning_message_segment_number,
                                                      tvb_reported_length(warning_msg_seg_tvb),
                                                      nr_priv->warning_message_segment_type ? FALSE : TRUE);
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
    frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB8 warning message",
                                        frag_data, &nr_rrc_sib8_frag_items, NULL, subtree);
    p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
    if (frag_tvb && p_dcs) {
      dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
    }
  }

  return offset;
}



static int
dissect_nr_rrc_T_dataCodingScheme_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *data_coding_scheme_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       1, 1, FALSE, &data_coding_scheme_tvb);



  if (data_coding_scheme_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;
    guint32 dataCodingScheme;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
    dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
    wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
                    GUINT_TO_POINTER(dataCodingScheme));
  }

  return offset;
}


static const per_sequence_t SIB8_sequence[] = {
  { &hf_nr_rrc_messageIdentifier_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier_02 },
  { &hf_nr_rrc_serialNumber_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber_02 },
  { &hf_nr_rrc_warningMessageSegmentType_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentType_01 },
  { &hf_nr_rrc_warningMessageSegmentNumber_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentNumber_01 },
  { &hf_nr_rrc_warningMessageSegment_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegment_01 },
  { &hf_nr_rrc_dataCodingScheme_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dataCodingScheme_01 },
  { &hf_nr_rrc_warningAreaCoordinatesSegment, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB8 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB8, SIB8_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_timeInfoUTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint64 timeInfo;
  proto_tree *subtree;
  nstime_t ts;
  guint32 old_offset = offset;
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
                                                            0U, G_GUINT64_CONSTANT(549755813887), &timeInfo, FALSE);



  subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_timeInfo);
  ts.secs = (time_t)(timeInfo/100)-EPOCH_DELTA_1900_01_01_00_00_00_UTC; /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */
  ts.nsecs = (int)(timeInfo%100)*10000000;
  proto_tree_add_time(subtree, hf_nr_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
  proto_tree_add_time(subtree, hf_nr_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);

  return offset;
}



static int
dissect_nr_rrc_T_dayLightSavingTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *daylight_saving_time_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
                                     2, 2, FALSE, NULL, 0, &daylight_saving_time_tvb, NULL);



  if (daylight_saving_time_tvb) {
    guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2);
    actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue);
  }

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M127_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -127, 128U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M63_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -63, 64U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_timeInfo_sequence[] = {
  { &hf_nr_rrc_timeInfoUTC  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeInfoUTC },
  { &hf_nr_rrc_dayLightSavingTime, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dayLightSavingTime },
  { &hf_nr_rrc_leapSeconds  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M127_128 },
  { &hf_nr_rrc_localTimeOffset, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M63_64 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_timeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_timeInfo, T_timeInfo_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_72999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 72999U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_86399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 86399U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 999U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_99999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 99999U, NULL, FALSE);

  return offset;
}


static const per_sequence_t ReferenceTime_r16_sequence[] = {
  { &hf_nr_rrc_refDays_r16  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_72999 },
  { &hf_nr_rrc_refSeconds_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_86399 },
  { &hf_nr_rrc_refMilliSeconds_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_999 },
  { &hf_nr_rrc_refTenNanoSeconds_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_99999 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReferenceTime_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReferenceTime_r16, ReferenceTime_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 32767U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_timeInfoType_r16_vals[] = {
  {   0, "localClock" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeInfoType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ReferenceTimeInfo_r16_sequence[] = {
  { &hf_nr_rrc_time_r16     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceTime_r16 },
  { &hf_nr_rrc_uncertainty_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_32767 },
  { &hf_nr_rrc_timeInfoType_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeInfoType_r16 },
  { &hf_nr_rrc_referenceSFN_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReferenceTimeInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReferenceTimeInfo_r16, ReferenceTimeInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SIB9_eag_1_sequence[] = {
  { &hf_nr_rrc_referenceTimeInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReferenceTimeInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB9_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB9_eag_1_sequence);

  return offset;
}


static const per_sequence_t SIB9_sequence[] = {
  { &hf_nr_rrc_timeInfo     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeInfo },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB9_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB9 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB9, SIB9_sequence);

  return offset;
}



static int
dissect_nr_rrc_OCTET_STRING_SIZE_1_maxHRNN_Len_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       1, maxHRNN_Len_r16, FALSE, NULL);

  return offset;
}


static const per_sequence_t HRNN_r16_sequence[] = {
  { &hf_nr_rrc_hrnn_r16     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING_SIZE_1_maxHRNN_Len_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HRNN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HRNN_r16, HRNN_r16_sequence);

  return offset;
}


static const per_sequence_t HRNN_List_r16_sequence_of[1] = {
  { &hf_nr_rrc_HRNN_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_HRNN_r16 },
};

static int
dissect_nr_rrc_HRNN_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_HRNN_List_r16, HRNN_List_r16_sequence_of,
                                                  1, maxNPN_r16, FALSE);

  return offset;
}


static const per_sequence_t SIB10_r16_sequence[] = {
  { &hf_nr_rrc_hrnn_List_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_HRNN_List_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB10_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB10 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB10_r16, SIB10_r16_sequence);

  return offset;
}


static const per_sequence_t CellListNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_CellListNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_CellListNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CellListNR_r16, CellListNR_r16_sequence_of,
                                                  1, maxCellMeasIdle_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_reportQuantities_r16_vals[] = {
  {   0, "rsrp" },
  {   1, "rsrq" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportQuantities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_qualityThreshold_r16_sequence[] = {
  { &hf_nr_rrc_idleRSRP_Threshold_NR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_idleRSRQ_Threshold_NR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_qualityThreshold_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_qualityThreshold_r16, T_qualityThreshold_r16_sequence);

  return offset;
}


static const per_sequence_t T_ssb_MeasConfig_r16_sequence[] = {
  { &hf_nr_rrc_nrofSS_BlocksToAverage_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
  { &hf_nr_rrc_absThreshSS_BlocksConsolidation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ThresholdNR },
  { &hf_nr_rrc_smtc_r16     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC },
  { &hf_nr_rrc_ssb_ToMeasure_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_ToMeasure },
  { &hf_nr_rrc_deriveSSB_IndexFromCell_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_ss_RSSI_Measurement_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SS_RSSI_Measurement },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_MeasConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ssb_MeasConfig_r16, T_ssb_MeasConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportQuantityRS_Indexes_r16_vals[] = {
  {   0, "rsrp" },
  {   1, "rsrq" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportQuantityRS_Indexes_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofIndexesToReport, NULL, FALSE);

  return offset;
}


static const per_sequence_t BeamMeasConfigIdle_NR_r16_sequence[] = {
  { &hf_nr_rrc_reportQuantityRS_Indexes_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantityRS_Indexes_r16 },
  { &hf_nr_rrc_maxNrofRS_IndexesToReport_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
  { &hf_nr_rrc_includeBeamMeasurements_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamMeasConfigIdle_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BeamMeasConfigIdle_NR_r16, BeamMeasConfigIdle_NR_r16_sequence);

  return offset;
}


static const per_sequence_t MeasIdleCarrierNR_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreq_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_ssbSubcarrierSpacing_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MultiFrequencyBandListNR },
  { &hf_nr_rrc_measCellListNR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CellListNR_r16 },
  { &hf_nr_rrc_reportQuantities_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantities_r16 },
  { &hf_nr_rrc_qualityThreshold_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_qualityThreshold_r16 },
  { &hf_nr_rrc_ssb_MeasConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_MeasConfig_r16 },
  { &hf_nr_rrc_beamMeasConfigIdle_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BeamMeasConfigIdle_NR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasIdleCarrierNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasIdleCarrierNR_r16, MeasIdleCarrierNR_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_measIdleCarrierListNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdleCarrierNR_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16, SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16_sequence_of,
                                                  1, maxFreqIdle_r16, FALSE);

  return offset;
}


static const per_sequence_t CellListEUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_CellListEUTRA_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange },
};

static int
dissect_nr_rrc_CellListEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CellListEUTRA_r16, CellListEUTRA_r16_sequence_of,
                                                  1, maxCellMeasIdle_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_reportQuantitiesEUTRA_r16_vals[] = {
  {   0, "rsrp" },
  {   1, "rsrq" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportQuantitiesEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_RSRQ_RangeEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -30, 46U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_qualityThresholdEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_idleRSRP_Threshold_EUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_RangeEUTRA },
  { &hf_nr_rrc_idleRSRQ_Threshold_EUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_RangeEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_qualityThresholdEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_qualityThresholdEUTRA_r16, T_qualityThresholdEUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t MeasIdleCarrierEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreqEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_allowedMeasBandwidth_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_AllowedMeasBandwidth },
  { &hf_nr_rrc_measCellListEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CellListEUTRA_r16 },
  { &hf_nr_rrc_reportQuantitiesEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantitiesEUTRA_r16 },
  { &hf_nr_rrc_qualityThresholdEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_qualityThresholdEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasIdleCarrierEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasIdleCarrierEUTRA_r16, MeasIdleCarrierEUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_measIdleCarrierListEUTRA_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdleCarrierEUTRA_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16, SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16_sequence_of,
                                                  1, maxFreqIdle_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasIdleConfigSIB_r16_sequence[] = {
  { &hf_nr_rrc_measIdleCarrierListNR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16 },
  { &hf_nr_rrc_measIdleCarrierListEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasIdleConfigSIB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasIdleConfigSIB_r16, MeasIdleConfigSIB_r16_sequence);

  return offset;
}


static const per_sequence_t SIB11_r16_sequence[] = {
  { &hf_nr_rrc_measIdleConfigSIB_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasIdleConfigSIB_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB11_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB11");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB11_r16, SIB11_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_segmentType_r16_vals[] = {
  {   0, "notLastSegment" },
  {   1, "lastSegment" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_segmentType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SIB12_r16_sequence[] = {
  { &hf_nr_rrc_segmentNumber_r16_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_segmentType_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_segmentType_r16 },
  { &hf_nr_rrc_segmentContainer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB12_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB12 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB12_r16, SIB12_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_sl_V2X_ConfigCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_v2x_configcommon_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_v2x_configcommon_tvb);

  if (sl_v2x_configcommon_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_V2X_ConfigCommon_r16);
    dissect_lte_rrc_SystemInformationBlockType21_r14_PDU(sl_v2x_configcommon_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_tdd_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *tdd_config_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &tdd_config_tvb);

  if (tdd_config_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_tdd_Config_r16);
    dissect_lte_rrc_TDD_Config_PDU(tdd_config_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SIB13_r16_sequence[] = {
  { &hf_nr_rrc_sl_V2X_ConfigCommon_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_V2X_ConfigCommon_r16 },
  { &hf_nr_rrc_sIB13_r16_dummy, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_tdd_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_tdd_Config_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB13_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB13 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB13_r16, SIB13_r16_sequence);

  return offset;
}


static const per_sequence_t SIB14_r16_sequence[] = {
  { &hf_nr_rrc_sl_V2X_ConfigCommonExt_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB14_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB14 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB14_r16, SIB14_r16_sequence);

  return offset;
}


static const value_string nr_rrc_ApplicableDisasterInfo_r17_vals[] = {
  {   0, "noDisasterRoaming-r17" },
  {   1, "disasterRelatedIndication-r17" },
  {   2, "commonPLMNs-r17" },
  {   3, "dedicatedPLMNs-r17" },
  { 0, NULL }
};

static const per_choice_t ApplicableDisasterInfo_r17_choice[] = {
  {   0, &hf_nr_rrc_noDisasterRoaming_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_disasterRelatedIndication_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_commonPLMNs_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_dedicatedPLMNs_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_ApplicableDisasterInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_ApplicableDisasterInfo_r17, ApplicableDisasterInfo_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17_sequence_of[1] = {
  { &hf_nr_rrc_applicableDisasterInfoList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ApplicableDisasterInfo_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17, SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}


static const per_sequence_t SIB15_r17_sequence[] = {
  { &hf_nr_rrc_commonPLMNsWithDisasterCondition_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity },
  { &hf_nr_rrc_applicableDisasterInfoList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB15_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB15 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB15_r17, SIB15_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxFreq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxFreq, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_NSAG_ID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     8, 8, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t NSAG_IdentityInfo_r17_sequence[] = {
  { &hf_nr_rrc_nsag_ID_r17  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NSAG_ID_r17 },
  { &hf_nr_rrc_trackingAreaCode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TrackingAreaCode },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NSAG_IdentityInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NSAG_IdentityInfo_r17, NSAG_IdentityInfo_r17_sequence);

  return offset;
}


static const per_sequence_t SliceCellListNR_r17_sequence_of[1] = {
  { &hf_nr_rrc_SliceCellListNR_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_SliceCellListNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SliceCellListNR_r17, SliceCellListNR_r17_sequence_of,
                                                  1, maxCellSlice_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sliceCellListNR_r17_vals[] = {
  {   0, "sliceAllowedCellListNR-r17" },
  {   1, "sliceExcludedCellListNR-r17" },
  { 0, NULL }
};

static const per_choice_t T_sliceCellListNR_r17_choice[] = {
  {   0, &hf_nr_rrc_sliceAllowedCellListNR_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SliceCellListNR_r17 },
  {   1, &hf_nr_rrc_sliceExcludedCellListNR_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SliceCellListNR_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sliceCellListNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sliceCellListNR_r17, T_sliceCellListNR_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SliceInfo_r17_sequence[] = {
  { &hf_nr_rrc_nsag_IdentityInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NSAG_IdentityInfo_r17 },
  { &hf_nr_rrc_nsag_CellReselectionPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionPriority },
  { &hf_nr_rrc_nsag_CellReselectionSubPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionSubPriority },
  { &hf_nr_rrc_sliceCellListNR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sliceCellListNR_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SliceInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SliceInfo_r17, SliceInfo_r17_sequence);

  return offset;
}


static const per_sequence_t SliceInfoList_r17_sequence_of[1] = {
  { &hf_nr_rrc_SliceInfoList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SliceInfo_r17 },
};

static int
dissect_nr_rrc_SliceInfoList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SliceInfoList_r17, SliceInfoList_r17_sequence_of,
                                                  1, maxSliceInfo_r17, FALSE);

  return offset;
}


static const per_sequence_t FreqPrioritySlicing_r17_sequence[] = {
  { &hf_nr_rrc_dl_ImplicitCarrierFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxFreq },
  { &hf_nr_rrc_sliceInfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SliceInfoList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FreqPrioritySlicing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FreqPrioritySlicing_r17, FreqPrioritySlicing_r17_sequence);

  return offset;
}


static const per_sequence_t FreqPriorityListSlicing_r17_sequence_of[1] = {
  { &hf_nr_rrc_FreqPriorityListSlicing_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqPrioritySlicing_r17 },
};

static int
dissect_nr_rrc_FreqPriorityListSlicing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FreqPriorityListSlicing_r17, FreqPriorityListSlicing_r17_sequence_of,
                                                  1, maxFreqPlus1, FALSE);

  return offset;
}


static const per_sequence_t SIB16_r17_sequence[] = {
  { &hf_nr_rrc_freqPriorityListSlicing_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FreqPriorityListSlicing_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB16_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB16 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB16_r17, SIB16_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_segmentType_r17_vals[] = {
  {   0, "notLastSegment" },
  {   1, "lastSegment" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_segmentType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SIB17_r17_sequence[] = {
  { &hf_nr_rrc_segmentNumber_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_segmentType_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_segmentType_r17 },
  { &hf_nr_rrc_segmentContainer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB17_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB17 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB17_r17, SIB17_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16_sequence_of[1] = {
  { &hf_nr_rrc_nid_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NID_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16, SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16_sequence_of,
                                                  1, maxGIN_r17, FALSE);

  return offset;
}


static const per_sequence_t GIN_Element_r17_sequence[] = {
  { &hf_nr_rrc_plmn_Identity_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_nid_List_r17 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GIN_Element_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GIN_Element_r17, GIN_Element_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17_sequence_of[1] = {
  { &hf_nr_rrc_gin_ElementList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_GIN_Element_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17, SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17_sequence_of,
                                                  1, maxGIN_r17, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_maxGIN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, maxGIN_r17, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t GINs_PerSNPN_r17_sequence[] = {
  { &hf_nr_rrc_supportedGINs_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_maxGIN_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GINs_PerSNPN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GINs_PerSNPN_r17, GINs_PerSNPN_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17_sequence_of[1] = {
  { &hf_nr_rrc_gins_PerSNPN_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_GINs_PerSNPN_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17, SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17_sequence_of,
                                                  1, maxNPN_r16, FALSE);

  return offset;
}


static const per_sequence_t SIB18_r17_sequence[] = {
  { &hf_nr_rrc_gin_ElementList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17 },
  { &hf_nr_rrc_gins_PerSNPN_List_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB18_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB18 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB18_r17, SIB18_r17_sequence);

  return offset;
}


static const per_sequence_t EpochTime_r17_sequence[] = {
  { &hf_nr_rrc_sfn_r17      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_subFrameNR_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_9 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EpochTime_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EpochTime_r17, EpochTime_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ntn_UlSyncValidityDuration_r17_vals[] = {
  {   0, "s5" },
  {   1, "s10" },
  {   2, "s15" },
  {   3, "s20" },
  {   4, "s25" },
  {   5, "s30" },
  {   6, "s35" },
  {   7, "s40" },
  {   8, "s45" },
  {   9, "s50" },
  {  10, "s55" },
  {  11, "s60" },
  {  12, "s120" },
  {  13, "s180" },
  {  14, "s240" },
  {  15, "s900" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ntn_UlSyncValidityDuration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 1023U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 512U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_66485757(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 66485757U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M257303_257303(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -257303, 257303U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_28949(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 28949U, NULL, FALSE);

  return offset;
}


static const per_sequence_t TA_Info_r17_sequence[] = {
  { &hf_nr_rrc_ta_Common_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_66485757 },
  { &hf_nr_rrc_ta_CommonDrift_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M257303_257303 },
  { &hf_nr_rrc_ta_CommonDriftVariant_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_28949 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TA_Info_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TA_Info_r17, TA_Info_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ntn_PolarizationDL_r17_01_vals[] = {
  {   0, "rhcp" },
  {   1, "lhcp" },
  {   2, "linear" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ntn_PolarizationDL_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ntn_PolarizationUL_r17_01_vals[] = {
  {   0, "rhcp" },
  {   1, "lhcp" },
  {   2, "linear" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ntn_PolarizationUL_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_PositionStateVector_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -33554432, 33554431U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_VelocityStateVector_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -131072, 131071U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PositionVelocity_r17_sequence[] = {
  { &hf_nr_rrc_positionX_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PositionStateVector_r17 },
  { &hf_nr_rrc_positionY_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PositionStateVector_r17 },
  { &hf_nr_rrc_positionZ_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PositionStateVector_r17 },
  { &hf_nr_rrc_velocityVX_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VelocityStateVector_r17 },
  { &hf_nr_rrc_velocityVY_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VelocityStateVector_r17 },
  { &hf_nr_rrc_velocityVZ_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VelocityStateVector_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PositionVelocity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PositionVelocity_r17, PositionVelocity_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_8589934591(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
                                                            0U, G_GUINT64_CONSTANT(8589934591), NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_1048575(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1048575U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_268435455(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 268435455U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M67108864_67108863(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -67108864, 67108863U, NULL, FALSE);

  return offset;
}


static const per_sequence_t Orbital_r17_sequence[] = {
  { &hf_nr_rrc_semiMajorAxis_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_8589934591 },
  { &hf_nr_rrc_eccentricity_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1048575 },
  { &hf_nr_rrc_periapsis_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268435455 },
  { &hf_nr_rrc_longitude_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268435455 },
  { &hf_nr_rrc_inclination_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M67108864_67108863 },
  { &hf_nr_rrc_meanAnomaly_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268435455 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Orbital_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Orbital_r17, Orbital_r17_sequence);

  return offset;
}


static const value_string nr_rrc_EphemerisInfo_r17_vals[] = {
  {   0, "positionVelocity-r17" },
  {   1, "orbital-r17" },
  { 0, NULL }
};

static const per_choice_t EphemerisInfo_r17_choice[] = {
  {   0, &hf_nr_rrc_positionVelocity_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PositionVelocity_r17 },
  {   1, &hf_nr_rrc_orbital_r17  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Orbital_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_EphemerisInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_EphemerisInfo_r17, EphemerisInfo_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ta_Report_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ta_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NTN_Config_r17_sequence[] = {
  { &hf_nr_rrc_epochTime_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_EpochTime_r17 },
  { &hf_nr_rrc_ntn_UlSyncValidityDuration_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ntn_UlSyncValidityDuration_r17 },
  { &hf_nr_rrc_cellSpecificKoffset_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_1023 },
  { &hf_nr_rrc_kmac_r17     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_512 },
  { &hf_nr_rrc_ta_Info_r17  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TA_Info_r17 },
  { &hf_nr_rrc_ntn_PolarizationDL_r17_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ntn_PolarizationDL_r17_01 },
  { &hf_nr_rrc_ntn_PolarizationUL_r17_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ntn_PolarizationUL_r17_01 },
  { &hf_nr_rrc_ephemerisInfo_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_EphemerisInfo_r17 },
  { &hf_nr_rrc_ta_Report_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ta_Report_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NTN_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NTN_Config_r17, NTN_Config_r17_sequence);

  return offset;
}


static const per_sequence_t NTN_NeighCellConfig_r17_sequence[] = {
  { &hf_nr_rrc_ntn_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NTN_Config_r17 },
  { &hf_nr_rrc_carrierFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_physCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PhysCellId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NTN_NeighCellConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NTN_NeighCellConfig_r17, NTN_NeighCellConfig_r17_sequence);

  return offset;
}


static const per_sequence_t NTN_NeighCellConfigList_r17_sequence_of[1] = {
  { &hf_nr_rrc_NTN_NeighCellConfigList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NTN_NeighCellConfig_r17 },
};

static int
dissect_nr_rrc_NTN_NeighCellConfigList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NTN_NeighCellConfigList_r17, NTN_NeighCellConfigList_r17_sequence_of,
                                                  1, maxCellNTN_r17, FALSE);

  return offset;
}


static const per_sequence_t SIB19_r17_eag_1_sequence[] = {
  { &hf_nr_rrc_ntn_NeighCellConfigListExt_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NTN_NeighCellConfigList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB19_r17_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SIB19_r17_eag_1_sequence);

  return offset;
}


static const per_sequence_t SIB19_r17_sequence[] = {
  { &hf_nr_rrc_ntn_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_NTN_Config_r17 },
  { &hf_nr_rrc_t_Service_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_549755813887 },
  { &hf_nr_rrc_referenceLocation_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReferenceLocation_r17 },
  { &hf_nr_rrc_distanceThresh_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65525 },
  { &hf_nr_rrc_ntn_NeighCellConfigList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_NTN_NeighCellConfigList_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB19_r17_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB19_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB19 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB19_r17, SIB19_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 0U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_MCCH_RepetitionPeriodAndOffset_r17_vals[] = {
  {   0, "rf1-r17" },
  {   1, "rf2-r17" },
  {   2, "rf4-r17" },
  {   3, "rf8-r17" },
  {   4, "rf16-r17" },
  {   5, "rf32-r17" },
  {   6, "rf64-r17" },
  {   7, "rf128-r17" },
  {   8, "rf256-r17" },
  { 0, NULL }
};

static const per_choice_t MCCH_RepetitionPeriodAndOffset_r17_choice[] = {
  {   0, &hf_nr_rrc_rf1_r17      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0 },
  {   1, &hf_nr_rrc_rf2_r17      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1 },
  {   2, &hf_nr_rrc_rf4_r17      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_3 },
  {   3, &hf_nr_rrc_rf8_r17      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_7 },
  {   4, &hf_nr_rrc_rf16_r17     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_15 },
  {   5, &hf_nr_rrc_rf32_r17     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   6, &hf_nr_rrc_rf64_r17     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   7, &hf_nr_rrc_rf128_r17    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   8, &hf_nr_rrc_rf256_r17    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_MCCH_RepetitionPeriodAndOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_MCCH_RepetitionPeriodAndOffset_r17, MCCH_RepetitionPeriodAndOffset_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mcch_WindowDuration_r17_vals[] = {
  {   0, "sl2" },
  {   1, "sl4" },
  {   2, "sl8" },
  {   3, "sl10" },
  {   4, "sl20" },
  {   5, "sl40" },
  {   6, "sl80" },
  {   7, "sl160" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcch_WindowDuration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcch_ModificationPeriod_r17_vals[] = {
  {   0, "rf2" },
  {   1, "rf4" },
  {   2, "rf8" },
  {   3, "rf16" },
  {   4, "rf32" },
  {   5, "rf64" },
  {   6, "rf128" },
  {   7, "rf256" },
  {   8, "rf512" },
  {   9, "rf1024" },
  {  10, "rf2048" },
  {  11, "rf4096" },
  {  12, "rf8192" },
  {  13, "rf16384" },
  {  14, "rf32768" },
  {  15, "rf65536" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcch_ModificationPeriod_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MCCH_Config_r17_sequence[] = {
  { &hf_nr_rrc_mcch_RepetitionPeriodAndOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCCH_RepetitionPeriodAndOffset_r17 },
  { &hf_nr_rrc_mcch_WindowStartSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_79 },
  { &hf_nr_rrc_mcch_WindowDuration_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcch_WindowDuration_r17 },
  { &hf_nr_rrc_mcch_ModificationPeriod_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mcch_ModificationPeriod_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MCCH_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MCCH_Config_r17, MCCH_Config_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_37949(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 37949U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_LocationAndBandwidthBroadcast_r17_vals[] = {
  {   0, "sameAsSib1ConfiguredLocationAndBW" },
  {   1, "locationAndBandwidth" },
  { 0, NULL }
};

static const per_choice_t LocationAndBandwidthBroadcast_r17_choice[] = {
  {   0, &hf_nr_rrc_sameAsSib1ConfiguredLocationAndBW, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_locationAndBandwidth, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_37949 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_LocationAndBandwidthBroadcast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_LocationAndBandwidthBroadcast_r17, LocationAndBandwidthBroadcast_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdsch_AggregationFactor_r17_01_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_AggregationFactor_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDSCH_ConfigPTM_r17_sequence[] = {
  { &hf_nr_rrc_dataScramblingIdentityPDSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_dmrs_ScramblingID0_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &hf_nr_rrc_pdsch_AggregationFactor_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_AggregationFactor_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_ConfigPTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_ConfigPTM_r17, PDSCH_ConfigPTM_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17_sequence_of[1] = {
  { &hf_nr_rrc_pdschConfigList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_ConfigPTM_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17, SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17_sequence_of,
                                                  1, maxNrofPDSCH_ConfigPTM_r17, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 32U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_mappingType_r16_vals[] = {
  {   0, "typeA" },
  {   1, "typeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mappingType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_repetitionNumber_r16_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n5" },
  {   4, "n6" },
  {   5, "n7" },
  {   6, "n8" },
  {   7, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetitionNumber_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_33_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            33U, 128U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PDSCH_TimeDomainResourceAllocation_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_k0_v1710     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_33_128 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_TimeDomainResourceAllocation_r16_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_repetitionNumber_v1730_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n5" },
  {   4, "n6" },
  {   5, "n7" },
  {   6, "n8" },
  {   7, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetitionNumber_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDSCH_TimeDomainResourceAllocation_r16_eag_2_sequence[] = {
  { &hf_nr_rrc_repetitionNumber_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_repetitionNumber_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_TimeDomainResourceAllocation_r16_eag_2_sequence);

  return offset;
}


static const per_sequence_t PDSCH_TimeDomainResourceAllocation_r16_sequence[] = {
  { &hf_nr_rrc_k0_r16       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_32 },
  { &hf_nr_rrc_mappingType_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType_r16 },
  { &hf_nr_rrc_startSymbolAndLength_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 },
  { &hf_nr_rrc_repetitionNumber_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_repetitionNumber_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16, PDSCH_TimeDomainResourceAllocation_r16_sequence);

  return offset;
}


static const per_sequence_t PDSCH_TimeDomainResourceAllocationList_r16_sequence_of[1] = {
  { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16 },
};

static int
dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16, PDSCH_TimeDomainResourceAllocationList_r16_sequence_of,
                                                  1, maxNrofDL_Allocations, FALSE);

  return offset;
}



static int
dissect_nr_rrc_RateMatchPatternId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofRateMatchPatterns_1, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     275, 275, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     14, 14, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_symbolsInResourceBlock_vals[] = {
  {   0, "oneSlot" },
  {   1, "twoSlots" },
  { 0, NULL }
};

static const per_choice_t T_symbolsInResourceBlock_choice[] = {
  {   0, &hf_nr_rrc_oneSlot      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_14 },
  {   1, &hf_nr_rrc_twoSlots     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_28 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_symbolsInResourceBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_symbolsInResourceBlock, T_symbolsInResourceBlock_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     2, 2, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     5, 5, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     10, 10, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     20, 20, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     40, 40, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicityAndPattern_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n5" },
  {   3, "n8" },
  {   4, "n10" },
  {   5, "n20" },
  {   6, "n40" },
  { 0, NULL }
};

static const per_choice_t T_periodicityAndPattern_choice[] = {
  {   0, &hf_nr_rrc_n2           , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  {   1, &hf_nr_rrc_n4_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   2, &hf_nr_rrc_n5_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_5 },
  {   3, &hf_nr_rrc_n8_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   4, &hf_nr_rrc_n10_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  {   5, &hf_nr_rrc_n20_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_20 },
  {   6, &hf_nr_rrc_n40_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_40 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_periodicityAndPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_periodicityAndPattern, T_periodicityAndPattern_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_bitmaps_sequence[] = {
  { &hf_nr_rrc_resourceBlocks, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_275 },
  { &hf_nr_rrc_symbolsInResourceBlock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbolsInResourceBlock },
  { &hf_nr_rrc_periodicityAndPattern, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_periodicityAndPattern },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_bitmaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_bitmaps, T_bitmaps_sequence);

  return offset;
}



static int
dissect_nr_rrc_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofControlResourceSets_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_patternType_vals[] = {
  {   0, "bitmaps" },
  {   1, "controlResourceSet" },
  { 0, NULL }
};

static const per_choice_t T_patternType_choice[] = {
  {   0, &hf_nr_rrc_bitmaps      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_bitmaps },
  {   1, &hf_nr_rrc_controlResourceSet, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ControlResourceSetId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_patternType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_patternType, T_patternType_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_rateMatchPattern_dummy_vals[] = {
  {   0, "dynamic" },
  {   1, "semiStatic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rateMatchPattern_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_ControlResourceSetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofControlResourceSets_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t RateMatchPattern_eag_1_sequence[] = {
  { &hf_nr_rrc_controlResourceSet_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ControlResourceSetId_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RateMatchPattern_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RateMatchPattern_eag_1_sequence);

  return offset;
}


static const per_sequence_t RateMatchPattern_sequence[] = {
  { &hf_nr_rrc_rateMatchPatternId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId },
  { &hf_nr_rrc_patternType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_patternType },
  { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_rateMatchPattern_dummy, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rateMatchPattern_dummy },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPattern_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RateMatchPattern, RateMatchPattern_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of[1] = {
  { &hf_nr_rrc_rateMatchPatternToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPattern },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of,
                                                  1, maxNrofRateMatchPatterns, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 16383U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_carrierBandwidthDL_vals[] = {
  {   0, "n6" },
  {   1, "n15" },
  {   2, "n25" },
  {   3, "n50" },
  {   4, "n75" },
  {   5, "n100" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_carrierBandwidthDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_radioframeAllocationPeriod_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_radioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_subframeAllocation1_vals[] = {
  {   0, "oneFrame" },
  {   1, "fourFrames" },
  { 0, NULL }
};

static const per_choice_t T_subframeAllocation1_choice[] = {
  {   0, &hf_nr_rrc_oneFrame     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_6 },
  {   1, &hf_nr_rrc_fourFrames   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_24 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_subframeAllocation1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_subframeAllocation1, T_subframeAllocation1_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_subframeAllocation2_vals[] = {
  {   0, "oneFrame" },
  {   1, "fourFrames" },
  { 0, NULL }
};

static const per_choice_t T_subframeAllocation2_choice[] = {
  {   0, &hf_nr_rrc_oneFrame_01  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  {   1, &hf_nr_rrc_fourFrames_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_subframeAllocation2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_subframeAllocation2, T_subframeAllocation2_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t EUTRA_MBSFN_SubframeConfig_sequence[] = {
  { &hf_nr_rrc_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_radioframeAllocationPeriod },
  { &hf_nr_rrc_radioframeAllocationOffset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
  { &hf_nr_rrc_subframeAllocation1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subframeAllocation1 },
  { &hf_nr_rrc_subframeAllocation2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_subframeAllocation2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_MBSFN_SubframeConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_MBSFN_SubframeConfig, EUTRA_MBSFN_SubframeConfig_sequence);

  return offset;
}


static const per_sequence_t EUTRA_MBSFN_SubframeConfigList_sequence_of[1] = {
  { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_MBSFN_SubframeConfig },
};

static int
dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList, EUTRA_MBSFN_SubframeConfigList_sequence_of,
                                                  1, maxMBSFN_Allocations, FALSE);

  return offset;
}


static const value_string nr_rrc_T_nrofCRS_Ports_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofCRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_v_Shift_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  {   4, "n4" },
  {   5, "n5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_v_Shift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RateMatchPatternLTE_CRS_sequence[] = {
  { &hf_nr_rrc_carrierFreqDL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_16383 },
  { &hf_nr_rrc_carrierBandwidthDL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_carrierBandwidthDL },
  { &hf_nr_rrc_mbsfn_SubframeConfigList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList },
  { &hf_nr_rrc_nrofCRS_Ports, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCRS_Ports },
  { &hf_nr_rrc_v_Shift      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_v_Shift },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RateMatchPatternLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RateMatchPatternLTE_CRS, RateMatchPatternLTE_CRS_sequence);

  return offset;
}


static const value_string nr_rrc_T_mcs_Table_r17_01_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_Table_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_xOverhead_r17_vals[] = {
  {   0, "xOh6" },
  {   1, "xOh12" },
  {   2, "xOh18" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_xOverhead_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDSCH_ConfigBroadcast_r17_sequence[] = {
  { &hf_nr_rrc_pdschConfigList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17 },
  { &hf_nr_rrc_pdsch_TimeDomainAllocationList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16 },
  { &hf_nr_rrc_rateMatchPatternToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
  { &hf_nr_rrc_lte_CRS_ToMatchAround_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RateMatchPatternLTE_CRS },
  { &hf_nr_rrc_mcs_Table_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_Table_r17_01 },
  { &hf_nr_rrc_xOverhead_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_xOverhead_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_ConfigBroadcast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_ConfigBroadcast_r17, PDSCH_ConfigBroadcast_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     45, 45, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxCoReSetDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxCoReSetDuration, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_reg_BundleSize_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reg_BundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interleaverSize_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interleaverSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_interleaved_sequence[] = {
  { &hf_nr_rrc_reg_BundleSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reg_BundleSize },
  { &hf_nr_rrc_interleaverSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interleaverSize },
  { &hf_nr_rrc_shiftIndex   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_interleaved(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_interleaved, T_interleaved_sequence);

  return offset;
}


static const value_string nr_rrc_T_cce_REG_MappingType_vals[] = {
  {   0, "interleaved" },
  {   1, "nonInterleaved" },
  { 0, NULL }
};

static const per_choice_t T_cce_REG_MappingType_choice[] = {
  {   0, &hf_nr_rrc_interleaved  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_interleaved },
  {   1, &hf_nr_rrc_nonInterleaved, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cce_REG_MappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cce_REG_MappingType, T_cce_REG_MappingType_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_precoderGranularity_vals[] = {
  {   0, "sameAsREG-bundle" },
  {   1, "allContiguousRBs" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_precoderGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofTCI_States_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of[1] = {
  { &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of,
                                                  1, maxNrofTCI_StatesPDCCH, FALSE);

  return offset;
}


static const value_string nr_rrc_T_tci_PresentInDCI_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tci_PresentInDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 5U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 3U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ControlResourceSetId_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            maxNrofControlResourceSets, maxNrofControlResourceSets_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t ControlResourceSet_eag_1_sequence[] = {
  { &hf_nr_rrc_rb_Offset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_5 },
  { &hf_nr_rrc_tci_PresentDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_3 },
  { &hf_nr_rrc_coresetPoolIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_controlResourceSetId_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ControlResourceSetId_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ControlResourceSet_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ControlResourceSet_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_followUnifiedTCI_State_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_followUnifiedTCI_State_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ControlResourceSet_eag_2_sequence[] = {
  { &hf_nr_rrc_followUnifiedTCI_State_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_followUnifiedTCI_State_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ControlResourceSet_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ControlResourceSet_eag_2_sequence);

  return offset;
}


static const per_sequence_t ControlResourceSet_sequence[] = {
  { &hf_nr_rrc_controlResourceSetId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
  { &hf_nr_rrc_frequencyDomainResources, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_45 },
  { &hf_nr_rrc_duration     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCoReSetDuration },
  { &hf_nr_rrc_cce_REG_MappingType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cce_REG_MappingType },
  { &hf_nr_rrc_precoderGranularity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_precoderGranularity },
  { &hf_nr_rrc_tci_StatesPDCCH_ToAddList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
  { &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
  { &hf_nr_rrc_tci_PresentInDCI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tci_PresentInDCI },
  { &hf_nr_rrc_pdcch_DMRS_ScramblingID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ControlResourceSet, ControlResourceSet_sequence);

  return offset;
}


static const per_sequence_t CFR_ConfigMCCH_MTCH_r17_sequence[] = {
  { &hf_nr_rrc_locationAndBandwidthBroadcast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LocationAndBandwidthBroadcast_r17 },
  { &hf_nr_rrc_pdsch_ConfigMCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDSCH_ConfigBroadcast_r17 },
  { &hf_nr_rrc_commonControlResourceSetExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ControlResourceSet },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CFR_ConfigMCCH_MTCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CFR_ConfigMCCH_MTCH_r17, CFR_ConfigMCCH_MTCH_r17_sequence);

  return offset;
}


static const per_sequence_t SIB20_r17_sequence[] = {
  { &hf_nr_rrc_mcch_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCCH_Config_r17 },
  { &hf_nr_rrc_cfr_ConfigMCCH_MTCH_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CFR_ConfigMCCH_MTCH_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB20_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB20 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB20_r17, SIB20_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_MBS_FSAI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       3, 3, FALSE, NULL);

  return offset;
}


static const per_sequence_t MBS_FSAI_List_r17_sequence_of[1] = {
  { &hf_nr_rrc_MBS_FSAI_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_FSAI_r17 },
};

static int
dissect_nr_rrc_MBS_FSAI_List_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MBS_FSAI_List_r17, MBS_FSAI_List_r17_sequence_of,
                                                  1, maxFSAI_MBS_r17, FALSE);

  return offset;
}


static const per_sequence_t MBS_FSAI_InterFreq_r17_sequence[] = {
  { &hf_nr_rrc_dl_CarrierFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_mbs_FSAI_List_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_FSAI_List_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBS_FSAI_InterFreq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBS_FSAI_InterFreq_r17, MBS_FSAI_InterFreq_r17_sequence);

  return offset;
}


static const per_sequence_t MBS_FSAI_InterFreqList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MBS_FSAI_InterFreqList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_FSAI_InterFreq_r17 },
};

static int
dissect_nr_rrc_MBS_FSAI_InterFreqList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MBS_FSAI_InterFreqList_r17, MBS_FSAI_InterFreqList_r17_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t SIB21_r17_sequence[] = {
  { &hf_nr_rrc_mbs_FSAI_IntraFreq_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MBS_FSAI_List_r17 },
  { &hf_nr_rrc_mbs_FSAI_InterFreqList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MBS_FSAI_InterFreqList_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB21_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB21 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB21_r17, SIB21_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sib_TypeAndInfo_item_vals[] = {
  {   0, "sib2" },
  {   1, "sib3" },
  {   2, "sib4" },
  {   3, "sib5" },
  {   4, "sib6" },
  {   5, "sib7" },
  {   6, "sib8" },
  {   7, "sib9" },
  {   8, "sib10-v1610" },
  {   9, "sib11-v1610" },
  {  10, "sib12-v1610" },
  {  11, "sib13-v1610" },
  {  12, "sib14-v1610" },
  {  13, "sib15-v1700" },
  {  14, "sib16-v1700" },
  {  15, "sib17-v1700" },
  {  16, "sib18-v1700" },
  {  17, "sib19-v1700" },
  {  18, "sib20-v1700" },
  {  19, "sib21-v1700" },
  { 0, NULL }
};

static const per_choice_t T_sib_TypeAndInfo_item_choice[] = {
  {   0, &hf_nr_rrc_sib2         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SIB2 },
  {   1, &hf_nr_rrc_sib3         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SIB3 },
  {   2, &hf_nr_rrc_sib4         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SIB4 },
  {   3, &hf_nr_rrc_sib5         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SIB5 },
  {   4, &hf_nr_rrc_sib6         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SIB6 },
  {   5, &hf_nr_rrc_sib7         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SIB7 },
  {   6, &hf_nr_rrc_sib8         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SIB8 },
  {   7, &hf_nr_rrc_sib9         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SIB9 },
  {   8, &hf_nr_rrc_sib10_v1610  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB10_r16 },
  {   9, &hf_nr_rrc_sib11_v1610  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB11_r16 },
  {  10, &hf_nr_rrc_sib12_v1610  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB12_r16 },
  {  11, &hf_nr_rrc_sib13_v1610  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB13_r16 },
  {  12, &hf_nr_rrc_sib14_v1610  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB14_r16 },
  {  13, &hf_nr_rrc_sib15_v1700  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB15_r17 },
  {  14, &hf_nr_rrc_sib16_v1700  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB16_r17 },
  {  15, &hf_nr_rrc_sib17_v1700  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB17_r17 },
  {  16, &hf_nr_rrc_sib18_v1700  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB18_r17 },
  {  17, &hf_nr_rrc_sib19_v1700  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB19_r17 },
  {  18, &hf_nr_rrc_sib20_v1700  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB20_r17 },
  {  19, &hf_nr_rrc_sib21_v1700  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB21_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sib_TypeAndInfo_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sib_TypeAndInfo_item, T_sib_TypeAndInfo_item_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_sib_TypeAndInfo_sequence_of[1] = {
  { &hf_nr_rrc_sib_TypeAndInfo_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sib_TypeAndInfo_item },
};

static int
dissect_nr_rrc_T_sib_TypeAndInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sib_TypeAndInfo, T_sib_TypeAndInfo_sequence_of,
                                                  1, maxSIB, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_41_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_41, T_nonCriticalExtension_41_sequence);

  return offset;
}


static const per_sequence_t SystemInformation_IEs_sequence[] = {
  { &hf_nr_rrc_sib_TypeAndInfo, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sib_TypeAndInfo },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_104, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_41 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SystemInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SystemInformation_IEs, SystemInformation_IEs_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_assistanceDataSIB_Element_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *assist_data_sib_elem_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &assist_data_sib_elem_tvb);

  if (assist_data_sib_elem_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_assistanceDataSIB_Element_r16);

    dissect_lpp_AssistanceDataSIBelement_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree,
                                                 nr_rrc_get_private_data(actx)->pos_sib_type);
  }


  return offset;
}


static const per_sequence_t SIBpos_r16_sequence[] = {
  { &hf_nr_rrc_assistanceDataSIB_Element_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_assistanceDataSIB_Element_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIBpos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIBpos_r16, SIBpos_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_1;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_2;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_3;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_4;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_5;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_6_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_6;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_7_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_7;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_8_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_8;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_1;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_2;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_3;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_4;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_5;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_6_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_6;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_7_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_7;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_8_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_8;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_9_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_9;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_10_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_10;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_11_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_11;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_12_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_12;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_13_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_13;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_14_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_14;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_15_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_15;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_16_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_16;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_17_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_17;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_18_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_18;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_19_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_19;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_20_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_20;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_21_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_21;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_22_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_22;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_23_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_23;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib3_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_3_1;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib4_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_4_1;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib5_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_5_1;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib6_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_1;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib6_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_2;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib6_3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_3;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_9_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_9;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib1_10_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_10;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_24_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_24;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib2_25_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_25;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib6_4_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_4;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib6_5_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_5;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_T_posSib6_6_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_6;

  offset = dissect_nr_rrc_SIBpos_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}


static const value_string nr_rrc_T_posSIB_TypeAndInfo_r16_item_vals[] = {
  {   0, "posSib1-1-r16" },
  {   1, "posSib1-2-r16" },
  {   2, "posSib1-3-r16" },
  {   3, "posSib1-4-r16" },
  {   4, "posSib1-5-r16" },
  {   5, "posSib1-6-r16" },
  {   6, "posSib1-7-r16" },
  {   7, "posSib1-8-r16" },
  {   8, "posSib2-1-r16" },
  {   9, "posSib2-2-r16" },
  {  10, "posSib2-3-r16" },
  {  11, "posSib2-4-r16" },
  {  12, "posSib2-5-r16" },
  {  13, "posSib2-6-r16" },
  {  14, "posSib2-7-r16" },
  {  15, "posSib2-8-r16" },
  {  16, "posSib2-9-r16" },
  {  17, "posSib2-10-r16" },
  {  18, "posSib2-11-r16" },
  {  19, "posSib2-12-r16" },
  {  20, "posSib2-13-r16" },
  {  21, "posSib2-14-r16" },
  {  22, "posSib2-15-r16" },
  {  23, "posSib2-16-r16" },
  {  24, "posSib2-17-r16" },
  {  25, "posSib2-18-r16" },
  {  26, "posSib2-19-r16" },
  {  27, "posSib2-20-r16" },
  {  28, "posSib2-21-r16" },
  {  29, "posSib2-22-r16" },
  {  30, "posSib2-23-r16" },
  {  31, "posSib3-1-r16" },
  {  32, "posSib4-1-r16" },
  {  33, "posSib5-1-r16" },
  {  34, "posSib6-1-r16" },
  {  35, "posSib6-2-r16" },
  {  36, "posSib6-3-r16" },
  {  37, "posSib1-9-v1700" },
  {  38, "posSib1-10-v1700" },
  {  39, "posSib2-24-v1700" },
  {  40, "posSib2-25-v1700" },
  {  41, "posSib6-4-v1700" },
  {  42, "posSib6-5-v1700" },
  {  43, "posSib6-6-v1700" },
  { 0, NULL }
};

static const per_choice_t T_posSIB_TypeAndInfo_r16_item_choice[] = {
  {   0, &hf_nr_rrc_posSib1_1_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib1_1_r16 },
  {   1, &hf_nr_rrc_posSib1_2_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib1_2_r16 },
  {   2, &hf_nr_rrc_posSib1_3_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib1_3_r16 },
  {   3, &hf_nr_rrc_posSib1_4_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib1_4_r16 },
  {   4, &hf_nr_rrc_posSib1_5_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib1_5_r16 },
  {   5, &hf_nr_rrc_posSib1_6_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib1_6_r16 },
  {   6, &hf_nr_rrc_posSib1_7_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib1_7_r16 },
  {   7, &hf_nr_rrc_posSib1_8_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib1_8_r16 },
  {   8, &hf_nr_rrc_posSib2_1_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_1_r16 },
  {   9, &hf_nr_rrc_posSib2_2_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_2_r16 },
  {  10, &hf_nr_rrc_posSib2_3_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_3_r16 },
  {  11, &hf_nr_rrc_posSib2_4_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_4_r16 },
  {  12, &hf_nr_rrc_posSib2_5_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_5_r16 },
  {  13, &hf_nr_rrc_posSib2_6_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_6_r16 },
  {  14, &hf_nr_rrc_posSib2_7_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_7_r16 },
  {  15, &hf_nr_rrc_posSib2_8_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_8_r16 },
  {  16, &hf_nr_rrc_posSib2_9_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_9_r16 },
  {  17, &hf_nr_rrc_posSib2_10_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_10_r16 },
  {  18, &hf_nr_rrc_posSib2_11_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_11_r16 },
  {  19, &hf_nr_rrc_posSib2_12_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_12_r16 },
  {  20, &hf_nr_rrc_posSib2_13_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_13_r16 },
  {  21, &hf_nr_rrc_posSib2_14_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_14_r16 },
  {  22, &hf_nr_rrc_posSib2_15_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_15_r16 },
  {  23, &hf_nr_rrc_posSib2_16_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_16_r16 },
  {  24, &hf_nr_rrc_posSib2_17_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_17_r16 },
  {  25, &hf_nr_rrc_posSib2_18_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_18_r16 },
  {  26, &hf_nr_rrc_posSib2_19_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_19_r16 },
  {  27, &hf_nr_rrc_posSib2_20_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_20_r16 },
  {  28, &hf_nr_rrc_posSib2_21_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_21_r16 },
  {  29, &hf_nr_rrc_posSib2_22_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_22_r16 },
  {  30, &hf_nr_rrc_posSib2_23_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib2_23_r16 },
  {  31, &hf_nr_rrc_posSib3_1_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib3_1_r16 },
  {  32, &hf_nr_rrc_posSib4_1_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib4_1_r16 },
  {  33, &hf_nr_rrc_posSib5_1_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib5_1_r16 },
  {  34, &hf_nr_rrc_posSib6_1_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib6_1_r16 },
  {  35, &hf_nr_rrc_posSib6_2_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib6_2_r16 },
  {  36, &hf_nr_rrc_posSib6_3_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_posSib6_3_r16 },
  {  37, &hf_nr_rrc_posSib1_9_v1700, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_posSib1_9_v1700 },
  {  38, &hf_nr_rrc_posSib1_10_v1700, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_posSib1_10_v1700 },
  {  39, &hf_nr_rrc_posSib2_24_v1700, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_posSib2_24_v1700 },
  {  40, &hf_nr_rrc_posSib2_25_v1700, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_posSib2_25_v1700 },
  {  41, &hf_nr_rrc_posSib6_4_v1700, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_posSib6_4_v1700 },
  {  42, &hf_nr_rrc_posSib6_5_v1700, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_posSib6_5_v1700 },
  {  43, &hf_nr_rrc_posSib6_6_v1700, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_posSib6_6_v1700 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_posSIB_TypeAndInfo_r16_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_UNKNOWN;

  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_posSIB_TypeAndInfo_r16_item, T_posSIB_TypeAndInfo_r16_item_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_posSIB_TypeAndInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_posSIB_TypeAndInfo_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSIB_TypeAndInfo_r16_item },
};

static int
dissect_nr_rrc_T_posSIB_TypeAndInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_posSIB_TypeAndInfo_r16, T_posSIB_TypeAndInfo_r16_sequence_of,
                                                  1, maxSIB, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_52_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_52, T_nonCriticalExtension_52_sequence);

  return offset;
}


static const per_sequence_t PosSystemInformation_r16_IEs_sequence[] = {
  { &hf_nr_rrc_posSIB_TypeAndInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSIB_TypeAndInfo_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_123, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_52 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PosSystemInformation_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PosSystemInformation_r16_IEs, PosSystemInformation_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_40_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_40, T_criticalExtensionsFuture_40_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensionsFuture_r16_01_vals[] = {
  {   0, "posSystemInformation-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensionsFuture_r16_01_choice[] = {
  {   0, &hf_nr_rrc_posSystemInformation_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PosSystemInformation_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_40, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_40 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensionsFuture_r16_01, T_criticalExtensionsFuture_r16_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_40_vals[] = {
  {   0, "systemInformation" },
  {   1, "criticalExtensionsFuture-r16" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_40_choice[] = {
  {   0, &hf_nr_rrc_systemInformation_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SystemInformation_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_r16_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_40, T_criticalExtensions_40_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SystemInformation_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_40, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_40 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [ ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SystemInformation, SystemInformation_sequence);

  col_append_str(actx->pinfo->cinfo, COL_INFO, "]");

  return offset;
}


static const per_sequence_t T_cellSelectionInfo_sequence[] = {
  { &hf_nr_rrc_q_RxLevMin   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin },
  { &hf_nr_rrc_q_RxLevMinOffset, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_q_RxLevMinSUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Q_RxLevMin },
  { &hf_nr_rrc_q_QualMin    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Q_QualMin },
  { &hf_nr_rrc_q_QualMinOffset, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellSelectionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellSelectionInfo, T_cellSelectionInfo_sequence);

  return offset;
}


static const value_string nr_rrc_T_cellReservedForOtherUse_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellReservedForOtherUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cellReservedForFutureUse_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellReservedForFutureUse_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CellAccessRelatedInfo_eag_1_sequence[] = {
  { &hf_nr_rrc_cellReservedForFutureUse_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cellReservedForFutureUse_r16 },
  { &hf_nr_rrc_npn_IdentityInfoList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NPN_IdentityInfoList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellAccessRelatedInfo_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellAccessRelatedInfo_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_extCH_Supported_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extCH_Supported_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extCH_WithoutConfigAllowed_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extCH_WithoutConfigAllowed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_onboardingEnabled_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_onboardingEnabled_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_imsEmergencySupportForSNPN_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_imsEmergencySupportForSNPN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SNPN_AccessInfo_r17_sequence[] = {
  { &hf_nr_rrc_extCH_Supported_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extCH_Supported_r17 },
  { &hf_nr_rrc_extCH_WithoutConfigAllowed_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extCH_WithoutConfigAllowed_r17 },
  { &hf_nr_rrc_onboardingEnabled_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_onboardingEnabled_r17 },
  { &hf_nr_rrc_imsEmergencySupportForSNPN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_imsEmergencySupportForSNPN_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SNPN_AccessInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SNPN_AccessInfo_r17, SNPN_AccessInfo_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17_sequence_of[1] = {
  { &hf_nr_rrc_snpn_AccessInfoList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SNPN_AccessInfo_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17, SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17_sequence_of,
                                                  1, maxNPN_r16, FALSE);

  return offset;
}


static const per_sequence_t CellAccessRelatedInfo_eag_2_sequence[] = {
  { &hf_nr_rrc_snpn_AccessInfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellAccessRelatedInfo_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellAccessRelatedInfo_eag_2_sequence);

  return offset;
}


static const per_sequence_t CellAccessRelatedInfo_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityInfoList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfoList },
  { &hf_nr_rrc_cellReservedForOtherUse, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cellReservedForOtherUse },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellAccessRelatedInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellAccessRelatedInfo, CellAccessRelatedInfo_sequence);

  return offset;
}


static const value_string nr_rrc_T_connEstFailCount_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_connEstFailCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_connEstFailOffsetValidity_vals[] = {
  {   0, "s30" },
  {   1, "s60" },
  {   2, "s120" },
  {   3, "s240" },
  {   4, "s300" },
  {   5, "s420" },
  {   6, "s600" },
  {   7, "s900" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_connEstFailOffsetValidity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ConnEstFailureControl_sequence[] = {
  { &hf_nr_rrc_connEstFailCount, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_connEstFailCount },
  { &hf_nr_rrc_connEstFailOffsetValidity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_connEstFailOffsetValidity },
  { &hf_nr_rrc_connEstFailOffset, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConnEstFailureControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ConnEstFailureControl, ConnEstFailureControl_sequence);

  return offset;
}


static const value_string nr_rrc_T_si_BroadcastStatus_vals[] = {
  {   0, "broadcasting" },
  {   1, "notBroadcasting" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_si_BroadcastStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_si_Periodicity_vals[] = {
  {   0, "rf8" },
  {   1, "rf16" },
  {   2, "rf32" },
  {   3, "rf64" },
  {   4, "rf128" },
  {   5, "rf256" },
  {   6, "rf512" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_si_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type_vals[] = {
  {   0, "sibType2" },
  {   1, "sibType3" },
  {   2, "sibType4" },
  {   3, "sibType5" },
  {   4, "sibType6" },
  {   5, "sibType7" },
  {   6, "sibType8" },
  {   7, "sibType9" },
  {   8, "sibType10-v1610" },
  {   9, "sibType11-v1610" },
  {  10, "sibType12-v1610" },
  {  11, "sibType13-v1610" },
  {  12, "sibType14-v1610" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, TRUE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_areaScope_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_areaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SIB_TypeInfo_sequence[] = {
  { &hf_nr_rrc_type         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_type },
  { &hf_nr_rrc_valueTag     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_areaScope    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_areaScope },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB_TypeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB_TypeInfo, SIB_TypeInfo_sequence);

  return offset;
}


static const per_sequence_t SIB_Mapping_sequence_of[1] = {
  { &hf_nr_rrc_SIB_Mapping_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_TypeInfo },
};

static int
dissect_nr_rrc_SIB_Mapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SIB_Mapping, SIB_Mapping_sequence_of,
                                                  1, maxSIB, FALSE);

  return offset;
}


static const per_sequence_t SchedulingInfo_sequence[] = {
  { &hf_nr_rrc_si_BroadcastStatus, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_BroadcastStatus },
  { &hf_nr_rrc_si_Periodicity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_Periodicity },
  { &hf_nr_rrc_sib_MappingInfo, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_Mapping },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingInfo, SchedulingInfo_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo_sequence_of[1] = {
  { &hf_nr_rrc_schedulingInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingInfo },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo, SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo_sequence_of,
                                                  1, maxSI_Message, FALSE);

  return offset;
}


static const value_string nr_rrc_T_si_WindowLength_vals[] = {
  {   0, "s5" },
  {   1, "s10" },
  {   2, "s20" },
  {   3, "s40" },
  {   4, "s80" },
  {   5, "s160" },
  {   6, "s320" },
  {   7, "s640" },
  {   8, "s1280" },
  {   9, "s2560-v1710" },
  {  10, "s5120-v1710" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_si_WindowLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msg1_FDM_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msg1_FDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M202_M60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -202, -60, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_preambleTransMax_vals[] = {
  {   0, "n3" },
  {   1, "n4" },
  {   2, "n5" },
  {   3, "n6" },
  {   4, "n7" },
  {   5, "n8" },
  {   6, "n10" },
  {   7, "n20" },
  {   8, "n50" },
  {   9, "n100" },
  {  10, "n200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preambleTransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_powerRampingStep_vals[] = {
  {   0, "dB0" },
  {   1, "dB2" },
  {   2, "dB4" },
  {   3, "dB6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerRampingStep(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ra_ResponseWindow_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl8" },
  {   4, "sl10" },
  {   5, "sl20" },
  {   6, "sl40" },
  {   7, "sl80" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_ResponseWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prach_ConfigurationPeriodScaling_IAB_r16_vals[] = {
  {   0, "scf1" },
  {   1, "scf2" },
  {   2, "scf4" },
  {   3, "scf8" },
  {   4, "scf16" },
  {   5, "scf32" },
  {   6, "scf64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prach_ConfigurationPeriodScaling_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ra_ResponseWindow_v1610_vals[] = {
  {   0, "sl60" },
  {   1, "sl160" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_ResponseWindow_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_256_262(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            256U, 262U, NULL, FALSE);

  return offset;
}


static const per_sequence_t RACH_ConfigGeneric_eag_1_sequence[] = {
  { &hf_nr_rrc_prach_ConfigurationPeriodScaling_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prach_ConfigurationPeriodScaling_IAB_r16 },
  { &hf_nr_rrc_prach_ConfigurationFrameOffset_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_prach_ConfigurationSOffset_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_39 },
  { &hf_nr_rrc_ra_ResponseWindow_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_ResponseWindow_v1610 },
  { &hf_nr_rrc_prach_ConfigurationIndex_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_256_262 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigGeneric_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RACH_ConfigGeneric_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_ra_ResponseWindow_v1700_vals[] = {
  {   0, "sl240" },
  {   1, "sl320" },
  {   2, "sl640" },
  {   3, "sl960" },
  {   4, "sl1280" },
  {   5, "sl1920" },
  {   6, "sl2560" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_ResponseWindow_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RACH_ConfigGeneric_eag_2_sequence[] = {
  { &hf_nr_rrc_ra_ResponseWindow_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_ResponseWindow_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigGeneric_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RACH_ConfigGeneric_eag_2_sequence);

  return offset;
}


static const per_sequence_t RACH_ConfigGeneric_sequence[] = {
  { &hf_nr_rrc_prach_ConfigurationIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
  { &hf_nr_rrc_msg1_FDM     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_msg1_FDM },
  { &hf_nr_rrc_msg1_FrequencyStart, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_zeroCorrelationZoneConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_preambleReceivedTargetPower, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M202_M60 },
  { &hf_nr_rrc_preambleTransMax, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preambleTransMax },
  { &hf_nr_rrc_powerRampingStep, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStep },
  { &hf_nr_rrc_ra_ResponseWindow, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ResponseWindow },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigGeneric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RACH_ConfigGeneric, RACH_ConfigGeneric_sequence);

  return offset;
}


static const value_string nr_rrc_T_ssb_perRACH_Occasion_02_vals[] = {
  {   0, "oneEighth" },
  {   1, "oneFourth" },
  {   2, "oneHalf" },
  {   3, "one" },
  {   4, "two" },
  {   5, "four" },
  {   6, "eight" },
  {   7, "sixteen" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_perRACH_Occasion_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_rach_OccasionsSI_sequence[] = {
  { &hf_nr_rrc_rach_ConfigSI, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric },
  { &hf_nr_rrc_ssb_perRACH_Occasion_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_perRACH_Occasion_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rach_OccasionsSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rach_OccasionsSI, T_rach_OccasionsSI_sequence);

  return offset;
}


static const value_string nr_rrc_T_si_RequestPeriod_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "six" },
  {   4, "eight" },
  {   5, "ten" },
  {   6, "twelve" },
  {   7, "sixteen" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_si_RequestPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SI_RequestResources_sequence[] = {
  { &hf_nr_rrc_ra_PreambleStartIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_ra_AssociationPeriodIndex, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SI_RequestResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SI_RequestResources, SI_RequestResources_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources_sequence_of[1] = {
  { &hf_nr_rrc_si_RequestResources_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SI_RequestResources },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources, SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources_sequence_of,
                                                  1, maxSI_Message, FALSE);

  return offset;
}


static const per_sequence_t SI_RequestConfig_sequence[] = {
  { &hf_nr_rrc_rach_OccasionsSI, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rach_OccasionsSI },
  { &hf_nr_rrc_si_RequestPeriod, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_si_RequestPeriod },
  { &hf_nr_rrc_si_RequestResources, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SI_RequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SI_RequestConfig, SI_RequestConfig_sequence);

  return offset;
}


static const per_sequence_t SI_SchedulingInfo_sequence[] = {
  { &hf_nr_rrc_schedulingInfoList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo },
  { &hf_nr_rrc_si_WindowLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_WindowLength },
  { &hf_nr_rrc_si_RequestConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SI_RequestConfig },
  { &hf_nr_rrc_si_RequestConfigSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SI_RequestConfig },
  { &hf_nr_rrc_systemInformationAreaID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_24 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SI_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SI_SchedulingInfo, SI_SchedulingInfo_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_2199(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2199U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SCS_SpecificCarrier_eag_1_sequence[] = {
  { &hf_nr_rrc_txDirectCurrentLocation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_4095 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCS_SpecificCarrier_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCS_SpecificCarrier_eag_1_sequence);

  return offset;
}


static const per_sequence_t SCS_SpecificCarrier_sequence[] = {
  { &hf_nr_rrc_offsetToCarrier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 },
  { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_carrierBandwidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCS_SpecificCarrier, SCS_SpecificCarrier_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of[1] = {
  { &hf_nr_rrc_scs_SpecificCarrierList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier, SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of,
                                                  1, maxSCSs, FALSE);

  return offset;
}


static const per_sequence_t FrequencyInfoDL_SIB_sequence[] = {
  { &hf_nr_rrc_frequencyBandList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
  { &hf_nr_rrc_offsetToPointA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 },
  { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FrequencyInfoDL_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FrequencyInfoDL_SIB, FrequencyInfoDL_SIB_sequence);

  return offset;
}


static const value_string nr_rrc_T_cyclicPrefix_vals[] = {
  {   0, "extended" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cyclicPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BWP_sequence[] = {
  { &hf_nr_rrc_locationAndBandwidth, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 },
  { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_cyclicPrefix , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cyclicPrefix },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP, BWP_sequence);

  return offset;
}



static int
dissect_nr_rrc_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSearchSpaces_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl5" },
  {   4, "sl8" },
  {   5, "sl10" },
  {   6, "sl16" },
  {   7, "sl20" },
  {   8, "sl40" },
  {   9, "sl80" },
  {  10, "sl160" },
  {  11, "sl320" },
  {  12, "sl640" },
  {  13, "sl1280" },
  {  14, "sl2560" },
  { 0, NULL }
};

static const per_choice_t T_monitoringSlotPeriodicityAndOffset_choice[] = {
  {   0, &hf_nr_rrc_sl1          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_sl2          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1 },
  {   2, &hf_nr_rrc_sl4          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_3 },
  {   3, &hf_nr_rrc_sl5          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_4 },
  {   4, &hf_nr_rrc_sl8          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_7 },
  {   5, &hf_nr_rrc_sl10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   6, &hf_nr_rrc_sl16         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_15 },
  {   7, &hf_nr_rrc_sl20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   8, &hf_nr_rrc_sl40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   9, &hf_nr_rrc_sl80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {  10, &hf_nr_rrc_sl160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  11, &hf_nr_rrc_sl320        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_sl640        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {  13, &hf_nr_rrc_sl1280       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {  14, &hf_nr_rrc_sl2560       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset, T_monitoringSlotPeriodicityAndOffset_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 2559U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel1_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  {   4, "n4" },
  {   5, "n5" },
  {   6, "n6" },
  {   7, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel2_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  {   4, "n4" },
  {   5, "n5" },
  {   6, "n6" },
  {   7, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel4_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  {   4, "n4" },
  {   5, "n5" },
  {   6, "n6" },
  {   7, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel8_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  {   4, "n4" },
  {   5, "n5" },
  {   6, "n6" },
  {   7, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel16_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  {   4, "n4" },
  {   5, "n5" },
  {   6, "n6" },
  {   7, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nrofCandidates_sequence[] = {
  { &hf_nr_rrc_aggregationLevel1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel1 },
  { &hf_nr_rrc_aggregationLevel2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel2 },
  { &hf_nr_rrc_aggregationLevel4, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel4 },
  { &hf_nr_rrc_aggregationLevel8, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel8 },
  { &hf_nr_rrc_aggregationLevel16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nrofCandidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nrofCandidates, T_nrofCandidates_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format0_0_AndFormat1_0_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format0_0_AndFormat1_0, T_dci_Format0_0_AndFormat1_0_sequence);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel1_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel2_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel4_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel4_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel8_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel8_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nrofCandidates_SFI_sequence[] = {
  { &hf_nr_rrc_aggregationLevel1_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel1_01 },
  { &hf_nr_rrc_aggregationLevel2_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel2_01 },
  { &hf_nr_rrc_aggregationLevel4_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel4_01 },
  { &hf_nr_rrc_aggregationLevel8_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel8_01 },
  { &hf_nr_rrc_aggregationLevel16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nrofCandidates_SFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nrofCandidates_SFI, T_nrofCandidates_SFI_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format2_0_sequence[] = {
  { &hf_nr_rrc_nrofCandidates_SFI, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_SFI },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format2_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format2_0, T_dci_Format2_0_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format2_1_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format2_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format2_1, T_dci_Format2_1_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format2_2_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format2_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format2_2, T_dci_Format2_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl5" },
  {   4, "sl8" },
  {   5, "sl10" },
  {   6, "sl16" },
  {   7, "sl20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_dci_Format2_3_sequence[] = {
  { &hf_nr_rrc_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1 },
  { &hf_nr_rrc_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format2_3, T_dci_Format2_3_sequence);

  return offset;
}


static const per_sequence_t T_common_sequence[] = {
  { &hf_nr_rrc_dci_Format0_0_AndFormat1_0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0 },
  { &hf_nr_rrc_dci_Format2_0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format2_0 },
  { &hf_nr_rrc_dci_Format2_1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format2_1 },
  { &hf_nr_rrc_dci_Format2_2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format2_2 },
  { &hf_nr_rrc_dci_Format2_3, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format2_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_common, T_common_sequence);

  return offset;
}


static const value_string nr_rrc_T_dci_Formats_vals[] = {
  {   0, "formats0-0-And-1-0" },
  {   1, "formats0-1-And-1-1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_Formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_Formats_MT_r16_vals[] = {
  {   0, "formats2-5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_Formats_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_FormatsSL_r16_vals[] = {
  {   0, "formats0-0-And-1-0" },
  {   1, "formats0-1-And-1-1" },
  {   2, "formats3-0" },
  {   3, "formats3-1" },
  {   4, "formats3-0-And-3-1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_FormatsSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_FormatsExt_r16_vals[] = {
  {   0, "formats0-2-And-1-2" },
  {   1, "formats0-1-And-1-1And-0-2-And-1-2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_FormatsExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eag_1_07_sequence[] = {
  { &hf_nr_rrc_dci_Formats_MT_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Formats_MT_r16 },
  { &hf_nr_rrc_dci_FormatsSL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_FormatsSL_r16 },
  { &hf_nr_rrc_dci_FormatsExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_FormatsExt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_07_sequence);

  return offset;
}


static const per_sequence_t T_ue_Specific_sequence[] = {
  { &hf_nr_rrc_dci_Formats  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dci_Formats },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_07 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ue_Specific(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ue_Specific, T_ue_Specific_sequence);

  return offset;
}


static const value_string nr_rrc_T_searchSpaceType_vals[] = {
  {   0, "common" },
  {   1, "ue-Specific" },
  { 0, NULL }
};

static const per_choice_t T_searchSpaceType_choice[] = {
  {   0, &hf_nr_rrc_common       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_common },
  {   1, &hf_nr_rrc_ue_Specific  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_ue_Specific },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_searchSpaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_searchSpaceType, T_searchSpaceType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SearchSpace_sequence[] = {
  { &hf_nr_rrc_searchSpaceId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
  { &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ControlResourceSetId },
  { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset },
  { &hf_nr_rrc_duration_01  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_2559 },
  { &hf_nr_rrc_monitoringSymbolsWithinSlot, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_14 },
  { &hf_nr_rrc_nrofCandidates, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrofCandidates },
  { &hf_nr_rrc_searchSpaceType, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SearchSpace, SearchSpace_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of[1] = {
  { &hf_nr_rrc_commonSearchSpaceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace, SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_139(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 139U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS15KHZoneT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS15KHZoneT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_139 },
};

static int
dissect_nr_rrc_T_sCS15KHZoneT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS15KHZoneT_01, T_sCS15KHZoneT_01_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 279U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS30KHZoneT_SCS15KHZhalfT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_279 },
};

static int
dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01, T_sCS30KHZoneT_SCS15KHZhalfT_01_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 559U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_559 },
};

static int
dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01, T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_1119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1119U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1119 },
};

static int
dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01, T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_2239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2239U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2239 },
};

static int
dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01, T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_4479(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4479U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4479 },
};

static int
dissect_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_8959(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 8959U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_8959 },
};

static int
dissect_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT, T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_17919(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 17919U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZoneSixteenthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_17919 },
};

static int
dissect_nr_rrc_T_sCS120KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZoneSixteenthT, T_sCS120KHZoneSixteenthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const value_string nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01_vals[] = {
  {   0, "sCS15KHZoneT" },
  {   1, "sCS30KHZoneT-SCS15KHZhalfT" },
  {   2, "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT" },
  {   3, "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT" },
  {   4, "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT" },
  {   5, "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT" },
  {   6, "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT" },
  {   7, "sCS120KHZoneSixteenthT" },
  { 0, NULL }
};

static const per_choice_t T_firstPDCCH_MonitoringOccasionOfPO_01_choice[] = {
  {   0, &hf_nr_rrc_sCS15KHZoneT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS15KHZoneT_01 },
  {   1, &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01 },
  {   2, &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01 },
  {   3, &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01 },
  {   4, &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01 },
  {   5, &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT },
  {   6, &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT },
  {   7, &hf_nr_rrc_sCS120KHZoneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZoneSixteenthT },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01, T_firstPDCCH_MonitoringOccasionOfPO_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDCCH_ConfigCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ConfigCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_ConfigCommon_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel1_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel2_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel4_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel8_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel8_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel16_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel16_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nrofCandidates_CI_r16_sequence[] = {
  { &hf_nr_rrc_aggregationLevel1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel1_r16 },
  { &hf_nr_rrc_aggregationLevel2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel2_r16 },
  { &hf_nr_rrc_aggregationLevel4_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel4_r16 },
  { &hf_nr_rrc_aggregationLevel8_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel8_r16 },
  { &hf_nr_rrc_aggregationLevel16_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel16_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nrofCandidates_CI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nrofCandidates_CI_r16, T_nrofCandidates_CI_r16_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format2_4_r16_sequence[] = {
  { &hf_nr_rrc_nrofCandidates_CI_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_CI_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format2_4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format2_4_r16, T_dci_Format2_4_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel1_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel1_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel2_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel2_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel4_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel4_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel8_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel8_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel16_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel16_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nrofCandidates_IAB_r16_sequence[] = {
  { &hf_nr_rrc_aggregationLevel1_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel1_r16_01 },
  { &hf_nr_rrc_aggregationLevel2_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel2_r16_01 },
  { &hf_nr_rrc_aggregationLevel4_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel4_r16_01 },
  { &hf_nr_rrc_aggregationLevel8_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel8_r16_01 },
  { &hf_nr_rrc_aggregationLevel16_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel16_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nrofCandidates_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nrofCandidates_IAB_r16, T_nrofCandidates_IAB_r16_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format2_5_r16_sequence[] = {
  { &hf_nr_rrc_nrofCandidates_IAB_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_IAB_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format2_5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format2_5_r16, T_dci_Format2_5_r16_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format2_6_r16_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format2_6_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format2_6_r16, T_dci_Format2_6_r16_sequence);

  return offset;
}


static const per_sequence_t T_common_r16_sequence[] = {
  { &hf_nr_rrc_dci_Format2_4_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format2_4_r16 },
  { &hf_nr_rrc_dci_Format2_5_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format2_5_r16 },
  { &hf_nr_rrc_dci_Format2_6_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format2_6_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_common_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_common_r16, T_common_r16_sequence);

  return offset;
}


static const per_sequence_t T_searchSpaceType_r16_sequence[] = {
  { &hf_nr_rrc_common_r16   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_common_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_searchSpaceType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_searchSpaceType_r16, T_searchSpaceType_r16_sequence);

  return offset;
}


static const per_sequence_t T_searchSpaceGroupIdList_r16_sequence_of[1] = {
  { &hf_nr_rrc_searchSpaceGroupIdList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
};

static int
dissect_nr_rrc_T_searchSpaceGroupIdList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_searchSpaceGroupIdList_r16, T_searchSpaceGroupIdList_r16_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const per_sequence_t SearchSpaceExt_r16_sequence[] = {
  { &hf_nr_rrc_controlResourceSetId_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ControlResourceSetId_r16 },
  { &hf_nr_rrc_searchSpaceType_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceType_r16 },
  { &hf_nr_rrc_searchSpaceGroupIdList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceGroupIdList_r16 },
  { &hf_nr_rrc_freqMonitorLocations_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_5 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SearchSpaceExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SearchSpaceExt_r16, SearchSpaceExt_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16_sequence_of[1] = {
  { &hf_nr_rrc_commonSearchSpaceListExt_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceExt_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16, SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_ConfigCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_commonSearchSpaceListExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ConfigCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_ConfigCommon_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_sdt_SearchSpace_r17_vals[] = {
  {   0, "newSearchSpace" },
  {   1, "existingSearchSpace" },
  { 0, NULL }
};

static const per_choice_t T_sdt_SearchSpace_r17_choice[] = {
  {   0, &hf_nr_rrc_newSearchSpace, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SearchSpace },
  {   1, &hf_nr_rrc_existingSearchSpace, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SearchSpaceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sdt_SearchSpace_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sdt_SearchSpace_r17, T_sdt_SearchSpace_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_20479(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 20479U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_monitoringSlotPeriodicityAndOffset_v1710_vals[] = {
  {   0, "sl32" },
  {   1, "sl64" },
  {   2, "sl128" },
  {   3, "sl5120" },
  {   4, "sl10240" },
  {   5, "sl20480" },
  { 0, NULL }
};

static const per_choice_t T_monitoringSlotPeriodicityAndOffset_v1710_choice[] = {
  {   0, &hf_nr_rrc_sl32         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   1, &hf_nr_rrc_sl64         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   2, &hf_nr_rrc_sl128        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   3, &hf_nr_rrc_sl5120       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_5119 },
  {   4, &hf_nr_rrc_sl10240      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_10239 },
  {   5, &hf_nr_rrc_sl20480      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_20479 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset_v1710, T_monitoringSlotPeriodicityAndOffset_v1710_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_monitoringSlotsWithinSlotGroup_r17_vals[] = {
  {   0, "slotGroupLength4-r17" },
  {   1, "slotGroupLength8-r17" },
  { 0, NULL }
};

static const per_choice_t T_monitoringSlotsWithinSlotGroup_r17_choice[] = {
  {   0, &hf_nr_rrc_slotGroupLength4_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   1, &hf_nr_rrc_slotGroupLength8_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_monitoringSlotsWithinSlotGroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_monitoringSlotsWithinSlotGroup_r17, T_monitoringSlotsWithinSlotGroup_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_4_20476(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            4U, 20476U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_dci_Format4_0_r17_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format4_0_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format4_0_r17, T_dci_Format4_0_r17_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format4_1_r17_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format4_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format4_1_r17, T_dci_Format4_1_r17_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format4_2_r17_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format4_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format4_2_r17, T_dci_Format4_2_r17_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format4_1_AndFormat4_2_r17_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format4_1_AndFormat4_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format4_1_AndFormat4_2_r17, T_dci_Format4_1_AndFormat4_2_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel4_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  {   4, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel4_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel8_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel8_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationLevel16_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationLevel16_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nrofCandidates_PEI_r17_sequence[] = {
  { &hf_nr_rrc_aggregationLevel4_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel4_r17 },
  { &hf_nr_rrc_aggregationLevel8_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel8_r17 },
  { &hf_nr_rrc_aggregationLevel16_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationLevel16_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nrofCandidates_PEI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nrofCandidates_PEI_r17, T_nrofCandidates_PEI_r17_sequence);

  return offset;
}


static const per_sequence_t T_dci_Format2_7_r17_sequence[] = {
  { &hf_nr_rrc_nrofCandidates_PEI_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_PEI_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dci_Format2_7_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dci_Format2_7_r17, T_dci_Format2_7_r17_sequence);

  return offset;
}


static const per_sequence_t T_common_r17_sequence[] = {
  { &hf_nr_rrc_dci_Format4_0_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format4_0_r17 },
  { &hf_nr_rrc_dci_Format4_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format4_1_r17 },
  { &hf_nr_rrc_dci_Format4_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format4_2_r17 },
  { &hf_nr_rrc_dci_Format4_1_AndFormat4_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format4_1_AndFormat4_2_r17 },
  { &hf_nr_rrc_dci_Format2_7_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format2_7_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_common_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_common_r17, T_common_r17_sequence);

  return offset;
}


static const per_sequence_t T_searchSpaceType_r17_sequence[] = {
  { &hf_nr_rrc_common_r17   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_common_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_searchSpaceType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_searchSpaceType_r17, T_searchSpaceType_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofSearchSpaceGroups_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSearchSpaceGroups_1_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_searchSpaceGroupIdList_r17_sequence_of[1] = {
  { &hf_nr_rrc_searchSpaceGroupIdList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSearchSpaceGroups_1_r17 },
};

static int
dissect_nr_rrc_T_searchSpaceGroupIdList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_searchSpaceGroupIdList_r17, T_searchSpaceGroupIdList_r17_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofSearchSpacesLinks_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSearchSpacesLinks_1_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t SearchSpaceExt_v1700_sequence[] = {
  { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset_v1710 },
  { &hf_nr_rrc_monitoringSlotsWithinSlotGroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_monitoringSlotsWithinSlotGroup_r17 },
  { &hf_nr_rrc_duration_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_4_20476 },
  { &hf_nr_rrc_searchSpaceType_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceType_r17 },
  { &hf_nr_rrc_searchSpaceGroupIdList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceGroupIdList_r17 },
  { &hf_nr_rrc_searchSpaceLinkingId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofSearchSpacesLinks_1_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SearchSpaceExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SearchSpaceExt_v1700, SearchSpaceExt_v1700_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700_sequence_of[1] = {
  { &hf_nr_rrc_commonSearchSpaceListExt2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceExt_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700, SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_35839(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 35839U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZoneEighthT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZoneEighthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_35839 },
};

static int
dissect_nr_rrc_T_sCS480KHZoneEighthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZoneEighthT_01, T_sCS480KHZoneEighthT_01_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_71679(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 71679U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZoneSixteenthT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_71679 },
};

static int
dissect_nr_rrc_T_sCS480KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZoneSixteenthT_01, T_sCS480KHZoneSixteenthT_01_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const value_string nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_01_vals[] = {
  {   0, "sCS480KHZoneEighthT" },
  {   1, "sCS480KHZoneSixteenthT" },
  { 0, NULL }
};

static const per_choice_t T_firstPDCCH_MonitoringOccasionOfPO_v1710_01_choice[] = {
  {   0, &hf_nr_rrc_sCS480KHZoneEighthT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZoneEighthT_01 },
  {   1, &hf_nr_rrc_sCS480KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZoneSixteenthT_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_01, T_firstPDCCH_MonitoringOccasionOfPO_v1710_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_sCS15KHZoneT_02_sequence_of[1] = {
  { &hf_nr_rrc_sCS15KHZoneT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_139 },
};

static int
dissect_nr_rrc_T_sCS15KHZoneT_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS15KHZoneT_02, T_sCS15KHZoneT_02_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS30KHZoneT_SCS15KHZhalfT_02_sequence_of[1] = {
  { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_279 },
};

static int
dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_02, T_sCS30KHZoneT_SCS15KHZhalfT_02_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02_sequence_of[1] = {
  { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_559 },
};

static int
dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02, T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1119 },
};

static int
dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02, T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2239 },
};

static int
dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02, T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4479 },
};

static int
dissect_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01, T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_8959 },
};

static int
dissect_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01, T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_17919 },
};

static int
dissect_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01, T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZoneEighthT_02_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZoneEighthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_35839 },
};

static int
dissect_nr_rrc_T_sCS480KHZoneEighthT_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZoneEighthT_02, T_sCS480KHZoneEighthT_02_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZoneSixteenthT_02_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_71679 },
};

static int
dissect_nr_rrc_T_sCS480KHZoneSixteenthT_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZoneSixteenthT_02, T_sCS480KHZoneSixteenthT_02_sequence_of,
                                                  1, maxPEI_perPF_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_firstPDCCH_MonitoringOccasionOfPEI_O_r17_vals[] = {
  {   0, "sCS15KHZoneT" },
  {   1, "sCS30KHZoneT-SCS15KHZhalfT" },
  {   2, "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT" },
  {   3, "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT" },
  {   4, "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT" },
  {   5, "sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT" },
  {   6, "sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT" },
  {   7, "sCS480KHZquarterT-SCS120KHZoneSixteenthT" },
  {   8, "sCS480KHZoneEighthT" },
  {   9, "sCS480KHZoneSixteenthT" },
  { 0, NULL }
};

static const per_choice_t T_firstPDCCH_MonitoringOccasionOfPEI_O_r17_choice[] = {
  {   0, &hf_nr_rrc_sCS15KHZoneT_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS15KHZoneT_02 },
  {   1, &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_02 },
  {   2, &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02 },
  {   3, &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02 },
  {   4, &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02 },
  {   5, &hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 },
  {   6, &hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 },
  {   7, &hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01 },
  {   8, &hf_nr_rrc_sCS480KHZoneEighthT_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZoneEighthT_02 },
  {   9, &hf_nr_rrc_sCS480KHZoneSixteenthT_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZoneSixteenthT_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPEI_O_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPEI_O_r17, T_firstPDCCH_MonitoringOccasionOfPEI_O_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_pei_ConfigBWP_r17_sequence[] = {
  { &hf_nr_rrc_pei_SearchSpace_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
  { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPEI_O_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPEI_O_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pei_ConfigBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pei_ConfigBWP_r17, T_pei_ConfigBWP_r17_sequence);

  return offset;
}


static const per_sequence_t PDCCH_ConfigCommon_eag_3_sequence[] = {
  { &hf_nr_rrc_sdt_SearchSpace_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_SearchSpace_r17 },
  { &hf_nr_rrc_searchSpaceMCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceId },
  { &hf_nr_rrc_searchSpaceMTCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceId },
  { &hf_nr_rrc_commonSearchSpaceListExt2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700 },
  { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_v1710_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_01 },
  { &hf_nr_rrc_pei_ConfigBWP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pei_ConfigBWP_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ConfigCommon_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_ConfigCommon_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_followUnifiedTCI_State_v1720_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_followUnifiedTCI_State_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCCH_ConfigCommon_eag_4_sequence[] = {
  { &hf_nr_rrc_followUnifiedTCI_State_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_followUnifiedTCI_State_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ConfigCommon_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_ConfigCommon_eag_4_sequence);

  return offset;
}


static const per_sequence_t PDCCH_ConfigCommon_sequence[] = {
  { &hf_nr_rrc_controlResourceSetZero, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ControlResourceSetZero },
  { &hf_nr_rrc_commonControlResourceSet, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ControlResourceSet },
  { &hf_nr_rrc_searchSpaceZero, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceZero },
  { &hf_nr_rrc_commonSearchSpaceList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace },
  { &hf_nr_rrc_searchSpaceSIB1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceId },
  { &hf_nr_rrc_searchSpaceOtherSystemInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceId },
  { &hf_nr_rrc_pagingSearchSpace, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceId },
  { &hf_nr_rrc_ra_SearchSpace, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceId },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigCommon_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigCommon_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigCommon_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_ConfigCommon, PDCCH_ConfigCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_ConfigCommon_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_ConfigCommon_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_30     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_ConfigCommon },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_ConfigCommon, T_pdcch_ConfigCommon_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mappingType_vals[] = {
  {   0, "typeA" },
  {   1, "typeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDSCH_TimeDomainResourceAllocation_sequence[] = {
  { &hf_nr_rrc_k0           , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_32 },
  { &hf_nr_rrc_mappingType  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType },
  { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_TimeDomainResourceAllocation, PDSCH_TimeDomainResourceAllocation_sequence);

  return offset;
}


static const per_sequence_t PDSCH_TimeDomainResourceAllocationList_sequence_of[1] = {
  { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation },
};

static int
dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList, PDSCH_TimeDomainResourceAllocationList_sequence_of,
                                                  1, maxNrofDL_Allocations, FALSE);

  return offset;
}


static const per_sequence_t PDSCH_ConfigCommon_sequence[] = {
  { &hf_nr_rrc_pdsch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_ConfigCommon, PDSCH_ConfigCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdsch_ConfigCommon_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_ConfigCommon_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_31     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_ConfigCommon },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_ConfigCommon, T_pdsch_ConfigCommon_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BWP_DownlinkCommon_sequence[] = {
  { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
  { &hf_nr_rrc_pdcch_ConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_ConfigCommon },
  { &hf_nr_rrc_pdsch_ConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_ConfigCommon },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_DownlinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP_DownlinkCommon, BWP_DownlinkCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_modificationPeriodCoeff_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_modificationPeriodCoeff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BCCH_Config_sequence[] = {
  { &hf_nr_rrc_modificationPeriodCoeff, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_modificationPeriodCoeff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BCCH_Config, BCCH_Config_sequence);

  return offset;
}


static const value_string nr_rrc_PagingCycle_vals[] = {
  {   0, "rf32" },
  {   1, "rf64" },
  {   2, "rf128" },
  {   3, "rf256" },
  { 0, NULL }
};


static int
dissect_nr_rrc_PagingCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nAndPagingFrameOffset_vals[] = {
  {   0, "oneT" },
  {   1, "halfT" },
  {   2, "quarterT" },
  {   3, "oneEighthT" },
  {   4, "oneSixteenthT" },
  { 0, NULL }
};

static const per_choice_t T_nAndPagingFrameOffset_choice[] = {
  {   0, &hf_nr_rrc_oneT         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_halfT        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1 },
  {   2, &hf_nr_rrc_quarterT     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_3 },
  {   3, &hf_nr_rrc_oneEighthT   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_7 },
  {   4, &hf_nr_rrc_oneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_15 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nAndPagingFrameOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nAndPagingFrameOffset, T_nAndPagingFrameOffset_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ns_vals[] = {
  {   0, "four" },
  {   1, "two" },
  {   2, "one" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sCS15KHZoneT_sequence_of[1] = {
  { &hf_nr_rrc_sCS15KHZoneT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_139 },
};

static int
dissect_nr_rrc_T_sCS15KHZoneT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS15KHZoneT, T_sCS15KHZoneT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const per_sequence_t T_sCS30KHZoneT_SCS15KHZhalfT_sequence_of[1] = {
  { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_279 },
};

static int
dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT, T_sCS30KHZoneT_SCS15KHZhalfT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const per_sequence_t T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_sequence_of[1] = {
  { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_559 },
};

static int
dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT, T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1119 },
};

static int
dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT, T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const per_sequence_t T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2239 },
};

static int
dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT, T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4479 },
};

static int
dissect_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_8959 },
};

static int
dissect_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT, T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_17919 },
};

static int
dissect_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT, T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const value_string nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_vals[] = {
  {   0, "sCS15KHZoneT" },
  {   1, "sCS30KHZoneT-SCS15KHZhalfT" },
  {   2, "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT" },
  {   3, "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT" },
  {   4, "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT" },
  {   5, "sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT" },
  {   6, "sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT" },
  {   7, "sCS480KHZquarterT-SCS120KHZoneSixteenthT" },
  { 0, NULL }
};

static const per_choice_t T_firstPDCCH_MonitoringOccasionOfPO_choice[] = {
  {   0, &hf_nr_rrc_sCS15KHZoneT , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS15KHZoneT },
  {   1, &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT },
  {   2, &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT },
  {   3, &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT },
  {   4, &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT },
  {   5, &hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT },
  {   6, &hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT },
  {   7, &hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO, T_firstPDCCH_MonitoringOccasionOfPO_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 4U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PCCH_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_nrofPDCCH_MonitoringOccasionPerSSB_InPO_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PCCH_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PCCH_Config_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_ranPagingInIdlePO_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ranPagingInIdlePO_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sCS480KHZoneEighthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZoneEighthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_35839 },
};

static int
dissect_nr_rrc_T_sCS480KHZoneEighthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZoneEighthT, T_sCS480KHZoneEighthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const per_sequence_t T_sCS480KHZoneSixteenthT_sequence_of[1] = {
  { &hf_nr_rrc_sCS480KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_71679 },
};

static int
dissect_nr_rrc_T_sCS480KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sCS480KHZoneSixteenthT, T_sCS480KHZoneSixteenthT_sequence_of,
                                                  1, maxPO_perPF, FALSE);

  return offset;
}


static const value_string nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_vals[] = {
  {   0, "sCS480KHZoneEighthT" },
  {   1, "sCS480KHZoneSixteenthT" },
  { 0, NULL }
};

static const per_choice_t T_firstPDCCH_MonitoringOccasionOfPO_v1710_choice[] = {
  {   0, &hf_nr_rrc_sCS480KHZoneEighthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZoneEighthT },
  {   1, &hf_nr_rrc_sCS480KHZoneSixteenthT, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sCS480KHZoneSixteenthT },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710, T_firstPDCCH_MonitoringOccasionOfPO_v1710_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PCCH_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_ranPagingInIdlePO_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ranPagingInIdlePO_r17 },
  { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PCCH_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PCCH_Config_eag_2_sequence);

  return offset;
}


static const per_sequence_t PCCH_Config_sequence[] = {
  { &hf_nr_rrc_defaultPagingCycle, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingCycle },
  { &hf_nr_rrc_nAndPagingFrameOffset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nAndPagingFrameOffset },
  { &hf_nr_rrc_ns           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ns },
  { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_Config_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PCCH_Config, PCCH_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_po_NumPerPEI_r17_vals[] = {
  {   0, "po1" },
  {   1, "po2" },
  {   2, "po4" },
  {   3, "po8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_po_NumPerPEI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxDCI_2_7_Size_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxDCI_2_7_Size_r17, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 16U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofPagingSubgroups_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofPagingSubgroups_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t SubgroupConfig_r17_sequence[] = {
  { &hf_nr_rrc_subgroupsNumPerPO_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPagingSubgroups_r17 },
  { &hf_nr_rrc_subgroupsNumForUEID_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofPagingSubgroups_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SubgroupConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SubgroupConfig_r17, SubgroupConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_lastUsedCellOnly_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lastUsedCellOnly_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PEI_Config_r17_sequence[] = {
  { &hf_nr_rrc_po_NumPerPEI_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_po_NumPerPEI_r17 },
  { &hf_nr_rrc_payloadSizeDCI_2_7_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxDCI_2_7_Size_r17 },
  { &hf_nr_rrc_pei_FrameOffset_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_16 },
  { &hf_nr_rrc_subgroupConfig_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubgroupConfig_r17 },
  { &hf_nr_rrc_lastUsedCellOnly_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_lastUsedCellOnly_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PEI_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PEI_Config_r17, PEI_Config_r17_sequence);

  return offset;
}


static const per_sequence_t DownlinkConfigCommonSIB_eag_1_sequence[] = {
  { &hf_nr_rrc_pei_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PEI_Config_r17 },
  { &hf_nr_rrc_initialDownlinkBWP_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_DownlinkCommon },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DownlinkConfigCommonSIB_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, DownlinkConfigCommonSIB_eag_1_sequence);

  return offset;
}


static const per_sequence_t DownlinkConfigCommonSIB_sequence[] = {
  { &hf_nr_rrc_frequencyInfoDL_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FrequencyInfoDL_SIB },
  { &hf_nr_rrc_initialDownlinkBWP, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_DownlinkCommon },
  { &hf_nr_rrc_bcch_Config  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_Config },
  { &hf_nr_rrc_pcch_Config  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_Config },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_DownlinkConfigCommonSIB_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DownlinkConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DownlinkConfigCommonSIB, DownlinkConfigCommonSIB_sequence);

  return offset;
}


static const value_string nr_rrc_T_frequencyShift7p5khz_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_frequencyShift7p5khz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FrequencyInfoUL_SIB_sequence[] = {
  { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
  { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
  { &hf_nr_rrc_p_Max        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_frequencyShift7p5khz_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyShift7p5khz_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FrequencyInfoUL_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FrequencyInfoUL_SIB, FrequencyInfoUL_SIB_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 63U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_oneEighth_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n36" },
  {   9, "n40" },
  {  10, "n44" },
  {  11, "n48" },
  {  12, "n52" },
  {  13, "n56" },
  {  14, "n60" },
  {  15, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneEighth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneFourth_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n36" },
  {   9, "n40" },
  {  10, "n44" },
  {  11, "n48" },
  {  12, "n52" },
  {  13, "n56" },
  {  14, "n60" },
  {  15, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneFourth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneHalf_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n36" },
  {   9, "n40" },
  {  10, "n44" },
  {  11, "n48" },
  {  12, "n52" },
  {  13, "n56" },
  {  14, "n60" },
  {  15, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneHalf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_one_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n36" },
  {   9, "n40" },
  {  10, "n44" },
  {  11, "n48" },
  {  12, "n52" },
  {  13, "n56" },
  {  14, "n60" },
  {  15, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_one(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_two_03_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_two_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 4U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_vals[] = {
  {   0, "oneEighth" },
  {   1, "oneFourth" },
  {   2, "oneHalf" },
  {   3, "one" },
  {   4, "two" },
  {   5, "four" },
  {   6, "eight" },
  {   7, "sixteen" },
  { 0, NULL }
};

static const per_choice_t T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice[] = {
  {   0, &hf_nr_rrc_oneEighth    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_oneEighth },
  {   1, &hf_nr_rrc_oneFourth    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_oneFourth },
  {   2, &hf_nr_rrc_oneHalf      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_oneHalf },
  {   3, &hf_nr_rrc_one_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_one },
  {   4, &hf_nr_rrc_two_03       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_two_03 },
  {   5, &hf_nr_rrc_four         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_16 },
  {   6, &hf_nr_rrc_eight        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_8 },
  {   7, &hf_nr_rrc_sixteen      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_4 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ra_Msg3SizeGroupA_vals[] = {
  {   0, "b56" },
  {   1, "b144" },
  {   2, "b208" },
  {   3, "b256" },
  {   4, "b282" },
  {   5, "b480" },
  {   6, "b640" },
  {   7, "b800" },
  {   8, "b1000" },
  {   9, "b72" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_Msg3SizeGroupA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_messagePowerOffsetGroupB_vals[] = {
  {   0, "minusinfinity" },
  {   1, "dB0" },
  {   2, "dB5" },
  {   3, "dB8" },
  {   4, "dB10" },
  {   5, "dB12" },
  {   6, "dB15" },
  {   7, "dB18" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_messagePowerOffsetGroupB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 64U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_groupBconfigured_sequence[] = {
  { &hf_nr_rrc_ra_Msg3SizeGroupA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_Msg3SizeGroupA },
  { &hf_nr_rrc_messagePowerOffsetGroupB, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messagePowerOffsetGroupB },
  { &hf_nr_rrc_numberOfRA_PreamblesGroupA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_groupBconfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_groupBconfigured, T_groupBconfigured_sequence);

  return offset;
}


static const value_string nr_rrc_T_ra_ContentionResolutionTimer_vals[] = {
  {   0, "sf8" },
  {   1, "sf16" },
  {   2, "sf24" },
  {   3, "sf32" },
  {   4, "sf40" },
  {   5, "sf48" },
  {   6, "sf56" },
  {   7, "sf64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_ContentionResolutionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 837U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_137(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 137U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_prach_RootSequenceIndex_vals[] = {
  {   0, "l839" },
  {   1, "l139" },
  { 0, NULL }
};

static const per_choice_t T_prach_RootSequenceIndex_choice[] = {
  {   0, &hf_nr_rrc_l839         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_837 },
  {   1, &hf_nr_rrc_l139         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_137 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_prach_RootSequenceIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_prach_RootSequenceIndex, T_prach_RootSequenceIndex_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_restrictedSetConfig_vals[] = {
  {   0, "unrestrictedSet" },
  {   1, "restrictedSetTypeA" },
  {   2, "restrictedSetTypeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_restrictedSetConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msg3_transformPrecoder_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msg3_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_powerRampingStepHighPriority_vals[] = {
  {   0, "dB0" },
  {   1, "dB2" },
  {   2, "dB4" },
  {   3, "dB6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerRampingStepHighPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scalingFactorBI_vals[] = {
  {   0, "zero" },
  {   1, "dot25" },
  {   2, "dot5" },
  {   3, "dot75" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scalingFactorBI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RA_Prioritization_sequence[] = {
  { &hf_nr_rrc_powerRampingStepHighPriority, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStepHighPriority },
  { &hf_nr_rrc_scalingFactorBI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_scalingFactorBI },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_Prioritization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RA_Prioritization, RA_Prioritization_sequence);

  return offset;
}


static const per_sequence_t T_ra_PrioritizationForAccessIdentity_r16_sequence[] = {
  { &hf_nr_rrc_ra_Prioritization_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Prioritization },
  { &hf_nr_rrc_ra_PrioritizationForAI_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ra_PrioritizationForAccessIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ra_PrioritizationForAccessIdentity_r16, T_ra_PrioritizationForAccessIdentity_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_569(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 569U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_1149(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1149U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_prach_RootSequenceIndex_r16_vals[] = {
  {   0, "l571" },
  {   1, "l1151" },
  { 0, NULL }
};

static const per_choice_t T_prach_RootSequenceIndex_r16_choice[] = {
  {   0, &hf_nr_rrc_l571         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_569 },
  {   1, &hf_nr_rrc_l1151        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1149 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_prach_RootSequenceIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_prach_RootSequenceIndex_r16, T_prach_RootSequenceIndex_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RACH_ConfigCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_ra_PrioritizationForAccessIdentity_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_PrioritizationForAccessIdentity_r16 },
  { &hf_nr_rrc_prach_RootSequenceIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prach_RootSequenceIndex_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RACH_ConfigCommon_eag_1_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17_sequence_of[1] = {
  { &hf_nr_rrc_nsag_ID_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NSAG_ID_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17, SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17_sequence_of,
                                                  1, maxSliceInfo_r17, FALSE);

  return offset;
}


static const per_sequence_t RA_PrioritizationSliceInfo_r17_sequence[] = {
  { &hf_nr_rrc_nsag_ID_List_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17 },
  { &hf_nr_rrc_ra_Prioritization_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Prioritization },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_PrioritizationSliceInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RA_PrioritizationSliceInfo_r17, RA_PrioritizationSliceInfo_r17_sequence);

  return offset;
}


static const per_sequence_t RA_PrioritizationSliceInfoList_r17_sequence_of[1] = {
  { &hf_nr_rrc_RA_PrioritizationSliceInfoList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_PrioritizationSliceInfo_r17 },
};

static int
dissect_nr_rrc_RA_PrioritizationSliceInfoList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_RA_PrioritizationSliceInfoList_r17, RA_PrioritizationSliceInfoList_r17_sequence_of,
                                                  1, maxSliceInfo_r17, FALSE);

  return offset;
}


static const per_sequence_t RA_PrioritizationForSlicing_r17_sequence[] = {
  { &hf_nr_rrc_ra_PrioritizationSliceInfoList_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_PrioritizationSliceInfoList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_PrioritizationForSlicing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RA_PrioritizationForSlicing_r17, RA_PrioritizationForSlicing_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_redCap_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_redCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_smallData_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_smallData_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NSAG_List_r17_sequence_of[1] = {
  { &hf_nr_rrc_NSAG_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NSAG_ID_r17 },
};

static int
dissect_nr_rrc_NSAG_List_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NSAG_List_r17, NSAG_List_r17_sequence_of,
                                                  1, maxSliceInfo_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_msg3_Repetitions_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msg3_Repetitions_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spare4_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spare4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spare3_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spare3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spare2_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spare2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spare1_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spare1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureCombination_r17_sequence[] = {
  { &hf_nr_rrc_redCap_r17   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_redCap_r17 },
  { &hf_nr_rrc_smallData_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_smallData_r17 },
  { &hf_nr_rrc_nsag_r17     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NSAG_List_r17 },
  { &hf_nr_rrc_msg3_Repetitions_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msg3_Repetitions_r17 },
  { &hf_nr_rrc_spare4_01    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spare4 },
  { &hf_nr_rrc_spare3_01    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spare3 },
  { &hf_nr_rrc_spare2_01    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spare2 },
  { &hf_nr_rrc_spare1_01    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spare1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureCombination_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureCombination_r17, FeatureCombination_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ra_SizeGroupA_r17_vals[] = {
  {   0, "b56" },
  {   1, "b144" },
  {   2, "b208" },
  {   3, "b256" },
  {   4, "b282" },
  {   5, "b480" },
  {   6, "b640" },
  {   7, "b800" },
  {   8, "b1000" },
  {   9, "b72" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_SizeGroupA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_messagePowerOffsetGroupB_r17_vals[] = {
  {   0, "minusinfinity" },
  {   1, "dB0" },
  {   2, "dB5" },
  {   3, "dB8" },
  {   4, "dB10" },
  {   5, "dB12" },
  {   6, "dB15" },
  {   7, "dB18" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_messagePowerOffsetGroupB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_groupBconfigured_r17_sequence[] = {
  { &hf_nr_rrc_ra_SizeGroupA_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_SizeGroupA_r17 },
  { &hf_nr_rrc_messagePowerOffsetGroupB_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messagePowerOffsetGroupB_r17 },
  { &hf_nr_rrc_numberOfRA_PreamblesGroupA_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_groupBconfigured_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_groupBconfigured_r17, T_groupBconfigured_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_nrofMsgA_PO_PerSlot_r16_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "three" },
  {   3, "six" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofMsgA_PO_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofUL_Allocations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofUL_Allocations, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_mappingTypeMsgA_PUSCH_r16_vals[] = {
  {   0, "typeA" },
  {   1, "typeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mappingTypeMsgA_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofMsgA_PO_FDM_r16_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofMsgA_PO_FDM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_IntraSlotFrequencyHopping_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_IntraSlotFrequencyHopping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_DMRS_AdditionalPosition_r16_vals[] = {
  {   0, "pos0" },
  {   1, "pos1" },
  {   2, "pos3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_DMRS_AdditionalPosition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_MaxLength_r16_vals[] = {
  {   0, "len2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_MaxLength_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MsgA_DMRS_Config_r16_sequence[] = {
  { &hf_nr_rrc_msgA_DMRS_AdditionalPosition_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_DMRS_AdditionalPosition_r16 },
  { &hf_nr_rrc_msgA_MaxLength_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_MaxLength_r16 },
  { &hf_nr_rrc_msgA_PUSCH_DMRS_CDM_Group_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_msgA_PUSCH_NrofPorts_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_msgA_ScramblingID0_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &hf_nr_rrc_msgA_ScramblingID1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MsgA_DMRS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MsgA_DMRS_Config_r16, MsgA_DMRS_Config_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 2U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_msgA_Alpha_r16_vals[] = {
  {   0, "alpha0" },
  {   1, "alpha04" },
  {   2, "alpha05" },
  {   3, "alpha06" },
  {   4, "alpha07" },
  {   5, "alpha08" },
  {   6, "alpha09" },
  {   7, "alpha1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_Alpha_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 10U, NULL, FALSE);

  return offset;
}


static const per_sequence_t MsgA_PUSCH_Resource_r16_sequence[] = {
  { &hf_nr_rrc_msgA_MCS_r16 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_nrofSlotsMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_nrofMsgA_PO_PerSlot_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofMsgA_PO_PerSlot_r16 },
  { &hf_nr_rrc_msgA_PUSCH_TimeDomainOffset_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofUL_Allocations },
  { &hf_nr_rrc_startSymbolAndLengthMsgA_PO_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_127 },
  { &hf_nr_rrc_mappingTypeMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mappingTypeMsgA_PUSCH_r16 },
  { &hf_nr_rrc_guardPeriodMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_guardBandMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_frequencyStartMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_nrofPRBs_PerMsgA_PO_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_nrofMsgA_PO_FDM_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofMsgA_PO_FDM_r16 },
  { &hf_nr_rrc_msgA_IntraSlotFrequencyHopping_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_IntraSlotFrequencyHopping_r16 },
  { &hf_nr_rrc_msgA_HoppingBits_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { &hf_nr_rrc_msgA_DMRS_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MsgA_DMRS_Config_r16 },
  { &hf_nr_rrc_nrofDMRS_Sequences_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_msgA_Alpha_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_Alpha_r16 },
  { &hf_nr_rrc_interlaceIndexFirstPO_MsgA_PUSCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_10 },
  { &hf_nr_rrc_nrofInterlacesPerMsgA_PO_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MsgA_PUSCH_Resource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MsgA_PUSCH_Resource_r16, MsgA_PUSCH_Resource_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_msgA_TransformPrecoder_r16_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_TransformPrecoder_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -1, 6U, NULL, FALSE);

  return offset;
}


static const per_sequence_t MsgA_PUSCH_Config_r16_sequence[] = {
  { &hf_nr_rrc_msgA_PUSCH_ResourceGroupA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MsgA_PUSCH_Resource_r16 },
  { &hf_nr_rrc_msgA_PUSCH_ResourceGroupB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MsgA_PUSCH_Resource_r16 },
  { &hf_nr_rrc_msgA_TransformPrecoder_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_TransformPrecoder_r16 },
  { &hf_nr_rrc_msgA_DataScramblingIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_msgA_DeltaPreamble_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M1_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MsgA_PUSCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MsgA_PUSCH_Config_r16, MsgA_PUSCH_Config_r16_sequence);

  return offset;
}


static const per_sequence_t FeatureCombinationPreambles_r17_sequence[] = {
  { &hf_nr_rrc_featureCombination_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureCombination_r17 },
  { &hf_nr_rrc_startPreambleForThisPartition_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_numberOfPreamblesPerSSB_ForThisPartition_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_ssb_SharedRO_MaskIndex_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_groupBconfigured_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_groupBconfigured_r17 },
  { &hf_nr_rrc_separateMsgA_PUSCH_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MsgA_PUSCH_Config_r16 },
  { &hf_nr_rrc_msgA_RSRP_Threshold_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_rsrp_ThresholdSSB_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_deltaPreamble_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M1_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureCombinationPreambles_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureCombinationPreambles_r17, FeatureCombinationPreambles_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17_sequence_of[1] = {
  { &hf_nr_rrc_featureCombinationPreamblesList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureCombinationPreambles_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17, SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17_sequence_of,
                                                  1, maxFeatureCombPreamblesPerRACHResource_r17, FALSE);

  return offset;
}


static const per_sequence_t RACH_ConfigCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_ra_PrioritizationForSlicing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RA_PrioritizationForSlicing_r17 },
  { &hf_nr_rrc_featureCombinationPreamblesList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RACH_ConfigCommon_eag_2_sequence);

  return offset;
}


static const per_sequence_t RACH_ConfigCommon_sequence[] = {
  { &hf_nr_rrc_rach_ConfigGeneric, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric },
  { &hf_nr_rrc_totalNumberOfRA_Preambles, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_63 },
  { &hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB },
  { &hf_nr_rrc_groupBconfigured, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_groupBconfigured },
  { &hf_nr_rrc_ra_ContentionResolutionTimer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ContentionResolutionTimer },
  { &hf_nr_rrc_rsrp_ThresholdSSB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_rsrp_ThresholdSSB_SUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_prach_RootSequenceIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prach_RootSequenceIndex },
  { &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_restrictedSetConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_restrictedSetConfig },
  { &hf_nr_rrc_msg3_transformPrecoder, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msg3_transformPrecoder },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigCommon_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RACH_ConfigCommon, RACH_ConfigCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_rach_ConfigCommon_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_rach_ConfigCommon_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_36     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RACH_ConfigCommon },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_rach_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_rach_ConfigCommon, T_rach_ConfigCommon_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mappingType_01_vals[] = {
  {   0, "typeA" },
  {   1, "typeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mappingType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUSCH_TimeDomainResourceAllocation_sequence[] = {
  { &hf_nr_rrc_k2           , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_32 },
  { &hf_nr_rrc_mappingType_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType_01 },
  { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_TimeDomainResourceAllocation, PUSCH_TimeDomainResourceAllocation_sequence);

  return offset;
}


static const per_sequence_t PUSCH_TimeDomainResourceAllocationList_sequence_of[1] = {
  { &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation },
};

static int
dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList, PUSCH_TimeDomainResourceAllocationList_sequence_of,
                                                  1, maxNrofUL_Allocations, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M202_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -202, 24U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PUSCH_ConfigCommon_sequence[] = {
  { &hf_nr_rrc_groupHoppingEnabledTransformPrecoding, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding },
  { &hf_nr_rrc_pusch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList },
  { &hf_nr_rrc_msg3_DeltaPreamble, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M1_6 },
  { &hf_nr_rrc_p0_NominalWithGrant, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_ConfigCommon, PUSCH_ConfigCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_pusch_ConfigCommon_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_ConfigCommon_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_37     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_ConfigCommon },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_ConfigCommon, T_pusch_ConfigCommon_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_GroupHopping_vals[] = {
  {   0, "neither" },
  {   1, "enable" },
  {   2, "disable" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_GroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intra_SlotFH_r17_vals[] = {
  {   0, "fromLowerEdge" },
  {   1, "fromUpperEdge" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intra_SlotFH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_additionalPRBOffset_r17_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n9" },
  {   6, "n10" },
  {   7, "n12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_additionalPRBOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_ConfigCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_nrofPRBs_01  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_intra_SlotFH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intra_SlotFH_r17 },
  { &hf_nr_rrc_pucch_ResourceCommonRedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_additionalPRBOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_additionalPRBOffset_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_ConfigCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUCCH_ConfigCommon_eag_1_sequence);

  return offset;
}


static const per_sequence_t PUCCH_ConfigCommon_sequence[] = {
  { &hf_nr_rrc_pucch_ResourceCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_pucch_GroupHopping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_GroupHopping },
  { &hf_nr_rrc_hoppingId    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_p0_nominal   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ConfigCommon_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_ConfigCommon, PUCCH_ConfigCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_pucch_ConfigCommon_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pucch_ConfigCommon_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_38     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_ConfigCommon },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pucch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pucch_ConfigCommon, T_pucch_ConfigCommon_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_rach_ConfigCommonIAB_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_rach_ConfigCommonIAB_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_36     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RACH_ConfigCommon },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_rach_ConfigCommonIAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_rach_ConfigCommonIAB_r16, T_rach_ConfigCommonIAB_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_useInterlacePUCCH_PUSCH_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_useInterlacePUCCH_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_262(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 262U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_msgA_RO_FDM_r16_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_RO_FDM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_PreamblePowerRampingStep_r16_vals[] = {
  {   0, "dB0" },
  {   1, "dB2" },
  {   2, "dB4" },
  {   3, "dB6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_PreamblePowerRampingStep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgB_ResponseWindow_r16_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl8" },
  {   4, "sl10" },
  {   5, "sl20" },
  {   6, "sl40" },
  {   7, "sl80" },
  {   8, "sl160" },
  {   9, "sl320" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgB_ResponseWindow_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preambleTransMax_r16_vals[] = {
  {   0, "n3" },
  {   1, "n4" },
  {   2, "n5" },
  {   3, "n6" },
  {   4, "n7" },
  {   5, "n8" },
  {   6, "n10" },
  {   7, "n20" },
  {   8, "n50" },
  {   9, "n100" },
  {  10, "n200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preambleTransMax_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgB_ResponseWindow_v1700_vals[] = {
  {   0, "sl240" },
  {   1, "sl640" },
  {   2, "sl960" },
  {   3, "sl1280" },
  {   4, "sl1920" },
  {   5, "sl2560" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgB_ResponseWindow_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RACH_ConfigGenericTwoStepRA_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_msgB_ResponseWindow_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgB_ResponseWindow_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigGenericTwoStepRA_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RACH_ConfigGenericTwoStepRA_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t RACH_ConfigGenericTwoStepRA_r16_sequence[] = {
  { &hf_nr_rrc_msgA_PRACH_ConfigurationIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_262 },
  { &hf_nr_rrc_msgA_RO_FDM_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_RO_FDM_r16 },
  { &hf_nr_rrc_msgA_RO_FrequencyStart_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_msgA_ZeroCorrelationZoneConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_msgA_PreamblePowerRampingStep_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_PreamblePowerRampingStep_r16 },
  { &hf_nr_rrc_msgA_PreambleReceivedTargetPower_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_M60 },
  { &hf_nr_rrc_msgB_ResponseWindow_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgB_ResponseWindow_r16 },
  { &hf_nr_rrc_preambleTransMax_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_preambleTransMax_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGenericTwoStepRA_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigGenericTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RACH_ConfigGenericTwoStepRA_r16, RACH_ConfigGenericTwoStepRA_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_oneEighth_01_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n36" },
  {   9, "n40" },
  {  10, "n44" },
  {  11, "n48" },
  {  12, "n52" },
  {  13, "n56" },
  {  14, "n60" },
  {  15, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneEighth_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneFourth_01_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n36" },
  {   9, "n40" },
  {  10, "n44" },
  {  11, "n48" },
  {  12, "n52" },
  {  13, "n56" },
  {  14, "n60" },
  {  15, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneFourth_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneHalf_01_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n36" },
  {   9, "n40" },
  {  10, "n44" },
  {  11, "n48" },
  {  12, "n52" },
  {  13, "n56" },
  {  14, "n60" },
  {  15, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneHalf_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_one_01_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n36" },
  {   9, "n40" },
  {  10, "n44" },
  {  11, "n48" },
  {  12, "n52" },
  {  13, "n56" },
  {  14, "n60" },
  {  15, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_one_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_two_04_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n20" },
  {   5, "n24" },
  {   6, "n28" },
  {   7, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_two_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16_vals[] = {
  {   0, "oneEighth" },
  {   1, "oneFourth" },
  {   2, "oneHalf" },
  {   3, "one" },
  {   4, "two" },
  {   5, "four" },
  {   6, "eight" },
  {   7, "sixteen" },
  { 0, NULL }
};

static const per_choice_t T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16_choice[] = {
  {   0, &hf_nr_rrc_oneEighth_01 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_oneEighth_01 },
  {   1, &hf_nr_rrc_oneFourth_01 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_oneFourth_01 },
  {   2, &hf_nr_rrc_oneHalf_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_oneHalf_01 },
  {   3, &hf_nr_rrc_one_02       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_one_01 },
  {   4, &hf_nr_rrc_two_04       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_two_04 },
  {   5, &hf_nr_rrc_four         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_16 },
  {   6, &hf_nr_rrc_eight        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_8 },
  {   7, &hf_nr_rrc_sixteen      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_4 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16, T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 60U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ra_MsgA_SizeGroupA_vals[] = {
  {   0, "b56" },
  {   1, "b144" },
  {   2, "b208" },
  {   3, "b256" },
  {   4, "b282" },
  {   5, "b480" },
  {   6, "b640" },
  {   7, "b800" },
  {   8, "b1000" },
  {   9, "b72" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_MsgA_SizeGroupA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_messagePowerOffsetGroupB_01_vals[] = {
  {   0, "minusinfinity" },
  {   1, "dB0" },
  {   2, "dB5" },
  {   3, "dB8" },
  {   4, "dB10" },
  {   5, "dB12" },
  {   6, "dB15" },
  {   7, "dB18" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_messagePowerOffsetGroupB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t GroupB_ConfiguredTwoStepRA_r16_sequence[] = {
  { &hf_nr_rrc_ra_MsgA_SizeGroupA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_MsgA_SizeGroupA },
  { &hf_nr_rrc_messagePowerOffsetGroupB_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messagePowerOffsetGroupB_01 },
  { &hf_nr_rrc_numberOfRA_PreamblesGroupA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GroupB_ConfiguredTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GroupB_ConfiguredTwoStepRA_r16, GroupB_ConfiguredTwoStepRA_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16_vals[] = {
  {   0, "l839" },
  {   1, "l139" },
  {   2, "l571" },
  {   3, "l1151" },
  { 0, NULL }
};

static const per_choice_t T_msgA_PRACH_RootSequenceIndex_r16_choice[] = {
  {   0, &hf_nr_rrc_l839         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_837 },
  {   1, &hf_nr_rrc_l139         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_137 },
  {   2, &hf_nr_rrc_l571         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_569 },
  {   3, &hf_nr_rrc_l1151        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1149 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16, T_msgA_PRACH_RootSequenceIndex_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_TransMax_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n10" },
  {   6, "n20" },
  {   7, "n50" },
  {   8, "n100" },
  {   9, "n200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_TransMax_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_RestrictedSetConfig_r16_vals[] = {
  {   0, "unrestrictedSet" },
  {   1, "restrictedSetTypeA" },
  {   2, "restrictedSetTypeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_RestrictedSetConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ra_PrioritizationForAccessIdentityTwoStep_r16_sequence[] = {
  { &hf_nr_rrc_ra_Prioritization_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Prioritization },
  { &hf_nr_rrc_ra_PrioritizationForAI_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16, T_ra_PrioritizationForAccessIdentityTwoStep_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_ra_ContentionResolutionTimer_r16_vals[] = {
  {   0, "sf8" },
  {   1, "sf16" },
  {   2, "sf24" },
  {   3, "sf32" },
  {   4, "sf40" },
  {   5, "sf48" },
  {   6, "sf56" },
  {   7, "sf64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_ContentionResolutionTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RACH_ConfigCommonTwoStepRA_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_ra_PrioritizationForSlicingTwoStep_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RA_PrioritizationForSlicing_r17 },
  { &hf_nr_rrc_featureCombinationPreamblesList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigCommonTwoStepRA_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RACH_ConfigCommonTwoStepRA_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t RACH_ConfigCommonTwoStepRA_r16_sequence[] = {
  { &hf_nr_rrc_rach_ConfigGenericTwoStepRA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGenericTwoStepRA_r16 },
  { &hf_nr_rrc_msgA_TotalNumberOfRA_Preambles_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_63 },
  { &hf_nr_rrc_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16 },
  { &hf_nr_rrc_msgA_CB_PreamblesPerSSB_PerSharedRO_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_60 },
  { &hf_nr_rrc_msgA_SSB_SharedRO_MaskIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_groupB_ConfiguredTwoStepRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_GroupB_ConfiguredTwoStepRA_r16 },
  { &hf_nr_rrc_msgA_PRACH_RootSequenceIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16 },
  { &hf_nr_rrc_msgA_TransMax_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_TransMax_r16 },
  { &hf_nr_rrc_msgA_RSRP_Threshold_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_msgA_RSRP_ThresholdSSB_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_msgA_SubcarrierSpacing_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_msgA_RestrictedSetConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_RestrictedSetConfig_r16 },
  { &hf_nr_rrc_ra_PrioritizationForAccessIdentityTwoStep_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16 },
  { &hf_nr_rrc_ra_ContentionResolutionTimer_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_ContentionResolutionTimer_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigCommonTwoStepRA_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigCommonTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RACH_ConfigCommonTwoStepRA_r16, RACH_ConfigCommonTwoStepRA_r16_sequence);

  return offset;
}


static const per_sequence_t MsgA_ConfigCommon_r16_sequence[] = {
  { &hf_nr_rrc_rach_ConfigCommonTwoStepRA_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigCommonTwoStepRA_r16 },
  { &hf_nr_rrc_msgA_PUSCH_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MsgA_PUSCH_Config_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MsgA_ConfigCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MsgA_ConfigCommon_r16, MsgA_ConfigCommon_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_msgA_ConfigCommon_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_msgA_ConfigCommon_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_39     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MsgA_ConfigCommon_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_msgA_ConfigCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_msgA_ConfigCommon_r16, T_msgA_ConfigCommon_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BWP_UplinkCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_rach_ConfigCommonIAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rach_ConfigCommonIAB_r16 },
  { &hf_nr_rrc_useInterlacePUCCH_PUSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_useInterlacePUCCH_PUSCH_r16 },
  { &hf_nr_rrc_msgA_ConfigCommon_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_ConfigCommon_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BWP_UplinkCommon_eag_1_sequence);

  return offset;
}


static const per_sequence_t AdditionalRACH_Config_r17_sequence[] = {
  { &hf_nr_rrc_rach_ConfigCommon_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RACH_ConfigCommon },
  { &hf_nr_rrc_msgA_ConfigCommon_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MsgA_ConfigCommon_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AdditionalRACH_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AdditionalRACH_Config_r17, AdditionalRACH_Config_r17_sequence);

  return offset;
}


static const per_sequence_t AdditionalRACH_ConfigList_r17_sequence_of[1] = {
  { &hf_nr_rrc_AdditionalRACH_ConfigList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AdditionalRACH_Config_r17 },
};

static int
dissect_nr_rrc_AdditionalRACH_ConfigList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_AdditionalRACH_ConfigList_r17, AdditionalRACH_ConfigList_r17_sequence_of,
                                                  1, maxAdditionalRACH_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_additionalRACH_ConfigList_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_additionalRACH_ConfigList_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_40     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_AdditionalRACH_ConfigList_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_additionalRACH_ConfigList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_additionalRACH_ConfigList_r17, T_additionalRACH_ConfigList_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_NumberOfMsg3_Repetitions_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n7" },
  {   5, "n8" },
  {   6, "n12" },
  {   7, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_NumberOfMsg3_Repetitions_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17_sequence_of[1] = {
  { &hf_nr_rrc_numberOfMsg3_RepetitionsList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NumberOfMsg3_Repetitions_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17, SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17_sequence_of,
                                                  4, 4, FALSE);

  return offset;
}


static const per_sequence_t T_mcs_Msg3_Repetitions_r17_sequence_of[1] = {
  { &hf_nr_rrc_mcs_Msg3_Repetitions_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
};

static int
dissect_nr_rrc_T_mcs_Msg3_Repetitions_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_mcs_Msg3_Repetitions_r17, T_mcs_Msg3_Repetitions_r17_sequence_of,
                                                  8, 8, FALSE);

  return offset;
}


static const per_sequence_t BWP_UplinkCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_enableRA_PrioritizationForSlicing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_additionalRACH_ConfigList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_additionalRACH_ConfigList_r17 },
  { &hf_nr_rrc_rsrp_ThresholdMsg3_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_numberOfMsg3_RepetitionsList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17 },
  { &hf_nr_rrc_mcs_Msg3_Repetitions_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_Msg3_Repetitions_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BWP_UplinkCommon_eag_2_sequence);

  return offset;
}


static const per_sequence_t BWP_UplinkCommon_sequence[] = {
  { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
  { &hf_nr_rrc_rach_ConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rach_ConfigCommon },
  { &hf_nr_rrc_pusch_ConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_ConfigCommon },
  { &hf_nr_rrc_pucch_ConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_ConfigCommon },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkCommon_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP_UplinkCommon, BWP_UplinkCommon_sequence);

  return offset;
}


static const value_string nr_rrc_TimeAlignmentTimer_vals[] = {
  {   0, "ms500" },
  {   1, "ms750" },
  {   2, "ms1280" },
  {   3, "ms1920" },
  {   4, "ms2560" },
  {   5, "ms5120" },
  {   6, "ms10240" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_TimeAlignmentTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UplinkConfigCommonSIB_sequence[] = {
  { &hf_nr_rrc_frequencyInfoUL_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FrequencyInfoUL_SIB },
  { &hf_nr_rrc_initialUplinkBWP_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkCommon },
  { &hf_nr_rrc_timeAlignmentTimerCommon, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkConfigCommonSIB, UplinkConfigCommonSIB_sequence);

  return offset;
}


static const value_string nr_rrc_T_n_TimingAdvanceOffset_01_vals[] = {
  {   0, "n0" },
  {   1, "n25600" },
  {   2, "n39936" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_n_TimingAdvanceOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ssb_PositionsInBurst_01_sequence[] = {
  { &hf_nr_rrc_inOneGroup   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_groupPresence, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_PositionsInBurst_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ssb_PositionsInBurst_01, T_ssb_PositionsInBurst_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_ssb_PeriodicityServingCell_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms40" },
  {   4, "ms80" },
  {   5, "ms160" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_PeriodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_UL_TransmissionPeriodicity_vals[] = {
  {   0, "ms0p5" },
  {   1, "ms0p625" },
  {   2, "ms1" },
  {   3, "ms1p25" },
  {   4, "ms2" },
  {   5, "ms2p5" },
  {   6, "ms5" },
  {   7, "ms10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSlots, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSymbols_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530_vals[] = {
  {   0, "ms3" },
  {   1, "ms4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t TDD_UL_DL_Pattern_eag_1_sequence[] = {
  { &hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TDD_UL_DL_Pattern_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, TDD_UL_DL_Pattern_eag_1_sequence);

  return offset;
}


static const per_sequence_t TDD_UL_DL_Pattern_sequence[] = {
  { &hf_nr_rrc_dl_UL_TransmissionPeriodicity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity },
  { &hf_nr_rrc_nrofDownlinkSlots, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSlots },
  { &hf_nr_rrc_nrofDownlinkSymbols, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 },
  { &hf_nr_rrc_nrofUplinkSlots, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSlots },
  { &hf_nr_rrc_nrofUplinkSymbols, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_Pattern_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TDD_UL_DL_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TDD_UL_DL_Pattern, TDD_UL_DL_Pattern_sequence);

  return offset;
}


static const per_sequence_t TDD_UL_DL_ConfigCommon_sequence[] = {
  { &hf_nr_rrc_referenceSubcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_pattern1_01  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_Pattern },
  { &hf_nr_rrc_pattern2     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TDD_UL_DL_Pattern },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TDD_UL_DL_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TDD_UL_DL_ConfigCommon, TDD_UL_DL_ConfigCommon_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -60, 50U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_period_r16_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms2dot5" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_period_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SemiStaticChannelAccessConfig_r16_sequence[] = {
  { &hf_nr_rrc_period_r16   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_period_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SemiStaticChannelAccessConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SemiStaticChannelAccessConfig_r16, SemiStaticChannelAccessConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelAccessMode_r16_01_vals[] = {
  {   0, "dynamic" },
  {   1, "semiStatic" },
  { 0, NULL }
};

static const per_choice_t T_channelAccessMode_r16_01_choice[] = {
  {   0, &hf_nr_rrc_dynamic_02   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_semiStatic_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SemiStaticChannelAccessConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelAccessMode_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelAccessMode_r16_01, T_channelAccessMode_r16_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_discoveryBurstWindowLength_r16_01_vals[] = {
  {   0, "ms0dot5" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_discoveryBurstWindowLength_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_highSpeedMeasFlag_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedMeasFlag_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_highSpeedDemodFlag_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedDemodFlag_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t HighSpeedConfig_r16_sequence[] = {
  { &hf_nr_rrc_highSpeedMeasFlag_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedMeasFlag_r16 },
  { &hf_nr_rrc_highSpeedDemodFlag_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedDemodFlag_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HighSpeedConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HighSpeedConfig_r16, HighSpeedConfig_r16_sequence);

  return offset;
}


static const per_sequence_t ServingCellConfigCommonSIB_eag_1_sequence[] = {
  { &hf_nr_rrc_channelAccessMode_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelAccessMode_r16_01 },
  { &hf_nr_rrc_discoveryBurstWindowLength_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_discoveryBurstWindowLength_r16_01 },
  { &hf_nr_rrc_highSpeedConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_HighSpeedConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommonSIB_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfigCommonSIB_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelAccessMode2_r17_04_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_channelAccessMode2_r17_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_discoveryBurstWindowLength_v1700_vals[] = {
  {   0, "ms0dot125" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  {   3, "ms0dot75" },
  {   4, "ms1" },
  {   5, "ms1dot25" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_discoveryBurstWindowLength_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_highSpeedMeasFlagFR2_r17_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedMeasFlagFR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_highSpeedDeploymentTypeFR2_r17_vals[] = {
  {   0, "unidirectional" },
  {   1, "bidirectional" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedDeploymentTypeFR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_highSpeedLargeOneStepUL_TimingFR2_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedLargeOneStepUL_TimingFR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t HighSpeedConfigFR2_r17_sequence[] = {
  { &hf_nr_rrc_highSpeedMeasFlagFR2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedMeasFlagFR2_r17 },
  { &hf_nr_rrc_highSpeedDeploymentTypeFR2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedDeploymentTypeFR2_r17 },
  { &hf_nr_rrc_highSpeedLargeOneStepUL_TimingFR2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedLargeOneStepUL_TimingFR2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HighSpeedConfigFR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HighSpeedConfigFR2_r17, HighSpeedConfigFR2_r17_sequence);

  return offset;
}


static const per_sequence_t UplinkConfigCommonSIB_v1700_sequence[] = {
  { &hf_nr_rrc_initialUplinkBWP_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_UplinkCommon },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkConfigCommonSIB_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkConfigCommonSIB_v1700, UplinkConfigCommonSIB_v1700_sequence);

  return offset;
}


static const per_sequence_t ServingCellConfigCommonSIB_eag_2_sequence[] = {
  { &hf_nr_rrc_channelAccessMode2_r17_04, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelAccessMode2_r17_04 },
  { &hf_nr_rrc_discoveryBurstWindowLength_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_discoveryBurstWindowLength_v1700 },
  { &hf_nr_rrc_highSpeedConfigFR2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_HighSpeedConfigFR2_r17 },
  { &hf_nr_rrc_uplinkConfigCommon_v1700_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkConfigCommonSIB_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommonSIB_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfigCommonSIB_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_enhancedMeasurementLEO_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedMeasurementLEO_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServingCellConfigCommonSIB_eag_3_sequence[] = {
  { &hf_nr_rrc_enhancedMeasurementLEO_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedMeasurementLEO_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommonSIB_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfigCommonSIB_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_ra_ChannelAccess_r17_01_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_ChannelAccess_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServingCellConfigCommonSIB_eag_4_sequence[] = {
  { &hf_nr_rrc_ra_ChannelAccess_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_ChannelAccess_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommonSIB_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfigCommonSIB_eag_4_sequence);

  return offset;
}


static const per_sequence_t ServingCellConfigCommonSIB_sequence[] = {
  { &hf_nr_rrc_downlinkConfigCommon_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DownlinkConfigCommonSIB },
  { &hf_nr_rrc_uplinkConfigCommon_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkConfigCommonSIB },
  { &hf_nr_rrc_supplementaryUplink_02, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkConfigCommonSIB },
  { &hf_nr_rrc_n_TimingAdvanceOffset_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_n_TimingAdvanceOffset_01 },
  { &hf_nr_rrc_ssb_PositionsInBurst_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PositionsInBurst_01 },
  { &hf_nr_rrc_ssb_PeriodicityServingCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PeriodicityServingCell },
  { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
  { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommonSIB_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommonSIB_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommonSIB_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommonSIB_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ServingCellConfigCommonSIB, ServingCellConfigCommonSIB_sequence);

  return offset;
}


static const value_string nr_rrc_T_ims_EmergencySupport_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ims_EmergencySupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eCallOverIMS_Support_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eCallOverIMS_Support(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t300_vals[] = {
  {   0, "ms100" },
  {   1, "ms200" },
  {   2, "ms300" },
  {   3, "ms400" },
  {   4, "ms600" },
  {   5, "ms1000" },
  {   6, "ms1500" },
  {   7, "ms2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t300(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t301_vals[] = {
  {   0, "ms100" },
  {   1, "ms200" },
  {   2, "ms300" },
  {   3, "ms400" },
  {   4, "ms600" },
  {   5, "ms1000" },
  {   6, "ms1500" },
  {   7, "ms2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t301(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t310_01_vals[] = {
  {   0, "ms0" },
  {   1, "ms50" },
  {   2, "ms100" },
  {   3, "ms200" },
  {   4, "ms500" },
  {   5, "ms1000" },
  {   6, "ms2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t310_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_n310_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n6" },
  {   5, "n8" },
  {   6, "n10" },
  {   7, "n20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_n310_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t311_01_vals[] = {
  {   0, "ms1000" },
  {   1, "ms3000" },
  {   2, "ms5000" },
  {   3, "ms10000" },
  {   4, "ms15000" },
  {   5, "ms20000" },
  {   6, "ms30000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t311_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_n311_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_n311_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t319_vals[] = {
  {   0, "ms100" },
  {   1, "ms200" },
  {   2, "ms300" },
  {   3, "ms400" },
  {   4, "ms600" },
  {   5, "ms1000" },
  {   6, "ms1500" },
  {   7, "ms2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UE_TimersAndConstants_sequence[] = {
  { &hf_nr_rrc_t300         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t300 },
  { &hf_nr_rrc_t301         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t301 },
  { &hf_nr_rrc_t310_01      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t310_01 },
  { &hf_nr_rrc_n310_01      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n310_01 },
  { &hf_nr_rrc_t311_01      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t311_01 },
  { &hf_nr_rrc_n311_01      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n311_01 },
  { &hf_nr_rrc_t319         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t319 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_TimersAndConstants, UE_TimersAndConstants_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxAccessCat_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxAccessCat_1, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_UAC_BarringInfoSetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxBarringInfoSet, NULL, FALSE);

  return offset;
}


static const per_sequence_t UAC_BarringPerCat_sequence[] = {
  { &hf_nr_rrc_accessCategory, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxAccessCat_1 },
  { &hf_nr_rrc_uac_barringInfoSetIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UAC_BarringPerCat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UAC_BarringPerCat, UAC_BarringPerCat_sequence);

  return offset;
}


static const per_sequence_t UAC_BarringPerCatList_sequence_of[1] = {
  { &hf_nr_rrc_UAC_BarringPerCatList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringPerCat },
};

static int
dissect_nr_rrc_UAC_BarringPerCatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UAC_BarringPerCatList, UAC_BarringPerCatList_sequence_of,
                                                  1, maxAccessCat_1, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex_sequence_of[1] = {
  { &hf_nr_rrc_uac_ImplicitACBarringList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex, SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex_sequence_of,
                                                  maxAccessCat_1, maxAccessCat_1, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uac_ACBarringListType_vals[] = {
  {   0, "uac-ImplicitACBarringList" },
  {   1, "uac-ExplicitACBarringList" },
  { 0, NULL }
};

static const per_choice_t T_uac_ACBarringListType_choice[] = {
  {   0, &hf_nr_rrc_uac_ImplicitACBarringList, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex },
  {   1, &hf_nr_rrc_uac_ExplicitACBarringList, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UAC_BarringPerCatList },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uac_ACBarringListType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uac_ACBarringListType, T_uac_ACBarringListType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UAC_BarringPerPLMN_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN },
  { &hf_nr_rrc_uac_ACBarringListType, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uac_ACBarringListType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UAC_BarringPerPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UAC_BarringPerPLMN, UAC_BarringPerPLMN_sequence);

  return offset;
}


static const per_sequence_t UAC_BarringPerPLMN_List_sequence_of[1] = {
  { &hf_nr_rrc_UAC_BarringPerPLMN_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringPerPLMN },
};

static int
dissect_nr_rrc_UAC_BarringPerPLMN_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UAC_BarringPerPLMN_List, UAC_BarringPerPLMN_List_sequence_of,
                                                  1, maxPLMN, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uac_BarringFactor_vals[] = {
  {   0, "p00" },
  {   1, "p05" },
  {   2, "p10" },
  {   3, "p15" },
  {   4, "p20" },
  {   5, "p25" },
  {   6, "p30" },
  {   7, "p40" },
  {   8, "p50" },
  {   9, "p60" },
  {  10, "p70" },
  {  11, "p75" },
  {  12, "p80" },
  {  13, "p85" },
  {  14, "p90" },
  {  15, "p95" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uac_BarringFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uac_BarringTime_vals[] = {
  {   0, "s4" },
  {   1, "s8" },
  {   2, "s16" },
  {   3, "s32" },
  {   4, "s64" },
  {   5, "s128" },
  {   6, "s256" },
  {   7, "s512" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uac_BarringTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     7, 7, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t UAC_BarringInfoSet_sequence[] = {
  { &hf_nr_rrc_uac_BarringFactor, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uac_BarringFactor },
  { &hf_nr_rrc_uac_BarringTime, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uac_BarringTime },
  { &hf_nr_rrc_uac_BarringForAccessIdentity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UAC_BarringInfoSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UAC_BarringInfoSet, UAC_BarringInfoSet_sequence);

  return offset;
}


static const per_sequence_t UAC_BarringInfoSetList_sequence_of[1] = {
  { &hf_nr_rrc_UAC_BarringInfoSetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSet },
};

static int
dissect_nr_rrc_UAC_BarringInfoSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UAC_BarringInfoSetList, UAC_BarringInfoSetList_sequence_of,
                                                  1, maxBarringInfoSet, FALSE);

  return offset;
}


static const value_string nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals[] = {
  {   0, "a" },
  {   1, "b" },
  {   2, "c" },
  { 0, NULL }
};


static int
dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo_sequence_of[1] = {
  { &hf_nr_rrc_individualPLMNList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo, SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo_sequence_of,
                                                  2, maxPLMN, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo_vals[] = {
  {   0, "plmnCommon" },
  {   1, "individualPLMNList" },
  { 0, NULL }
};

static const per_choice_t T_uac_AccessCategory1_SelectionAssistanceInfo_choice[] = {
  {   0, &hf_nr_rrc_plmnCommon   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo },
  {   1, &hf_nr_rrc_individualPLMNList, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo, T_uac_AccessCategory1_SelectionAssistanceInfo_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_uac_BarringInfo_sequence[] = {
  { &hf_nr_rrc_uac_BarringForCommon, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UAC_BarringPerCatList },
  { &hf_nr_rrc_uac_BarringPerPLMN_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UAC_BarringPerPLMN_List },
  { &hf_nr_rrc_uac_BarringInfoSetList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetList },
  { &hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_uac_BarringInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_uac_BarringInfo, T_uac_BarringInfo_sequence);

  return offset;
}


static const value_string nr_rrc_T_useFullResumeID_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_useFullResumeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_idleModeMeasurementsEUTRA_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleModeMeasurementsEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_idleModeMeasurementsNR_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleModeMeasurementsNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_offsetToSI_Used_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_offsetToSI_Used_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_posSI_Periodicity_r16_vals[] = {
  {   0, "rf8" },
  {   1, "rf16" },
  {   2, "rf32" },
  {   3, "rf64" },
  {   4, "rf128" },
  {   5, "rf256" },
  {   6, "rf512" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_posSI_Periodicity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_posSI_BroadcastStatus_r16_vals[] = {
  {   0, "broadcasting" },
  {   1, "notBroadcasting" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_posSI_BroadcastStatus_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_encrypted_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_encrypted_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gnss_id_r16_vals[] = {
  {   0, "gps" },
  {   1, "sbas" },
  {   2, "qzss" },
  {   3, "galileo" },
  {   4, "glonass" },
  {   5, "bds" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gnss_id_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, TRUE, 0, NULL);

  return offset;
}


static const per_sequence_t GNSS_ID_r16_sequence[] = {
  { &hf_nr_rrc_gnss_id_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gnss_id_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GNSS_ID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GNSS_ID_r16, GNSS_ID_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sbas_id_r16_vals[] = {
  {   0, "waas" },
  {   1, "egnos" },
  {   2, "msas" },
  {   3, "gagan" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sbas_id_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, TRUE, 0, NULL);

  return offset;
}


static const per_sequence_t SBAS_ID_r16_sequence[] = {
  { &hf_nr_rrc_sbas_id_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sbas_id_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SBAS_ID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SBAS_ID_r16, SBAS_ID_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_posSibType_r16_01_vals[] = {
  {   0, "posSibType1-1" },
  {   1, "posSibType1-2" },
  {   2, "posSibType1-3" },
  {   3, "posSibType1-4" },
  {   4, "posSibType1-5" },
  {   5, "posSibType1-6" },
  {   6, "posSibType1-7" },
  {   7, "posSibType1-8" },
  {   8, "posSibType2-1" },
  {   9, "posSibType2-2" },
  {  10, "posSibType2-3" },
  {  11, "posSibType2-4" },
  {  12, "posSibType2-5" },
  {  13, "posSibType2-6" },
  {  14, "posSibType2-7" },
  {  15, "posSibType2-8" },
  {  16, "posSibType2-9" },
  {  17, "posSibType2-10" },
  {  18, "posSibType2-11" },
  {  19, "posSibType2-12" },
  {  20, "posSibType2-13" },
  {  21, "posSibType2-14" },
  {  22, "posSibType2-15" },
  {  23, "posSibType2-16" },
  {  24, "posSibType2-17" },
  {  25, "posSibType2-18" },
  {  26, "posSibType2-19" },
  {  27, "posSibType2-20" },
  {  28, "posSibType2-21" },
  {  29, "posSibType2-22" },
  {  30, "posSibType2-23" },
  {  31, "posSibType3-1" },
  {  32, "posSibType4-1" },
  {  33, "posSibType5-1" },
  {  34, "posSibType6-1" },
  {  35, "posSibType6-2" },
  {  36, "posSibType6-3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_posSibType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     37, NULL, TRUE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_areaScope_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_areaScope_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PosSIB_Type_r16_sequence[] = {
  { &hf_nr_rrc_encrypted_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_encrypted_r16 },
  { &hf_nr_rrc_gnss_id_r16  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GNSS_ID_r16 },
  { &hf_nr_rrc_sbas_id_r16  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SBAS_ID_r16 },
  { &hf_nr_rrc_posSibType_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSibType_r16_01 },
  { &hf_nr_rrc_areaScope_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_areaScope_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PosSIB_Type_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PosSIB_Type_r16, PosSIB_Type_r16_sequence);

  return offset;
}


static const per_sequence_t PosSIB_MappingInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_PosSIB_MappingInfo_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSIB_Type_r16 },
};

static int
dissect_nr_rrc_PosSIB_MappingInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PosSIB_MappingInfo_r16, PosSIB_MappingInfo_r16_sequence_of,
                                                  1, maxSIB, FALSE);

  return offset;
}


static const per_sequence_t PosSchedulingInfo_r16_sequence[] = {
  { &hf_nr_rrc_offsetToSI_Used_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_offsetToSI_Used_r16 },
  { &hf_nr_rrc_posSI_Periodicity_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSI_Periodicity_r16 },
  { &hf_nr_rrc_posSI_BroadcastStatus_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSI_BroadcastStatus_r16 },
  { &hf_nr_rrc_posSIB_MappingInfo_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSIB_MappingInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PosSchedulingInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PosSchedulingInfo_r16, PosSchedulingInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_posSchedulingInfoList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSchedulingInfo_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16, SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16_sequence_of,
                                                  1, maxSI_Message, FALSE);

  return offset;
}


static const per_sequence_t PosSI_SchedulingInfo_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_posSI_RequestConfigRedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SI_RequestConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PosSI_SchedulingInfo_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PosSI_SchedulingInfo_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t PosSI_SchedulingInfo_r16_sequence[] = {
  { &hf_nr_rrc_posSchedulingInfoList_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16 },
  { &hf_nr_rrc_posSI_RequestConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SI_RequestConfig },
  { &hf_nr_rrc_posSI_RequestConfigSUL_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SI_RequestConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSI_SchedulingInfo_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PosSI_SchedulingInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PosSI_SchedulingInfo_r16, PosSI_SchedulingInfo_r16_sequence);

  return offset;
}


static const value_string nr_rrc_UAC_AC1_SelectAssistInfo_r16_vals[] = {
  {   0, "a" },
  {   1, "b" },
  {   2, "c" },
  {   3, "notConfigured" },
  { 0, NULL }
};


static int
dissect_nr_rrc_UAC_AC1_SelectAssistInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_uac_AC1_SelectAssistInfo_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_AC1_SelectAssistInfo_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16, SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16_sequence_of,
                                                  2, maxPLMN, FALSE);

  return offset;
}


static const per_sequence_t T_uac_BarringInfo_v1630_sequence[] = {
  { &hf_nr_rrc_uac_AC1_SelectAssistInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_uac_BarringInfo_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_uac_BarringInfo_v1630, T_uac_BarringInfo_v1630_sequence);

  return offset;
}


static const value_string nr_rrc_T_hsdn_Cell_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_hsdn_Cell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uac_BarringFactorForAI3_r17_vals[] = {
  {   0, "p00" },
  {   1, "p05" },
  {   2, "p10" },
  {   3, "p15" },
  {   4, "p20" },
  {   5, "p25" },
  {   6, "p30" },
  {   7, "p40" },
  {   8, "p50" },
  {   9, "p60" },
  {  10, "p70" },
  {  11, "p75" },
  {  12, "p80" },
  {  13, "p85" },
  {  14, "p90" },
  {  15, "p95" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uac_BarringFactorForAI3_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UAC_BarringInfoSet_v1700_sequence[] = {
  { &hf_nr_rrc_uac_BarringFactorForAI3_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uac_BarringFactorForAI3_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UAC_BarringInfoSet_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UAC_BarringInfoSet_v1700, UAC_BarringInfoSet_v1700_sequence);

  return offset;
}


static const per_sequence_t UAC_BarringInfoSetList_v1700_sequence_of[1] = {
  { &hf_nr_rrc_UAC_BarringInfoSetList_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSet_v1700 },
};

static int
dissect_nr_rrc_UAC_BarringInfoSetList_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UAC_BarringInfoSetList_v1700, UAC_BarringInfoSetList_v1700_sequence_of,
                                                  1, maxBarringInfoSet, FALSE);

  return offset;
}


static const per_sequence_t T_uac_BarringInfo_v1700_sequence[] = {
  { &hf_nr_rrc_uac_BarringInfoSetList_v1700, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetList_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_uac_BarringInfo_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_uac_BarringInfo_v1700, T_uac_BarringInfo_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_sdt_LogicalChannelSR_DelayTimer_r17_vals[] = {
  {   0, "sf20" },
  {   1, "sf40" },
  {   2, "sf64" },
  {   3, "sf128" },
  {   4, "sf512" },
  {   5, "sf1024" },
  {   6, "sf2560" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdt_LogicalChannelSR_DelayTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sdt_DataVolumeThreshold_r17_vals[] = {
  {   0, "byte32" },
  {   1, "byte100" },
  {   2, "byte200" },
  {   3, "byte400" },
  {   4, "byte600" },
  {   5, "byte800" },
  {   6, "byte1000" },
  {   7, "byte2000" },
  {   8, "byte4000" },
  {   9, "byte8000" },
  {  10, "byte9000" },
  {  11, "byte10000" },
  {  12, "byte12000" },
  {  13, "byte24000" },
  {  14, "byte48000" },
  {  15, "byte96000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdt_DataVolumeThreshold_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t319a_r17_vals[] = {
  {   0, "ms100" },
  {   1, "ms200" },
  {   2, "ms300" },
  {   3, "ms400" },
  {   4, "ms600" },
  {   5, "ms1000" },
  {   6, "ms2000" },
  {   7, "ms3000" },
  {   8, "ms4000" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t319a_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SDT_ConfigCommonSIB_r17_sequence[] = {
  { &hf_nr_rrc_sdt_RSRP_Threshold_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_sdt_LogicalChannelSR_DelayTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_LogicalChannelSR_DelayTimer_r17 },
  { &hf_nr_rrc_sdt_DataVolumeThreshold_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdt_DataVolumeThreshold_r17 },
  { &hf_nr_rrc_t319a_r17    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t319a_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SDT_ConfigCommonSIB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SDT_ConfigCommonSIB_r17, SDT_ConfigCommonSIB_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_halfDuplexRedCapAllowed_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_halfDuplexRedCapAllowed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cellBarredRedCap1Rx_r17_vals[] = {
  {   0, "barred" },
  {   1, "notBarred" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellBarredRedCap1Rx_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cellBarredRedCap2Rx_r17_vals[] = {
  {   0, "barred" },
  {   1, "notBarred" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellBarredRedCap2Rx_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_cellBarredRedCap_r17_sequence[] = {
  { &hf_nr_rrc_cellBarredRedCap1Rx_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellBarredRedCap1Rx_r17 },
  { &hf_nr_rrc_cellBarredRedCap2Rx_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellBarredRedCap2Rx_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellBarredRedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellBarredRedCap_r17, T_cellBarredRedCap_r17_sequence);

  return offset;
}


static const per_sequence_t RedCap_ConfigCommonSIB_r17_sequence[] = {
  { &hf_nr_rrc_halfDuplexRedCapAllowed_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_halfDuplexRedCapAllowed_r17 },
  { &hf_nr_rrc_cellBarredRedCap_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cellBarredRedCap_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RedCap_ConfigCommonSIB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RedCap_ConfigCommonSIB_r17, RedCap_ConfigCommonSIB_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_FeaturePriority_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_featurePriorities_r17_sequence[] = {
  { &hf_nr_rrc_redCapPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeaturePriority_r17 },
  { &hf_nr_rrc_slicingPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeaturePriority_r17 },
  { &hf_nr_rrc_msg3_Repetitions_Priority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeaturePriority_r17 },
  { &hf_nr_rrc_sdt_Priority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeaturePriority_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_featurePriorities_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_featurePriorities_r17, T_featurePriorities_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_si_BroadcastStatus_r17_vals[] = {
  {   0, "broadcasting" },
  {   1, "notBroadcasting" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_si_BroadcastStatus_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 256U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_si_Periodicity_r17_vals[] = {
  {   0, "rf8" },
  {   1, "rf16" },
  {   2, "rf32" },
  {   3, "rf64" },
  {   4, "rf128" },
  {   5, "rf256" },
  {   6, "rf512" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_si_Periodicity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type1_r17_vals[] = {
  {   0, "sibType15" },
  {   1, "sibType16" },
  {   2, "sibType17" },
  {   3, "sibType18" },
  {   4, "sibType19" },
  {   5, "sibType20" },
  {   6, "sibType21" },
  {   7, "spare9" },
  {   8, "spare8" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, TRUE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_posSibType_r17_vals[] = {
  {   0, "posSibType1-9" },
  {   1, "posSibType1-10" },
  {   2, "posSibType2-24" },
  {   3, "posSibType2-25" },
  {   4, "posSibType6-4" },
  {   5, "posSibType6-5" },
  {   6, "posSibType6-6" },
  {   7, "spare9" },
  {   8, "spare8" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_posSibType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, TRUE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_encrypted_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_encrypted_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_type2_r17_sequence[] = {
  { &hf_nr_rrc_posSibType_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSibType_r17 },
  { &hf_nr_rrc_encrypted_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_encrypted_r17 },
  { &hf_nr_rrc_gnss_id_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GNSS_ID_r16 },
  { &hf_nr_rrc_sbas_id_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SBAS_ID_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type2_r17, T_type2_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sibType_r17_vals[] = {
  {   0, "type1-r17" },
  {   1, "type2-r17" },
  { 0, NULL }
};

static const per_choice_t T_sibType_r17_choice[] = {
  {   0, &hf_nr_rrc_type1_r17    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type1_r17 },
  {   1, &hf_nr_rrc_type2_r17    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sibType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sibType_r17, T_sibType_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_areaScope_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_areaScope_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SIB_TypeInfo_v1700_sequence[] = {
  { &hf_nr_rrc_sibType_r17  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sibType_r17 },
  { &hf_nr_rrc_valueTag_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_areaScope_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_areaScope_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB_TypeInfo_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB_TypeInfo_v1700, SIB_TypeInfo_v1700_sequence);

  return offset;
}


static const per_sequence_t SIB_Mapping_v1700_sequence_of[1] = {
  { &hf_nr_rrc_SIB_Mapping_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_TypeInfo_v1700 },
};

static int
dissect_nr_rrc_SIB_Mapping_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SIB_Mapping_v1700, SIB_Mapping_v1700_sequence_of,
                                                  1, maxSIB, FALSE);

  return offset;
}


static const per_sequence_t SchedulingInfo2_r17_sequence[] = {
  { &hf_nr_rrc_si_BroadcastStatus_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_BroadcastStatus_r17 },
  { &hf_nr_rrc_si_WindowPosition_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_256 },
  { &hf_nr_rrc_si_Periodicity_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_Periodicity_r17 },
  { &hf_nr_rrc_sib_MappingInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_Mapping_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingInfo2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingInfo2_r17, SchedulingInfo2_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17_sequence_of[1] = {
  { &hf_nr_rrc_schedulingInfoList2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingInfo2_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17, SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17_sequence_of,
                                                  1, maxSI_Message, FALSE);

  return offset;
}


static const per_sequence_t SI_SchedulingInfo_v1700_sequence[] = {
  { &hf_nr_rrc_schedulingInfoList2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17 },
  { &hf_nr_rrc_dummy_02     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SI_RequestConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SI_SchedulingInfo_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SI_SchedulingInfo_v1700, SI_SchedulingInfo_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_eDRX_AllowedIdle_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eDRX_AllowedIdle_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eDRX_AllowedInactive_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eDRX_AllowedInactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraFreqReselectionRedCap_r17_vals[] = {
  {   0, "allowed" },
  {   1, "notAllowed" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraFreqReselectionRedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cellBarredNTN_r17_vals[] = {
  {   0, "barred" },
  {   1, "notBarred" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cellBarredNTN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SI_SchedulingInfo_v1740_sequence[] = {
  { &hf_nr_rrc_si_RequestConfigRedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SI_RequestConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SI_SchedulingInfo_v1740(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SI_SchedulingInfo_v1740, SI_SchedulingInfo_v1740_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_39_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_39, T_nonCriticalExtension_39_sequence);

  return offset;
}


static const per_sequence_t SIB1_v1740_IEs_sequence[] = {
  { &hf_nr_rrc_si_SchedulingInfo_v1740, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SI_SchedulingInfo_v1740 },
  { &hf_nr_rrc_nonCriticalExtension_101, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_39 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB1_v1740_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB1_v1740_IEs, SIB1_v1740_IEs_sequence);

  return offset;
}


static const per_sequence_t SIB1_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_hsdn_Cell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_hsdn_Cell_r17 },
  { &hf_nr_rrc_uac_BarringInfo_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uac_BarringInfo_v1700 },
  { &hf_nr_rrc_sdt_ConfigCommon_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SDT_ConfigCommonSIB_r17 },
  { &hf_nr_rrc_redCap_ConfigCommon_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RedCap_ConfigCommonSIB_r17 },
  { &hf_nr_rrc_featurePriorities_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featurePriorities_r17 },
  { &hf_nr_rrc_si_SchedulingInfo_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SI_SchedulingInfo_v1700 },
  { &hf_nr_rrc_hyperSFN_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_eDRX_AllowedIdle_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eDRX_AllowedIdle_r17 },
  { &hf_nr_rrc_eDRX_AllowedInactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eDRX_AllowedInactive_r17 },
  { &hf_nr_rrc_intraFreqReselectionRedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFreqReselectionRedCap_r17 },
  { &hf_nr_rrc_cellBarredNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cellBarredNTN_r17 },
  { &hf_nr_rrc_nonCriticalExtension_100, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SIB1_v1740_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB1_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB1_v1700_IEs, SIB1_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t SIB1_v1630_IEs_sequence[] = {
  { &hf_nr_rrc_uac_BarringInfo_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uac_BarringInfo_v1630 },
  { &hf_nr_rrc_nonCriticalExtension_99, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SIB1_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB1_v1630_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB1_v1630_IEs, SIB1_v1630_IEs_sequence);

  return offset;
}


static const per_sequence_t SIB1_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_idleModeMeasurementsEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleModeMeasurementsEUTRA_r16 },
  { &hf_nr_rrc_idleModeMeasurementsNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleModeMeasurementsNR_r16 },
  { &hf_nr_rrc_posSI_SchedulingInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PosSI_SchedulingInfo_r16 },
  { &hf_nr_rrc_nonCriticalExtension_98, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SIB1_v1630_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB1_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB1_v1610_IEs, SIB1_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t SIB1_sequence[] = {
  { &hf_nr_rrc_cellSelectionInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cellSelectionInfo },
  { &hf_nr_rrc_cellAccessRelatedInfo, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo },
  { &hf_nr_rrc_connEstFailureControl, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConnEstFailureControl },
  { &hf_nr_rrc_si_SchedulingInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SI_SchedulingInfo },
  { &hf_nr_rrc_servingCellConfigCommon, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServingCellConfigCommonSIB },
  { &hf_nr_rrc_ims_EmergencySupport, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ims_EmergencySupport },
  { &hf_nr_rrc_eCallOverIMS_Support, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eCallOverIMS_Support },
  { &hf_nr_rrc_ue_TimersAndConstants, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_TimersAndConstants },
  { &hf_nr_rrc_uac_BarringInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uac_BarringInfo },
  { &hf_nr_rrc_useFullResumeID, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_useFullResumeID },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_97, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SIB1_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1 ");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SIB1, SIB1_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_07_vals[] = {
  {   0, "systemInformation" },
  {   1, "systemInformationBlockType1" },
  { 0, NULL }
};

static const per_choice_t T_c1_07_choice[] = {
  {   0, &hf_nr_rrc_systemInformation, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SystemInformation },
  {   1, &hf_nr_rrc_systemInformationBlockType1, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SIB1 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_07, T_c1_07_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtension_01_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension_01, T_messageClassExtension_01_sequence);

  return offset;
}


static const value_string nr_rrc_BCCH_DL_SCH_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t BCCH_DL_SCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_07        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_07 },
  {   1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BCCH_DL_SCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BCCH_DL_SCH_MessageType, BCCH_DL_SCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BCCH_DL_SCH_Message_sequence[] = {
  { &hf_nr_rrc_message_01   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_DL_SCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BCCH_DL_SCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BCCH_DL_SCH_Message, BCCH_DL_SCH_Message_sequence);

  return offset;
}



static int
dissect_nr_rrc_RejectWaitTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_28_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_28, T_nonCriticalExtension_28_sequence);

  return offset;
}


static const per_sequence_t RRCReject_IEs_sequence[] = {
  { &hf_nr_rrc_waitTime     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RejectWaitTime },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_69, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_28 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReject_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReject_IEs, RRCReject_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_27_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_27, T_criticalExtensionsFuture_27_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_27_vals[] = {
  {   0, "rrcReject" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_27_choice[] = {
  {   0, &hf_nr_rrc_rrcReject_01 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReject_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_27, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_27 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_27, T_criticalExtensions_27_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCReject_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_27, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_27 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reject");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReject, RRCReject_sequence);

  return offset;
}



static int
dissect_nr_rrc_RRC_TransactionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 3U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_reestablishPDCP_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reestablishPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_discardOnPDCP_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_discardOnPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_discardTimer_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms30" },
  {   3, "ms40" },
  {   4, "ms50" },
  {   5, "ms60" },
  {   6, "ms75" },
  {   7, "ms100" },
  {   8, "ms150" },
  {   9, "ms200" },
  {  10, "ms250" },
  {  11, "ms300" },
  {  12, "ms500" },
  {  13, "ms750" },
  {  14, "ms1500" },
  {  15, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_discardTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcp_SN_SizeUL_vals[] = {
  {   0, "len12bits" },
  {   1, "len18bits" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_SN_SizeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, &value, FALSE, 0, NULL);

  mapping->pdcpUlSnLength_present = TRUE;
  mapping->pdcpUlSnLength = (value) ? 18 : 12;


  return offset;
}


static const value_string nr_rrc_T_pdcp_SN_SizeDL_vals[] = {
  {   0, "len12bits" },
  {   1, "len18bits" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_SN_SizeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, &value, FALSE, 0, NULL);

  mapping->pdcpDlSnLength_present = TRUE;
  mapping->pdcpDlSnLength = (value) ? 18 : 12;



  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16383U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_profiles_sequence[] = {
  { &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_profiles, T_profiles_sequence);

  return offset;
}


static const value_string nr_rrc_T_drb_ContinueROHC_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drb_ContinueROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_rohc_sequence[] = {
  { &hf_nr_rrc_maxCID       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16383 },
  { &hf_nr_rrc_profiles     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles },
  { &hf_nr_rrc_drb_ContinueROHC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drb_ContinueROHC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rohc, T_rohc_sequence);

  return offset;
}


static const per_sequence_t T_profiles_01_sequence[] = {
  { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_profiles_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_profiles_01, T_profiles_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_drb_ContinueROHC_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drb_ContinueROHC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_uplinkOnlyROHC_sequence[] = {
  { &hf_nr_rrc_maxCID       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16383 },
  { &hf_nr_rrc_profiles_01  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles_01 },
  { &hf_nr_rrc_drb_ContinueROHC_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drb_ContinueROHC_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_uplinkOnlyROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_uplinkOnlyROHC, T_uplinkOnlyROHC_sequence);

  return offset;
}


static const value_string nr_rrc_T_headerCompression_vals[] = {
  {   0, "notUsed" },
  {   1, "rohc" },
  {   2, "uplinkOnlyROHC" },
  { 0, NULL }
};

static const per_choice_t T_headerCompression_choice[] = {
  {   0, &hf_nr_rrc_notUsed      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_rohc         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_rohc },
  {   2, &hf_nr_rrc_uplinkOnlyROHC, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_uplinkOnlyROHC },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_headerCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_headerCompression, T_headerCompression_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_integrityProtection_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_integrityProtection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
  mapping->pdcpIntegrityProtection = TRUE;


  return offset;
}


static const value_string nr_rrc_T_statusReportRequired_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_statusReportRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_outOfOrderDelivery_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_outOfOrderDelivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_drb_sequence[] = {
  { &hf_nr_rrc_discardTimer , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_discardTimer },
  { &hf_nr_rrc_pdcp_SN_SizeUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_SN_SizeUL },
  { &hf_nr_rrc_pdcp_SN_SizeDL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_SN_SizeDL },
  { &hf_nr_rrc_headerCompression, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_headerCompression },
  { &hf_nr_rrc_integrityProtection, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_integrityProtection },
  { &hf_nr_rrc_statusReportRequired, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_statusReportRequired },
  { &hf_nr_rrc_outOfOrderDelivery, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_outOfOrderDelivery },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_drb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_drb, T_drb_sequence);

  return offset;
}



static int
dissect_nr_rrc_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxSecondaryCellGroups, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxLC_ID, &value, FALSE);

  mapping->lcid = (guint8)value;
  mapping->lcid_present = TRUE;


  return offset;
}


static const per_sequence_t T_primaryPath_sequence[] = {
  { &hf_nr_rrc_cellGroup    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellGroupId },
  { &hf_nr_rrc_logicalChannel, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LogicalChannelIdentity },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_primaryPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_primaryPath, T_primaryPath_sequence);

  return offset;
}


static const value_string nr_rrc_UL_DataSplitThreshold_vals[] = {
  {   0, "b0" },
  {   1, "b100" },
  {   2, "b200" },
  {   3, "b400" },
  {   4, "b800" },
  {   5, "b1600" },
  {   6, "b3200" },
  {   7, "b6400" },
  {   8, "b12800" },
  {   9, "b25600" },
  {  10, "b51200" },
  {  11, "b102400" },
  {  12, "b204800" },
  {  13, "b409600" },
  {  14, "b819200" },
  {  15, "b1228800" },
  {  16, "b1638400" },
  {  17, "b2457600" },
  {  18, "b3276800" },
  {  19, "b4096000" },
  {  20, "b4915200" },
  {  21, "b5734400" },
  {  22, "b6553600" },
  {  23, "infinity" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_UL_DataSplitThreshold_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_UL_DataSplitThreshold_vals);


static int
dissect_nr_rrc_UL_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_moreThanOneRLC_sequence[] = {
  { &hf_nr_rrc_primaryPath  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_primaryPath },
  { &hf_nr_rrc_ul_DataSplitThreshold, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UL_DataSplitThreshold },
  { &hf_nr_rrc_pdcp_Duplication, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_moreThanOneRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_moreThanOneRLC, T_moreThanOneRLC_sequence);

  return offset;
}


static const value_string nr_rrc_T_t_Reordering_vals[] = {
  {   0, "ms0" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms8" },
  {   6, "ms10" },
  {   7, "ms15" },
  {   8, "ms20" },
  {   9, "ms30" },
  {  10, "ms40" },
  {  11, "ms50" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms120" },
  {  16, "ms140" },
  {  17, "ms160" },
  {  18, "ms180" },
  {  19, "ms200" },
  {  20, "ms220" },
  {  21, "ms240" },
  {  22, "ms260" },
  {  23, "ms280" },
  {  24, "ms300" },
  {  25, "ms500" },
  {  26, "ms750" },
  {  27, "ms1000" },
  {  28, "ms1250" },
  {  29, "ms1500" },
  {  30, "ms1750" },
  {  31, "ms2000" },
  {  32, "ms2250" },
  {  33, "ms2500" },
  {  34, "ms2750" },
  {  35, "ms3000" },
  {  36, "spare28" },
  {  37, "spare27" },
  {  38, "spare26" },
  {  39, "spare25" },
  {  40, "spare24" },
  {  41, "spare23" },
  {  42, "spare22" },
  {  43, "spare21" },
  {  44, "spare20" },
  {  45, "spare19" },
  {  46, "spare18" },
  {  47, "spare17" },
  {  48, "spare16" },
  {  49, "spare15" },
  {  50, "spare14" },
  {  51, "spare13" },
  {  52, "spare12" },
  {  53, "spare11" },
  {  54, "spare10" },
  {  55, "spare09" },
  {  56, "spare08" },
  {  57, "spare07" },
  {  58, "spare06" },
  {  59, "spare05" },
  {  60, "spare04" },
  {  61, "spare03" },
  {  62, "spare02" },
  {  63, "spare01" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_t_Reordering_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_t_Reordering_vals);


static int
dissect_nr_rrc_T_t_Reordering(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     64, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cipheringDisabled_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cipheringDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
  mapping->pdcpCipheringDisabled = TRUE;

  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCP_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_cipheringDisabled, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cipheringDisabled },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_DiscardTimerExt_r16_vals[] = {
  {   0, "ms0dot5" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms4" },
  {   4, "ms6" },
  {   5, "ms8" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_DiscardTimerExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_discardTimerExt_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_discardTimerExt_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_82     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DiscardTimerExt_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_discardTimerExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_discardTimerExt_r16, T_discardTimerExt_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_duplicationState_r16_sequence_of[1] = {
  { &hf_nr_rrc_duplicationState_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
};

static int
dissect_nr_rrc_T_duplicationState_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_duplicationState_r16, T_duplicationState_r16_sequence_of,
                                                  3, 3, FALSE);

  return offset;
}


static const per_sequence_t T_moreThanTwoRLC_DRB_r16_sequence[] = {
  { &hf_nr_rrc_splitSecondaryPath_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LogicalChannelIdentity },
  { &hf_nr_rrc_duplicationState_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_duplicationState_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_moreThanTwoRLC_DRB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_moreThanTwoRLC_DRB_r16, T_moreThanTwoRLC_DRB_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_ehc_CID_Length_r16_vals[] = {
  {   0, "bits7" },
  {   1, "bits15" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ehc_CID_Length_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ehc_Common_r16_sequence[] = {
  { &hf_nr_rrc_ehc_CID_Length_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ehc_CID_Length_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ehc_Common_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ehc_Common_r16, T_ehc_Common_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_drb_ContinueEHC_DL_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drb_ContinueEHC_DL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ehc_Downlink_r16_sequence[] = {
  { &hf_nr_rrc_drb_ContinueEHC_DL_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_drb_ContinueEHC_DL_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ehc_Downlink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ehc_Downlink_r16, T_ehc_Downlink_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32767U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_drb_ContinueEHC_UL_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drb_ContinueEHC_UL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ehc_Uplink_r16_sequence[] = {
  { &hf_nr_rrc_maxCID_EHC_UL_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32767 },
  { &hf_nr_rrc_drb_ContinueEHC_UL_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_drb_ContinueEHC_UL_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ehc_Uplink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ehc_Uplink_r16, T_ehc_Uplink_r16_sequence);

  return offset;
}


static const per_sequence_t EthernetHeaderCompression_r16_sequence[] = {
  { &hf_nr_rrc_ehc_Common_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ehc_Common_r16 },
  { &hf_nr_rrc_ehc_Downlink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ehc_Downlink_r16 },
  { &hf_nr_rrc_ehc_Uplink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ehc_Uplink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EthernetHeaderCompression_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EthernetHeaderCompression_r16, EthernetHeaderCompression_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_ethernetHeaderCompression_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ethernetHeaderCompression_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_83     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_EthernetHeaderCompression_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ethernetHeaderCompression_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ethernetHeaderCompression_r16, T_ethernetHeaderCompression_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDCP_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_discardTimerExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_discardTimerExt_r16 },
  { &hf_nr_rrc_moreThanTwoRLC_DRB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_moreThanTwoRLC_DRB_r16 },
  { &hf_nr_rrc_ethernetHeaderCompression_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ethernetHeaderCompression_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_survivalTimeStateSupport_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_survivalTimeStateSupport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bufferSize_r17_vals[] = {
  {   0, "kbyte2" },
  {   1, "kbyte4" },
  {   2, "kbyte8" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bufferSize_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dictionary_r17_vals[] = {
  {   0, "sip-SDP" },
  {   1, "operator" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dictionary_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_newSetup_sequence[] = {
  { &hf_nr_rrc_bufferSize_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bufferSize_r17 },
  { &hf_nr_rrc_dictionary_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dictionary_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_newSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_newSetup, T_newSetup_sequence);

  return offset;
}


static const value_string nr_rrc_UplinkDataCompression_r17_vals[] = {
  {   0, "newSetup" },
  {   1, "drb-ContinueUDC" },
  { 0, NULL }
};

static const per_choice_t UplinkDataCompression_r17_choice[] = {
  {   0, &hf_nr_rrc_newSetup     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_newSetup },
  {   1, &hf_nr_rrc_drb_ContinueUDC, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_UplinkDataCompression_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_UplinkDataCompression_r17, UplinkDataCompression_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkDataCompression_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_uplinkDataCompression_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_84     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UplinkDataCompression_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uplinkDataCompression_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uplinkDataCompression_r17, T_uplinkDataCompression_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_DiscardTimerExt2_r17_vals[] = {
  {   0, "ms2000" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_DiscardTimerExt2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_discardTimerExt2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_discardTimerExt2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_85     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DiscardTimerExt2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_discardTimerExt2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_discardTimerExt2_r17, T_discardTimerExt2_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDCP_Config_eag_3_sequence[] = {
  { &hf_nr_rrc_survivalTimeStateSupport_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_survivalTimeStateSupport_r17 },
  { &hf_nr_rrc_uplinkDataCompression_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkDataCompression_r17 },
  { &hf_nr_rrc_discardTimerExt2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_discardTimerExt2_r17 },
  { &hf_nr_rrc_initialRX_DELIV_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_Config_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_3_sequence);

  return offset;
}


static const per_sequence_t PDCP_Config_sequence[] = {
  { &hf_nr_rrc_drb          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_drb },
  { &hf_nr_rrc_moreThanOneRLC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_moreThanOneRLC },
  { &hf_nr_rrc_t_Reordering , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_t_Reordering },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Config_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Config_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCP_Config, PDCP_Config_sequence);

  return offset;
}



static int
dissect_nr_rrc_SRB_Identity_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            4U, 4U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SRB_ToAddMod_eag_1_sequence[] = {
  { &hf_nr_rrc_srb_Identity_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRB_Identity_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRB_ToAddMod_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRB_ToAddMod_eag_1_sequence);

  return offset;
}


static const per_sequence_t SRB_ToAddMod_sequence[] = {
  { &hf_nr_rrc_srb_Identity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_Identity },
  { &hf_nr_rrc_reestablishPDCP, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reestablishPDCP },
  { &hf_nr_rrc_discardOnPDCP, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_discardOnPDCP },
  { &hf_nr_rrc_pdcp_Config  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PDCP_Config },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_ToAddMod_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRB_ToAddMod, SRB_ToAddMod_sequence);

  return offset;
}


static const per_sequence_t SRB_ToAddModList_sequence_of[1] = {
  { &hf_nr_rrc_SRB_ToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_ToAddMod },
};

static int
dissect_nr_rrc_SRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SRB_ToAddModList, SRB_ToAddModList_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const value_string nr_rrc_T_srb3_ToRelease_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srb3_ToRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_PDU_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sdap_HeaderDL_vals[] = {
  {   0, "present" },
  {   1, "absent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdap_HeaderDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, &value, FALSE, 0, NULL);

  nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
  mapping->pdcpDlSdap = !value;


  return offset;
}


static const value_string nr_rrc_T_sdap_HeaderUL_vals[] = {
  {   0, "present" },
  {   1, "absent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdap_HeaderUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, &value, FALSE, 0, NULL);

  nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
  mapping->pdcpUlSdap = !value;


  return offset;
}



static int
dissect_nr_rrc_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxQFI, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of[1] = {
  { &hf_nr_rrc_mappedQoS_FlowsToAdd_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QFI },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of,
                                                  1, maxNrofQFIs, FALSE);

  return offset;
}


static const per_sequence_t SDAP_Config_sequence[] = {
  { &hf_nr_rrc_pdu_Session  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDU_SessionID },
  { &hf_nr_rrc_sdap_HeaderDL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderDL },
  { &hf_nr_rrc_sdap_HeaderUL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderUL },
  { &hf_nr_rrc_defaultDRB   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_mappedQoS_FlowsToAdd, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
  { &hf_nr_rrc_mappedQoS_FlowsToRelease, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SDAP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SDAP_Config, SDAP_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_cnAssociation_vals[] = {
  {   0, "eps-BearerIdentity" },
  {   1, "sdap-Config" },
  { 0, NULL }
};

static const per_choice_t T_cnAssociation_choice[] = {
  {   0, &hf_nr_rrc_eps_BearerIdentity, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_15 },
  {   1, &hf_nr_rrc_sdap_Config  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SDAP_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cnAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cnAssociation, T_cnAssociation_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reestablishPDCP_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reestablishPDCP_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_recoverPDCP_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_recoverPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_daps_Config_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_daps_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DRB_ToAddMod_eag_1_sequence[] = {
  { &hf_nr_rrc_daps_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_daps_Config_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRB_ToAddMod_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, DRB_ToAddMod_eag_1_sequence);

  return offset;
}


static const per_sequence_t DRB_ToAddMod_sequence[] = {
  { &hf_nr_rrc_cnAssociation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cnAssociation },
  { &hf_nr_rrc_drb_Identity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
  { &hf_nr_rrc_reestablishPDCP_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reestablishPDCP_01 },
  { &hf_nr_rrc_recoverPDCP  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_recoverPDCP },
  { &hf_nr_rrc_pdcp_Config  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PDCP_Config },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_ToAddMod_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
  memset(mapping, 0, sizeof(*mapping));
  mapping->active = TRUE;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRB_ToAddMod, DRB_ToAddMod_sequence);

  /* Need UE identifier. Use mac-nr. */
  mac_nr_info *p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
  if (p_mac_nr_info) {
    /* Configure PDCP SN length(s) for this DRB */
    if (mapping->pdcpUlSnLength_present || mapping->pdcpDlSnLength_present) {
      mapping->ueid = p_mac_nr_info->ueid;
      set_rlc_nr_drb_pdcp_mapping(actx->pinfo, mapping);
    }
  }
  mapping->active = FALSE;


  return offset;
}


static const per_sequence_t DRB_ToAddModList_sequence_of[1] = {
  { &hf_nr_rrc_DRB_ToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_ToAddMod },
};

static int
dissect_nr_rrc_DRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DRB_ToAddModList, DRB_ToAddModList_sequence_of,
                                                  1, maxDRB, FALSE);

  return offset;
}


static const per_sequence_t DRB_ToReleaseList_sequence_of[1] = {
  { &hf_nr_rrc_DRB_ToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
};

static int
dissect_nr_rrc_DRB_ToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DRB_ToReleaseList, DRB_ToReleaseList_sequence_of,
                                                  1, maxDRB, FALSE);

  return offset;
}


static const value_string nr_rrc_CipheringAlgorithm_vals[] = {
  {   0, "nea0" },
  {   1, "nea1" },
  {   2, "nea2" },
  {   3, "nea3" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_CipheringAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  pdcp_nr_security_info_t *p_security_algorithms;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, &value, TRUE, 0, NULL);

  p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security);
  p_security_algorithms->ciphering = (enum nr_security_ciphering_algorithm_e)value;


  return offset;
}


static const value_string nr_rrc_IntegrityProtAlgorithm_vals[] = {
  {   0, "nia0" },
  {   1, "nia1" },
  {   2, "nia2" },
  {   3, "nia3" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_IntegrityProtAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  pdcp_nr_security_info_t *p_security_algorithms;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, &value, TRUE, 0, NULL);

  p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security);
  p_security_algorithms->integrity = (enum nr_security_integrity_algorithm_e)value;


  return offset;
}


static const per_sequence_t SecurityAlgorithmConfig_sequence[] = {
  { &hf_nr_rrc_cipheringAlgorithm, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CipheringAlgorithm },
  { &hf_nr_rrc_integrityProtAlgorithm, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_IntegrityProtAlgorithm },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityAlgorithmConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  mac_nr_info *p_mac_nr_info;
  pdcp_nr_security_info_t *p_security_algorithms;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityAlgorithmConfig, SecurityAlgorithmConfig_sequence);

  p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security);
  p_security_algorithms->algorithm_configuration_frame = actx->pinfo->num;
  p_security_algorithms->previous_algorithm_configuration_frame = 0;
  p_security_algorithms->previous_integrity = nia0;
  p_security_algorithms->previous_ciphering = nea0;

  /* Look for UE identifier */
  p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
  if (p_mac_nr_info != NULL) {
    /* Configure algorithms */
    set_pdcp_nr_security_algorithms(p_mac_nr_info->ueid, p_security_algorithms);
  }


  return offset;
}


static const value_string nr_rrc_T_keyToUse_vals[] = {
  {   0, "master" },
  {   1, "secondary" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_keyToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SecurityConfig_sequence[] = {
  { &hf_nr_rrc_securityAlgorithmConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SecurityAlgorithmConfig },
  { &hf_nr_rrc_keyToUse     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_keyToUse },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityConfig, SecurityConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_plmn_Id_r17_vals[] = {
  {   0, "plmn-Index" },
  {   1, "explicitValue" },
  { 0, NULL }
};

static const per_choice_t T_plmn_Id_r17_choice[] = {
  {   0, &hf_nr_rrc_plmn_Index   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_maxPLMN },
  {   1, &hf_nr_rrc_explicitValue, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PLMN_Identity },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_plmn_Id_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_plmn_Id_r17, T_plmn_Id_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_OCTET_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       3, 3, FALSE, NULL);

  return offset;
}


static const per_sequence_t TMGI_r17_sequence[] = {
  { &hf_nr_rrc_plmn_Id_r17  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_plmn_Id_r17 },
  { &hf_nr_rrc_serviceId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TMGI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TMGI_r17, TMGI_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_MRB_Identity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 512U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_reestablishPDCP_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reestablishPDCP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_recoverPDCP_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_recoverPDCP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRB_ToAddMod_r17_sequence[] = {
  { &hf_nr_rrc_mbs_SessionId_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TMGI_r17 },
  { &hf_nr_rrc_mrb_Identity_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRB_Identity_r17 },
  { &hf_nr_rrc_mrb_IdentityNew_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MRB_Identity_r17 },
  { &hf_nr_rrc_reestablishPDCP_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reestablishPDCP_r17 },
  { &hf_nr_rrc_recoverPDCP_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_recoverPDCP_r17 },
  { &hf_nr_rrc_pdcp_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PDCP_Config },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRB_ToAddMod_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRB_ToAddMod_r17, MRB_ToAddMod_r17_sequence);

  return offset;
}


static const per_sequence_t MRB_ToAddModList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MRB_ToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRB_ToAddMod_r17 },
};

static int
dissect_nr_rrc_MRB_ToAddModList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MRB_ToAddModList_r17, MRB_ToAddModList_r17_sequence_of,
                                                  1, maxMRB_r17, FALSE);

  return offset;
}


static const per_sequence_t MRB_ToReleaseList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MRB_ToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRB_Identity_r17 },
};

static int
dissect_nr_rrc_MRB_ToReleaseList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MRB_ToReleaseList_r17, MRB_ToReleaseList_r17_sequence_of,
                                                  1, maxMRB_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_srb4_ToRelease_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srb4_ToRelease_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RadioBearerConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_mrb_ToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MRB_ToAddModList_r17 },
  { &hf_nr_rrc_mrb_ToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MRB_ToReleaseList_r17 },
  { &hf_nr_rrc_srb4_ToAddMod_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRB_ToAddMod },
  { &hf_nr_rrc_srb4_ToRelease_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srb4_ToRelease_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RadioBearerConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioBearerConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t RadioBearerConfig_sequence[] = {
  { &hf_nr_rrc_srb_ToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SRB_ToAddModList },
  { &hf_nr_rrc_srb3_ToRelease, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_srb3_ToRelease },
  { &hf_nr_rrc_drb_ToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_DRB_ToAddModList },
  { &hf_nr_rrc_drb_ToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_DRB_ToReleaseList },
  { &hf_nr_rrc_securityConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SecurityConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioBearerConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RadioBearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RadioBearerConfig, RadioBearerConfig_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_masterCellGroup_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);

  return offset;
}



static int
dissect_nr_rrc_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_periodicBSR_Timer_vals[] = {
  {   0, "sf1" },
  {   1, "sf5" },
  {   2, "sf10" },
  {   3, "sf16" },
  {   4, "sf20" },
  {   5, "sf32" },
  {   6, "sf40" },
  {   7, "sf64" },
  {   8, "sf80" },
  {   9, "sf128" },
  {  10, "sf160" },
  {  11, "sf320" },
  {  12, "sf640" },
  {  13, "sf1280" },
  {  14, "sf2560" },
  {  15, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_retxBSR_Timer_vals[] = {
  {   0, "sf10" },
  {   1, "sf20" },
  {   2, "sf40" },
  {   3, "sf80" },
  {   4, "sf160" },
  {   5, "sf320" },
  {   6, "sf640" },
  {   7, "sf1280" },
  {   8, "sf2560" },
  {   9, "sf5120" },
  {  10, "sf10240" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = {
  {   0, "sf20" },
  {   1, "sf40" },
  {   2, "sf64" },
  {   3, "sf128" },
  {   4, "sf512" },
  {   5, "sf1024" },
  {   6, "sf2560" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BSR_Config_sequence[] = {
  { &hf_nr_rrc_periodicBSR_Timer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer },
  { &hf_nr_rrc_retxBSR_Timer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer },
  { &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logicalChannelSR_DelayTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BSR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BSR_Config, BSR_Config_sequence);

  return offset;
}


static const per_sequence_t MAC_MainConfigSL_r16_sequence[] = {
  { &hf_nr_rrc_sl_BSR_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BSR_Config },
  { &hf_nr_rrc_ul_PrioritizationThres_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_sl_PrioritizationThres_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_MainConfigSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_MainConfigSL_r16, MAC_MainConfigSL_r16_sequence);

  return offset;
}


static const per_sequence_t T_sl_PSFCH_ToPUCCH_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_PSFCH_ToPUCCH_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
};

static int
dissect_nr_rrc_T_sl_PSFCH_ToPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sl_PSFCH_ToPUCCH_r16, T_sl_PSFCH_ToPUCCH_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_ConfigIndexCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCG_SL_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfigIndexCG_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16, SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16_sequence_of,
                                                  1, maxNrofCG_SL_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_PeriodCG1_r16_vals[] = {
  {   0, "ms100" },
  {   1, "ms200" },
  {   2, "ms300" },
  {   3, "ms400" },
  {   4, "ms500" },
  {   5, "ms600" },
  {   6, "ms700" },
  {   7, "ms800" },
  {   8, "ms900" },
  {   9, "ms1000" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PeriodCG1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_99(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 99U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_SL_PeriodCG_r16_vals[] = {
  {   0, "sl-PeriodCG1-r16" },
  {   1, "sl-PeriodCG2-r16" },
  { 0, NULL }
};

static const per_choice_t SL_PeriodCG_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_PeriodCG1_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sl_PeriodCG1_r16 },
  {   1, &hf_nr_rrc_sl_PeriodCG2_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_99 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_PeriodCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_PeriodCG_r16, SL_PeriodCG_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_CG_MaxTransNum_r16_sequence[] = {
  { &hf_nr_rrc_sl_Priority_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_MaxTransNum_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_CG_MaxTransNum_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_CG_MaxTransNum_r16, SL_CG_MaxTransNum_r16_sequence);

  return offset;
}


static const per_sequence_t SL_CG_MaxTransNumList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_CG_MaxTransNumList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CG_MaxTransNum_r16 },
};

static int
dissect_nr_rrc_SL_CG_MaxTransNumList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_CG_MaxTransNumList_r16, SL_CG_MaxTransNumList_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_496(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 496U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 26U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_6929(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 6929U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_7999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7999U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPUCCH_Resources_1, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_ResourcePoolID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofPoolID_r16, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_TimeReferenceSFN_Type1_r16_vals[] = {
  {   0, "sfn512" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_TimeReferenceSFN_Type1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_rrc_ConfiguredSidelinkGrant_r16_sequence[] = {
  { &hf_nr_rrc_sl_TimeResourceCG_Type1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_496 },
  { &hf_nr_rrc_sl_StartSubchannelCG_Type1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_26 },
  { &hf_nr_rrc_sl_FreqResourceCG_Type1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_6929 },
  { &hf_nr_rrc_sl_TimeOffsetCG_Type1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_7999 },
  { &hf_nr_rrc_sl_N1PUCCH_AN_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_ResourceId },
  { &hf_nr_rrc_sl_PSFCH_ToPUCCH_CG_Type1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_sl_ResourcePoolID_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ResourcePoolID_r16 },
  { &hf_nr_rrc_sl_TimeReferenceSFN_Type1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TimeReferenceSFN_Type1_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rrc_ConfiguredSidelinkGrant_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rrc_ConfiguredSidelinkGrant_r16, T_rrc_ConfiguredSidelinkGrant_r16_sequence);

  return offset;
}


static const per_sequence_t SL_ConfiguredGrantConfig_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_N1PUCCH_AN_Type2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_ResourceId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ConfiguredGrantConfig_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_ConfiguredGrantConfig_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_ConfiguredGrantConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_ConfigIndexCG_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfigIndexCG_r16 },
  { &hf_nr_rrc_sl_PeriodCG_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PeriodCG_r16 },
  { &hf_nr_rrc_sl_NrOfHARQ_Processes_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_sl_HARQ_ProcID_offset_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_sl_CG_MaxTransNumList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_CG_MaxTransNumList_r16 },
  { &hf_nr_rrc_rrc_ConfiguredSidelinkGrant_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rrc_ConfiguredSidelinkGrant_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfiguredGrantConfig_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ConfiguredGrantConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ConfiguredGrantConfig_r16, SL_ConfiguredGrantConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfiguredGrantConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16, SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16_sequence_of,
                                                  1, maxNrofCG_SL_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_ConfiguredGrantConfigList_r16_sequence[] = {
  { &hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16 },
  { &hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ConfiguredGrantConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ConfiguredGrantConfigList_r16, SL_ConfiguredGrantConfigList_r16_sequence);

  return offset;
}


static const per_sequence_t T_sl_DCI_ToSL_Trans_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_DCI_ToSL_Trans_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 },
};

static int
dissect_nr_rrc_T_sl_DCI_ToSL_Trans_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sl_DCI_ToSL_Trans_r16, T_sl_DCI_ToSL_Trans_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const per_sequence_t SL_ScheduledConfig_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_DCI_ToSL_Trans_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DCI_ToSL_Trans_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ScheduledConfig_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_ScheduledConfig_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_ScheduledConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_RNTI_r16  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_mac_MainConfigSL_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_MainConfigSL_r16 },
  { &hf_nr_rrc_sl_CS_RNTI_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_sl_PSFCH_ToPUCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PSFCH_ToPUCCH_r16 },
  { &hf_nr_rrc_sl_ConfiguredGrantConfigList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ConfiguredGrantConfigList_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ScheduledConfig_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ScheduledConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ScheduledConfig_r16, SL_ScheduledConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_ScheduledConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_ScheduledConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_192    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_ScheduledConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_ScheduledConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_ScheduledConfig_r16, T_sl_ScheduledConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_SL_TypeTxSync_r16_vals[] = {
  {   0, "gnss" },
  {   1, "gnbEnb" },
  {   2, "ue" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SL_TypeTxSync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ThresUE_Speed_r16_vals[] = {
  {   0, "kmph60" },
  {   1, "kmph80" },
  {   2, "kmph100" },
  {   3, "kmph120" },
  {   4, "kmph140" },
  {   5, "kmph160" },
  {   6, "kmph180" },
  {   7, "kmph200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ThresUE_Speed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 27U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 27U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_SL_TxPower_r16_vals[] = {
  {   0, "minusinfinity-r16" },
  {   1, "txPower-r16" },
  { 0, NULL }
};

static const per_choice_t SL_TxPower_r16_choice[] = {
  {   0, &hf_nr_rrc_minusinfinity_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_txPower_r16  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M30_33 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxPower_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_TxPower_r16, SL_TxPower_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_PSSCH_TxParameters_r16_sequence[] = {
  { &hf_nr_rrc_sl_MinMCS_PSSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_27 },
  { &hf_nr_rrc_sl_MaxMCS_PSSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_sl_MinSubChannelNumPSSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_27 },
  { &hf_nr_rrc_sl_MaxSubchannelNumPSSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_27 },
  { &hf_nr_rrc_sl_MaxTxTransNumPSSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_sl_MaxTxPower_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxPower_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PSSCH_TxParameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PSSCH_TxParameters_r16, SL_PSSCH_TxParameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_MCS_Table_r16_vals[] = {
  {   0, "qam64" },
  {   1, "qam256" },
  {   2, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_MCS_Table_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_MinMaxMCS_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_MCS_Table_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_MCS_Table_r16 },
  { &hf_nr_rrc_sl_MinMCS_PSSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_27 },
  { &hf_nr_rrc_sl_MaxMCS_PSSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MinMaxMCS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MinMaxMCS_Config_r16, SL_MinMaxMCS_Config_r16_sequence);

  return offset;
}


static const per_sequence_t SL_MinMaxMCS_List_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_MinMaxMCS_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MinMaxMCS_Config_r16 },
};

static int
dissect_nr_rrc_SL_MinMaxMCS_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_MinMaxMCS_List_r16, SL_MinMaxMCS_List_r16_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const per_sequence_t SL_PSSCH_TxConfig_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_ParametersAboveThres_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MinMaxMCS_List_r16 },
  { &hf_nr_rrc_sl_ParametersBelowThres_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MinMaxMCS_List_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PSSCH_TxConfig_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_PSSCH_TxConfig_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_PSSCH_TxConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_TypeTxSync_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TypeTxSync_r16 },
  { &hf_nr_rrc_sl_ThresUE_Speed_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ThresUE_Speed_r16 },
  { &hf_nr_rrc_sl_ParametersAboveThres_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PSSCH_TxParameters_r16 },
  { &hf_nr_rrc_sl_ParametersBelowThres_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PSSCH_TxParameters_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PSSCH_TxConfig_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PSSCH_TxConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PSSCH_TxConfig_r16, SL_PSSCH_TxConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_PSSCH_TxConfigList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_PSSCH_TxConfigList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PSSCH_TxConfig_r16 },
};

static int
dissect_nr_rrc_SL_PSSCH_TxConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_PSSCH_TxConfigList_r16, SL_PSSCH_TxConfigList_r16_sequence_of,
                                                  1, maxPSSCH_TxConfig_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_ProbResourceKeep_r16_vals[] = {
  {   0, "v0" },
  {   1, "v0dot2" },
  {   2, "v0dot4" },
  {   3, "v0dot6" },
  {   4, "v0dot8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ProbResourceKeep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ReselectAfter_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n7" },
  {   7, "n8" },
  {   8, "n9" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ReselectAfter_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     9, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_SL_CBR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 100U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_CBR_LevelsConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_CBR_LevelsConfig_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_r16 },
};

static int
dissect_nr_rrc_SL_CBR_LevelsConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_CBR_LevelsConfig_r16, SL_CBR_LevelsConfig_r16_sequence_of,
                                                  1, maxCBR_Level_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_CBR_RangeConfigList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_LevelsConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16, SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16_sequence_of,
                                                  1, maxCBR_Config_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_10000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 10000U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_CBR_PSSCH_TxConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_CR_Limit_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_10000 },
  { &hf_nr_rrc_sl_TxParameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PSSCH_TxParameters_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_CBR_PSSCH_TxConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_CBR_PSSCH_TxConfig_r16, SL_CBR_PSSCH_TxConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_PSSCH_TxConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16, SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16_sequence_of,
                                                  1, maxTxConfig_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_CBR_CommonTxConfigList_r16_sequence[] = {
  { &hf_nr_rrc_sl_CBR_RangeConfigList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16 },
  { &hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_CBR_CommonTxConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_CBR_CommonTxConfigList_r16, SL_CBR_CommonTxConfigList_r16_sequence);

  return offset;
}


static const per_sequence_t SL_UE_SelectedConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_PSSCH_TxConfigList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PSSCH_TxConfigList_r16 },
  { &hf_nr_rrc_sl_ProbResourceKeep_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ProbResourceKeep_r16 },
  { &hf_nr_rrc_sl_ReselectAfter_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ReselectAfter_r16 },
  { &hf_nr_rrc_sl_CBR_CommonTxConfigList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_CBR_CommonTxConfigList_r16 },
  { &hf_nr_rrc_ul_PrioritizationThres_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_sl_PrioritizationThres_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_UE_SelectedConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_UE_SelectedConfig_r16, SL_UE_SelectedConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_UE_SelectedConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_UE_SelectedConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_193    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_UE_SelectedConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_UE_SelectedConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_UE_SelectedConfig_r16, T_sl_UE_SelectedConfig_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_SL_Freq_Id_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofFreqSL_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_FreqInfoToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_Freq_Id_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16, SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16_sequence_of,
                                                  1, maxNrofFreqSL_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_frequencyShift7p5khzSL_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_frequencyShift7p5khzSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M1_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -1, 1U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofBWPs, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id_sequence_of[1] = {
  { &hf_nr_rrc_sl_BWP_ToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id, SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id_sequence_of,
                                                  1, maxNrofSL_BWPs_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_LengthSymbols_r16_vals[] = {
  {   0, "sym7" },
  {   1, "sym8" },
  {   2, "sym9" },
  {   3, "sym10" },
  {   4, "sym11" },
  {   5, "sym12" },
  {   6, "sym13" },
  {   7, "sym14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_LengthSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_StartSymbol_r16_vals[] = {
  {   0, "sym0" },
  {   1, "sym1" },
  {   2, "sym2" },
  {   3, "sym3" },
  {   4, "sym4" },
  {   5, "sym5" },
  {   6, "sym6" },
  {   7, "sym7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_StartSymbol_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -16, 15U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_Alpha_PSBCH_r16_vals[] = {
  {   0, "alpha0" },
  {   1, "alpha04" },
  {   2, "alpha05" },
  {   3, "alpha06" },
  {   4, "alpha07" },
  {   5, "alpha08" },
  {   6, "alpha09" },
  {   7, "alpha1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_Alpha_PSBCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PSBCH_Config_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_dl_P0_PSBCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PSBCH_Config_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_PSBCH_Config_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_PSBCH_Config_r16_sequence[] = {
  { &hf_nr_rrc_dl_P0_PSBCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_dl_Alpha_PSBCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_Alpha_PSBCH_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PSBCH_Config_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PSBCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PSBCH_Config_r16, SL_PSBCH_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_PSBCH_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PSBCH_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_189    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_PSBCH_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PSBCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PSBCH_Config_r16, T_sl_PSBCH_Config_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_3301(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3301U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_BWP_Generic_r16_sequence[] = {
  { &hf_nr_rrc_sl_BWP_r16   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP },
  { &hf_nr_rrc_sl_LengthSymbols_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_LengthSymbols_r16 },
  { &hf_nr_rrc_sl_StartSymbol_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_StartSymbol_r16 },
  { &hf_nr_rrc_sl_PSBCH_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PSBCH_Config_r16 },
  { &hf_nr_rrc_sl_TxDirectCurrentLocation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3301 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_BWP_Generic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_BWP_Generic_r16, SL_BWP_Generic_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_TimeResourcePSCCH_r16_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_TimeResourcePSCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_FreqResourcePSCCH_r16_vals[] = {
  {   0, "n10" },
  {   1, "n12" },
  {   2, "n15" },
  {   3, "n20" },
  {   4, "n25" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_FreqResourcePSCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PSCCH_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_TimeResourcePSCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TimeResourcePSCCH_r16 },
  { &hf_nr_rrc_sl_FreqResourcePSCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_FreqResourcePSCCH_r16 },
  { &hf_nr_rrc_sl_DMRS_ScrambleID_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &hf_nr_rrc_sl_NumReservedBits_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PSCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PSCCH_Config_r16, SL_PSCCH_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_PSCCH_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PSCCH_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_197    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_PSCCH_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PSCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PSCCH_Config_r16, T_sl_PSCCH_Config_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_sl_PSSCH_DMRS_TimePatternList_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 },
};

static int
dissect_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16, T_sl_PSSCH_DMRS_TimePatternList_r16_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_BetaOffsets_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 31U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_BetaOffsets2ndSCI_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_BetaOffsets_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16, SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16_sequence_of,
                                                  4, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_Scaling_r16_vals[] = {
  {   0, "f0p5" },
  {   1, "f0p65" },
  {   2, "f0p8" },
  {   3, "f1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Scaling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PSSCH_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16 },
  { &hf_nr_rrc_sl_BetaOffsets2ndSCI_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16 },
  { &hf_nr_rrc_sl_Scaling_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Scaling_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PSSCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PSSCH_Config_r16, SL_PSSCH_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_PSSCH_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PSSCH_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_198    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_PSSCH_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PSSCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PSSCH_Config_r16, T_sl_PSSCH_Config_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_PSFCH_Period_r16_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PSFCH_Period_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_10_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     10, 275, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_NumMuxCS_Pair_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_NumMuxCS_Pair_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_MinTimeGapPSFCH_r16_vals[] = {
  {   0, "sl2" },
  {   1, "sl3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_MinTimeGapPSFCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_PSFCH_CandidateResourceType_r16_vals[] = {
  {   0, "startSubCH" },
  {   1, "allocSubCH" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PSFCH_CandidateResourceType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PSFCH_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_PSFCH_Period_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PSFCH_Period_r16 },
  { &hf_nr_rrc_sl_PSFCH_RB_Set_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10_275 },
  { &hf_nr_rrc_sl_NumMuxCS_Pair_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_NumMuxCS_Pair_r16 },
  { &hf_nr_rrc_sl_MinTimeGapPSFCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_MinTimeGapPSFCH_r16 },
  { &hf_nr_rrc_sl_PSFCH_HopID_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_sl_PSFCH_CandidateResourceType_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PSFCH_CandidateResourceType_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PSFCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PSFCH_Config_r16, SL_PSFCH_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_PSFCH_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PSFCH_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_199    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_PSFCH_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PSFCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PSFCH_Config_r16, T_sl_PSFCH_Config_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_gnss_Sync_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gnss_Sync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gnbEnb_Sync_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gnbEnb_Sync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_Sync_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_Sync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_SyncAllowed_r16_sequence[] = {
  { &hf_nr_rrc_gnss_Sync_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gnss_Sync_r16 },
  { &hf_nr_rrc_gnbEnb_Sync_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gnbEnb_Sync_r16 },
  { &hf_nr_rrc_ue_Sync_r16  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_Sync_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_SyncAllowed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_SyncAllowed_r16, SL_SyncAllowed_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_SubchannelSize_r16_vals[] = {
  {   0, "n10" },
  {   1, "n12" },
  {   2, "n15" },
  {   3, "n20" },
  {   4, "n25" },
  {   5, "n50" },
  {   6, "n75" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SubchannelSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_10_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            10U, 160U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_265(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 265U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_Additional_MCS_Table_r16_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  {   2, "qam256-qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Additional_MCS_Table_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 45U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_TimeWindowSizeCBR_r16_vals[] = {
  {   0, "ms100" },
  {   1, "slot100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_TimeWindowSizeCBR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_TimeWindowSizeCR_r16_vals[] = {
  {   0, "ms1000" },
  {   1, "slot1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_TimeWindowSizeCR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_276(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 276U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sl_PTRS_FreqDensity_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_PTRS_FreqDensity_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
};

static int
dissect_nr_rrc_T_sl_PTRS_FreqDensity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sl_PTRS_FreqDensity_r16, T_sl_PTRS_FreqDensity_r16_sequence_of,
                                                  2, 2, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 29U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_sl_PTRS_TimeDensity_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_PTRS_TimeDensity_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
};

static int
dissect_nr_rrc_T_sl_PTRS_TimeDensity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sl_PTRS_TimeDensity_r16, T_sl_PTRS_TimeDensity_r16_sequence_of,
                                                  3, 3, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_PTRS_RE_Offset_r16_vals[] = {
  {   0, "offset01" },
  {   1, "offset10" },
  {   2, "offset11" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PTRS_RE_Offset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PTRS_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_PTRS_FreqDensity_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PTRS_FreqDensity_r16 },
  { &hf_nr_rrc_sl_PTRS_TimeDensity_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PTRS_TimeDensity_r16 },
  { &hf_nr_rrc_sl_PTRS_RE_Offset_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PTRS_RE_Offset_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PTRS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PTRS_Config_r16, SL_PTRS_Config_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxCBR_Level_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxCBR_Level_1_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxCBR_Config_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxCBR_Config_1_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_TxConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxTxConfig_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_Tx_ConfigIndexList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxConfigIndex_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16, SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16_sequence_of,
                                                  1, maxCBR_Level_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_PriorityTxConfigIndex_r16_sequence[] = {
  { &hf_nr_rrc_sl_PriorityThreshold_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_DefaultTxConfigIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxCBR_Level_1_r16 },
  { &hf_nr_rrc_sl_CBR_ConfigIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxCBR_Config_1_r16 },
  { &hf_nr_rrc_sl_Tx_ConfigIndexList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PriorityTxConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PriorityTxConfigIndex_r16, SL_PriorityTxConfigIndex_r16_sequence);

  return offset;
}


static const per_sequence_t SL_CBR_PriorityTxConfigList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_CBR_PriorityTxConfigList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PriorityTxConfigIndex_r16 },
};

static int
dissect_nr_rrc_SL_CBR_PriorityTxConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_CBR_PriorityTxConfigList_r16, SL_CBR_PriorityTxConfigList_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_Thres_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 66U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_Thres_RSRP_List_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_Thres_RSRP_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_Thres_RSRP_r16 },
};

static int
dissect_nr_rrc_SL_Thres_RSRP_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_Thres_RSRP_List_r16, SL_Thres_RSRP_List_r16_sequence_of,
                                                  64, 64, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_MultiReserveResource_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_MultiReserveResource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_MaxNumPerReserve_r16_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_MaxNumPerReserve_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_SensingWindow_r16_vals[] = {
  {   0, "ms100" },
  {   1, "ms1100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SensingWindow_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_SelectionWindow_r16_vals[] = {
  {   0, "n1" },
  {   1, "n5" },
  {   2, "n10" },
  {   3, "n20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SelectionWindow_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_SelectionWindowConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_Priority_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_SelectionWindow_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_SelectionWindow_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_SelectionWindowConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_SelectionWindowConfig_r16, SL_SelectionWindowConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_SelectionWindowList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_SelectionWindowList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_SelectionWindowConfig_r16 },
};

static int
dissect_nr_rrc_SL_SelectionWindowList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_SelectionWindowList_r16, SL_SelectionWindowList_r16_sequence_of,
                                                  8, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_ResourceReservePeriod1_r16_vals[] = {
  {   0, "ms0" },
  {   1, "ms100" },
  {   2, "ms200" },
  {   3, "ms300" },
  {   4, "ms400" },
  {   5, "ms500" },
  {   6, "ms600" },
  {   7, "ms700" },
  {   8, "ms800" },
  {   9, "ms900" },
  {  10, "ms1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ResourceReservePeriod1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_SL_ResourceReservePeriod_r16_vals[] = {
  {   0, "sl-ResourceReservePeriod1-r16" },
  {   1, "sl-ResourceReservePeriod2-r16" },
  { 0, NULL }
};

static const per_choice_t SL_ResourceReservePeriod_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_ResourceReservePeriod1_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sl_ResourceReservePeriod1_r16 },
  {   1, &hf_nr_rrc_sl_ResourceReservePeriod2_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_99 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_ResourceReservePeriod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_ResourceReservePeriod_r16, SL_ResourceReservePeriod_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_ResourceReservePeriodList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourceReservePeriod_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16, SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16_sequence_of,
                                                  1, 16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_RS_ForSensing_r16_vals[] = {
  {   0, "pscch" },
  {   1, "pssch" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_RS_ForSensing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_MCS_RangeList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MinMaxMCS_List_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16, SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16_sequence_of,
                                                  1, maxCBR_Level_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_PriorityTxConfigIndex_v1650_sequence[] = {
  { &hf_nr_rrc_sl_MCS_RangeList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PriorityTxConfigIndex_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PriorityTxConfigIndex_v1650, SL_PriorityTxConfigIndex_v1650_sequence);

  return offset;
}


static const per_sequence_t SL_CBR_PriorityTxConfigList_v1650_sequence_of[1] = {
  { &hf_nr_rrc_SL_CBR_PriorityTxConfigList_v1650_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PriorityTxConfigIndex_v1650 },
};

static int
dissect_nr_rrc_SL_CBR_PriorityTxConfigList_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_CBR_PriorityTxConfigList_v1650, SL_CBR_PriorityTxConfigList_v1650_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const per_sequence_t SL_UE_SelectedConfigRP_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_CBR_PriorityTxConfigList_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_CBR_PriorityTxConfigList_v1650 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_UE_SelectedConfigRP_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_UE_SelectedConfigRP_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_UE_SelectedConfigRP_r16_sequence[] = {
  { &hf_nr_rrc_sl_CBR_PriorityTxConfigList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_CBR_PriorityTxConfigList_r16 },
  { &hf_nr_rrc_sl_Thres_RSRP_List_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_Thres_RSRP_List_r16 },
  { &hf_nr_rrc_sl_MultiReserveResource_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_MultiReserveResource_r16 },
  { &hf_nr_rrc_sl_MaxNumPerReserve_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_MaxNumPerReserve_r16 },
  { &hf_nr_rrc_sl_SensingWindow_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_SensingWindow_r16 },
  { &hf_nr_rrc_sl_SelectionWindowList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SelectionWindowList_r16 },
  { &hf_nr_rrc_sl_ResourceReservePeriodList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16 },
  { &hf_nr_rrc_sl_RS_ForSensing_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_RS_ForSensing_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_UE_SelectedConfigRP_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_UE_SelectedConfigRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_UE_SelectedConfigRP_r16, SL_UE_SelectedConfigRP_r16_sequence);

  return offset;
}


static const per_sequence_t T_sl_RxParametersNcell_r16_sequence[] = {
  { &hf_nr_rrc_sl_TDD_Configuration_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
  { &hf_nr_rrc_sl_SyncConfigIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_RxParametersNcell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_RxParametersNcell_r16, T_sl_RxParametersNcell_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_TransRange_r16_01_vals[] = {
  {   0, "m20" },
  {   1, "m50" },
  {   2, "m80" },
  {   3, "m100" },
  {   4, "m120" },
  {   5, "m150" },
  {   6, "m180" },
  {   7, "m200" },
  {   8, "m220" },
  {   9, "m250" },
  {  10, "m270" },
  {  11, "m300" },
  {  12, "m350" },
  {  13, "m370" },
  {  14, "m400" },
  {  15, "m420" },
  {  16, "m450" },
  {  17, "m480" },
  {  18, "m500" },
  {  19, "m550" },
  {  20, "m600" },
  {  21, "m700" },
  {  22, "m1000" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_sl_TransRange_r16_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_sl_TransRange_r16_01_vals);


static int
dissect_nr_rrc_T_sl_TransRange_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ZoneLength_r16_vals[] = {
  {   0, "m5" },
  {   1, "m10" },
  {   2, "m20" },
  {   3, "m30" },
  {   4, "m40" },
  {   5, "m50" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ZoneLength_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_ZoneConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_ZoneLength_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ZoneLength_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ZoneConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ZoneConfig_r16, SL_ZoneConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_ZoneConfigMCR_r16_sequence[] = {
  { &hf_nr_rrc_sl_ZoneConfigMCR_Index_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_sl_TransRange_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TransRange_r16_01 },
  { &hf_nr_rrc_sl_ZoneConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ZoneConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ZoneConfigMCR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ZoneConfigMCR_r16, SL_ZoneConfigMCR_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_ZoneConfigMCR_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ZoneConfigMCR_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16, SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16_sequence_of,
                                                  16, 16, FALSE);

  return offset;
}


static const value_string nr_rrc_FilterCoefficient_vals[] = {
  {   0, "fc0" },
  {   1, "fc1" },
  {   2, "fc2" },
  {   3, "fc3" },
  {   4, "fc4" },
  {   5, "fc5" },
  {   6, "fc6" },
  {   7, "fc7" },
  {   8, "fc8" },
  {   9, "fc9" },
  {  10, "fc11" },
  {  11, "fc13" },
  {  12, "fc15" },
  {  13, "fc17" },
  {  14, "fc19" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_FilterCoefficient(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, TRUE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_10_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            10U, 275U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_PreemptionEnable_r16_vals[] = {
  {   0, "enabled" },
  {   1, "pl1" },
  {   2, "pl2" },
  {   3, "pl3" },
  {   4, "pl4" },
  {   5, "pl5" },
  {   6, "pl6" },
  {   7, "pl7" },
  {   8, "pl8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PreemptionEnable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     9, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 9U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_X_Overhead_r16_vals[] = {
  {   0, "n0" },
  {   1, "n3" },
  {   2, "n6" },
  {   3, "n9" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_X_Overhead_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_Alpha_PSSCH_PSCCH_r16_vals[] = {
  {   0, "alpha0" },
  {   1, "alpha04" },
  {   2, "alpha05" },
  {   3, "alpha06" },
  {   4, "alpha07" },
  {   5, "alpha08" },
  {   6, "alpha09" },
  {   7, "alpha1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Alpha_PSSCH_PSCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_Alpha_PSSCH_PSCCH_r16_vals[] = {
  {   0, "alpha0" },
  {   1, "alpha04" },
  {   2, "alpha05" },
  {   3, "alpha06" },
  {   4, "alpha07" },
  {   5, "alpha08" },
  {   6, "alpha09" },
  {   7, "alpha1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_Alpha_PSSCH_PSCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_Alpha_PSFCH_r16_vals[] = {
  {   0, "alpha0" },
  {   1, "alpha04" },
  {   2, "alpha05" },
  {   3, "alpha06" },
  {   4, "alpha07" },
  {   5, "alpha08" },
  {   6, "alpha09" },
  {   7, "alpha1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_Alpha_PSFCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PowerControl_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_dl_P0_PSSCH_PSCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { &hf_nr_rrc_sl_P0_PSSCH_PSCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { &hf_nr_rrc_dl_P0_PSFCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PowerControl_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_PowerControl_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_PowerControl_r16_sequence[] = {
  { &hf_nr_rrc_sl_MaxTransPower_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30_33 },
  { &hf_nr_rrc_sl_Alpha_PSSCH_PSCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Alpha_PSSCH_PSCCH_r16 },
  { &hf_nr_rrc_dl_Alpha_PSSCH_PSCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_Alpha_PSSCH_PSCCH_r16 },
  { &hf_nr_rrc_sl_P0_PSSCH_PSCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_dl_P0_PSSCH_PSCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_dl_Alpha_PSFCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_Alpha_PSFCH_r16 },
  { &hf_nr_rrc_dl_P0_PSFCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PowerControl_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PowerControl_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PowerControl_r16, SL_PowerControl_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_TxPercentage_r16_vals[] = {
  {   0, "p20" },
  {   1, "p35" },
  {   2, "p50" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_TxPercentage_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_TxPercentageConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_Priority_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_TxPercentage_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_TxPercentage_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxPercentageConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_TxPercentageConfig_r16, SL_TxPercentageConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_TxPercentageList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_TxPercentageList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxPercentageConfig_r16 },
};

static int
dissect_nr_rrc_SL_TxPercentageList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_TxPercentageList_r16, SL_TxPercentageList_r16_sequence_of,
                                                  8, 8, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_10_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     10, 160, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t SL_ResourcePool_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_TimeResource_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10_160 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ResourcePool_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_ResourcePool_r16_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_AllowedResourceSelectionConfig_r17_vals[] = {
  {   0, "c1" },
  {   1, "c2" },
  {   2, "c3" },
  {   3, "c4" },
  {   4, "c5" },
  {   5, "c6" },
  {   6, "c7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_AllowedResourceSelectionConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_PBPS_OccasionReservePeriodList_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_PBPS_OccasionReservePeriodList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
};

static int
dissect_nr_rrc_T_sl_PBPS_OccasionReservePeriodList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sl_PBPS_OccasionReservePeriodList_r17, T_sl_PBPS_OccasionReservePeriodList_r17_sequence_of,
                                                  1, 16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_Additional_PBPS_Occasion_r17_vals[] = {
  {   0, "monitored" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Additional_PBPS_Occasion_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_5_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            5U, 30U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_800(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 800U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 100U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 30U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_PartialSensingInactiveTime_r17_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PartialSensingInactiveTime_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PBPS_CPS_Config_r17_sequence[] = {
  { &hf_nr_rrc_sl_AllowedResourceSelectionConfig_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_AllowedResourceSelectionConfig_r17 },
  { &hf_nr_rrc_sl_MinNumCandidateSlotsPeriodic_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_sl_PBPS_OccasionReservePeriodList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PBPS_OccasionReservePeriodList_r17 },
  { &hf_nr_rrc_sl_Additional_PBPS_Occasion_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Additional_PBPS_Occasion_r17 },
  { &hf_nr_rrc_sl_CPS_WindowPeriodic_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_5_30 },
  { &hf_nr_rrc_sl_MinNumCandidateSlotsAperiodic_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_sl_MinNumRssiMeasurementSlots_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_800 },
  { &hf_nr_rrc_sl_DefaultCBR_RandomSelection_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_100 },
  { &hf_nr_rrc_sl_DefaultCBR_PartialSensing_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_100 },
  { &hf_nr_rrc_sl_CPS_WindowAperiodic_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_30 },
  { &hf_nr_rrc_sl_PartialSensingInactiveTime_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PartialSensingInactiveTime_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PBPS_CPS_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PBPS_CPS_Config_r17, SL_PBPS_CPS_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_PBPS_CPS_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PBPS_CPS_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_200    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_PBPS_CPS_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PBPS_CPS_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PBPS_CPS_Config_r17, T_sl_PBPS_CPS_Config_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_IUC_Explicit_r17_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_IUC_Explicit_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_IUC_Condition_r17_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_IUC_Condition_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_Condition1_A_2_r17_vals[] = {
  {   0, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Condition1_A_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_66(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 66U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_ThresholdRSRP_Condition1_B_1_r17_sequence[] = {
  { &hf_nr_rrc_sl_Priority_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_66 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ThresholdRSRP_Condition1_B_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ThresholdRSRP_Condition1_B_1_r17, SL_ThresholdRSRP_Condition1_B_1_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option1List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ThresholdRSRP_Condition1_B_1_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17, SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_ContainerCoordInfo_r17_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ContainerCoordInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ContainerRequest_r17_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ContainerRequest_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_8000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 8000U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_DetermineResourceType_r17_vals[] = {
  {   0, "uea" },
  {   1, "ueb" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DetermineResourceType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_InterUE_CoordinationScheme1_r17_sequence[] = {
  { &hf_nr_rrc_sl_IUC_Explicit_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_IUC_Explicit_r17 },
  { &hf_nr_rrc_sl_IUC_Condition_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_IUC_Condition_r17 },
  { &hf_nr_rrc_sl_Condition1_A_2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Condition1_A_2_r17 },
  { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option1List_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17 },
  { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option2List_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17 },
  { &hf_nr_rrc_sl_ContainerCoordInfo_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ContainerCoordInfo_r17 },
  { &hf_nr_rrc_sl_ContainerRequest_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ContainerRequest_r17 },
  { &hf_nr_rrc_sl_TriggerConditionCoordInfo_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_sl_TriggerConditionRequest_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_sl_PriorityCoordInfoExplicit_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_PriorityCoordInfoCondition_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_PriorityRequest_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_PriorityPreferredResourceSet_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_MaxSlotOffsetTRIV_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8000 },
  { &hf_nr_rrc_sl_NumSubCH_PreferredResourceSet_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_27 },
  { &hf_nr_rrc_sl_ReservedPeriodPreferredResourceSet_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_sl_DetermineResourceType_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DetermineResourceType_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_InterUE_CoordinationScheme1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_InterUE_CoordinationScheme1_r17, SL_InterUE_CoordinationScheme1_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_IUC_Scheme2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_IUC_Scheme2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_TypeUE_A_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_TypeUE_A_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_SlotLevelResourceExclusion_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SlotLevelResourceExclusion_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_IndicationUE_B_r17_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_IndicationUE_B_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_InterUE_CoordinationScheme2_r17_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_DeltaRSRP_Thresh_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M30_30 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_InterUE_CoordinationScheme2_r17_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_InterUE_CoordinationScheme2_r17_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_InterUE_CoordinationScheme2_r17_sequence[] = {
  { &hf_nr_rrc_sl_IUC_Scheme2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_IUC_Scheme2_r17 },
  { &hf_nr_rrc_sl_RB_SetPSFCH_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10_275 },
  { &hf_nr_rrc_sl_TypeUE_A_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TypeUE_A_r17 },
  { &hf_nr_rrc_sl_PSFCH_Occasion_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_sl_SlotLevelResourceExclusion_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_SlotLevelResourceExclusion_r17 },
  { &hf_nr_rrc_sl_OptionForCondition2_A_1_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_sl_IndicationUE_B_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_IndicationUE_B_r17 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_InterUE_CoordinationScheme2_r17_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_InterUE_CoordinationScheme2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_InterUE_CoordinationScheme2_r17, SL_InterUE_CoordinationScheme2_r17_sequence);

  return offset;
}


static const per_sequence_t SL_InterUE_CoordinationConfig_r17_sequence[] = {
  { &hf_nr_rrc_sl_InterUE_CoordinationScheme1_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_InterUE_CoordinationScheme1_r17 },
  { &hf_nr_rrc_sl_InterUE_CoordinationScheme2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_InterUE_CoordinationScheme2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_InterUE_CoordinationConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_InterUE_CoordinationConfig_r17, SL_InterUE_CoordinationConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_InterUE_CoordinationConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_InterUE_CoordinationConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_201    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_InterUE_CoordinationConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_InterUE_CoordinationConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_InterUE_CoordinationConfig_r17, T_sl_InterUE_CoordinationConfig_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_ResourcePool_r16_eag_2_sequence[] = {
  { &hf_nr_rrc_sl_PBPS_CPS_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PBPS_CPS_Config_r17 },
  { &hf_nr_rrc_sl_InterUE_CoordinationConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_InterUE_CoordinationConfig_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ResourcePool_r16_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_ResourcePool_r16_eag_2_sequence);

  return offset;
}


static const per_sequence_t SL_ResourcePool_r16_sequence[] = {
  { &hf_nr_rrc_sl_PSCCH_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PSCCH_Config_r16 },
  { &hf_nr_rrc_sl_PSSCH_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PSSCH_Config_r16 },
  { &hf_nr_rrc_sl_PSFCH_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PSFCH_Config_r16 },
  { &hf_nr_rrc_sl_SyncAllowed_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SyncAllowed_r16 },
  { &hf_nr_rrc_sl_SubchannelSize_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_SubchannelSize_r16 },
  { &hf_nr_rrc_sL_ResourcePool_r16_dummy, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_10_160 },
  { &hf_nr_rrc_sl_StartRB_Subchannel_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_265 },
  { &hf_nr_rrc_sl_NumSubchannel_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_27 },
  { &hf_nr_rrc_sl_Additional_MCS_Table_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Additional_MCS_Table_r16 },
  { &hf_nr_rrc_sl_ThreshS_RSSI_CBR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_45 },
  { &hf_nr_rrc_sl_TimeWindowSizeCBR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TimeWindowSizeCBR_r16 },
  { &hf_nr_rrc_sl_TimeWindowSizeCR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TimeWindowSizeCR_r16 },
  { &hf_nr_rrc_sl_PTRS_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PTRS_Config_r16 },
  { &hf_nr_rrc_sl_UE_SelectedConfigRP_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_UE_SelectedConfigRP_r16 },
  { &hf_nr_rrc_sl_RxParametersNcell_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_RxParametersNcell_r16 },
  { &hf_nr_rrc_sl_ZoneConfigMCR_List_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16 },
  { &hf_nr_rrc_sl_FilterCoefficient_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { &hf_nr_rrc_sl_RB_Number_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_10_275 },
  { &hf_nr_rrc_sl_PreemptionEnable_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PreemptionEnable_r16 },
  { &hf_nr_rrc_sl_PriorityThreshold_UL_URLLC_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_9 },
  { &hf_nr_rrc_sl_PriorityThreshold_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_9 },
  { &hf_nr_rrc_sl_X_Overhead_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_X_Overhead_r16 },
  { &hf_nr_rrc_sl_PowerControl_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PowerControl_r16 },
  { &hf_nr_rrc_sl_TxPercentageList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxPercentageList_r16 },
  { &hf_nr_rrc_sl_MinMaxMCS_List_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MinMaxMCS_List_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePool_r16_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePool_r16_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ResourcePool_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ResourcePool_r16, SL_ResourcePool_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_DiscRxPool_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePool_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16, SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16_sequence_of,
                                                  1, maxNrofRXPool_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_PoolToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolID_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16, SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16_sequence_of,
                                                  1, maxNrofTXPool_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_ResourcePoolConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_ResourcePoolID_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolID_r16 },
  { &hf_nr_rrc_sl_ResourcePool_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ResourcePool_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ResourcePoolConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ResourcePoolConfig_r16, SL_ResourcePoolConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_PoolToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16, SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16_sequence_of,
                                                  1, maxNrofTXPool_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_TxPoolDedicated_r16_sequence[] = {
  { &hf_nr_rrc_sl_PoolToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16 },
  { &hf_nr_rrc_sl_PoolToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxPoolDedicated_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_TxPoolDedicated_r16, SL_TxPoolDedicated_r16_sequence);

  return offset;
}


static const per_sequence_t SL_BWP_PoolConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_RxPool_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16 },
  { &hf_nr_rrc_sl_TxPoolSelectedNormal_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxPoolDedicated_r16 },
  { &hf_nr_rrc_sl_TxPoolScheduling_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxPoolDedicated_r16 },
  { &hf_nr_rrc_sl_TxPoolExceptional_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ResourcePoolConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_BWP_PoolConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_BWP_PoolConfig_r16, SL_BWP_PoolConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_BWP_PoolConfigPS_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_BWP_PoolConfigPS_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_187    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_BWP_PoolConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_BWP_PoolConfigPS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_BWP_PoolConfigPS_r17, T_sl_BWP_PoolConfigPS_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_BWP_DiscPoolConfig_r17_sequence[] = {
  { &hf_nr_rrc_sl_DiscRxPool_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16 },
  { &hf_nr_rrc_sl_DiscTxPoolSelected_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxPoolDedicated_r16 },
  { &hf_nr_rrc_sl_DiscTxPoolScheduling_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxPoolDedicated_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_BWP_DiscPoolConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_BWP_DiscPoolConfig_r17, SL_BWP_DiscPoolConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_BWP_DiscPoolConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_BWP_DiscPoolConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_188    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_BWP_DiscPoolConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_BWP_DiscPoolConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_BWP_DiscPoolConfig_r17, T_sl_BWP_DiscPoolConfig_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_BWP_Config_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_BWP_PoolConfigPS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_BWP_PoolConfigPS_r17 },
  { &hf_nr_rrc_sl_BWP_DiscPoolConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_BWP_DiscPoolConfig_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_BWP_Config_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_BWP_Config_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_BWP_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_BWP_Id    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_sl_BWP_Generic_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_BWP_Generic_r16 },
  { &hf_nr_rrc_sl_BWP_PoolConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_BWP_PoolConfig_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_BWP_Config_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_BWP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_BWP_Config_r16, SL_BWP_Config_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_BWP_ToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_BWP_Config_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16, SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16_sequence_of,
                                                  1, maxNrofSL_BWPs_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_SyncRefMinHyst_r16_vals[] = {
  {   0, "dB0" },
  {   1, "dB3" },
  {   2, "dB6" },
  {   3, "dB9" },
  {   4, "dB12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SyncRefMinHyst_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_SyncRefDiffHyst_r16_vals[] = {
  {   0, "dB0" },
  {   1, "dB3" },
  {   2, "dB6" },
  {   3, "dB9" },
  {   4, "dB12" },
  {   5, "dBinf" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SyncRefDiffHyst_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_NumSSB_WithinPeriod_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_NumSSB_WithinPeriod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_SSB_TimeAllocation_r16_sequence[] = {
  { &hf_nr_rrc_sl_NumSSB_WithinPeriod_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_NumSSB_WithinPeriod_r16 },
  { &hf_nr_rrc_sl_TimeOffsetSSB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1279 },
  { &hf_nr_rrc_sl_TimeInterval_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_639 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_SSB_TimeAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_SSB_TimeAllocation_r16, SL_SSB_TimeAllocation_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_671(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 671U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_RSRP_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 13U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_txParameters_r16_sequence[] = {
  { &hf_nr_rrc_syncTxThreshIC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RSRP_Range_r16 },
  { &hf_nr_rrc_syncTxThreshOoC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RSRP_Range_r16 },
  { &hf_nr_rrc_syncInfoReserved_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_txParameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_txParameters_r16, T_txParameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_gnss_Sync_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gnss_Sync_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_SyncConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_SyncRefMinHyst_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_SyncRefMinHyst_r16 },
  { &hf_nr_rrc_sl_SyncRefDiffHyst_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_SyncRefDiffHyst_r16 },
  { &hf_nr_rrc_sl_filterCoefficient_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { &hf_nr_rrc_sl_SSB_TimeAllocation1_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SSB_TimeAllocation_r16 },
  { &hf_nr_rrc_sl_SSB_TimeAllocation2_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SSB_TimeAllocation_r16 },
  { &hf_nr_rrc_sl_SSB_TimeAllocation3_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SSB_TimeAllocation_r16 },
  { &hf_nr_rrc_sl_SSID_r16  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_671 },
  { &hf_nr_rrc_txParameters_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_txParameters_r16 },
  { &hf_nr_rrc_gnss_Sync_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_gnss_Sync_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_SyncConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_SyncConfig_r16, SL_SyncConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_SyncConfigList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_SyncConfigList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_SyncConfig_r16 },
};

static int
dissect_nr_rrc_SL_SyncConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_SyncConfigList_r16, SL_SyncConfigList_r16_sequence_of,
                                                  1, maxSL_SyncConfig_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_SyncPriority_r16_vals[] = {
  {   0, "gnss" },
  {   1, "gnbEnb" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SyncPriority_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_FreqConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_Freq_Id_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_Freq_Id_r16 },
  { &hf_nr_rrc_sl_SCS_SpecificCarrierList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
  { &hf_nr_rrc_sl_AbsoluteFrequencyPointA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_sl_AbsoluteFrequencySSB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_frequencyShift7p5khzSL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyShift7p5khzSL_r16 },
  { &hf_nr_rrc_valueN_r16   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M1_1 },
  { &hf_nr_rrc_sl_BWP_ToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id },
  { &hf_nr_rrc_sl_BWP_ToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16 },
  { &hf_nr_rrc_sl_SyncConfigList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SyncConfigList_r16 },
  { &hf_nr_rrc_sl_SyncPriority_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_SyncPriority_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_FreqConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_FreqConfig_r16, SL_FreqConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_FreqInfoToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_FreqConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16, SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16_sequence_of,
                                                  1, maxNrofFreqSL_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_RLC_BearerConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxSL_LCID_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_RLC_BearerToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_BearerConfigIndex_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16, SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16_sequence_of,
                                                  1, maxSL_LCID_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SLRB_Uu_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSLRB_r16, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_SN_FieldLengthAM_vals[] = {
  {   0, "size12" },
  {   1, "size18" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SN_FieldLengthAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, &value, FALSE, 0, NULL);

  nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  if (mapping->tempDirection == DIRECTION_UPLINK) {
    mapping->rlcUlSnLength_present = TRUE;
    mapping->rlcUlSnLength = (value==0) ? 12 : 18;
  }
  else {
    mapping->rlcDlSnLength_present = TRUE;
    mapping->rlcDlSnLength = (value==0) ? 12 : 18;
  }



  return offset;
}


static const value_string nr_rrc_T_PollRetransmit_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms15" },
  {   3, "ms20" },
  {   4, "ms25" },
  {   5, "ms30" },
  {   6, "ms35" },
  {   7, "ms40" },
  {   8, "ms45" },
  {   9, "ms50" },
  {  10, "ms55" },
  {  11, "ms60" },
  {  12, "ms65" },
  {  13, "ms70" },
  {  14, "ms75" },
  {  15, "ms80" },
  {  16, "ms85" },
  {  17, "ms90" },
  {  18, "ms95" },
  {  19, "ms100" },
  {  20, "ms105" },
  {  21, "ms110" },
  {  22, "ms115" },
  {  23, "ms120" },
  {  24, "ms125" },
  {  25, "ms130" },
  {  26, "ms135" },
  {  27, "ms140" },
  {  28, "ms145" },
  {  29, "ms150" },
  {  30, "ms155" },
  {  31, "ms160" },
  {  32, "ms165" },
  {  33, "ms170" },
  {  34, "ms175" },
  {  35, "ms180" },
  {  36, "ms185" },
  {  37, "ms190" },
  {  38, "ms195" },
  {  39, "ms200" },
  {  40, "ms205" },
  {  41, "ms210" },
  {  42, "ms215" },
  {  43, "ms220" },
  {  44, "ms225" },
  {  45, "ms230" },
  {  46, "ms235" },
  {  47, "ms240" },
  {  48, "ms245" },
  {  49, "ms250" },
  {  50, "ms300" },
  {  51, "ms350" },
  {  52, "ms400" },
  {  53, "ms450" },
  {  54, "ms500" },
  {  55, "ms800" },
  {  56, "ms1000" },
  {  57, "ms2000" },
  {  58, "ms4000" },
  {  59, "ms1-v1610" },
  {  60, "ms2-v1610" },
  {  61, "ms3-v1610" },
  {  62, "ms4-v1610" },
  {  63, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_PollRetransmit_vals);


static int
dissect_nr_rrc_T_PollRetransmit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     64, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_PollPDU_vals[] = {
  {   0, "p4" },
  {   1, "p8" },
  {   2, "p16" },
  {   3, "p32" },
  {   4, "p64" },
  {   5, "p128" },
  {   6, "p256" },
  {   7, "p512" },
  {   8, "p1024" },
  {   9, "p2048" },
  {  10, "p4096" },
  {  11, "p6144" },
  {  12, "p8192" },
  {  13, "p12288" },
  {  14, "p16384" },
  {  15, "p20480" },
  {  16, "p24576" },
  {  17, "p28672" },
  {  18, "p32768" },
  {  19, "p40960" },
  {  20, "p49152" },
  {  21, "p57344" },
  {  22, "p65536" },
  {  23, "infinity" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_PollPDU_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollPDU_vals);


static int
dissect_nr_rrc_PollPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_PollByte_vals[] = {
  {   0, "kB1" },
  {   1, "kB2" },
  {   2, "kB5" },
  {   3, "kB8" },
  {   4, "kB10" },
  {   5, "kB15" },
  {   6, "kB25" },
  {   7, "kB50" },
  {   8, "kB75" },
  {   9, "kB100" },
  {  10, "kB125" },
  {  11, "kB250" },
  {  12, "kB375" },
  {  13, "kB500" },
  {  14, "kB750" },
  {  15, "kB1000" },
  {  16, "kB1250" },
  {  17, "kB1500" },
  {  18, "kB2000" },
  {  19, "kB3000" },
  {  20, "kB4000" },
  {  21, "kB4500" },
  {  22, "kB5000" },
  {  23, "kB5500" },
  {  24, "kB6000" },
  {  25, "kB6500" },
  {  26, "kB7000" },
  {  27, "kB7500" },
  {  28, "mB8" },
  {  29, "mB9" },
  {  30, "mB10" },
  {  31, "mB11" },
  {  32, "mB12" },
  {  33, "mB13" },
  {  34, "mB14" },
  {  35, "mB15" },
  {  36, "mB16" },
  {  37, "mB17" },
  {  38, "mB18" },
  {  39, "mB20" },
  {  40, "mB25" },
  {  41, "mB30" },
  {  42, "mB40" },
  {  43, "infinity" },
  {  44, "spare20" },
  {  45, "spare19" },
  {  46, "spare18" },
  {  47, "spare17" },
  {  48, "spare16" },
  {  49, "spare15" },
  {  50, "spare14" },
  {  51, "spare13" },
  {  52, "spare12" },
  {  53, "spare11" },
  {  54, "spare10" },
  {  55, "spare9" },
  {  56, "spare8" },
  {  57, "spare7" },
  {  58, "spare6" },
  {  59, "spare5" },
  {  60, "spare4" },
  {  61, "spare3" },
  {  62, "spare2" },
  {  63, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_PollByte_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollByte_vals);


static int
dissect_nr_rrc_PollByte(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     64, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_MaxRetxThreshold_r16_vals[] = {
  {   0, "t1" },
  {   1, "t2" },
  {   2, "t3" },
  {   3, "t4" },
  {   4, "t6" },
  {   5, "t8" },
  {   6, "t16" },
  {   7, "t32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_MaxRetxThreshold_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_AM_RLC_r16_sequence[] = {
  { &hf_nr_rrc_sl_SN_FieldLengthAM_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthAM },
  { &hf_nr_rrc_sl_T_PollRetransmit_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit },
  { &hf_nr_rrc_sl_PollPDU_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU },
  { &hf_nr_rrc_sl_PollByte_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte },
  { &hf_nr_rrc_sl_MaxRetxThreshold_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_MaxRetxThreshold_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_AM_RLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_AM_RLC_r16, T_sl_AM_RLC_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SN_FieldLengthUM_vals[] = {
  {   0, "size6" },
  {   1, "size12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SN_FieldLengthUM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, &value, FALSE, 0, NULL);

  nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  if (mapping->tempDirection == DIRECTION_UPLINK) {
    mapping->rlcUlSnLength_present = TRUE;
    mapping->rlcUlSnLength = (value==0) ? 6 : 12;
  }
  else {
    mapping->rlcDlSnLength_present = TRUE;
    mapping->rlcDlSnLength = (value==0) ? 6 : 12;
  }


  return offset;
}


static const per_sequence_t T_sl_UM_RLC_r16_sequence[] = {
  { &hf_nr_rrc_sl_SN_FieldLengthUM_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthUM },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_UM_RLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_UM_RLC_r16, T_sl_UM_RLC_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SL_RLC_Config_r16_vals[] = {
  {   0, "sl-AM-RLC-r16" },
  {   1, "sl-UM-RLC-r16" },
  { 0, NULL }
};

static const per_choice_t SL_RLC_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_AM_RLC_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_sl_AM_RLC_r16 },
  {   1, &hf_nr_rrc_sl_UM_RLC_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_sl_UM_RLC_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_RLC_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_RLC_Config_r16, SL_RLC_Config_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_PrioritisedBitRate_r16_vals[] = {
  {   0, "kBps0" },
  {   1, "kBps8" },
  {   2, "kBps16" },
  {   3, "kBps32" },
  {   4, "kBps64" },
  {   5, "kBps128" },
  {   6, "kBps256" },
  {   7, "kBps512" },
  {   8, "kBps1024" },
  {   9, "kBps2048" },
  {  10, "kBps4096" },
  {  11, "kBps8192" },
  {  12, "kBps16384" },
  {  13, "kBps32768" },
  {  14, "kBps65536" },
  {  15, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PrioritisedBitRate_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_BucketSizeDuration_r16_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms50" },
  {   4, "ms100" },
  {   5, "ms150" },
  {   6, "ms300" },
  {   7, "ms500" },
  {   8, "ms1000" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_BucketSizeDuration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ConfiguredGrantType1Allowed_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ConfiguredGrantType1Allowed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_HARQ_FeedbackEnabled_r16_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_HARQ_FeedbackEnabled_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_AllowedCG_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfigIndexCG_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16, SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16_sequence_of,
                                                  0, maxNrofCG_SL_1_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of[1] = {
  { &hf_nr_rrc_allowedSCS_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing, SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of,
                                                  1, maxSCSs, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_MaxPUSCH_Duration_r16_vals[] = {
  {   0, "ms0p02" },
  {   1, "ms0p04" },
  {   2, "ms0p0625" },
  {   3, "ms0p125" },
  {   4, "ms0p25" },
  {   5, "ms0p5" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_MaxPUSCH_Duration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxLCG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxLCG_ID, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_LogicalChannelConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_Priority_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_PrioritisedBitRate_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_PrioritisedBitRate_r16 },
  { &hf_nr_rrc_sl_BucketSizeDuration_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_BucketSizeDuration_r16 },
  { &hf_nr_rrc_sl_ConfiguredGrantType1Allowed_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ConfiguredGrantType1Allowed_r16 },
  { &hf_nr_rrc_sl_HARQ_FeedbackEnabled_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_HARQ_FeedbackEnabled_r16 },
  { &hf_nr_rrc_sl_AllowedCG_List_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16 },
  { &hf_nr_rrc_sl_AllowedSCS_List_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing },
  { &hf_nr_rrc_sl_MaxPUSCH_Duration_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_MaxPUSCH_Duration_r16 },
  { &hf_nr_rrc_sl_LogicalChannelGroup_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxLCG_ID },
  { &hf_nr_rrc_sl_SchedulingRequestId_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_sl_LogicalChannelSR_DelayTimerApplied_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_LogicalChannelConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_LogicalChannelConfig_r16, SL_LogicalChannelConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_RLC_BearerConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_RLC_BearerConfigIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_BearerConfigIndex_r16 },
  { &hf_nr_rrc_sl_ServedRadioBearer_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SLRB_Uu_ConfigIndex_r16 },
  { &hf_nr_rrc_sl_RLC_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RLC_Config_r16 },
  { &hf_nr_rrc_sl_MAC_LogicalChannelConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_LogicalChannelConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RLC_BearerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RLC_BearerConfig_r16, SL_RLC_BearerConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_RLC_BearerToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_BearerConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16, SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16_sequence_of,
                                                  1, maxSL_LCID_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_MaxNumConsecutiveDTX_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n6" },
  {   5, "n8" },
  {   6, "n16" },
  {   7, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_MaxNumConsecutiveDTX_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_CSI_Acquisition_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_CSI_Acquisition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_CSI_SchedulingRequestId_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_CSI_SchedulingRequestId_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_194    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SchedulingRequestId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_CSI_SchedulingRequestId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_CSI_SchedulingRequestId_r16, T_sl_CSI_SchedulingRequestId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_networkControlledSyncTx_r16_vals[] = {
  {   0, "on" },
  {   1, "off" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_networkControlledSyncTx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PHY_MAC_RLC_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_ScheduledConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ScheduledConfig_r16 },
  { &hf_nr_rrc_sl_UE_SelectedConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_UE_SelectedConfig_r16 },
  { &hf_nr_rrc_sl_FreqInfoToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16 },
  { &hf_nr_rrc_sl_FreqInfoToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16 },
  { &hf_nr_rrc_sl_RLC_BearerToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16 },
  { &hf_nr_rrc_sl_RLC_BearerToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16 },
  { &hf_nr_rrc_sl_MaxNumConsecutiveDTX_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_MaxNumConsecutiveDTX_r16 },
  { &hf_nr_rrc_sl_CSI_Acquisition_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CSI_Acquisition_r16 },
  { &hf_nr_rrc_sl_CSI_SchedulingRequestId_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CSI_SchedulingRequestId_r16 },
  { &hf_nr_rrc_sl_SSB_PriorityNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_networkControlledSyncTx_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_networkControlledSyncTx_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PHY_MAC_RLC_Config_r16, SL_PHY_MAC_RLC_Config_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_RadioBearerToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_Uu_ConfigIndex_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16_sequence_of,
                                                  1, maxNrofSLRB_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_SDAP_Header_r16_vals[] = {
  {   0, "present" },
  {   1, "absent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SDAP_Header_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ResourceType_r16_vals[] = {
  {   0, "gbr" },
  {   1, "non-GBR" },
  {   2, "delayCriticalGBR" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ResourceType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_Non_StandardizedPQI_r16_sequence[] = {
  { &hf_nr_rrc_sl_ResourceType_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ResourceType_r16 },
  { &hf_nr_rrc_sl_PriorityLevel_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_sl_PacketDelayBudget_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_sl_PacketErrorRate_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_9 },
  { &hf_nr_rrc_sl_AveragingWindow_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_4095 },
  { &hf_nr_rrc_sl_MaxDataBurstVolume_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_4095 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_Non_StandardizedPQI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_Non_StandardizedPQI_r16, T_sl_Non_StandardizedPQI_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SL_PQI_r16_vals[] = {
  {   0, "sl-StandardizedPQI-r16" },
  {   1, "sl-Non-StandardizedPQI-r16" },
  { 0, NULL }
};

static const per_choice_t SL_PQI_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_StandardizedPQI_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  {   1, &hf_nr_rrc_sl_Non_StandardizedPQI_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sl_Non_StandardizedPQI_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_PQI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_PQI_r16, SL_PQI_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_4000000000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4000000000U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 1000U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_QoS_Profile_r16_sequence[] = {
  { &hf_nr_rrc_sl_PQI_r16   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PQI_r16 },
  { &hf_nr_rrc_sl_GFBR_r16  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_4000000000 },
  { &hf_nr_rrc_sl_MFBR_r16  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_4000000000 },
  { &hf_nr_rrc_sl_Range_r16 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_1000 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_QoS_Profile_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_QoS_Profile_r16, SL_QoS_Profile_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_DRX_GC_BC_MappedQoS_FlowList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_Profile_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16, SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16_sequence_of,
                                                  1, maxNrofSL_QFIs_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_QoS_FlowIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSL_QFIs_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_FlowIdentity_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16, SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16_sequence_of,
                                                  1, maxNrofSL_QFIs_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_MappedQoS_FlowsListDedicated_r16_sequence[] = {
  { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 },
  { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16, SL_MappedQoS_FlowsListDedicated_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_MappedQoS_Flows_r16_vals[] = {
  {   0, "sl-MappedQoS-FlowsList-r16" },
  {   1, "sl-MappedQoS-FlowsListDedicated-r16" },
  { 0, NULL }
};

static const per_choice_t T_sl_MappedQoS_Flows_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_MappedQoS_FlowsList_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16 },
  {   1, &hf_nr_rrc_sl_MappedQoS_FlowsListDedicated_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_MappedQoS_Flows_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_MappedQoS_Flows_r16, T_sl_MappedQoS_Flows_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_CastType_r16_01_vals[] = {
  {   0, "broadcast" },
  {   1, "groupcast" },
  {   2, "unicast" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_CastType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_SDAP_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_SDAP_Header_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_SDAP_Header_r16 },
  { &hf_nr_rrc_sl_DefaultRB_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_sl_MappedQoS_Flows_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_MappedQoS_Flows_r16 },
  { &hf_nr_rrc_sl_CastType_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CastType_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_SDAP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_SDAP_Config_r16, SL_SDAP_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_DiscardTimer_r16_vals[] = {
  {   0, "ms3" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms25" },
  {   4, "ms30" },
  {   5, "ms40" },
  {   6, "ms50" },
  {   7, "ms60" },
  {   8, "ms75" },
  {   9, "ms100" },
  {  10, "ms150" },
  {  11, "ms200" },
  {  12, "ms250" },
  {  13, "ms300" },
  {  14, "ms500" },
  {  15, "ms750" },
  {  16, "ms1500" },
  {  17, "infinity" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_sl_DiscardTimer_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_sl_DiscardTimer_r16_vals);


static int
dissect_nr_rrc_T_sl_DiscardTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     18, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_PDCP_SN_Size_r16_vals[] = {
  {   0, "len12bits" },
  {   1, "len18bits" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PDCP_SN_Size_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_OutOfOrderDelivery_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_OutOfOrderDelivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PDCP_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_DiscardTimer_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DiscardTimer_r16 },
  { &hf_nr_rrc_sl_PDCP_SN_Size_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PDCP_SN_Size_r16 },
  { &hf_nr_rrc_sl_OutOfOrderDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_OutOfOrderDelivery },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PDCP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PDCP_Config_r16, SL_PDCP_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_TransRange_r16_vals[] = {
  {   0, "m20" },
  {   1, "m50" },
  {   2, "m80" },
  {   3, "m100" },
  {   4, "m120" },
  {   5, "m150" },
  {   6, "m180" },
  {   7, "m200" },
  {   8, "m220" },
  {   9, "m250" },
  {  10, "m270" },
  {  11, "m300" },
  {  12, "m350" },
  {  13, "m370" },
  {  14, "m400" },
  {  15, "m420" },
  {  16, "m450" },
  {  17, "m480" },
  {  18, "m500" },
  {  19, "m550" },
  {  20, "m600" },
  {  21, "m700" },
  {  22, "m1000" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_sl_TransRange_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_sl_TransRange_r16_vals);


static int
dissect_nr_rrc_T_sl_TransRange_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_RadioBearerConfig_r16_sequence[] = {
  { &hf_nr_rrc_slrb_Uu_ConfigIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_Uu_ConfigIndex_r16 },
  { &hf_nr_rrc_sl_SDAP_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SDAP_Config_r16 },
  { &hf_nr_rrc_sl_PDCP_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PDCP_Config_r16 },
  { &hf_nr_rrc_sl_TransRange_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TransRange_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RadioBearerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RadioBearerConfig_r16, SL_RadioBearerConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_RadioBearerToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RadioBearerConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16_sequence_of,
                                                  1, maxNrofSLRB_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_DestinationIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSL_Dest_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIndex_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16, SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_MeasObjectId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSL_ObjectId_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_MeasObjectToRemoveList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_MeasObjectToRemoveList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObjectId_r16 },
};

static int
dissect_nr_rrc_SL_MeasObjectToRemoveList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_MeasObjectToRemoveList_r16, SL_MeasObjectToRemoveList_r16_sequence_of,
                                                  1, maxNrofSL_ObjectId_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_MeasObject_r16_sequence[] = {
  { &hf_nr_rrc_frequencyInfoSL_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasObject_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasObject_r16, SL_MeasObject_r16_sequence);

  return offset;
}


static const per_sequence_t SL_MeasObjectInfo_r16_sequence[] = {
  { &hf_nr_rrc_sl_MeasObjectId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObjectId_r16 },
  { &hf_nr_rrc_sl_MeasObject_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObject_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasObjectInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasObjectInfo_r16, SL_MeasObjectInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SL_MeasObjectList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_MeasObjectList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObjectInfo_r16 },
};

static int
dissect_nr_rrc_SL_MeasObjectList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_MeasObjectList_r16, SL_MeasObjectList_r16_sequence_of,
                                                  1, maxNrofSL_ObjectId_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_ReportConfigId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSL_ReportConfigId_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_ReportConfigToRemoveList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_ReportConfigToRemoveList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfigId_r16 },
};

static int
dissect_nr_rrc_SL_ReportConfigToRemoveList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_ReportConfigToRemoveList_r16, SL_ReportConfigToRemoveList_r16_sequence_of,
                                                  1, maxNrofSL_ReportConfigId_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_ReportInterval_vals[] = {
  {   0, "ms120" },
  {   1, "ms240" },
  {   2, "ms480" },
  {   3, "ms640" },
  {   4, "ms1024" },
  {   5, "ms2048" },
  {   6, "ms5120" },
  {   7, "ms10240" },
  {   8, "ms20480" },
  {   9, "ms40960" },
  {  10, "min1" },
  {  11, "min6" },
  {  12, "min12" },
  {  13, "min30" },
  { 0, NULL }
};


static int
dissect_nr_rrc_ReportInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     14, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ReportAmount_r16_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ReportAmount_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_SL_MeasReportQuantity_r16_vals[] = {
  {   0, "sl-RSRP-r16" },
  { 0, NULL }
};

static const per_choice_t SL_MeasReportQuantity_r16_choice[] = {
  {   0, &hf_nr_rrc_sL_MeasReportQuantity_r16_sl_RSRP_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BOOLEAN },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasReportQuantity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_MeasReportQuantity_r16, SL_MeasReportQuantity_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_SL_RS_Type_r16_vals[] = {
  {   0, "dmrs" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SL_RS_Type_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PeriodicalReportConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_ReportInterval_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_sl_ReportAmount_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ReportAmount_r16 },
  { &hf_nr_rrc_sl_ReportQuantity_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasReportQuantity_r16 },
  { &hf_nr_rrc_sl_RS_Type_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RS_Type_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PeriodicalReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PeriodicalReportConfig_r16, SL_PeriodicalReportConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SL_MeasTriggerQuantity_r16_vals[] = {
  {   0, "sl-RSRP-r16" },
  { 0, NULL }
};

static const per_choice_t SL_MeasTriggerQuantity_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_RSRP_r16  , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_RSRP_Range },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasTriggerQuantity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_MeasTriggerQuantity_r16, SL_MeasTriggerQuantity_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_eventS1_r16_sequence[] = {
  { &hf_nr_rrc_s1_Threshold_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasTriggerQuantity_r16 },
  { &hf_nr_rrc_sl_ReportOnLeave_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_sl_Hysteresis_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_sl_TimeToTrigger_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventS1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventS1_r16, T_eventS1_r16_sequence);

  return offset;
}


static const per_sequence_t T_eventS2_r16_sequence[] = {
  { &hf_nr_rrc_s2_Threshold_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasTriggerQuantity_r16 },
  { &hf_nr_rrc_sl_ReportOnLeave_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_sl_Hysteresis_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_sl_TimeToTrigger_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventS2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventS2_r16, T_eventS2_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_EventId_r16_vals[] = {
  {   0, "eventS1-r16" },
  {   1, "eventS2-r16" },
  { 0, NULL }
};

static const per_choice_t T_sl_EventId_r16_choice[] = {
  {   0, &hf_nr_rrc_eventS1_r16  , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventS1_r16 },
  {   1, &hf_nr_rrc_eventS2_r16  , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventS2_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_EventId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_EventId_r16, T_sl_EventId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ReportAmount_r16_01_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ReportAmount_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_EventTriggerConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_EventId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_EventId_r16 },
  { &hf_nr_rrc_sl_ReportInterval_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_sl_ReportAmount_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ReportAmount_r16_01 },
  { &hf_nr_rrc_sl_ReportQuantity_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasReportQuantity_r16 },
  { &hf_nr_rrc_sl_RS_Type_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RS_Type_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_EventTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_EventTriggerConfig_r16, SL_EventTriggerConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_ReportType_r16_vals[] = {
  {   0, "sl-Periodical-r16" },
  {   1, "sl-EventTriggered-r16" },
  { 0, NULL }
};

static const per_choice_t T_sl_ReportType_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_Periodical_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SL_PeriodicalReportConfig_r16 },
  {   1, &hf_nr_rrc_sl_EventTriggered_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SL_EventTriggerConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_ReportType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_ReportType_r16, T_sl_ReportType_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_ReportConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_ReportType_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ReportType_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ReportConfig_r16, SL_ReportConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_ReportConfigInfo_r16_sequence[] = {
  { &hf_nr_rrc_sl_ReportConfigId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfigId_r16 },
  { &hf_nr_rrc_sl_ReportConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ReportConfigInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ReportConfigInfo_r16, SL_ReportConfigInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SL_ReportConfigList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_ReportConfigList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfigInfo_r16 },
};

static int
dissect_nr_rrc_SL_ReportConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_ReportConfigList_r16, SL_ReportConfigList_r16_sequence_of,
                                                  1, maxNrofSL_ReportConfigId_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_MeasId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSL_MeasId_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_MeasIdToRemoveList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_MeasIdToRemoveList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasId_r16 },
};

static int
dissect_nr_rrc_SL_MeasIdToRemoveList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_MeasIdToRemoveList_r16, SL_MeasIdToRemoveList_r16_sequence_of,
                                                  1, maxNrofSL_MeasId_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_MeasIdInfo_r16_sequence[] = {
  { &hf_nr_rrc_sl_MeasId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasId_r16 },
  { &hf_nr_rrc_sl_MeasObjectId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObjectId_r16 },
  { &hf_nr_rrc_sl_ReportConfigId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfigId_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasIdInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasIdInfo_r16, SL_MeasIdInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SL_MeasIdList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_MeasIdList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasIdInfo_r16 },
};

static int
dissect_nr_rrc_SL_MeasIdList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_MeasIdList_r16, SL_MeasIdList_r16_sequence_of,
                                                  1, maxNrofSL_MeasId_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_QuantityConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_FilterCoefficientDMRS_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_QuantityConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_QuantityConfig_r16, SL_QuantityConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_MeasConfig_r16_sequence[] = {
  { &hf_nr_rrc_sl_MeasObjectToRemoveList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasObjectToRemoveList_r16 },
  { &hf_nr_rrc_sl_MeasObjectToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasObjectList_r16 },
  { &hf_nr_rrc_sl_ReportConfigToRemoveList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ReportConfigToRemoveList_r16 },
  { &hf_nr_rrc_sl_ReportConfigToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ReportConfigList_r16 },
  { &hf_nr_rrc_sl_MeasIdToRemoveList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasIdToRemoveList_r16 },
  { &hf_nr_rrc_sl_MeasIdToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasIdList_r16 },
  { &hf_nr_rrc_sl_QuantityConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_QuantityConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasConfig_r16, SL_MeasConfig_r16_sequence);

  return offset;
}


static const per_sequence_t SL_MeasConfigInfo_r16_sequence[] = {
  { &hf_nr_rrc_sl_DestinationIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIndex_r16 },
  { &hf_nr_rrc_sl_MeasConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasConfigInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasConfigInfo_r16, SL_MeasConfigInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasConfigInfo_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16, SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_t400_r16_vals[] = {
  {   0, "ms100" },
  {   1, "ms200" },
  {   2, "ms300" },
  {   3, "ms400" },
  {   4, "ms600" },
  {   5, "ms1000" },
  {   6, "ms1500" },
  {   7, "ms2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t400_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_milliSeconds_03_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms3" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms6" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms30" },
  {  10, "ms40" },
  {  11, "ms50" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms200" },
  {  16, "ms300" },
  {  17, "ms400" },
  {  18, "ms500" },
  {  19, "ms600" },
  {  20, "ms800" },
  {  21, "ms1000" },
  {  22, "ms1200" },
  {  23, "ms1600" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_milliSeconds_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_GC_BC_OnDurationTimer_r17_vals[] = {
  {   0, "subMilliSeconds" },
  {   1, "milliSeconds" },
  { 0, NULL }
};

static const per_choice_t T_sl_DRX_GC_BC_OnDurationTimer_r17_choice[] = {
  {   0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_31 },
  {   1, &hf_nr_rrc_milliSeconds_03, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_milliSeconds_03 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_DRX_GC_BC_OnDurationTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_DRX_GC_BC_OnDurationTimer_r17, T_sl_DRX_GC_BC_OnDurationTimer_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_GC_InactivityTimer_r17_vals[] = {
  {   0, "ms0" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms6" },
  {   7, "ms8" },
  {   8, "ms10" },
  {   9, "ms20" },
  {  10, "ms30" },
  {  11, "ms40" },
  {  12, "ms50" },
  {  13, "ms60" },
  {  14, "ms80" },
  {  15, "ms100" },
  {  16, "ms200" },
  {  17, "ms300" },
  {  18, "ms500" },
  {  19, "ms750" },
  {  20, "ms1280" },
  {  21, "ms1920" },
  {  22, "ms2560" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DRX_GC_InactivityTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_GC_BC_Cycle_r17_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  {  20, "spare12" },
  {  21, "spare11" },
  {  22, "spare10" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DRX_GC_BC_Cycle_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_DRX_GC_BC_QoS_r17_sequence[] = {
  { &hf_nr_rrc_sl_DRX_GC_BC_MappedQoS_FlowList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16 },
  { &hf_nr_rrc_sl_DRX_GC_BC_OnDurationTimer_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_DRX_GC_BC_OnDurationTimer_r17 },
  { &hf_nr_rrc_sl_DRX_GC_InactivityTimer_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_DRX_GC_InactivityTimer_r17 },
  { &hf_nr_rrc_sl_DRX_GC_BC_Cycle_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_DRX_GC_BC_Cycle_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_DRX_GC_BC_QoS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_DRX_GC_BC_QoS_r17, SL_DRX_GC_BC_QoS_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_DRX_GC_BC_PerQoS_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DRX_GC_BC_QoS_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17, SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17_sequence_of,
                                                  1, maxSL_GC_BC_DRX_QoS_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_GC_HARQ_RTT_Timer1_r17_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DRX_GC_HARQ_RTT_Timer1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_GC_HARQ_RTT_Timer2_r17_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DRX_GC_HARQ_RTT_Timer2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_GC_RetransmissionTimer_r17_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "sl6" },
  {   5, "sl8" },
  {   6, "sl16" },
  {   7, "sl24" },
  {   8, "sl33" },
  {   9, "sl40" },
  {  10, "sl64" },
  {  11, "sl80" },
  {  12, "sl96" },
  {  13, "sl112" },
  {  14, "sl128" },
  {  15, "sl160" },
  {  16, "sl320" },
  {  17, "spare15" },
  {  18, "spare14" },
  {  19, "spare13" },
  {  20, "spare12" },
  {  21, "spare11" },
  {  22, "spare10" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DRX_GC_RetransmissionTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_DRX_GC_Generic_r17_sequence[] = {
  { &hf_nr_rrc_sl_DRX_GC_HARQ_RTT_Timer1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DRX_GC_HARQ_RTT_Timer1_r17 },
  { &hf_nr_rrc_sl_DRX_GC_HARQ_RTT_Timer2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DRX_GC_HARQ_RTT_Timer2_r17 },
  { &hf_nr_rrc_sl_DRX_GC_RetransmissionTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_DRX_GC_RetransmissionTimer_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_DRX_GC_Generic_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_DRX_GC_Generic_r17, SL_DRX_GC_Generic_r17_sequence);

  return offset;
}


static const per_sequence_t SL_DRX_ConfigGC_BC_r17_sequence[] = {
  { &hf_nr_rrc_sl_DRX_GC_BC_PerQoS_List_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17 },
  { &hf_nr_rrc_sl_DRX_GC_generic_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_DRX_GC_Generic_r17 },
  { &hf_nr_rrc_sl_DefaultDRX_GC_BC_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_DRX_GC_BC_QoS_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_DRX_ConfigGC_BC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_DRX_ConfigGC_BC_r17, SL_DRX_ConfigGC_BC_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_milliSeconds_04_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms3" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms6" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms30" },
  {  10, "ms40" },
  {  11, "ms50" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms200" },
  {  16, "ms300" },
  {  17, "ms400" },
  {  18, "ms500" },
  {  19, "ms600" },
  {  20, "ms800" },
  {  21, "ms1000" },
  {  22, "ms1200" },
  {  23, "ms1600" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_milliSeconds_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_drx_onDurationTimer_r17_vals[] = {
  {   0, "subMilliSeconds" },
  {   1, "milliSeconds" },
  { 0, NULL }
};

static const per_choice_t T_sl_drx_onDurationTimer_r17_choice[] = {
  {   0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_31 },
  {   1, &hf_nr_rrc_milliSeconds_04, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_milliSeconds_04 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_drx_onDurationTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_drx_onDurationTimer_r17, T_sl_drx_onDurationTimer_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_drx_InactivityTimer_r17_vals[] = {
  {   0, "ms0" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms6" },
  {   7, "ms8" },
  {   8, "ms10" },
  {   9, "ms20" },
  {  10, "ms30" },
  {  11, "ms40" },
  {  12, "ms50" },
  {  13, "ms60" },
  {  14, "ms80" },
  {  15, "ms100" },
  {  16, "ms200" },
  {  17, "ms300" },
  {  18, "ms500" },
  {  19, "ms750" },
  {  20, "ms1280" },
  {  21, "ms1920" },
  {  22, "ms2560" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_drx_InactivityTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_drx_HARQ_RTT_Timer1_r17_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_drx_HARQ_RTT_Timer1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_drx_HARQ_RTT_Timer2_r17_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_drx_HARQ_RTT_Timer2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_drx_RetransmissionTimer_r17_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "sl6" },
  {   5, "sl8" },
  {   6, "sl16" },
  {   7, "sl24" },
  {   8, "sl33" },
  {   9, "sl40" },
  {  10, "sl64" },
  {  11, "sl80" },
  {  12, "sl96" },
  {  13, "sl112" },
  {  14, "sl128" },
  {  15, "sl160" },
  {  16, "sl320" },
  {  17, "spare15" },
  {  18, "spare14" },
  {  19, "spare13" },
  {  20, "spare12" },
  {  21, "spare11" },
  {  22, "spare10" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_drx_RetransmissionTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_drx_CycleStartOffset_r17_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  { 0, NULL }
};

static const per_choice_t T_sl_drx_CycleStartOffset_r17_choice[] = {
  {   0, &hf_nr_rrc_ms10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_ms20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_ms32         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   3, &hf_nr_rrc_ms40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_ms60         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_59 },
  {   5, &hf_nr_rrc_ms64         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   6, &hf_nr_rrc_ms70         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_69 },
  {   7, &hf_nr_rrc_ms80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   8, &hf_nr_rrc_ms128        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   9, &hf_nr_rrc_ms160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  10, &hf_nr_rrc_ms256        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  {  11, &hf_nr_rrc_ms320        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_ms512        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_511 },
  {  13, &hf_nr_rrc_ms640        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {  14, &hf_nr_rrc_ms1024       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1023 },
  {  15, &hf_nr_rrc_ms1280       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {  16, &hf_nr_rrc_ms2048       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2047 },
  {  17, &hf_nr_rrc_ms2560       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  {  18, &hf_nr_rrc_ms5120       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_5119 },
  {  19, &hf_nr_rrc_ms10240      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_10239 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_drx_CycleStartOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_drx_CycleStartOffset_r17, T_sl_drx_CycleStartOffset_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_DRX_ConfigUC_r17_sequence[] = {
  { &hf_nr_rrc_sl_drx_onDurationTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_drx_onDurationTimer_r17 },
  { &hf_nr_rrc_sl_drx_InactivityTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_drx_InactivityTimer_r17 },
  { &hf_nr_rrc_sl_drx_HARQ_RTT_Timer1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_drx_HARQ_RTT_Timer1_r17 },
  { &hf_nr_rrc_sl_drx_HARQ_RTT_Timer2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_drx_HARQ_RTT_Timer2_r17 },
  { &hf_nr_rrc_sl_drx_RetransmissionTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_drx_RetransmissionTimer_r17 },
  { &hf_nr_rrc_sl_drx_CycleStartOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_drx_CycleStartOffset_r17 },
  { &hf_nr_rrc_sl_drx_SlotOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_DRX_ConfigUC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_DRX_ConfigUC_r17, SL_DRX_ConfigUC_r17_sequence);

  return offset;
}


static const per_sequence_t SL_DRX_ConfigUC_Info_r17_sequence[] = {
  { &hf_nr_rrc_sl_DestinationIndex_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_DestinationIndex_r16 },
  { &hf_nr_rrc_sl_DRX_ConfigUC_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_DRX_ConfigUC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_DRX_ConfigUC_Info_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_DRX_ConfigUC_Info_r17, SL_DRX_ConfigUC_Info_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_DRX_ConfigUC_ToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DRX_ConfigUC_Info_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17, SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_DRX_Config_r17_sequence[] = {
  { &hf_nr_rrc_sl_DRX_ConfigGC_BC_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_DRX_ConfigGC_BC_r17 },
  { &hf_nr_rrc_sl_DRX_ConfigUC_ToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16 },
  { &hf_nr_rrc_sl_DRX_ConfigUC_ToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_DRX_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_DRX_Config_r17, SL_DRX_Config_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_SL_RLC_ChannelID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxSL_LCID_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_RLC_ChannelToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_ChannelID_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17, SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17_sequence_of,
                                                  1, maxSL_LCID_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_RLC_ChannelConfig_r17_sequence[] = {
  { &hf_nr_rrc_sl_RLC_ChannelID_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_ChannelID_r17 },
  { &hf_nr_rrc_sl_RLC_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RLC_Config_r16 },
  { &hf_nr_rrc_sl_MAC_LogicalChannelConfig_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_LogicalChannelConfig_r16 },
  { &hf_nr_rrc_sl_PacketDelayBudget_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RLC_ChannelConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RLC_ChannelConfig_r17, SL_RLC_ChannelConfig_r17_sequence);

  return offset;
}


static const per_sequence_t SL_RLC_ChannelToAddModList_r17_sequence_of[1] = {
  { &hf_nr_rrc_SL_RLC_ChannelToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_ChannelConfig_r17 },
};

static int
dissect_nr_rrc_SL_RLC_ChannelToAddModList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_RLC_ChannelToAddModList_r17, SL_RLC_ChannelToAddModList_r17_sequence_of,
                                                  1, maxSL_LCID_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_PHY_MAC_RLC_Config_v1700_sequence[] = {
  { &hf_nr_rrc_sl_DRX_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_DRX_Config_r17 },
  { &hf_nr_rrc_sl_RLC_ChannelToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17 },
  { &hf_nr_rrc_sl_RLC_ChannelToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RLC_ChannelToAddModList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PHY_MAC_RLC_Config_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PHY_MAC_RLC_Config_v1700, SL_PHY_MAC_RLC_Config_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_PHY_MAC_RLC_Config_v1700_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PHY_MAC_RLC_Config_v1700_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_190    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_PHY_MAC_RLC_Config_v1700 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PHY_MAC_RLC_Config_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PHY_MAC_RLC_Config_v1700, T_sl_PHY_MAC_RLC_Config_v1700_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_RelayUE_Config_r17_sequence[] = {
  { &hf_nr_rrc_threshHighRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_threshLowRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_hystMaxRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_hystMinRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Hysteresis },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RelayUE_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RelayUE_Config_r17, SL_RelayUE_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_RelayUE_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_RelayUE_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_195    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_RelayUE_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_RelayUE_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_RelayUE_Config_r17, T_sl_RelayUE_Config_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_ReselectionConfig_r17_sequence[] = {
  { &hf_nr_rrc_sl_RSRP_Thresh_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RSRP_Range_r16 },
  { &hf_nr_rrc_sl_FilterCoefficientRSRP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { &hf_nr_rrc_sl_HystMin_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Hysteresis },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ReselectionConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ReselectionConfig_r17, SL_ReselectionConfig_r17_sequence);

  return offset;
}


static const per_sequence_t SL_RemoteUE_Config_r17_sequence[] = {
  { &hf_nr_rrc_threshHighRemote_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_hystMaxRemote_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_sl_ReselectionConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ReselectionConfig_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RemoteUE_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RemoteUE_Config_r17, SL_RemoteUE_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_RemoteUE_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_RemoteUE_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_196    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_RemoteUE_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_RemoteUE_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_RemoteUE_Config_r17, T_sl_RemoteUE_Config_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_DiscConfig_r17_sequence[] = {
  { &hf_nr_rrc_sl_RelayUE_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_RelayUE_Config_r17 },
  { &hf_nr_rrc_sl_RemoteUE_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_RemoteUE_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_DiscConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_DiscConfig_r17, SL_DiscConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_DiscConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_DiscConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_191    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_DiscConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_DiscConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_DiscConfig_r17, T_sl_DiscConfig_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_ConfigDedicatedNR_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_PHY_MAC_RLC_Config_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PHY_MAC_RLC_Config_v1700 },
  { &hf_nr_rrc_sl_DiscConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DiscConfig_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ConfigDedicatedNR_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SL_ConfigDedicatedNR_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SL_ConfigDedicatedNR_r16_sequence[] = {
  { &hf_nr_rrc_sl_PHY_MAC_RLC_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16 },
  { &hf_nr_rrc_sl_RadioBearerToReleaseList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16 },
  { &hf_nr_rrc_sl_RadioBearerToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16 },
  { &hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16 },
  { &hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16 },
  { &hf_nr_rrc_t400_r16     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_t400_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfigDedicatedNR_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ConfigDedicatedNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ConfigDedicatedNR_r16, SL_ConfigDedicatedNR_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SL_RemoteUE_RB_Identity_r17_vals[] = {
  {   0, "srb-Identity-r17" },
  {   1, "drb-Identity-r17" },
  { 0, NULL }
};

static const per_choice_t SL_RemoteUE_RB_Identity_r17_choice[] = {
  {   0, &hf_nr_rrc_srb_Identity_r17, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_3 },
  {   1, &hf_nr_rrc_drb_Identity_r17, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_DRB_Identity },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_RemoteUE_RB_Identity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_RemoteUE_RB_Identity_r17, SL_RemoteUE_RB_Identity_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_Uu_RelayRLC_ChannelID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxLC_ID, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_MappingToAddMod_r17_sequence[] = {
  { &hf_nr_rrc_sl_RemoteUE_RB_Identity_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RemoteUE_RB_Identity_r17 },
  { &hf_nr_rrc_sl_EgressRLC_ChannelUu_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Uu_RelayRLC_ChannelID_r17 },
  { &hf_nr_rrc_sl_EgressRLC_ChannelPC5_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RLC_ChannelID_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MappingToAddMod_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MappingToAddMod_r17, SL_MappingToAddMod_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_MappingToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MappingToAddMod_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17, SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17_sequence_of,
                                                  1, maxLC_ID, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_MappingToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RemoteUE_RB_Identity_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17, SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17_sequence_of,
                                                  1, maxLC_ID, FALSE);

  return offset;
}


static const per_sequence_t SL_SRAP_Config_r17_sequence[] = {
  { &hf_nr_rrc_sl_LocalIdentity_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_255 },
  { &hf_nr_rrc_sl_MappingToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17 },
  { &hf_nr_rrc_sl_MappingToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_SRAP_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_SRAP_Config_r17, SL_SRAP_Config_r17_sequence);

  return offset;
}


static const per_sequence_t SL_L2RemoteUE_Config_r17_sequence[] = {
  { &hf_nr_rrc_sl_SRAP_ConfigRemote_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SRAP_Config_r17 },
  { &hf_nr_rrc_sl_UEIdentityRemote_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_L2RemoteUE_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_L2RemoteUE_Config_r17, SL_L2RemoteUE_Config_r17_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_32_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_32, T_nonCriticalExtension_32_sequence);

  return offset;
}


static const per_sequence_t RRCSetup_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_sl_ConfigDedicatedNR_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_ConfigDedicatedNR_r16 },
  { &hf_nr_rrc_sl_L2RemoteUE_Config_r17_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_L2RemoteUE_Config_r17 },
  { &hf_nr_rrc_nonCriticalExtension_85, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetup_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetup_v1700_IEs, RRCSetup_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCSetup_IEs_sequence[] = {
  { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioBearerConfig },
  { &hf_nr_rrc_masterCellGroup_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_masterCellGroup_02 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_84, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCSetup_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetup_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetup_IEs, RRCSetup_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_31_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_31, T_criticalExtensionsFuture_31_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_31_vals[] = {
  {   0, "rrcSetup" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_31_choice[] = {
  {   0, &hf_nr_rrc_rrcSetup_01  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCSetup_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_31, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_31 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_31, T_criticalExtensions_31_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCSetup_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_31, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetup, RRCSetup_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_08_vals[] = {
  {   0, "rrcReject" },
  {   1, "rrcSetup" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_08_choice[] = {
  {   0, &hf_nr_rrc_rrcReject    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReject },
  {   1, &hf_nr_rrc_rrcSetup     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCSetup },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_08, T_c1_08_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtension_02_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension_02, T_messageClassExtension_02_sequence);

  return offset;
}


static const value_string nr_rrc_DL_CCCH_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t DL_CCCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_08        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_08 },
  {   1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_DL_CCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_DL_CCCH_MessageType, DL_CCCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DL_CCCH_Message_sequence[] = {
  { &hf_nr_rrc_message_02   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_CCCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_CCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  actx->pinfo->link_dir = P2P_DIR_DL;

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_CCCH_Message, DL_CCCH_Message_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_secondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);

  return offset;
}



static int
dissect_nr_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofObjectId, NULL, FALSE);

  return offset;
}


static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = {
  { &hf_nr_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
};

static int
dissect_nr_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of,
                                                  1, maxNrofObjectId, FALSE);

  return offset;
}


static const value_string nr_rrc_T_periodicity_02_vals[] = {
  {   0, "sf5" },
  {   1, "sf10" },
  {   2, "sf20" },
  {   3, "sf40" },
  {   4, "sf80" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicity_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SSB_MTC2_sequence[] = {
  { &hf_nr_rrc_pci_List     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId },
  { &hf_nr_rrc_periodicity_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_MTC2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_MTC2, SSB_MTC2_sequence);

  return offset;
}


static const value_string nr_rrc_T_ssb_ToMeasure_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ssb_ToMeasure_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_73     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_ToMeasure },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ssb_ToMeasure, T_ssb_ToMeasure_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SSB_PositionQCL_CellsToAddMod_r16_sequence[] = {
  { &hf_nr_rrc_physCellId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_ssb_PositionQCL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_PositionQCL_Relation_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16, SSB_PositionQCL_CellsToAddMod_r16_sequence);

  return offset;
}


static const per_sequence_t SSB_PositionQCL_CellsToAddModList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16 },
};

static int
dissect_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16, SSB_PositionQCL_CellsToAddModList_r16_sequence_of,
                                                  1, maxNrofCellMeas, FALSE);

  return offset;
}


static const per_sequence_t PCI_List_sequence_of[1] = {
  { &hf_nr_rrc_PCI_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
};

static int
dissect_nr_rrc_PCI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PCI_List, PCI_List_sequence_of,
                                                  1, maxNrofCellMeas, FALSE);

  return offset;
}


static const per_sequence_t SSB_ConfigMobility_eag_1_sequence[] = {
  { &hf_nr_rrc_ssb_PositionQCL_Common_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 },
  { &hf_nr_rrc_ssb_PositionQCL_CellsToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16 },
  { &hf_nr_rrc_ssb_PositionQCL_CellsToRemoveList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PCI_List },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_ConfigMobility_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SSB_ConfigMobility_eag_1_sequence);

  return offset;
}


static const per_sequence_t SSB_PositionQCL_Cell_r17_sequence[] = {
  { &hf_nr_rrc_physCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_ssb_PositionQCL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_PositionQCL_Relation_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_PositionQCL_Cell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_PositionQCL_Cell_r17, SSB_PositionQCL_Cell_r17_sequence);

  return offset;
}


static const per_sequence_t SSB_PositionQCL_CellList_r17_sequence_of[1] = {
  { &hf_nr_rrc_SSB_PositionQCL_CellList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_PositionQCL_Cell_r17 },
};

static int
dissect_nr_rrc_SSB_PositionQCL_CellList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SSB_PositionQCL_CellList_r17, SSB_PositionQCL_CellList_r17_sequence_of,
                                                  1, maxNrofCellMeas, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ssb_PositionQCL_Cells_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ssb_PositionQCL_Cells_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_74     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_PositionQCL_CellList_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_PositionQCL_Cells_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ssb_PositionQCL_Cells_r17, T_ssb_PositionQCL_Cells_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SSB_ConfigMobility_eag_2_sequence[] = {
  { &hf_nr_rrc_deriveSSB_IndexFromCellInter_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_ssb_PositionQCL_Common_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r17 },
  { &hf_nr_rrc_ssb_PositionQCL_Cells_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_PositionQCL_Cells_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_ConfigMobility_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SSB_ConfigMobility_eag_2_sequence);

  return offset;
}


static const per_sequence_t SSB_ConfigMobility_eag_3_sequence[] = {
  { &hf_nr_rrc_cca_CellsToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PCI_List },
  { &hf_nr_rrc_cca_CellsToRemoveList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PCI_List },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_ConfigMobility_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SSB_ConfigMobility_eag_3_sequence);

  return offset;
}


static const per_sequence_t SSB_ConfigMobility_sequence[] = {
  { &hf_nr_rrc_ssb_ToMeasure_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_ToMeasure },
  { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SS_RSSI_Measurement },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_ConfigMobility_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_ConfigMobility_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_ConfigMobility_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_ConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_ConfigMobility, SSB_ConfigMobility_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of[1] = {
  { &hf_nr_rrc_csi_RS_CellList_Mobility_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_CellMobility },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of,
                                                  1, maxNrofCSI_RS_CellsRRM, FALSE);

  return offset;
}


static const per_sequence_t CSI_RS_ResourceConfigMobility_eag_1_sequence[] = {
  { &hf_nr_rrc_refServCellIndex, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_ResourceConfigMobility_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_RS_ResourceConfigMobility_eag_1_sequence);

  return offset;
}


static const per_sequence_t CSI_RS_ResourceConfigMobility_sequence[] = {
  { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_csi_RS_CellList_Mobility, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceConfigMobility_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_RS_ResourceConfigMobility, CSI_RS_ResourceConfigMobility_sequence);

  return offset;
}


static const value_string nr_rrc_T_csi_rs_ResourceConfigMobility_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_csi_rs_ResourceConfigMobility_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_72     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CSI_RS_ResourceConfigMobility },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_rs_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_csi_rs_ResourceConfigMobility, T_csi_rs_ResourceConfigMobility_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ReferenceSignalConfig_sequence[] = {
  { &hf_nr_rrc_ssb_ConfigMobility, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_ConfigMobility },
  { &hf_nr_rrc_csi_rs_ResourceConfigMobility, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_rs_ResourceConfigMobility },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReferenceSignalConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReferenceSignalConfig, ReferenceSignalConfig_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, maxNrofCSI_RS_ResourcesToAverage, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofQuantityConfig, NULL, FALSE);

  return offset;
}


static const per_sequence_t Q_OffsetRangeList_sequence[] = {
  { &hf_nr_rrc_rsrpOffsetSSB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Q_OffsetRange },
  { &hf_nr_rrc_rsrqOffsetSSB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Q_OffsetRange },
  { &hf_nr_rrc_sinrOffsetSSB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Q_OffsetRange },
  { &hf_nr_rrc_rsrpOffsetCSI_RS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Q_OffsetRange },
  { &hf_nr_rrc_rsrqOffsetCSI_RS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Q_OffsetRange },
  { &hf_nr_rrc_sinrOffsetCSI_RS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Q_OffsetRange },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Q_OffsetRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Q_OffsetRangeList, Q_OffsetRangeList_sequence);

  return offset;
}


static const per_sequence_t CellsToAddMod_sequence[] = {
  { &hf_nr_rrc_physCellId   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_cellIndividualOffset_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellsToAddMod, CellsToAddMod_sequence);

  return offset;
}


static const per_sequence_t CellsToAddModList_sequence_of[1] = {
  { &hf_nr_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddMod },
};

static int
dissect_nr_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CellsToAddModList, CellsToAddModList_sequence_of,
                                                  1, maxNrofCellMeas, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PCI_RangeIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofPCI_Ranges, NULL, FALSE);

  return offset;
}


static const per_sequence_t PCI_RangeIndexList_sequence_of[1] = {
  { &hf_nr_rrc_PCI_RangeIndexList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
};

static int
dissect_nr_rrc_PCI_RangeIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PCI_RangeIndexList, PCI_RangeIndexList_sequence_of,
                                                  1, maxNrofPCI_Ranges, FALSE);

  return offset;
}


static const per_sequence_t PCI_RangeElement_sequence[] = {
  { &hf_nr_rrc_pci_RangeIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
  { &hf_nr_rrc_pci_Range    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PCI_RangeElement, PCI_RangeElement_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of[1] = {
  { &hf_nr_rrc_excludedCellsToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeElement },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement, SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of,
                                                  1, maxNrofPCI_Ranges, FALSE);

  return offset;
}


static const value_string nr_rrc_T_measCycleSCell_vals[] = {
  {   0, "sf160" },
  {   1, "sf256" },
  {   2, "sf320" },
  {   3, "sf512" },
  {   4, "sf640" },
  {   5, "sf1024" },
  {   6, "sf1280" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measCycleSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasObjectNR_eag_1_sequence[] = {
  { &hf_nr_rrc_freqBandIndicatorNR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_measCycleSCell, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measCycleSCell },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectNR_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_periodicityAndOffset_r16_vals[] = {
  {   0, "sf5-r16" },
  {   1, "sf10-r16" },
  {   2, "sf20-r16" },
  {   3, "sf40-r16" },
  {   4, "sf80-r16" },
  {   5, "sf160-r16" },
  {   6, "sf320-r16" },
  {   7, "sf640-r16" },
  {   8, "sf1280-r16" },
  { 0, NULL }
};

static const per_choice_t T_periodicityAndOffset_r16_choice[] = {
  {   0, &hf_nr_rrc_sf5_r16      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_4 },
  {   1, &hf_nr_rrc_sf10_r16     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   2, &hf_nr_rrc_sf20_r16     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   3, &hf_nr_rrc_sf40_r16     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_sf80_r16     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   5, &hf_nr_rrc_sf160_r16    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {   6, &hf_nr_rrc_sf320_r16    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {   7, &hf_nr_rrc_sf640_r16    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {   8, &hf_nr_rrc_sf1280_r16   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_periodicityAndOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_periodicityAndOffset_r16, T_periodicityAndOffset_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_duration_r16_vals[] = {
  {   0, "sf1" },
  {   1, "sf2" },
  {   2, "sf3" },
  {   3, "sf4" },
  {   4, "sf5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_duration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_ToMeasure_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ssb_ToMeasure_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_73     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_ToMeasure },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_ToMeasure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ssb_ToMeasure_r16, T_ssb_ToMeasure_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SSB_MTC3_r16_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset_r16 },
  { &hf_nr_rrc_duration_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_duration_r16 },
  { &hf_nr_rrc_pci_List_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId },
  { &hf_nr_rrc_ssb_ToMeasure_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_ToMeasure_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_MTC3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_MTC3_r16, SSB_MTC3_r16_sequence);

  return offset;
}


static const per_sequence_t SSB_MTC3List_r16_sequence_of[1] = {
  { &hf_nr_rrc_SSB_MTC3List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_MTC3_r16 },
};

static int
dissect_nr_rrc_SSB_MTC3List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SSB_MTC3List_r16, SSB_MTC3List_r16_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_T_rmtc_Periodicity_r16_vals[] = {
  {   0, "ms40" },
  {   1, "ms80" },
  {   2, "ms160" },
  {   3, "ms320" },
  {   4, "ms640" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rmtc_Periodicity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_measDurationSymbols_r16_vals[] = {
  {   0, "sym1" },
  {   1, "sym14or12" },
  {   2, "sym28or24" },
  {   3, "sym42or36" },
  {   4, "sym70or60" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measDurationSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ref_SCS_CP_r16_vals[] = {
  {   0, "kHz15" },
  {   1, "kHz30" },
  {   2, "kHz60-NCP" },
  {   3, "kHz60-ECP" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ref_SCS_CP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rmtc_Bandwidth_r17_vals[] = {
  {   0, "mhz100" },
  {   1, "mhz400" },
  {   2, "mhz800" },
  {   3, "mhz1600" },
  {   4, "mhz2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rmtc_Bandwidth_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_measDurationSymbols_v1700_vals[] = {
  {   0, "sym140" },
  {   1, "sym560" },
  {   2, "sym1120" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measDurationSymbols_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ref_SCS_CP_v1700_vals[] = {
  {   0, "kHz120" },
  {   1, "kHz480" },
  {   2, "kHz960" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ref_SCS_CP_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_tci_StateInfo_r17_sequence[] = {
  { &hf_nr_rrc_tci_StateId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
  { &hf_nr_rrc_ref_ServCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_tci_StateInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_tci_StateInfo_r17, T_tci_StateInfo_r17_sequence);

  return offset;
}


static const per_sequence_t RMTC_Config_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_rmtc_Bandwidth_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rmtc_Bandwidth_r17 },
  { &hf_nr_rrc_measDurationSymbols_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measDurationSymbols_v1700 },
  { &hf_nr_rrc_ref_SCS_CP_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ref_SCS_CP_v1700 },
  { &hf_nr_rrc_tci_StateInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tci_StateInfo_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RMTC_Config_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RMTC_Config_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t RMTC_Config_r16_eag_2_sequence[] = {
  { &hf_nr_rrc_ref_BWPId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RMTC_Config_r16_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RMTC_Config_r16_eag_2_sequence);

  return offset;
}


static const per_sequence_t RMTC_Config_r16_sequence[] = {
  { &hf_nr_rrc_rmtc_Periodicity_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rmtc_Periodicity_r16 },
  { &hf_nr_rrc_rmtc_SubframeOffset_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_639 },
  { &hf_nr_rrc_measDurationSymbols_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measDurationSymbols_r16 },
  { &hf_nr_rrc_rmtc_Frequency_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_ref_SCS_CP_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ref_SCS_CP_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RMTC_Config_r16_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RMTC_Config_r16_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RMTC_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RMTC_Config_r16, RMTC_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_rmtc_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_rmtc_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_70     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RMTC_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_rmtc_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_rmtc_Config_r16, T_rmtc_Config_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T312_r16_vals[] = {
  {   0, "ms0" },
  {   1, "ms50" },
  {   2, "ms100" },
  {   3, "ms200" },
  {   4, "ms300" },
  {   5, "ms400" },
  {   6, "ms500" },
  {   7, "ms1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T312_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t312_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_t312_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_71     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T312_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_t312_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_t312_r16, T_t312_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasObjectNR_eag_2_sequence[] = {
  { &hf_nr_rrc_smtc3list_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC3List_r16 },
  { &hf_nr_rrc_rmtc_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rmtc_Config_r16 },
  { &hf_nr_rrc_t312_r16     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_t312_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectNR_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectNR_eag_2_sequence);

  return offset;
}



static int
dissect_nr_rrc_MeasGapId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofGapId_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_measCyclePSCell_r17_vals[] = {
  {   0, "ms160" },
  {   1, "ms256" },
  {   2, "ms320" },
  {   3, "ms512" },
  {   4, "ms640" },
  {   5, "ms1024" },
  {   6, "ms1280" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measCyclePSCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ntn_PolarizationDL_r17_vals[] = {
  {   0, "rhcp" },
  {   1, "lhcp" },
  {   2, "linear" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ntn_PolarizationDL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ntn_PolarizationUL_r17_vals[] = {
  {   0, "rhcp" },
  {   1, "lhcp" },
  {   2, "linear" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ntn_PolarizationUL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CellsToAddModExt_v1710_sequence[] = {
  { &hf_nr_rrc_ntn_PolarizationDL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ntn_PolarizationDL_r17 },
  { &hf_nr_rrc_ntn_PolarizationUL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ntn_PolarizationUL_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellsToAddModExt_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellsToAddModExt_v1710, CellsToAddModExt_v1710_sequence);

  return offset;
}


static const per_sequence_t CellsToAddModListExt_v1710_sequence_of[1] = {
  { &hf_nr_rrc_CellsToAddModListExt_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddModExt_v1710 },
};

static int
dissect_nr_rrc_CellsToAddModListExt_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CellsToAddModListExt_v1710, CellsToAddModListExt_v1710_sequence_of,
                                                  1, maxNrofCellMeas, FALSE);

  return offset;
}


static const per_sequence_t MeasObjectNR_eag_3_sequence[] = {
  { &hf_nr_rrc_associatedMeasGapSSB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasGapId_r17 },
  { &hf_nr_rrc_associatedMeasGapCSIRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasGapId_r17 },
  { &hf_nr_rrc_smtc4list_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC4List_r17 },
  { &hf_nr_rrc_measCyclePSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measCyclePSCell_r17 },
  { &hf_nr_rrc_cellsToAddModListExt_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellsToAddModListExt_v1710 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectNR_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectNR_eag_3_sequence);

  return offset;
}


static const per_sequence_t MeasObjectNR_eag_4_sequence[] = {
  { &hf_nr_rrc_associatedMeasGapSSB2_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasGapId_r17 },
  { &hf_nr_rrc_associatedMeasGapCSIRS2_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasGapId_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectNR_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectNR_eag_4_sequence);

  return offset;
}


static const per_sequence_t MeasObjectNR_sequence[] = {
  { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_smtc1        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC },
  { &hf_nr_rrc_smtc2        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC2 },
  { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_referenceSignalConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceSignalConfig },
  { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ThresholdNR },
  { &hf_nr_rrc_absThreshCSI_RS_Consolidation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ThresholdNR },
  { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
  { &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage },
  { &hf_nr_rrc_quantityConfigIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig },
  { &hf_nr_rrc_offsetMO     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
  { &hf_nr_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PCI_List },
  { &hf_nr_rrc_cellsToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CellsToAddModList },
  { &hf_nr_rrc_excludedCellsToRemoveList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PCI_RangeIndexList },
  { &hf_nr_rrc_excludedCellsToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement },
  { &hf_nr_rrc_allowedCellsToRemoveList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PCI_RangeIndexList },
  { &hf_nr_rrc_allowedCellsToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectNR_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectNR_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectNR_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectNR_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasObjectNR, MeasObjectNR_sequence);

  return offset;
}



static int
dissect_nr_rrc_EUTRA_CellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxCellMeasEUTRA, NULL, FALSE);

  return offset;
}


static const per_sequence_t EUTRA_CellIndexList_sequence_of[1] = {
  { &hf_nr_rrc_EUTRA_CellIndexList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex },
};

static int
dissect_nr_rrc_EUTRA_CellIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_EUTRA_CellIndexList, EUTRA_CellIndexList_sequence_of,
                                                  1, maxCellMeasEUTRA, FALSE);

  return offset;
}


static const per_sequence_t EUTRA_Cell_sequence[] = {
  { &hf_nr_rrc_cellIndexEUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex },
  { &hf_nr_rrc_physCellId_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { &hf_nr_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Q_OffsetRange },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_Cell, EUTRA_Cell_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell_sequence_of[1] = {
  { &hf_nr_rrc_cellsToAddModListEUTRAN_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Cell },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell, SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell_sequence_of,
                                                  1, maxCellMeasEUTRA, FALSE);

  return offset;
}


static const per_sequence_t EUTRA_ExcludedCell_sequence[] = {
  { &hf_nr_rrc_cellIndexEUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex },
  { &hf_nr_rrc_physCellIdRange, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_ExcludedCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_ExcludedCell, EUTRA_ExcludedCell_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell_sequence_of[1] = {
  { &hf_nr_rrc_excludedCellsToAddModListEUTRAN_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ExcludedCell },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell, SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell_sequence_of,
                                                  1, maxCellMeasEUTRA, FALSE);

  return offset;
}


static const per_sequence_t MeasObjectEUTRA_eag_1_sequence[] = {
  { &hf_nr_rrc_associatedMeasGap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasGapId_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectEUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectEUTRA_eag_1_sequence);

  return offset;
}


static const per_sequence_t MeasObjectEUTRA_sequence[] = {
  { &hf_nr_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_allowedMeasBandwidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_AllowedMeasBandwidth },
  { &hf_nr_rrc_cellsToRemoveListEUTRAN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_CellIndexList },
  { &hf_nr_rrc_cellsToAddModListEUTRAN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell },
  { &hf_nr_rrc_excludedCellsToRemoveListEUTRAN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_CellIndexList },
  { &hf_nr_rrc_excludedCellsToAddModListEUTRAN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell },
  { &hf_nr_rrc_eutra_PresenceAntennaPort1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PresenceAntennaPort1 },
  { &hf_nr_rrc_eutra_Q_OffsetRange, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_Q_OffsetRange },
  { &hf_nr_rrc_widebandRSRQ_Meas, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectEUTRA_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasObjectEUTRA, MeasObjectEUTRA_sequence);

  return offset;
}



static int
dissect_nr_rrc_ARFCN_ValueUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 16383U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_UTRA_FDD_Q_OffsetRange_r16_vals[] = {
  {   0, "dB-24" },
  {   1, "dB-22" },
  {   2, "dB-20" },
  {   3, "dB-18" },
  {   4, "dB-16" },
  {   5, "dB-14" },
  {   6, "dB-12" },
  {   7, "dB-10" },
  {   8, "dB-8" },
  {   9, "dB-6" },
  {  10, "dB-5" },
  {  11, "dB-4" },
  {  12, "dB-3" },
  {  13, "dB-2" },
  {  14, "dB-1" },
  {  15, "dB0" },
  {  16, "dB1" },
  {  17, "dB2" },
  {  18, "dB3" },
  {  19, "dB4" },
  {  20, "dB5" },
  {  21, "dB6" },
  {  22, "dB8" },
  {  23, "dB10" },
  {  24, "dB12" },
  {  25, "dB14" },
  {  26, "dB16" },
  {  27, "dB18" },
  {  28, "dB20" },
  {  29, "dB22" },
  {  30, "dB24" },
  { 0, NULL }
};

static value_string_ext nr_rrc_UTRA_FDD_Q_OffsetRange_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_UTRA_FDD_Q_OffsetRange_r16_vals);


static int
dissect_nr_rrc_UTRA_FDD_Q_OffsetRange_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     31, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_UTRA_FDD_CellIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxCellMeasUTRA_FDD_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t UTRA_FDD_CellIndexList_r16_sequence_of[1] = {
  { &hf_nr_rrc_UTRA_FDD_CellIndexList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UTRA_FDD_CellIndex_r16 },
};

static int
dissect_nr_rrc_UTRA_FDD_CellIndexList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UTRA_FDD_CellIndexList_r16, UTRA_FDD_CellIndexList_r16_sequence_of,
                                                  1, maxCellMeasUTRA_FDD_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PhysCellIdUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 511U, NULL, FALSE);

  return offset;
}


static const per_sequence_t CellsToAddModUTRA_FDD_r16_sequence[] = {
  { &hf_nr_rrc_cellIndexUTRA_FDD_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UTRA_FDD_CellIndex_r16 },
  { &hf_nr_rrc_physCellId_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellIdUTRA_FDD_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellsToAddModUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellsToAddModUTRA_FDD_r16, CellsToAddModUTRA_FDD_r16_sequence);

  return offset;
}


static const per_sequence_t CellsToAddModListUTRA_FDD_r16_sequence_of[1] = {
  { &hf_nr_rrc_CellsToAddModListUTRA_FDD_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddModUTRA_FDD_r16 },
};

static int
dissect_nr_rrc_CellsToAddModListUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CellsToAddModListUTRA_FDD_r16, CellsToAddModListUTRA_FDD_r16_sequence_of,
                                                  1, maxCellMeasUTRA_FDD_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasObjectUTRA_FDD_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreq_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueUTRA_FDD_r16 },
  { &hf_nr_rrc_utra_FDD_Q_OffsetRange_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UTRA_FDD_Q_OffsetRange_r16 },
  { &hf_nr_rrc_cellsToRemoveList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UTRA_FDD_CellIndexList_r16 },
  { &hf_nr_rrc_cellsToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CellsToAddModListUTRA_FDD_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasObjectUTRA_FDD_r16, MeasObjectUTRA_FDD_r16_sequence);

  return offset;
}


static const per_sequence_t Tx_PoolMeasList_r16_sequence_of[1] = {
  { &hf_nr_rrc_Tx_PoolMeasList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolID_r16 },
};

static int
dissect_nr_rrc_Tx_PoolMeasList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_Tx_PoolMeasList_r16, Tx_PoolMeasList_r16_sequence_of,
                                                  1, maxNrofSL_PoolToMeasureNR_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasObjectNR_SL_r16_sequence[] = {
  { &hf_nr_rrc_tx_PoolMeasToRemoveList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Tx_PoolMeasList_r16 },
  { &hf_nr_rrc_tx_PoolMeasToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Tx_PoolMeasList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasObjectNR_SL_r16, MeasObjectNR_SL_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSRS_Resources_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_nrofSRS_Ports_vals[] = {
  {   0, "port1" },
  {   1, "ports2" },
  {   2, "ports4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ptrs_PortIndex_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ptrs_PortIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_n2_sequence[] = {
  { &hf_nr_rrc_combOffset_n2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_cyclicShift_n2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_n2, T_n2_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 11U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_n4_sequence[] = {
  { &hf_nr_rrc_combOffset_n4, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_cyclicShift_n4, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_n4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_n4, T_n4_sequence);

  return offset;
}


static const value_string nr_rrc_T_transmissionComb_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};

static const per_choice_t T_transmissionComb_choice[] = {
  {   0, &hf_nr_rrc_n2_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_n2 },
  {   1, &hf_nr_rrc_n4_02        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_n4 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_transmissionComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_transmissionComb, T_transmissionComb_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofSymbols_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_repetitionFactor_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_resourceMapping_sequence[] = {
  { &hf_nr_rrc_startPosition, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 },
  { &hf_nr_rrc_nrofSymbols_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols },
  { &hf_nr_rrc_repetitionFactor, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_resourceMapping, T_resourceMapping_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 67U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_268(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 268U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_freqHopping_sequence[] = {
  { &hf_nr_rrc_c_SRS        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_b_SRS        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_b_hop        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_freqHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_freqHopping, T_freqHopping_sequence);

  return offset;
}


static const value_string nr_rrc_T_groupOrSequenceHopping_vals[] = {
  {   0, "neither" },
  {   1, "groupHopping" },
  {   2, "sequenceHopping" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_groupOrSequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_aperiodic_02_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_aperiodic_02, T_aperiodic_02_sequence);

  return offset;
}


static const value_string nr_rrc_SRS_PeriodicityAndOffset_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl5" },
  {   4, "sl8" },
  {   5, "sl10" },
  {   6, "sl16" },
  {   7, "sl20" },
  {   8, "sl32" },
  {   9, "sl40" },
  {  10, "sl64" },
  {  11, "sl80" },
  {  12, "sl160" },
  {  13, "sl320" },
  {  14, "sl640" },
  {  15, "sl1280" },
  {  16, "sl2560" },
  { 0, NULL }
};

static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_vals);

static const per_choice_t SRS_PeriodicityAndOffset_choice[] = {
  {   0, &hf_nr_rrc_sl1          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_sl2          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1 },
  {   2, &hf_nr_rrc_sl4          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_3 },
  {   3, &hf_nr_rrc_sl5          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_4 },
  {   4, &hf_nr_rrc_sl8          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_7 },
  {   5, &hf_nr_rrc_sl10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   6, &hf_nr_rrc_sl16         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_15 },
  {   7, &hf_nr_rrc_sl20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   8, &hf_nr_rrc_sl32         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   9, &hf_nr_rrc_sl40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {  10, &hf_nr_rrc_sl64         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {  11, &hf_nr_rrc_sl80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {  12, &hf_nr_rrc_sl160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  13, &hf_nr_rrc_sl320        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  14, &hf_nr_rrc_sl640        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {  15, &hf_nr_rrc_sl1280       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {  16, &hf_nr_rrc_sl2560       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SRS_PeriodicityAndOffset, SRS_PeriodicityAndOffset_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_semi_persistent_01_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_sp, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semi_persistent_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semi_persistent_01, T_semi_persistent_01_sequence);

  return offset;
}


static const per_sequence_t T_periodic_02_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_p, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_periodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_periodic_02, T_periodic_02_sequence);

  return offset;
}


static const value_string nr_rrc_T_resourceType_02_vals[] = {
  {   0, "aperiodic" },
  {   1, "semi-persistent" },
  {   2, "periodic" },
  { 0, NULL }
};

static const per_choice_t T_resourceType_02_choice[] = {
  {   0, &hf_nr_rrc_aperiodic_02 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_aperiodic_02 },
  {   1, &hf_nr_rrc_semi_persistent_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_semi_persistent_01 },
  {   2, &hf_nr_rrc_periodic_02  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_periodic_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_resourceType_02, T_resourceType_02_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofNZP_CSI_RS_Resources_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_srs_sequence[] = {
  { &hf_nr_rrc_resourceId   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
  { &hf_nr_rrc_uplinkBWP    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs, T_srs_sequence);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_03_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  {   2, "srs" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_03_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  {   2, &hf_nr_rrc_srs_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_srs },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_03, T_referenceSignal_03_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SRS_SpatialRelationInfo_sequence[] = {
  { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_referenceSignal_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_SpatialRelationInfo, SRS_SpatialRelationInfo_sequence);

  return offset;
}


static const value_string nr_rrc_T_nrofSymbols_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_repetitionFactor_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetitionFactor_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_resourceMapping_r16_sequence[] = {
  { &hf_nr_rrc_startPosition_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { &hf_nr_rrc_nrofSymbols_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols_r16 },
  { &hf_nr_rrc_repetitionFactor_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceMapping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_resourceMapping_r16, T_resourceMapping_r16_sequence);

  return offset;
}


static const per_sequence_t SRS_Resource_eag_1_sequence[] = {
  { &hf_nr_rrc_resourceMapping_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceMapping_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_Resource_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_Resource_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_NR_DL_PRS_ResourceID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPRS_ResourcesPerSet_1_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_srs_01_sequence[] = {
  { &hf_nr_rrc_resourceId   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
  { &hf_nr_rrc_uplinkBWP    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_01, T_srs_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_04_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  {   2, "dl-PRS-PDC" },
  {   3, "srs" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_04_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  {   2, &hf_nr_rrc_dl_PRS_PDC   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_NR_DL_PRS_ResourceID_r17 },
  {   3, &hf_nr_rrc_srs_02       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_srs_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_04, T_referenceSignal_04_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SpatialRelationInfo_PDC_r17_sequence[] = {
  { &hf_nr_rrc_referenceSignal_04, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_04 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SpatialRelationInfo_PDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SpatialRelationInfo_PDC_r17, SpatialRelationInfo_PDC_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_spatialRelationInfo_PDC_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_spatialRelationInfo_PDC_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_168    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SpatialRelationInfo_PDC_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_spatialRelationInfo_PDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_spatialRelationInfo_PDC_r17, T_spatialRelationInfo_PDC_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofSymbols_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n10" },
  {   5, "n12" },
  {   6, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofSymbols_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_repetitionFactor_r17_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n5" },
  {   4, "n6" },
  {   5, "n7" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetitionFactor_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_resourceMapping_r17_sequence[] = {
  { &hf_nr_rrc_startPosition_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { &hf_nr_rrc_nrofSymbols_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols_r17 },
  { &hf_nr_rrc_repetitionFactor_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceMapping_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_resourceMapping_r17, T_resourceMapping_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_startRBIndexFScaling_r17_vals[] = {
  {   0, "startRBIndexAndFreqScalingFactor2-r17" },
  {   1, "startRBIndexAndFreqScalingFactor4-r17" },
  { 0, NULL }
};

static const per_choice_t T_startRBIndexFScaling_r17_choice[] = {
  {   0, &hf_nr_rrc_startRBIndexAndFreqScalingFactor2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1 },
  {   1, &hf_nr_rrc_startRBIndexAndFreqScalingFactor4_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_3 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_startRBIndexFScaling_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_startRBIndexFScaling_r17, T_startRBIndexFScaling_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_enableStartRBHopping_r17_vals[] = {
  {   0, "enable" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableStartRBHopping_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_partialFreqSounding_r17_sequence[] = {
  { &hf_nr_rrc_startRBIndexFScaling_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_startRBIndexFScaling_r17 },
  { &hf_nr_rrc_enableStartRBHopping_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableStartRBHopping_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_partialFreqSounding_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_partialFreqSounding_r17, T_partialFreqSounding_r17_sequence);

  return offset;
}


static const per_sequence_t T_transmissionComb_n8_r17_sequence[] = {
  { &hf_nr_rrc_combOffset_n8_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
  { &hf_nr_rrc_cyclicShift_n8_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_transmissionComb_n8_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_transmissionComb_n8_r17, T_transmissionComb_n8_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_TCI_UL_StateId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxUL_TCI_1_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_srs_TCI_State_r17_vals[] = {
  {   0, "srs-UL-TCI-State" },
  {   1, "srs-DLorJointTCI-State" },
  { 0, NULL }
};

static const per_choice_t T_srs_TCI_State_r17_choice[] = {
  {   0, &hf_nr_rrc_srs_UL_TCI_State, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_TCI_UL_StateId_r17 },
  {   1, &hf_nr_rrc_srs_DLorJointTCI_State, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_TCI_StateId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_TCI_State_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_srs_TCI_State_r17, T_srs_TCI_State_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SRS_Resource_eag_2_sequence[] = {
  { &hf_nr_rrc_spatialRelationInfo_PDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelationInfo_PDC_r17 },
  { &hf_nr_rrc_resourceMapping_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceMapping_r17 },
  { &hf_nr_rrc_partialFreqSounding_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_partialFreqSounding_r17 },
  { &hf_nr_rrc_transmissionComb_n8_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_transmissionComb_n8_r17 },
  { &hf_nr_rrc_srs_TCI_State_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_TCI_State_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_Resource_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_Resource_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_repetitionFactor_v1730_vals[] = {
  {   0, "n3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetitionFactor_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServingCellAndBWP_Id_r17_sequence[] = {
  { &hf_nr_rrc_servingcell_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_bwp_r17      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellAndBWP_Id_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ServingCellAndBWP_Id_r17, ServingCellAndBWP_Id_r17_sequence);

  return offset;
}


static const per_sequence_t T_srs_DLorJointTCI_State_v1730_sequence[] = {
  { &hf_nr_rrc_cellAndBWP_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellAndBWP_Id_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_DLorJointTCI_State_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_DLorJointTCI_State_v1730, T_srs_DLorJointTCI_State_v1730_sequence);

  return offset;
}


static const per_sequence_t SRS_Resource_eag_3_sequence[] = {
  { &hf_nr_rrc_repetitionFactor_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_repetitionFactor_v1730 },
  { &hf_nr_rrc_srs_DLorJointTCI_State_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_DLorJointTCI_State_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_Resource_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_Resource_eag_3_sequence);

  return offset;
}


static const per_sequence_t SRS_Resource_sequence[] = {
  { &hf_nr_rrc_srs_ResourceId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
  { &hf_nr_rrc_nrofSRS_Ports, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSRS_Ports },
  { &hf_nr_rrc_ptrs_PortIndex, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ptrs_PortIndex },
  { &hf_nr_rrc_transmissionComb, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb },
  { &hf_nr_rrc_resourceMapping_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceMapping },
  { &hf_nr_rrc_freqDomainPosition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_67 },
  { &hf_nr_rrc_freqDomainShift, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268 },
  { &hf_nr_rrc_freqHopping  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqHopping },
  { &hf_nr_rrc_groupOrSequenceHopping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupOrSequenceHopping },
  { &hf_nr_rrc_resourceType_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_02 },
  { &hf_nr_rrc_sequenceId   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_spatialRelationInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_SpatialRelationInfo },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_Resource, SRS_Resource_sequence);

  return offset;
}


static const per_sequence_t SRS_ResourceConfigCLI_r16_sequence[] = {
  { &hf_nr_rrc_srs_Resource_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource },
  { &hf_nr_rrc_srs_SCS_r16  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_refServCellIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_refBWP_r16   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_ResourceConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_ResourceConfigCLI_r16, SRS_ResourceConfigCLI_r16_sequence);

  return offset;
}


static const per_sequence_t SRS_ResourceListConfigCLI_r16_sequence_of[1] = {
  { &hf_nr_rrc_SRS_ResourceListConfigCLI_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceConfigCLI_r16 },
};

static int
dissect_nr_rrc_SRS_ResourceListConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SRS_ResourceListConfigCLI_r16, SRS_ResourceListConfigCLI_r16_sequence_of,
                                                  1, maxNrofCLI_SRS_Resources_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_srs_ResourceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_srs_ResourceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_68     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_ResourceListConfigCLI_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_ResourceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_srs_ResourceConfig_r16, T_srs_ResourceConfig_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_RSSI_ResourceId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCLI_RSSI_Resources_1_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_4_maxNrofPhysicalResourceBlocksPlus1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            4U, maxNrofPhysicalResourceBlocksPlus1, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 14U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_RSSI_PeriodicityAndOffset_r16_vals[] = {
  {   0, "sl10" },
  {   1, "sl20" },
  {   2, "sl40" },
  {   3, "sl80" },
  {   4, "sl160" },
  {   5, "sl320" },
  {   6, "s1640" },
  { 0, NULL }
};

static const per_choice_t RSSI_PeriodicityAndOffset_r16_choice[] = {
  {   0, &hf_nr_rrc_sl10         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_sl20         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_sl40         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   3, &hf_nr_rrc_sl80         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   4, &hf_nr_rrc_sl160        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {   5, &hf_nr_rrc_sl320        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {   6, &hf_nr_rrc_s1640        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_RSSI_PeriodicityAndOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_RSSI_PeriodicityAndOffset_r16, RSSI_PeriodicityAndOffset_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RSSI_ResourceConfigCLI_r16_sequence[] = {
  { &hf_nr_rrc_rssi_ResourceId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_ResourceId_r16 },
  { &hf_nr_rrc_rssi_SCS_r16 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_startPRB_r16 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 },
  { &hf_nr_rrc_nrofPRBs_r16 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_maxNrofPhysicalResourceBlocksPlus1 },
  { &hf_nr_rrc_startPosition_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { &hf_nr_rrc_nrofSymbols_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_14 },
  { &hf_nr_rrc_rssi_PeriodicityAndOffset_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_PeriodicityAndOffset_r16 },
  { &hf_nr_rrc_refServCellIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RSSI_ResourceConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RSSI_ResourceConfigCLI_r16, RSSI_ResourceConfigCLI_r16_sequence);

  return offset;
}


static const per_sequence_t RSSI_ResourceListConfigCLI_r16_sequence_of[1] = {
  { &hf_nr_rrc_RSSI_ResourceListConfigCLI_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_ResourceConfigCLI_r16 },
};

static int
dissect_nr_rrc_RSSI_ResourceListConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_RSSI_ResourceListConfigCLI_r16, RSSI_ResourceListConfigCLI_r16_sequence_of,
                                                  1, maxNrofCLI_RSSI_Resources_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_rssi_ResourceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_rssi_ResourceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_69     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RSSI_ResourceListConfigCLI_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_rssi_ResourceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_rssi_ResourceConfig_r16, T_rssi_ResourceConfig_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CLI_ResourceConfig_r16_sequence[] = {
  { &hf_nr_rrc_srs_ResourceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_ResourceConfig_r16 },
  { &hf_nr_rrc_rssi_ResourceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rssi_ResourceConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CLI_ResourceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CLI_ResourceConfig_r16, CLI_ResourceConfig_r16_sequence);

  return offset;
}


static const per_sequence_t MeasObjectCLI_r16_sequence[] = {
  { &hf_nr_rrc_cli_ResourceConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CLI_ResourceConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasObjectCLI_r16, MeasObjectCLI_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_dl_Ref_r17_vals[] = {
  {   0, "prs-Ref-r17" },
  {   1, "csi-RS-Ref-r17" },
  { 0, NULL }
};

static const per_choice_t T_dl_Ref_r17_choice[] = {
  {   0, &hf_nr_rrc_prs_Ref_r17  , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_csi_RS_Ref_r17, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_Ref_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_Ref_r17, T_dl_Ref_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasObjectRxTxDiff_r17_sequence[] = {
  { &hf_nr_rrc_dl_Ref_r17   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_Ref_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectRxTxDiff_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasObjectRxTxDiff_r17, MeasObjectRxTxDiff_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_measObject_vals[] = {
  {   0, "measObjectNR" },
  {   1, "measObjectEUTRA" },
  {   2, "measObjectUTRA-FDD-r16" },
  {   3, "measObjectNR-SL-r16" },
  {   4, "measObjectCLI-r16" },
  {   5, "measObjectRxTxDiff-r17" },
  {   6, "measObjectRelay-r17" },
  { 0, NULL }
};

static const per_choice_t T_measObject_choice[] = {
  {   0, &hf_nr_rrc_measObjectNR , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_MeasObjectNR },
  {   1, &hf_nr_rrc_measObjectEUTRA, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectEUTRA },
  {   2, &hf_nr_rrc_measObjectUTRA_FDD_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectUTRA_FDD_r16 },
  {   3, &hf_nr_rrc_measObjectNR_SL_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectNR_SL_r16 },
  {   4, &hf_nr_rrc_measObjectCLI_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectCLI_r16 },
  {   5, &hf_nr_rrc_measObjectRxTxDiff_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectRxTxDiff_r17 },
  {   6, &hf_nr_rrc_measObjectRelay_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SL_MeasObject_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_measObject, T_measObject_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasObjectToAddMod_sequence[] = {
  { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
  { &hf_nr_rrc_measObject   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measObject },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence);

  return offset;
}


static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = {
  { &hf_nr_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectToAddMod },
};

static int
dissect_nr_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of,
                                                  1, maxNrofObjectId, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxReportConfigId, NULL, FALSE);

  return offset;
}


static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = {
  { &hf_nr_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
};

static int
dissect_nr_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of,
                                                  1, maxReportConfigId, FALSE);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_03_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasReportQuantity_sequence[] = {
  { &hf_nr_rrc_measReportQuantity_rsrp, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_measReportQuantity_rsrq, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_measReportQuantity_sinr, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasReportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasReportQuantity, MeasReportQuantity_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxCellReport, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_RSSI_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 76U, NULL, FALSE);

  return offset;
}


static const per_sequence_t MeasRSSI_ReportConfig_r16_sequence[] = {
  { &hf_nr_rrc_channelOccupancyThreshold_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSSI_Range_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasRSSI_ReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasRSSI_ReportConfig_r16, MeasRSSI_ReportConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_includeCommonLocationInfo_r16_03_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_includeCommonLocationInfo_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BT_Name_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       1, 248, FALSE, NULL);

  return offset;
}


static const per_sequence_t BT_NameList_r16_sequence_of[1] = {
  { &hf_nr_rrc_BT_NameList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BT_Name_r16 },
};

static int
dissect_nr_rrc_BT_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BT_NameList_r16, BT_NameList_r16_sequence_of,
                                                  1, maxBT_Name_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_includeBT_Meas_r16_03_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeBT_Meas_r16_03_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BT_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeBT_Meas_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeBT_Meas_r16_03, T_includeBT_Meas_r16_03_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_WLAN_Name_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       1, 32, FALSE, NULL);

  return offset;
}


static const per_sequence_t WLAN_NameList_r16_sequence_of[1] = {
  { &hf_nr_rrc_WLAN_NameList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_WLAN_Name_r16 },
};

static int
dissect_nr_rrc_WLAN_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_WLAN_NameList_r16, WLAN_NameList_r16_sequence_of,
                                                  1, maxWLAN_Name_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_includeWLAN_Meas_r16_03_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeWLAN_Meas_r16_03_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_WLAN_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeWLAN_Meas_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeWLAN_Meas_r16_03, T_includeWLAN_Meas_r16_03_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_measUncomBarPre_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measUncomBarPre_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_measUeSpeed_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measUeSpeed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_measUeOrientation_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measUeOrientation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Sensor_NameList_r16_sequence[] = {
  { &hf_nr_rrc_measUncomBarPre_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measUncomBarPre_r16 },
  { &hf_nr_rrc_measUeSpeed  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measUeSpeed },
  { &hf_nr_rrc_measUeOrientation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measUeOrientation },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Sensor_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Sensor_NameList_r16, Sensor_NameList_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_includeSensor_Meas_r16_03_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeSensor_Meas_r16_03_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_04     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Sensor_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeSensor_Meas_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeSensor_Meas_r16_03, T_includeSensor_Meas_r16_03_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity_sequence_of[1] = {
  { &hf_nr_rrc_delay_DRBlist_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity, SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity_sequence_of,
                                                  1, maxDRB, FALSE);

  return offset;
}


static const per_sequence_t UL_DelayValueConfig_r16_sequence[] = {
  { &hf_nr_rrc_delay_DRBlist_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_DelayValueConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_DelayValueConfig_r16, UL_DelayValueConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_DelayValueConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_DelayValueConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_148    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_DelayValueConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_DelayValueConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_DelayValueConfig_r16, T_ul_DelayValueConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reportAddNeighMeas_r16_vals[] = {
  {   0, "setup" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAddNeighMeas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PeriodicalReportConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_measRSSI_ReportConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasRSSI_ReportConfig_r16 },
  { &hf_nr_rrc_includeCommonLocationInfo_r16_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeCommonLocationInfo_r16_03 },
  { &hf_nr_rrc_includeBT_Meas_r16_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeBT_Meas_r16_03 },
  { &hf_nr_rrc_includeWLAN_Meas_r16_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeWLAN_Meas_r16_03 },
  { &hf_nr_rrc_includeSensor_Meas_r16_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeSensor_Meas_r16_03 },
  { &hf_nr_rrc_ul_DelayValueConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_DelayValueConfig_r16 },
  { &hf_nr_rrc_reportAddNeighMeas_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportAddNeighMeas_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PeriodicalReportConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PeriodicalReportConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_delayThreshold_vals[] = {
  {   0, "ms0dot25" },
  {   1, "ms0dot5" },
  {   2, "ms1" },
  {   3, "ms2" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms10" },
  {   7, "ms20" },
  {   8, "ms30" },
  {   9, "ms40" },
  {  10, "ms50" },
  {  11, "ms60" },
  {  12, "ms70" },
  {  13, "ms80" },
  {  14, "ms90" },
  {  15, "ms100" },
  {  16, "ms150" },
  {  17, "ms300" },
  {  18, "ms500" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_delayThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     19, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ExcessDelay_DRB_IdentityInfo_r17_sequence[] = {
  { &hf_nr_rrc_drb_IdentityList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity },
  { &hf_nr_rrc_delayThreshold, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_delayThreshold },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ExcessDelay_DRB_IdentityInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ExcessDelay_DRB_IdentityInfo_r17, ExcessDelay_DRB_IdentityInfo_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17_sequence_of[1] = {
  { &hf_nr_rrc_excessDelay_DRBlist_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ExcessDelay_DRB_IdentityInfo_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17, SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17_sequence_of,
                                                  1, maxDRB, FALSE);

  return offset;
}


static const per_sequence_t UL_ExcessDelayConfig_r17_sequence[] = {
  { &hf_nr_rrc_excessDelay_DRBlist_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_ExcessDelayConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_ExcessDelayConfig_r17, UL_ExcessDelayConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_ExcessDelayConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_ExcessDelayConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_149    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_ExcessDelayConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_ExcessDelayConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_ExcessDelayConfig_r17, T_ul_ExcessDelayConfig_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_coarseLocationRequest_r17_02_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_coarseLocationRequest_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PeriodicalReportConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_ul_ExcessDelayConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_ExcessDelayConfig_r17 },
  { &hf_nr_rrc_coarseLocationRequest_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_coarseLocationRequest_r17_02 },
  { &hf_nr_rrc_reportQuantityRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasReportQuantity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PeriodicalReportConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PeriodicalReportConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t PeriodicalReportConfig_sequence[] = {
  { &hf_nr_rrc_rsType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
  { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_reportAmount_03, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_03 },
  { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
  { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
  { &hf_nr_rrc_reportQuantityRS_Indexes, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasReportQuantity },
  { &hf_nr_rrc_maxNrofRS_IndexesToReport, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
  { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_useAllowedCellList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PeriodicalReportConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PeriodicalReportConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PeriodicalReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PeriodicalReportConfig, PeriodicalReportConfig_sequence);

  return offset;
}


static const per_sequence_t T_eventA1_sequence[] = {
  { &hf_nr_rrc_a1_Threshold , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventA1, T_eventA1_sequence);

  return offset;
}


static const per_sequence_t T_eventA2_sequence[] = {
  { &hf_nr_rrc_a2_Threshold , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventA2, T_eventA2_sequence);

  return offset;
}


static const per_sequence_t T_eventA3_sequence[] = {
  { &hf_nr_rrc_a3_Offset    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
  { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { &hf_nr_rrc_useAllowedCellList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventA3, T_eventA3_sequence);

  return offset;
}


static const per_sequence_t T_eventA4_sequence[] = {
  { &hf_nr_rrc_a4_Threshold , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { &hf_nr_rrc_useAllowedCellList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventA4, T_eventA4_sequence);

  return offset;
}


static const per_sequence_t T_eventA5_sequence[] = {
  { &hf_nr_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { &hf_nr_rrc_useAllowedCellList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventA5, T_eventA5_sequence);

  return offset;
}


static const per_sequence_t T_eventA6_sequence[] = {
  { &hf_nr_rrc_a6_Offset    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
  { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { &hf_nr_rrc_useAllowedCellList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventA6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventA6, T_eventA6_sequence);

  return offset;
}


static const per_sequence_t T_eventX1_r17_sequence[] = {
  { &hf_nr_rrc_x1_Threshold1_Relay_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasTriggerQuantity_r16 },
  { &hf_nr_rrc_x1_Threshold2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_reportOnLeave_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { &hf_nr_rrc_useAllowedCellList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventX1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventX1_r17, T_eventX1_r17_sequence);

  return offset;
}


static const per_sequence_t T_eventX2_r17_sequence[] = {
  { &hf_nr_rrc_x2_Threshold_Relay_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasTriggerQuantity_r16 },
  { &hf_nr_rrc_reportOnLeave_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventX2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventX2_r17, T_eventX2_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_65525(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 65525U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_eventD1_r17_sequence[] = {
  { &hf_nr_rrc_distanceThreshFromReference1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_65525 },
  { &hf_nr_rrc_distanceThreshFromReference2_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_65525 },
  { &hf_nr_rrc_referenceLocation1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceLocation_r17 },
  { &hf_nr_rrc_referenceLocation2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceLocation_r17 },
  { &hf_nr_rrc_reportOnLeave_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresisLocation_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_HysteresisLocation_r17 },
  { &hf_nr_rrc_timeToTrigger_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventD1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventD1_r17, T_eventD1_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_eventId_01_vals[] = {
  {   0, "eventA1" },
  {   1, "eventA2" },
  {   2, "eventA3" },
  {   3, "eventA4" },
  {   4, "eventA5" },
  {   5, "eventA6" },
  {   6, "eventX1-r17" },
  {   7, "eventX2-r17" },
  {   8, "eventD1-r17" },
  { 0, NULL }
};

static const per_choice_t T_eventId_01_choice[] = {
  {   0, &hf_nr_rrc_eventA1      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventA1 },
  {   1, &hf_nr_rrc_eventA2      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventA2 },
  {   2, &hf_nr_rrc_eventA3      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventA3 },
  {   3, &hf_nr_rrc_eventA4      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventA4 },
  {   4, &hf_nr_rrc_eventA5      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventA5 },
  {   5, &hf_nr_rrc_eventA6      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventA6 },
  {   6, &hf_nr_rrc_eventX1_r17  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventX1_r17 },
  {   7, &hf_nr_rrc_eventX2_r17  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventX2_r17 },
  {   8, &hf_nr_rrc_eventD1_r17  , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventD1_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_eventId_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_eventId_01, T_eventId_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_02_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_reportAddNeighMeas_vals[] = {
  {   0, "setup" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAddNeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_includeCommonLocationInfo_r16_02_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_includeCommonLocationInfo_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_includeBT_Meas_r16_02_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeBT_Meas_r16_02_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BT_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeBT_Meas_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeBT_Meas_r16_02, T_includeBT_Meas_r16_02_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_includeWLAN_Meas_r16_02_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeWLAN_Meas_r16_02_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_WLAN_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeWLAN_Meas_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeWLAN_Meas_r16_02, T_includeWLAN_Meas_r16_02_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_includeSensor_Meas_r16_02_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeSensor_Meas_r16_02_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_04     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Sensor_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeSensor_Meas_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeSensor_Meas_r16_02, T_includeSensor_Meas_r16_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t EventTriggerConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_measRSSI_ReportConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasRSSI_ReportConfig_r16 },
  { &hf_nr_rrc_useT312_r16  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_includeCommonLocationInfo_r16_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeCommonLocationInfo_r16_02 },
  { &hf_nr_rrc_includeBT_Meas_r16_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeBT_Meas_r16_02 },
  { &hf_nr_rrc_includeWLAN_Meas_r16_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeWLAN_Meas_r16_02 },
  { &hf_nr_rrc_includeSensor_Meas_r16_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeSensor_Meas_r16_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EventTriggerConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EventTriggerConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_coarseLocationRequest_r17_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_coarseLocationRequest_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t EventTriggerConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_coarseLocationRequest_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_coarseLocationRequest_r17_01 },
  { &hf_nr_rrc_reportQuantityRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasReportQuantity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EventTriggerConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EventTriggerConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t EventTriggerConfig_sequence[] = {
  { &hf_nr_rrc_eventId_01   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId_01 },
  { &hf_nr_rrc_rsType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
  { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_reportAmount_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_02 },
  { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
  { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
  { &hf_nr_rrc_reportQuantityRS_Indexes, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasReportQuantity },
  { &hf_nr_rrc_maxNrofRS_IndexesToReport, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
  { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_reportAddNeighMeas, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportAddNeighMeas },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventTriggerConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventTriggerConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EventTriggerConfig, EventTriggerConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_useAutonomousGaps_r16_01_vals[] = {
  {   0, "setup" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_useAutonomousGaps_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ReportCGI_eag_1_sequence[] = {
  { &hf_nr_rrc_useAutonomousGaps_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_useAutonomousGaps_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportCGI_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportCGI_eag_1_sequence);

  return offset;
}


static const per_sequence_t ReportCGI_sequence[] = {
  { &hf_nr_rrc_cellForWhichToReportCGI, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportCGI_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReportCGI, ReportCGI_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportSFTD_NeighMeas_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportSFTD_NeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_SFTD_NeighMeas_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_SFTD_NeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId_sequence_of[1] = {
  { &hf_nr_rrc_cellsForWhichToReportSFTD_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId, SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId_sequence_of,
                                                  1, maxCellSFTD, FALSE);

  return offset;
}


static const per_sequence_t ReportSFTD_NR_eag_1_sequence[] = {
  { &hf_nr_rrc_reportSFTD_NeighMeas, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSFTD_NeighMeas },
  { &hf_nr_rrc_drx_SFTD_NeighMeas, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_SFTD_NeighMeas },
  { &hf_nr_rrc_cellsForWhichToReportSFTD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportSFTD_NR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportSFTD_NR_eag_1_sequence);

  return offset;
}


static const per_sequence_t ReportSFTD_NR_sequence[] = {
  { &hf_nr_rrc_reportSFTD_Meas, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_reportRSRP   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportSFTD_NR_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportSFTD_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReportSFTD_NR, ReportSFTD_NR_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_r16_01_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_MeasReportQuantityCLI_r16_vals[] = {
  {   0, "srs-rsrp" },
  {   1, "cli-rssi" },
  { 0, NULL }
};


static int
dissect_nr_rrc_MeasReportQuantityCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxCLI_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxCLI_Report_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t CLI_PeriodicalReportConfig_r16_sequence[] = {
  { &hf_nr_rrc_reportInterval_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_reportAmount_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r16_01 },
  { &hf_nr_rrc_reportQuantityCLI_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantityCLI_r16 },
  { &hf_nr_rrc_maxReportCLI_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCLI_Report_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CLI_PeriodicalReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CLI_PeriodicalReportConfig_r16, CLI_PeriodicalReportConfig_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_SRS_RSRP_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 98U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CLI_RSSI_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 76U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_MeasTriggerQuantityCLI_r16_vals[] = {
  {   0, "srs-RSRP-r16" },
  {   1, "cli-RSSI-r16" },
  { 0, NULL }
};

static const per_choice_t MeasTriggerQuantityCLI_r16_choice[] = {
  {   0, &hf_nr_rrc_srs_RSRP_r16 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_RSRP_Range_r16 },
  {   1, &hf_nr_rrc_cli_RSSI_r16 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CLI_RSSI_Range_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_MeasTriggerQuantityCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_MeasTriggerQuantityCLI_r16, MeasTriggerQuantityCLI_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_eventI1_r16_sequence[] = {
  { &hf_nr_rrc_i1_Threshold_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityCLI_r16 },
  { &hf_nr_rrc_reportOnLeave_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventI1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventI1_r16, T_eventI1_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_eventId_r16_vals[] = {
  {   0, "eventI1-r16" },
  { 0, NULL }
};

static const per_choice_t T_eventId_r16_choice[] = {
  {   0, &hf_nr_rrc_eventI1_r16  , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventI1_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_eventId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_eventId_r16, T_eventId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_r16_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CLI_EventTriggerConfig_r16_sequence[] = {
  { &hf_nr_rrc_eventId_r16  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId_r16 },
  { &hf_nr_rrc_reportInterval_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_reportAmount_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r16 },
  { &hf_nr_rrc_maxReportCLI_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCLI_Report_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CLI_EventTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CLI_EventTriggerConfig_r16, CLI_EventTriggerConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_RxTxReportInterval_r17_vals[] = {
  {   0, "ms80" },
  {   1, "ms120" },
  {   2, "ms160" },
  {   3, "ms240" },
  {   4, "ms320" },
  {   5, "ms480" },
  {   6, "ms640" },
  {   7, "ms1024" },
  {   8, "ms1280" },
  {   9, "ms2048" },
  {  10, "ms2560" },
  {  11, "ms5120" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_RxTxReportInterval_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_r17_vals[] = {
  {   0, "r1" },
  {   1, "infinity" },
  {   2, "spare6" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RxTxPeriodical_r17_sequence[] = {
  { &hf_nr_rrc_rxTxReportInterval_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RxTxReportInterval_r17 },
  { &hf_nr_rrc_reportAmount_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RxTxPeriodical_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RxTxPeriodical_r17, RxTxPeriodical_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportType_02_vals[] = {
  {   0, "periodical" },
  {   1, "eventTriggered" },
  {   2, "reportCGI" },
  {   3, "reportSFTD" },
  {   4, "condTriggerConfig-r16" },
  {   5, "cli-Periodical-r16" },
  {   6, "cli-EventTriggered-r16" },
  {   7, "rxTxPeriodical-r17" },
  { 0, NULL }
};

static const per_choice_t T_reportType_02_choice[] = {
  {   0, &hf_nr_rrc_periodical_02, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_PeriodicalReportConfig },
  {   1, &hf_nr_rrc_eventTriggered_02, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_EventTriggerConfig },
  {   2, &hf_nr_rrc_reportCGI_01 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportCGI },
  {   3, &hf_nr_rrc_reportSFTD_01, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportSFTD_NR },
  {   4, &hf_nr_rrc_condTriggerConfig_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_CondTriggerConfig_r16 },
  {   5, &hf_nr_rrc_cli_Periodical_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_CLI_PeriodicalReportConfig_r16 },
  {   6, &hf_nr_rrc_cli_EventTriggered_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_CLI_EventTriggerConfig_r16 },
  {   7, &hf_nr_rrc_rxTxPeriodical_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_RxTxPeriodical_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportType_02, T_reportType_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ReportConfigNR_sequence[] = {
  { &hf_nr_rrc_reportType_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReportConfigNR, ReportConfigNR_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_01_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasReportQuantityUTRA_FDD_r16_sequence[] = {
  { &hf_nr_rrc_cpich_RSCP   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_cpich_EcN0   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasReportQuantityUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasReportQuantityUTRA_FDD_r16, MeasReportQuantityUTRA_FDD_r16_sequence);

  return offset;
}


static const per_sequence_t PeriodicalReportConfigInterRAT_eag_1_sequence[] = {
  { &hf_nr_rrc_reportQuantityUTRA_FDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasReportQuantityUTRA_FDD_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PeriodicalReportConfigInterRAT_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PeriodicalReportConfigInterRAT_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_includeCommonLocationInfo_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_includeCommonLocationInfo_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_includeBT_Meas_r16_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeBT_Meas_r16_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BT_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeBT_Meas_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeBT_Meas_r16_01, T_includeBT_Meas_r16_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_includeWLAN_Meas_r16_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeWLAN_Meas_r16_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_WLAN_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeWLAN_Meas_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeWLAN_Meas_r16_01, T_includeWLAN_Meas_r16_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_includeSensor_Meas_r16_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeSensor_Meas_r16_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_04     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Sensor_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeSensor_Meas_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeSensor_Meas_r16_01, T_includeSensor_Meas_r16_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PeriodicalReportConfigInterRAT_eag_2_sequence[] = {
  { &hf_nr_rrc_includeCommonLocationInfo_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeCommonLocationInfo_r16_01 },
  { &hf_nr_rrc_includeBT_Meas_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeBT_Meas_r16_01 },
  { &hf_nr_rrc_includeWLAN_Meas_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeWLAN_Meas_r16_01 },
  { &hf_nr_rrc_includeSensor_Meas_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeSensor_Meas_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PeriodicalReportConfigInterRAT_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PeriodicalReportConfigInterRAT_eag_2_sequence);

  return offset;
}


static const per_sequence_t PeriodicalReportConfigInterRAT_eag_3_sequence[] = {
  { &hf_nr_rrc_reportQuantityRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasReportQuantity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PeriodicalReportConfigInterRAT_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PeriodicalReportConfigInterRAT_eag_3_sequence);

  return offset;
}


static const per_sequence_t PeriodicalReportConfigInterRAT_sequence[] = {
  { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_reportAmount_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_01 },
  { &hf_nr_rrc_reportQuantity_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
  { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PeriodicalReportConfigInterRAT_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PeriodicalReportConfigInterRAT_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PeriodicalReportConfigInterRAT_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PeriodicalReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PeriodicalReportConfigInterRAT, PeriodicalReportConfigInterRAT_sequence);

  return offset;
}


static const value_string nr_rrc_MeasTriggerQuantityEUTRA_vals[] = {
  {   0, "rsrp" },
  {   1, "rsrq" },
  {   2, "sinr" },
  { 0, NULL }
};

static const per_choice_t MeasTriggerQuantityEUTRA_choice[] = {
  {   0, &hf_nr_rrc_measTriggerQuantityEUTRA_rsrp, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RSRP_RangeEUTRA },
  {   1, &hf_nr_rrc_measTriggerQuantityEUTRA_rsrq, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RSRQ_RangeEUTRA },
  {   2, &hf_nr_rrc_measTriggerQuantityEUTRA_sinr, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SINR_RangeEUTRA },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_MeasTriggerQuantityEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_MeasTriggerQuantityEUTRA, MeasTriggerQuantityEUTRA_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_eventB1_sequence[] = {
  { &hf_nr_rrc_b1_ThresholdEUTRA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityEUTRA },
  { &hf_nr_rrc_reportOnLeave, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventB1, T_eventB1_sequence);

  return offset;
}


static const per_sequence_t T_eventB2_sequence[] = {
  { &hf_nr_rrc_b2_Threshold1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_b2_Threshold2EUTRA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityEUTRA },
  { &hf_nr_rrc_reportOnLeave, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventB2, T_eventB2_sequence);

  return offset;
}



static int
dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_RSCP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -5, 91U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_EcN0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 49U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_MeasTriggerQuantityUTRA_FDD_r16_vals[] = {
  {   0, "utra-FDD-RSCP-r16" },
  {   1, "utra-FDD-EcN0-r16" },
  { 0, NULL }
};

static const per_choice_t MeasTriggerQuantityUTRA_FDD_r16_choice[] = {
  {   0, &hf_nr_rrc_utra_FDD_RSCP_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_RSCP_r16 },
  {   1, &hf_nr_rrc_utra_FDD_EcN0_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_EcN0_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16, MeasTriggerQuantityUTRA_FDD_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_eventB1_UTRA_FDD_r16_sequence[] = {
  { &hf_nr_rrc_b1_ThresholdUTRA_FDD_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16 },
  { &hf_nr_rrc_reportOnLeave_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventB1_UTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventB1_UTRA_FDD_r16, T_eventB1_UTRA_FDD_r16_sequence);

  return offset;
}


static const per_sequence_t T_eventB2_UTRA_FDD_r16_sequence[] = {
  { &hf_nr_rrc_b2_Threshold1_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_b2_Threshold2UTRA_FDD_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16 },
  { &hf_nr_rrc_reportOnLeave_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventB2_UTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventB2_UTRA_FDD_r16, T_eventB2_UTRA_FDD_r16_sequence);

  return offset;
}


static const per_sequence_t T_eventY1_Relay_r17_sequence[] = {
  { &hf_nr_rrc_y1_Threshold1_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_y1_Threshold2_Relay_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasTriggerQuantity_r16 },
  { &hf_nr_rrc_reportOnLeave_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventY1_Relay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventY1_Relay_r17, T_eventY1_Relay_r17_sequence);

  return offset;
}


static const per_sequence_t T_eventY2_Relay_r17_sequence[] = {
  { &hf_nr_rrc_y2_Threshold_Relay_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasTriggerQuantity_r16 },
  { &hf_nr_rrc_reportOnLeave_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_hysteresis_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventY2_Relay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventY2_Relay_r17, T_eventY2_Relay_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_eventId_vals[] = {
  {   0, "eventB1" },
  {   1, "eventB2" },
  {   2, "eventB1-UTRA-FDD-r16" },
  {   3, "eventB2-UTRA-FDD-r16" },
  {   4, "eventY1-Relay-r17" },
  {   5, "eventY2-Relay-r17" },
  { 0, NULL }
};

static const per_choice_t T_eventId_choice[] = {
  {   0, &hf_nr_rrc_eventB1      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventB1 },
  {   1, &hf_nr_rrc_eventB2      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventB2 },
  {   2, &hf_nr_rrc_eventB1_UTRA_FDD_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventB1_UTRA_FDD_r16 },
  {   3, &hf_nr_rrc_eventB2_UTRA_FDD_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventB2_UTRA_FDD_r16 },
  {   4, &hf_nr_rrc_eventY1_Relay_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventY1_Relay_r17 },
  {   5, &hf_nr_rrc_eventY2_Relay_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventY2_Relay_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_eventId, T_eventId_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t EventTriggerConfigInterRAT_eag_1_sequence[] = {
  { &hf_nr_rrc_reportQuantityUTRA_FDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasReportQuantityUTRA_FDD_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EventTriggerConfigInterRAT_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EventTriggerConfigInterRAT_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_includeCommonLocationInfo_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_includeCommonLocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_includeBT_Meas_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeBT_Meas_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BT_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeBT_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeBT_Meas_r16, T_includeBT_Meas_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_includeWLAN_Meas_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeWLAN_Meas_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_WLAN_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeWLAN_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeWLAN_Meas_r16, T_includeWLAN_Meas_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_includeSensor_Meas_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_includeSensor_Meas_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_04     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Sensor_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_includeSensor_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_includeSensor_Meas_r16, T_includeSensor_Meas_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t EventTriggerConfigInterRAT_eag_2_sequence[] = {
  { &hf_nr_rrc_includeCommonLocationInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeCommonLocationInfo_r16 },
  { &hf_nr_rrc_includeBT_Meas_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeBT_Meas_r16 },
  { &hf_nr_rrc_includeWLAN_Meas_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeWLAN_Meas_r16 },
  { &hf_nr_rrc_includeSensor_Meas_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeSensor_Meas_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EventTriggerConfigInterRAT_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EventTriggerConfigInterRAT_eag_2_sequence);

  return offset;
}


static const per_sequence_t EventTriggerConfigInterRAT_eag_3_sequence[] = {
  { &hf_nr_rrc_reportQuantityRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasReportQuantity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EventTriggerConfigInterRAT_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EventTriggerConfigInterRAT_eag_3_sequence);

  return offset;
}


static const per_sequence_t EventTriggerConfigInterRAT_sequence[] = {
  { &hf_nr_rrc_eventId      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId },
  { &hf_nr_rrc_rsType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
  { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_reportAmount , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount },
  { &hf_nr_rrc_reportQuantity_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
  { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventTriggerConfigInterRAT_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventTriggerConfigInterRAT_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventTriggerConfigInterRAT_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EventTriggerConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EventTriggerConfigInterRAT, EventTriggerConfigInterRAT_sequence);

  return offset;
}


static const value_string nr_rrc_T_useAutonomousGaps_r16_vals[] = {
  {   0, "setup" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_useAutonomousGaps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ReportCGI_EUTRA_eag_1_sequence[] = {
  { &hf_nr_rrc_useAutonomousGaps_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_useAutonomousGaps_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportCGI_EUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportCGI_EUTRA_eag_1_sequence);

  return offset;
}


static const per_sequence_t ReportCGI_EUTRA_sequence[] = {
  { &hf_nr_rrc_cellForWhichToReportCGI_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportCGI_EUTRA_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportCGI_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReportCGI_EUTRA, ReportCGI_EUTRA_sequence);

  return offset;
}


static const per_sequence_t ReportSFTD_EUTRA_sequence[] = {
  { &hf_nr_rrc_reportSFTD_Meas, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_reportRSRP   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportSFTD_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReportSFTD_EUTRA, ReportSFTD_EUTRA_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportType_01_vals[] = {
  {   0, "periodical" },
  {   1, "eventTriggered" },
  {   2, "reportCGI" },
  {   3, "reportSFTD" },
  { 0, NULL }
};

static const per_choice_t T_reportType_01_choice[] = {
  {   0, &hf_nr_rrc_periodical_01, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_PeriodicalReportConfigInterRAT },
  {   1, &hf_nr_rrc_eventTriggered_01, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_EventTriggerConfigInterRAT },
  {   2, &hf_nr_rrc_reportCGI    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_ReportCGI_EUTRA },
  {   3, &hf_nr_rrc_reportSFTD   , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportSFTD_EUTRA },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportType_01, T_reportType_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ReportConfigInterRAT_sequence[] = {
  { &hf_nr_rrc_reportType_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReportConfigInterRAT, ReportConfigInterRAT_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_r16_03_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasReportQuantity_r16_sequence[] = {
  { &hf_nr_rrc_cbr_r16      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasReportQuantity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasReportQuantity_r16, MeasReportQuantity_r16_sequence);

  return offset;
}


static const per_sequence_t PeriodicalReportConfigNR_SL_r16_sequence[] = {
  { &hf_nr_rrc_reportInterval_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_reportAmount_r16_03, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r16_03 },
  { &hf_nr_rrc_reportQuantity_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PeriodicalReportConfigNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PeriodicalReportConfigNR_SL_r16, PeriodicalReportConfigNR_SL_r16_sequence);

  return offset;
}


static const per_sequence_t T_eventC1_sequence[] = {
  { &hf_nr_rrc_c1_Threshold_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_r16 },
  { &hf_nr_rrc_hysteresis_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventC1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventC1, T_eventC1_sequence);

  return offset;
}


static const per_sequence_t T_eventC2_r16_sequence[] = {
  { &hf_nr_rrc_c2_Threshold_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_r16 },
  { &hf_nr_rrc_hysteresis_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventC2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventC2_r16, T_eventC2_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_eventId_r16_01_vals[] = {
  {   0, "eventC1" },
  {   1, "eventC2-r16" },
  { 0, NULL }
};

static const per_choice_t T_eventId_r16_01_choice[] = {
  {   0, &hf_nr_rrc_eventC1      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventC1 },
  {   1, &hf_nr_rrc_eventC2_r16  , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventC2_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_eventId_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_eventId_r16_01, T_eventId_r16_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reportAmount_r16_02_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAmount_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t EventTriggerConfigNR_SL_r16_sequence[] = {
  { &hf_nr_rrc_eventId_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId_r16_01 },
  { &hf_nr_rrc_reportInterval_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
  { &hf_nr_rrc_reportAmount_r16_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r16_02 },
  { &hf_nr_rrc_reportQuantity_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EventTriggerConfigNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EventTriggerConfigNR_SL_r16, EventTriggerConfigNR_SL_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportType_r16_vals[] = {
  {   0, "periodical-r16" },
  {   1, "eventTriggered-r16" },
  { 0, NULL }
};

static const per_choice_t T_reportType_r16_choice[] = {
  {   0, &hf_nr_rrc_periodical_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PeriodicalReportConfigNR_SL_r16 },
  {   1, &hf_nr_rrc_eventTriggered_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_EventTriggerConfigNR_SL_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportType_r16, T_reportType_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ReportConfigNR_SL_r16_sequence[] = {
  { &hf_nr_rrc_reportType_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportConfigNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReportConfigNR_SL_r16, ReportConfigNR_SL_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportConfig_vals[] = {
  {   0, "reportConfigNR" },
  {   1, "reportConfigInterRAT" },
  {   2, "reportConfigNR-SL-r16" },
  { 0, NULL }
};

static const per_choice_t T_reportConfig_choice[] = {
  {   0, &hf_nr_rrc_reportConfigNR, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_ReportConfigNR },
  {   1, &hf_nr_rrc_reportConfigInterRAT, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportConfigInterRAT },
  {   2, &hf_nr_rrc_reportConfigNR_SL_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportConfigNR_SL_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportConfig, T_reportConfig_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ReportConfigToAddMod_sequence[] = {
  { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
  { &hf_nr_rrc_reportConfig , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence);

  return offset;
}


static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = {
  { &hf_nr_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigToAddMod },
};

static int
dissect_nr_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of,
                                                  1, maxReportConfigId, FALSE);

  return offset;
}



static int
dissect_nr_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofMeasId, NULL, FALSE);

  return offset;
}


static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = {
  { &hf_nr_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
};

static int
dissect_nr_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of,
                                                  1, maxNrofMeasId, FALSE);

  return offset;
}


static const per_sequence_t MeasIdToAddMod_sequence[] = {
  { &hf_nr_rrc_measId       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
  { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
  { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence);

  return offset;
}


static const per_sequence_t MeasIdToAddModList_sequence_of[1] = {
  { &hf_nr_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdToAddMod },
};

static int
dissect_nr_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of,
                                                  1, maxNrofMeasId, FALSE);

  return offset;
}


static const value_string nr_rrc_T_s_MeasureConfig_vals[] = {
  {   0, "ssb-RSRP" },
  {   1, "csi-RSRP" },
  { 0, NULL }
};

static const per_choice_t T_s_MeasureConfig_choice[] = {
  {   0, &hf_nr_rrc_ssb_RSRP     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RSRP_Range },
  {   1, &hf_nr_rrc_csi_RSRP     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RSRP_Range },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_s_MeasureConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_s_MeasureConfig, T_s_MeasureConfig_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t FilterConfig_sequence[] = {
  { &hf_nr_rrc_filterCoefficientRSRP, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { &hf_nr_rrc_filterCoefficientRSRQ, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { &hf_nr_rrc_filterCoefficientRS_SINR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FilterConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FilterConfig, FilterConfig_sequence);

  return offset;
}


static const per_sequence_t QuantityConfigRS_sequence[] = {
  { &hf_nr_rrc_ssb_FilterConfig, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
  { &hf_nr_rrc_csi_RS_FilterConfig, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_QuantityConfigRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_QuantityConfigRS, QuantityConfigRS_sequence);

  return offset;
}


static const per_sequence_t QuantityConfigNR_sequence[] = {
  { &hf_nr_rrc_quantityConfigCell, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigRS },
  { &hf_nr_rrc_quantityConfigRS_Index, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_QuantityConfigRS },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_QuantityConfigNR, QuantityConfigNR_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of[1] = {
  { &hf_nr_rrc_quantityConfigNR_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigNR },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of,
                                                  1, maxNrofQuantityConfig, FALSE);

  return offset;
}


static const per_sequence_t QuantityConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_quantityConfigEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_QuantityConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t QuantityConfigUTRA_FDD_r16_sequence[] = {
  { &hf_nr_rrc_filterCoefficientRSCP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { &hf_nr_rrc_filterCoefficientEcNO_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_QuantityConfigUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_QuantityConfigUTRA_FDD_r16, QuantityConfigUTRA_FDD_r16_sequence);

  return offset;
}


static const per_sequence_t FilterConfigCLI_r16_sequence[] = {
  { &hf_nr_rrc_filterCoefficientSRS_RSRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { &hf_nr_rrc_filterCoefficientCLI_RSSI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterCoefficient },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FilterConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FilterConfigCLI_r16, FilterConfigCLI_r16_sequence);

  return offset;
}


static const per_sequence_t QuantityConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_quantityConfigUTRA_FDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_QuantityConfigUTRA_FDD_r16 },
  { &hf_nr_rrc_quantityConfigCLI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FilterConfigCLI_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_QuantityConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t QuantityConfig_sequence[] = {
  { &hf_nr_rrc_quantityConfigNR_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_QuantityConfig, QuantityConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_gapFR2_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_gapFR2_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_GapConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_gapFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_gapFR2, T_gapFR2_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_gapFR1_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_gapFR1_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_GapConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_gapFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_gapFR1, T_gapFR1_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_gapUE_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_gapUE_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_GapConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_gapUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_gapUE, T_gapUE_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasGapConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_gapFR1       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gapFR1 },
  { &hf_nr_rrc_gapUE        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gapUE },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasGapConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasGapConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_gapType_r17_vals[] = {
  {   0, "perUE" },
  {   1, "perFR1" },
  {   2, "perFR2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mgl_r17_vals[] = {
  {   0, "ms1" },
  {   1, "ms1dot5" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms3dot5" },
  {   5, "ms4" },
  {   6, "ms5" },
  {   7, "ms5dot5" },
  {   8, "ms6" },
  {   9, "ms10" },
  {  10, "ms20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgl_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mgrp_r17_vals[] = {
  {   0, "ms20" },
  {   1, "ms40" },
  {   2, "ms80" },
  {   3, "ms160" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgrp_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mgta_r17_vals[] = {
  {   0, "ms0" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  {   3, "ms0dot75" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgta_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_refServCellIndicator_r17_vals[] = {
  {   0, "pCell" },
  {   1, "pSCell" },
  {   2, "mcg-FR2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_refServCellIndicator_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preConfigInd_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preConfigInd_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ncsgInd_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ncsgInd_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gapAssociationPRS_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapAssociationPRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_MeasGapSharingScheme_vals[] = {
  {   0, "scheme00" },
  {   1, "scheme01" },
  {   2, "scheme10" },
  {   3, "scheme11" },
  { 0, NULL }
};


static int
dissect_nr_rrc_MeasGapSharingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_GapPriority_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrOfGapPri_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t GapConfig_r17_sequence[] = {
  { &hf_nr_rrc_measGapId_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapId_r17 },
  { &hf_nr_rrc_gapType_r17  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapType_r17 },
  { &hf_nr_rrc_gapOffset_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 },
  { &hf_nr_rrc_mgl_r17      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgl_r17 },
  { &hf_nr_rrc_mgrp_r17     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgrp_r17 },
  { &hf_nr_rrc_mgta_r17     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgta_r17 },
  { &hf_nr_rrc_refServCellIndicator_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_refServCellIndicator_r17 },
  { &hf_nr_rrc_refFR2_ServCellAsyncCA_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_preConfigInd_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_preConfigInd_r17 },
  { &hf_nr_rrc_ncsgInd_r17  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ncsgInd_r17 },
  { &hf_nr_rrc_gapAssociationPRS_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_gapAssociationPRS_r17 },
  { &hf_nr_rrc_gapSharing_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasGapSharingScheme },
  { &hf_nr_rrc_gapPriority_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_GapPriority_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GapConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GapConfig_r17, GapConfig_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17_sequence_of[1] = {
  { &hf_nr_rrc_gapToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_GapConfig_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17, SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17_sequence_of,
                                                  1, maxNrofGapId_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17_sequence_of[1] = {
  { &hf_nr_rrc_gapToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17, SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17_sequence_of,
                                                  1, maxNrofGapId_r17, FALSE);

  return offset;
}



static int
dissect_nr_rrc_MeasPosPreConfigGapId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofPreConfigPosGapId_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_mgl_r17_01_vals[] = {
  {   0, "ms1dot5" },
  {   1, "ms3" },
  {   2, "ms3dot5" },
  {   3, "ms4" },
  {   4, "ms5dot5" },
  {   5, "ms6" },
  {   6, "ms10" },
  {   7, "ms20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgl_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mgrp_r17_01_vals[] = {
  {   0, "ms20" },
  {   1, "ms40" },
  {   2, "ms80" },
  {   3, "ms160" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgrp_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mgta_r17_01_vals[] = {
  {   0, "ms0" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mgta_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gapType_r17_01_vals[] = {
  {   0, "perUE" },
  {   1, "perFR1" },
  {   2, "perFR2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gapType_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PosGapConfig_r17_sequence[] = {
  { &hf_nr_rrc_measPosPreConfigGapId_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasPosPreConfigGapId_r17 },
  { &hf_nr_rrc_gapOffset_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 },
  { &hf_nr_rrc_mgl_r17_01   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgl_r17_01 },
  { &hf_nr_rrc_mgrp_r17_01  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgrp_r17_01 },
  { &hf_nr_rrc_mgta_r17_01  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgta_r17_01 },
  { &hf_nr_rrc_gapType_r17_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapType_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PosGapConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PosGapConfig_r17, PosGapConfig_r17_sequence);

  return offset;
}


static const per_sequence_t PosMeasGapPreConfigToAddModList_r17_sequence_of[1] = {
  { &hf_nr_rrc_PosMeasGapPreConfigToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosGapConfig_r17 },
};

static int
dissect_nr_rrc_PosMeasGapPreConfigToAddModList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PosMeasGapPreConfigToAddModList_r17, PosMeasGapPreConfigToAddModList_r17_sequence_of,
                                                  1, maxNrofPreConfigPosGapId_r17, FALSE);

  return offset;
}


static const per_sequence_t PosMeasGapPreConfigToReleaseList_r17_sequence_of[1] = {
  { &hf_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasPosPreConfigGapId_r17 },
};

static int
dissect_nr_rrc_PosMeasGapPreConfigToReleaseList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PosMeasGapPreConfigToReleaseList_r17, PosMeasGapPreConfigToReleaseList_r17_sequence_of,
                                                  1, maxNrofPreConfigPosGapId_r17, FALSE);

  return offset;
}


static const per_sequence_t MeasGapConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_gapToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17 },
  { &hf_nr_rrc_gapToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17 },
  { &hf_nr_rrc_posMeasGapPreConfigToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PosMeasGapPreConfigToAddModList_r17 },
  { &hf_nr_rrc_posMeasGapPreConfigToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PosMeasGapPreConfigToReleaseList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasGapConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasGapConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t MeasGapConfig_sequence[] = {
  { &hf_nr_rrc_gapFR2       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_gapFR2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasGapConfig, MeasGapConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_gapSharingFR2_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_gapSharingFR2_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_67     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasGapSharingScheme },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_gapSharingFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_gapSharingFR2, T_gapSharingFR2_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_gapSharingFR1_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_gapSharingFR1_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_67     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasGapSharingScheme },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_gapSharingFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_gapSharingFR1, T_gapSharingFR1_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_gapSharingUE_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_gapSharingUE_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_67     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasGapSharingScheme },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_gapSharingUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_gapSharingUE, T_gapSharingUE_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasGapSharingConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_gapSharingFR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gapSharingFR1 },
  { &hf_nr_rrc_gapSharingUE , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gapSharingUE },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasGapSharingConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasGapSharingConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t MeasGapSharingConfig_sequence[] = {
  { &hf_nr_rrc_gapSharingFR2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_gapSharingFR2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapSharingConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasGapSharingConfig, MeasGapSharingConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_interFrequencyConfig_NoGap_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFrequencyConfig_NoGap_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_interFrequencyConfig_NoGap_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFrequencyConfig_NoGap_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t MeasConfig_sequence[] = {
  { &hf_nr_rrc_measObjectToRemoveList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasObjectToRemoveList },
  { &hf_nr_rrc_measObjectToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasObjectToAddModList },
  { &hf_nr_rrc_reportConfigToRemoveList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReportConfigToRemoveList },
  { &hf_nr_rrc_reportConfigToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReportConfigToAddModList },
  { &hf_nr_rrc_measIdToRemoveList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasIdToRemoveList },
  { &hf_nr_rrc_measIdToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasIdToAddModList },
  { &hf_nr_rrc_s_MeasureConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_s_MeasureConfig },
  { &hf_nr_rrc_quantityConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_QuantityConfig },
  { &hf_nr_rrc_measGapConfig_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasGapConfig },
  { &hf_nr_rrc_measGapSharingConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasGapSharingConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasConfig, MeasConfig_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_masterCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);

  return offset;
}


static const value_string nr_rrc_T_fullConfig_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fullConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_DedicatedNAS_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *nas_5gs_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &nas_5gs_tvb);

  if (nas_5gs_tvb && nas_5gs_handle) {
    proto_tree *nas_tree;
    if (nr_rrc_nas_in_root_tree) {
      nas_tree = proto_tree_get_root(tree);
    } else {
      nas_tree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_DedicatedNAS_Message);
    }
    nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, nas_tree);
  }


  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message_sequence_of[1] = {
  { &hf_nr_rrc_dedicatedNAS_MessageList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DedicatedNAS_Message },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message, SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message_sequence_of,
                                                  1, maxDRB, FALSE);

  return offset;
}



static int
dissect_nr_rrc_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_nas_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *nas_5gs_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &nas_5gs_tvb);

  if (nas_5gs_tvb) {
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_nas_Container);
    de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(nas_5gs_tvb, subtree, actx->pinfo);
  }


  return offset;
}


static const per_sequence_t MasterKeyUpdate_sequence[] = {
  { &hf_nr_rrc_keySetChangeIndicator, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_nextHopChainingCount, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount },
  { &hf_nr_rrc_nas_Container, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_nas_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MasterKeyUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MasterKeyUpdate, MasterKeyUpdate_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_dedicatedSIB1_Delivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_SIB1_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_dedicatedSystemInformationDelivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformation_PDU);

  return offset;
}


static const value_string nr_rrc_T_delayBudgetReportingProhibitTimer_vals[] = {
  {   0, "s0" },
  {   1, "s0dot4" },
  {   2, "s0dot8" },
  {   3, "s1dot6" },
  {   4, "s3" },
  {   5, "s6" },
  {   6, "s12" },
  {   7, "s30" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_delayBudgetReportingProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_setup_sequence[] = {
  { &hf_nr_rrc_delayBudgetReportingProhibitTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_delayBudgetReportingProhibitTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_setup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_setup, T_setup_sequence);

  return offset;
}


static const value_string nr_rrc_T_delayBudgetReportingConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_delayBudgetReportingConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_170    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_setup },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_delayBudgetReportingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_delayBudgetReportingConfig, T_delayBudgetReportingConfig_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t OtherConfig_sequence[] = {
  { &hf_nr_rrc_delayBudgetReportingConfig, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_delayBudgetReportingConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OtherConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OtherConfig, OtherConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_overheatingIndicationProhibitTimer_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s5" },
  {   5, "s10" },
  {   6, "s20" },
  {   7, "s30" },
  {   8, "s60" },
  {   9, "s90" },
  {  10, "s120" },
  {  11, "s300" },
  {  12, "s600" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_overheatingIndicationProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t OverheatingAssistanceConfig_sequence[] = {
  { &hf_nr_rrc_overheatingIndicationProhibitTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_overheatingIndicationProhibitTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OverheatingAssistanceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OverheatingAssistanceConfig, OverheatingAssistanceConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_overheatingAssistanceConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_overheatingAssistanceConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_171    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_OverheatingAssistanceConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_overheatingAssistanceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_overheatingAssistanceConfig, T_overheatingAssistanceConfig_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t OtherConfig_v1540_sequence[] = {
  { &hf_nr_rrc_overheatingAssistanceConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_overheatingAssistanceConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OtherConfig_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OtherConfig_v1540, OtherConfig_v1540_sequence);

  return offset;
}


static const value_string nr_rrc_T_mrdc_ReleaseAndAdd_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mrdc_ReleaseAndAdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_T_nr_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_eutra_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *eutra_scg_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &eutra_scg_tvb);

  if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG);
    nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const value_string nr_rrc_T_mrdc_SecondaryCellGroup_vals[] = {
  {   0, "nr-SCG" },
  {   1, "eutra-SCG" },
  { 0, NULL }
};

static const per_choice_t T_mrdc_SecondaryCellGroup_choice[] = {
  {   0, &hf_nr_rrc_nr_SCG       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_SCG },
  {   1, &hf_nr_rrc_eutra_SCG    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_SCG },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_mrdc_SecondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_mrdc_SecondaryCellGroup, T_mrdc_SecondaryCellGroup_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MRDC_SecondaryCellGroupConfig_sequence[] = {
  { &hf_nr_rrc_mrdc_ReleaseAndAdd, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mrdc_ReleaseAndAdd },
  { &hf_nr_rrc_mrdc_SecondaryCellGroup, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mrdc_SecondaryCellGroup },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_SecondaryCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_SecondaryCellGroupConfig, MRDC_SecondaryCellGroupConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_mrdc_SecondaryCellGroupConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_mrdc_SecondaryCellGroupConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_06     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MRDC_SecondaryCellGroupConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_mrdc_SecondaryCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_mrdc_SecondaryCellGroupConfig, T_mrdc_SecondaryCellGroupConfig_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_T_radioBearerConfig2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);

  return offset;
}



static int
dissect_nr_rrc_SK_Counter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, FALSE);

  return offset;
}


static const per_sequence_t CandidateServingFreqListNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_CandidateServingFreqListNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
};

static int
dissect_nr_rrc_CandidateServingFreqListNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CandidateServingFreqListNR_r16, CandidateServingFreqListNR_r16_sequence_of,
                                                  1, maxFreqIDC_r16, FALSE);

  return offset;
}


static const per_sequence_t IDC_AssistanceConfig_r16_sequence[] = {
  { &hf_nr_rrc_candidateServingFreqListNR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CandidateServingFreqListNR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IDC_AssistanceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IDC_AssistanceConfig_r16, IDC_AssistanceConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_idc_AssistanceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_idc_AssistanceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_172    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_IDC_AssistanceConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_idc_AssistanceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_idc_AssistanceConfig_r16, T_idc_AssistanceConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_PreferenceProhibitTimer_r16_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s3" },
  {   5, "s4" },
  {   6, "s5" },
  {   7, "s6" },
  {   8, "s7" },
  {   9, "s8" },
  {  10, "s9" },
  {  11, "s10" },
  {  12, "s20" },
  {  13, "s30" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_PreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DRX_PreferenceConfig_r16_sequence[] = {
  { &hf_nr_rrc_drx_PreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_PreferenceProhibitTimer_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_PreferenceConfig_r16, DRX_PreferenceConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_drx_PreferenceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_drx_PreferenceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_173    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DRX_PreferenceConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_PreferenceConfig_r16, T_drx_PreferenceConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_maxBW_PreferenceProhibitTimer_r16_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s3" },
  {   5, "s4" },
  {   6, "s5" },
  {   7, "s6" },
  {   8, "s7" },
  {   9, "s8" },
  {  10, "s9" },
  {  11, "s10" },
  {  12, "s20" },
  {  13, "s30" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxBW_PreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MaxBW_PreferenceConfig_r16_sequence[] = {
  { &hf_nr_rrc_maxBW_PreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxBW_PreferenceProhibitTimer_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MaxBW_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MaxBW_PreferenceConfig_r16, MaxBW_PreferenceConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxBW_PreferenceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_maxBW_PreferenceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_174    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MaxBW_PreferenceConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_maxBW_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_maxBW_PreferenceConfig_r16, T_maxBW_PreferenceConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_maxCC_PreferenceProhibitTimer_r16_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s3" },
  {   5, "s4" },
  {   6, "s5" },
  {   7, "s6" },
  {   8, "s7" },
  {   9, "s8" },
  {  10, "s9" },
  {  11, "s10" },
  {  12, "s20" },
  {  13, "s30" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxCC_PreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MaxCC_PreferenceConfig_r16_sequence[] = {
  { &hf_nr_rrc_maxCC_PreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCC_PreferenceProhibitTimer_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MaxCC_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MaxCC_PreferenceConfig_r16, MaxCC_PreferenceConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxCC_PreferenceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_maxCC_PreferenceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_175    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MaxCC_PreferenceConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_maxCC_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_maxCC_PreferenceConfig_r16, T_maxCC_PreferenceConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_maxMIMO_LayerPreferenceProhibitTimer_r16_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s3" },
  {   5, "s4" },
  {   6, "s5" },
  {   7, "s6" },
  {   8, "s7" },
  {   9, "s8" },
  {  10, "s9" },
  {  11, "s10" },
  {  12, "s20" },
  {  13, "s30" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxMIMO_LayerPreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MaxMIMO_LayerPreferenceConfig_r16_sequence[] = {
  { &hf_nr_rrc_maxMIMO_LayerPreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxMIMO_LayerPreferenceProhibitTimer_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16, MaxMIMO_LayerPreferenceConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_maxMIMO_LayerPreferenceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_176    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16, T_maxMIMO_LayerPreferenceConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_minSchedulingOffsetPreferenceProhibitTimer_r16_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s3" },
  {   5, "s4" },
  {   6, "s5" },
  {   7, "s6" },
  {   8, "s7" },
  {   9, "s8" },
  {  10, "s9" },
  {  11, "s10" },
  {  12, "s20" },
  {  13, "s30" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minSchedulingOffsetPreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MinSchedulingOffsetPreferenceConfig_r16_sequence[] = {
  { &hf_nr_rrc_minSchedulingOffsetPreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_minSchedulingOffsetPreferenceProhibitTimer_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16, MinSchedulingOffsetPreferenceConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_minSchedulingOffsetPreferenceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_177    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16, T_minSchedulingOffsetPreferenceConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_releasePreferenceProhibitTimer_r16_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s3" },
  {   5, "s4" },
  {   6, "s5" },
  {   7, "s6" },
  {   8, "s7" },
  {   9, "s8" },
  {  10, "s9" },
  {  11, "s10" },
  {  12, "s20" },
  {  13, "s30" },
  {  14, "infinity" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_releasePreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_connectedReporting_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_connectedReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ReleasePreferenceConfig_r16_sequence[] = {
  { &hf_nr_rrc_releasePreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_releasePreferenceProhibitTimer_r16 },
  { &hf_nr_rrc_connectedReporting, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_connectedReporting },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReleasePreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReleasePreferenceConfig_r16, ReleasePreferenceConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_releasePreferenceConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_releasePreferenceConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_178    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ReleasePreferenceConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_releasePreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_releasePreferenceConfig_r16, T_releasePreferenceConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_referenceTimePreferenceReporting_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_referenceTimePreferenceReporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_btNameList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_btNameList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BT_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_btNameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_btNameList_r16, T_btNameList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_wlanNameList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_wlanNameList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_WLAN_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_wlanNameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_wlanNameList_r16, T_wlanNameList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sensorNameList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sensorNameList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_04     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Sensor_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sensorNameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sensorNameList_r16, T_sensorNameList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_obtainCommonLocation_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_obtainCommonLocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_AssistanceConfigNR_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_AssistanceConfigNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t OtherConfig_v1610_sequence[] = {
  { &hf_nr_rrc_idc_AssistanceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idc_AssistanceConfig_r16 },
  { &hf_nr_rrc_drx_PreferenceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_PreferenceConfig_r16 },
  { &hf_nr_rrc_maxBW_PreferenceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxBW_PreferenceConfig_r16 },
  { &hf_nr_rrc_maxCC_PreferenceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxCC_PreferenceConfig_r16 },
  { &hf_nr_rrc_maxMIMO_LayerPreferenceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16 },
  { &hf_nr_rrc_minSchedulingOffsetPreferenceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16 },
  { &hf_nr_rrc_releasePreferenceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_releasePreferenceConfig_r16 },
  { &hf_nr_rrc_referenceTimePreferenceReporting_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_referenceTimePreferenceReporting_r16 },
  { &hf_nr_rrc_btNameList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_btNameList_r16 },
  { &hf_nr_rrc_wlanNameList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_wlanNameList_r16 },
  { &hf_nr_rrc_sensorNameList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sensorNameList_r16 },
  { &hf_nr_rrc_obtainCommonLocation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_obtainCommonLocation_r16 },
  { &hf_nr_rrc_sl_AssistanceConfigNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_AssistanceConfigNR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OtherConfig_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OtherConfig_v1610, OtherConfig_v1610_sequence);

  return offset;
}


static const per_sequence_t BAP_RoutingID_r16_sequence[] = {
  { &hf_nr_rrc_bap_Address_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_bap_PathId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BAP_RoutingID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BAP_RoutingID_r16, BAP_RoutingID_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_BH_RLC_ChannelID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_flowControlFeedbackType_r16_vals[] = {
  {   0, "perBH-RLC-Channel" },
  {   1, "perRoutingID" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_flowControlFeedbackType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BAP_Config_r16_sequence[] = {
  { &hf_nr_rrc_bap_Address_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_defaultUL_BAP_RoutingID_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BAP_RoutingID_r16 },
  { &hf_nr_rrc_defaultUL_BH_RLC_Channel_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BH_RLC_ChannelID_r16 },
  { &hf_nr_rrc_flowControlFeedbackType_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_flowControlFeedbackType_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BAP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BAP_Config_r16, BAP_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_bap_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_bap_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_07     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BAP_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_bap_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_bap_Config_r16, T_bap_Config_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_IAB_IP_AddressIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxIAB_IP_Address_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     128, 128, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_IAB_IP_Address_r16_vals[] = {
  {   0, "iPv4-Address-r16" },
  {   1, "iPv6-Address-r16" },
  {   2, "iPv6-Prefix-r16" },
  { 0, NULL }
};

static const per_choice_t IAB_IP_Address_r16_choice[] = {
  {   0, &hf_nr_rrc_iPv4_Address_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  {   1, &hf_nr_rrc_iPv6_Address_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_128 },
  {   2, &hf_nr_rrc_iPv6_Prefix_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_IAB_IP_Address_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_IAB_IP_Address_r16, IAB_IP_Address_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_IAB_IP_Usage_r16_vals[] = {
  {   0, "f1-C" },
  {   1, "f1-U" },
  {   2, "non-F1" },
  {   3, "spare" },
  { 0, NULL }
};


static int
dissect_nr_rrc_IAB_IP_Usage_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t IAB_IP_AddressConfiguration_r16_sequence[] = {
  { &hf_nr_rrc_iab_IP_AddressIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_IP_AddressIndex_r16 },
  { &hf_nr_rrc_iab_IP_Address_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_Address_r16 },
  { &hf_nr_rrc_iab_IP_Usage_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_Usage_r16 },
  { &hf_nr_rrc_iab_donor_DU_BAP_Address_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IAB_IP_AddressConfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IAB_IP_AddressConfiguration_r16, IAB_IP_AddressConfiguration_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16_sequence_of[1] = {
  { &hf_nr_rrc_iab_IP_AddressToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_IP_AddressConfiguration_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16, SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16_sequence_of,
                                                  1, maxIAB_IP_Address_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16_sequence_of[1] = {
  { &hf_nr_rrc_iab_IP_AddressToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_IP_AddressIndex_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16, SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16_sequence_of,
                                                  1, maxIAB_IP_Address_r16, FALSE);

  return offset;
}


static const per_sequence_t IAB_IP_AddressConfigurationList_r16_sequence[] = {
  { &hf_nr_rrc_iab_IP_AddressToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16 },
  { &hf_nr_rrc_iab_IP_AddressToReleaseList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IAB_IP_AddressConfigurationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IAB_IP_AddressConfigurationList_r16, IAB_IP_AddressConfigurationList_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_attemptCondReconfig_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_attemptCondReconfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_CondReconfigId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofCondCells_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t CondReconfigToRemoveList_r16_sequence_of[1] = {
  { &hf_nr_rrc_CondReconfigToRemoveList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CondReconfigId_r16 },
};

static int
dissect_nr_rrc_CondReconfigToRemoveList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CondReconfigToRemoveList_r16, CondReconfigToRemoveList_r16_sequence_of,
                                                  1, maxNrofCondCells_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_2_OF_MeasId_sequence_of[1] = {
  { &hf_nr_rrc_condExecutionCond_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId, SEQUENCE_SIZE_1_2_OF_MeasId_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_condRRCReconfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_condExecutionCondSCG_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CondReconfigExecCondSCG_r17_PDU);

  return offset;
}


static const per_sequence_t CondReconfigToAddMod_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_condExecutionCondSCG_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condExecutionCondSCG_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CondReconfigToAddMod_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CondReconfigToAddMod_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t CondReconfigToAddMod_r16_sequence[] = {
  { &hf_nr_rrc_condReconfigId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CondReconfigId_r16 },
  { &hf_nr_rrc_condExecutionCond_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId },
  { &hf_nr_rrc_condRRCReconfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_condRRCReconfig_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CondReconfigToAddMod_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CondReconfigToAddMod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CondReconfigToAddMod_r16, CondReconfigToAddMod_r16_sequence);

  return offset;
}


static const per_sequence_t CondReconfigToAddModList_r16_sequence_of[1] = {
  { &hf_nr_rrc_CondReconfigToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CondReconfigToAddMod_r16 },
};

static int
dissect_nr_rrc_CondReconfigToAddModList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CondReconfigToAddModList_r16, CondReconfigToAddModList_r16_sequence_of,
                                                  1, maxNrofCondCells_r16, FALSE);

  return offset;
}


static const per_sequence_t ConditionalReconfiguration_r16_sequence[] = {
  { &hf_nr_rrc_attemptCondReconfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_attemptCondReconfig_r16 },
  { &hf_nr_rrc_condReconfigToRemoveList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CondReconfigToRemoveList_r16 },
  { &hf_nr_rrc_condReconfigToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CondReconfigToAddModList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConditionalReconfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ConditionalReconfiguration_r16, ConditionalReconfiguration_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_daps_SourceRelease_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_daps_SourceRelease_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T316_r16_vals[] = {
  {   0, "ms50" },
  {   1, "ms100" },
  {   2, "ms200" },
  {   3, "ms300" },
  {   4, "ms400" },
  {   5, "ms500" },
  {   6, "ms600" },
  {   7, "ms1000" },
  {   8, "ms1500" },
  {   9, "ms2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T316_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t316_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_t316_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_08     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T316_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_t316_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_t316_r16, T_t316_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t NeedForGapsConfigNR_r16_sequence[] = {
  { &hf_nr_rrc_requestedTargetBandFilterNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForGapsConfigNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForGapsConfigNR_r16, NeedForGapsConfigNR_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_needForGapsConfigNR_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_needForGapsConfigNR_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_09     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NeedForGapsConfigNR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_needForGapsConfigNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_needForGapsConfigNR_r16, T_needForGapsConfigNR_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_onDemandSIB_RequestProhibitTimer_r16_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s5" },
  {   5, "s10" },
  {   6, "s20" },
  {   7, "s30" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_onDemandSIB_RequestProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t OnDemandSIB_Request_r16_sequence[] = {
  { &hf_nr_rrc_onDemandSIB_RequestProhibitTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_onDemandSIB_RequestProhibitTimer_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OnDemandSIB_Request_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OnDemandSIB_Request_r16, OnDemandSIB_Request_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_onDemandSIB_Request_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_onDemandSIB_Request_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_10     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_OnDemandSIB_Request_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_onDemandSIB_Request_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_onDemandSIB_Request_r16, T_onDemandSIB_Request_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_T_dedicatedPosSysInfoDelivery_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_PosSystemInformation_r16_IEs_PDU);

  return offset;
}


static const value_string nr_rrc_T_sl_ConfigDedicatedNR_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_ConfigDedicatedNR_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_11     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_ConfigDedicatedNR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_ConfigDedicatedNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_ConfigDedicatedNR_r16, T_sl_ConfigDedicatedNR_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_T_sl_ConfigDedicatedEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_config_ded_eutra_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_config_ded_eutra_tvb);

  if (sl_config_ded_eutra_tvb && lte_rrc_conn_reconf_handle) {
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ConfigDedicatedEUTRA);
    nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, sl_config_ded_eutra_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const value_string nr_rrc_SL_TimeOffsetEUTRA_r16_vals[] = {
  {   0, "ms0" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  {   3, "ms0dot625" },
  {   4, "ms0dot75" },
  {   5, "ms1" },
  {   6, "ms1dot25" },
  {   7, "ms1dot5" },
  {   8, "ms1dot75" },
  {   9, "ms2" },
  {  10, "ms2dot5" },
  {  11, "ms3" },
  {  12, "ms4" },
  {  13, "ms5" },
  {  14, "ms6" },
  {  15, "ms8" },
  {  16, "ms10" },
  {  17, "ms20" },
  { 0, NULL }
};

static value_string_ext nr_rrc_SL_TimeOffsetEUTRA_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SL_TimeOffsetEUTRA_r16_vals);


static int
dissect_nr_rrc_SL_TimeOffsetEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     18, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TimeOffsetEUTRA_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16, SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16_sequence_of,
                                                  8, 8, FALSE);

  return offset;
}


static const per_sequence_t SL_ConfigDedicatedEUTRA_Info_r16_sequence[] = {
  { &hf_nr_rrc_sl_ConfigDedicatedEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ConfigDedicatedEUTRA_r16 },
  { &hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16, SL_ConfigDedicatedEUTRA_Info_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_ConfigDedicatedEUTRA_Info_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_12     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16, T_sl_ConfigDedicatedEUTRA_Info_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_GapFR2_PreferenceConfig_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_GapFR2_PreferenceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_musim_GapProhibitTimer_r17_vals[] = {
  {   0, "s0" },
  {   1, "s0dot1" },
  {   2, "s0dot2" },
  {   3, "s0dot3" },
  {   4, "s0dot4" },
  {   5, "s0dot5" },
  {   6, "s1" },
  {   7, "s2" },
  {   8, "s3" },
  {   9, "s4" },
  {  10, "s5" },
  {  11, "s6" },
  {  12, "s7" },
  {  13, "s8" },
  {  14, "s9" },
  {  15, "s10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_musim_GapProhibitTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MUSIM_GapAssistanceConfig_r17_sequence[] = {
  { &hf_nr_rrc_musim_GapProhibitTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_musim_GapProhibitTimer_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MUSIM_GapAssistanceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MUSIM_GapAssistanceConfig_r17, MUSIM_GapAssistanceConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_musim_GapAssistanceConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_musim_GapAssistanceConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_179    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MUSIM_GapAssistanceConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_musim_GapAssistanceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_musim_GapAssistanceConfig_r17, T_musim_GapAssistanceConfig_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_musim_LeaveWithoutResponseTimer_r17_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms40" },
  {   3, "ms60" },
  {   4, "ms80" },
  {   5, "ms100" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_musim_LeaveWithoutResponseTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MUSIM_LeaveAssistanceConfig_r17_sequence[] = {
  { &hf_nr_rrc_musim_LeaveWithoutResponseTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_musim_LeaveWithoutResponseTimer_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MUSIM_LeaveAssistanceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MUSIM_LeaveAssistanceConfig_r17, MUSIM_LeaveAssistanceConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_musim_LeaveAssistanceConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_musim_LeaveAssistanceConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_180    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MUSIM_LeaveAssistanceConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_musim_LeaveAssistanceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_musim_LeaveAssistanceConfig_r17, T_musim_LeaveAssistanceConfig_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_thresholdPercentageT304_r17_vals[] = {
  {   0, "p40" },
  {   1, "p60" },
  {   2, "p80" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_thresholdPercentageT304_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_thresholdPercentageT310_r17_vals[] = {
  {   0, "p40" },
  {   1, "p60" },
  {   2, "p80" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_thresholdPercentageT310_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_thresholdPercentageT312_r17_vals[] = {
  {   0, "p20" },
  {   1, "p40" },
  {   2, "p60" },
  {   3, "p80" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_thresholdPercentageT312_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sourceDAPS_FailureReporting_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sourceDAPS_FailureReporting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SuccessHO_Config_r17_sequence[] = {
  { &hf_nr_rrc_thresholdPercentageT304_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_thresholdPercentageT304_r17 },
  { &hf_nr_rrc_thresholdPercentageT310_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_thresholdPercentageT310_r17 },
  { &hf_nr_rrc_thresholdPercentageT312_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_thresholdPercentageT312_r17 },
  { &hf_nr_rrc_sourceDAPS_FailureReporting_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sourceDAPS_FailureReporting_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SuccessHO_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SuccessHO_Config_r17, SuccessHO_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_successHO_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_successHO_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_181    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SuccessHO_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_successHO_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_successHO_Config_r17, T_successHO_Config_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_maxBW_PreferenceConfigFR2_2_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxBW_PreferenceConfigFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxMIMO_LayerPreferenceConfigFR2_2_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxMIMO_LayerPreferenceConfigFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_minSchedulingOffsetPreferenceConfigExt_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minSchedulingOffsetPreferenceConfigExt_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rlm_RelaxtionReportingProhibitTimer_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s5" },
  {   5, "s10" },
  {   6, "s20" },
  {   7, "s30" },
  {   8, "s60" },
  {   9, "s90" },
  {  10, "s120" },
  {  11, "s300" },
  {  12, "s600" },
  {  13, "infinity" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlm_RelaxtionReportingProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RLM_RelaxationReportingConfig_r17_sequence[] = {
  { &hf_nr_rrc_rlm_RelaxtionReportingProhibitTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rlm_RelaxtionReportingProhibitTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLM_RelaxationReportingConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RLM_RelaxationReportingConfig_r17, RLM_RelaxationReportingConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_rlm_RelaxationReportingConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_rlm_RelaxationReportingConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_182    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RLM_RelaxationReportingConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_rlm_RelaxationReportingConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_rlm_RelaxationReportingConfig_r17, T_rlm_RelaxationReportingConfig_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_bfd_RelaxtionReportingProhibitTimer_vals[] = {
  {   0, "s0" },
  {   1, "s0dot5" },
  {   2, "s1" },
  {   3, "s2" },
  {   4, "s5" },
  {   5, "s10" },
  {   6, "s20" },
  {   7, "s30" },
  {   8, "s60" },
  {   9, "s90" },
  {  10, "s120" },
  {  11, "s300" },
  {  12, "s600" },
  {  13, "infinity" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bfd_RelaxtionReportingProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BFD_RelaxationReportingConfig_r17_sequence[] = {
  { &hf_nr_rrc_bfd_RelaxtionReportingProhibitTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bfd_RelaxtionReportingProhibitTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BFD_RelaxationReportingConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BFD_RelaxationReportingConfig_r17, BFD_RelaxationReportingConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_bfd_RelaxationReportingConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_bfd_RelaxationReportingConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_183    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BFD_RelaxationReportingConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_bfd_RelaxationReportingConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_bfd_RelaxationReportingConfig_r17, T_bfd_RelaxationReportingConfig_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scg_DeactivationPreferenceProhibitTimer_r17_vals[] = {
  {   0, "s0" },
  {   1, "s1" },
  {   2, "s2" },
  {   3, "s4" },
  {   4, "s8" },
  {   5, "s10" },
  {   6, "s15" },
  {   7, "s30" },
  {   8, "s60" },
  {   9, "s120" },
  {  10, "s180" },
  {  11, "s240" },
  {  12, "s300" },
  {  13, "s600" },
  {  14, "s900" },
  {  15, "s1800" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_DeactivationPreferenceProhibitTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SCG_DeactivationPreferenceConfig_r17_sequence[] = {
  { &hf_nr_rrc_scg_DeactivationPreferenceProhibitTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scg_DeactivationPreferenceProhibitTimer_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCG_DeactivationPreferenceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCG_DeactivationPreferenceConfig_r17, SCG_DeactivationPreferenceConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_scg_DeactivationPreferenceConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_scg_DeactivationPreferenceConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_184    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SCG_DeactivationPreferenceConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scg_DeactivationPreferenceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scg_DeactivationPreferenceConfig_r17, T_scg_DeactivationPreferenceConfig_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_s_SearchDeltaP_Stationary_r17_01_vals[] = {
  {   0, "dB2" },
  {   1, "dB3" },
  {   2, "dB6" },
  {   3, "dB9" },
  {   4, "dB12" },
  {   5, "dB15" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_s_SearchDeltaP_Stationary_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t_SearchDeltaP_Stationary_r17_01_vals[] = {
  {   0, "s5" },
  {   1, "s10" },
  {   2, "s20" },
  {   3, "s30" },
  {   4, "s60" },
  {   5, "s120" },
  {   6, "s180" },
  {   7, "s240" },
  {   8, "s300" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t_SearchDeltaP_Stationary_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RRM_MeasRelaxationReportingConfig_r17_sequence[] = {
  { &hf_nr_rrc_s_SearchDeltaP_Stationary_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_s_SearchDeltaP_Stationary_r17_01 },
  { &hf_nr_rrc_t_SearchDeltaP_Stationary_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_SearchDeltaP_Stationary_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRM_MeasRelaxationReportingConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRM_MeasRelaxationReportingConfig_r17, RRM_MeasRelaxationReportingConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_rrm_MeasRelaxationReportingConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_rrm_MeasRelaxationReportingConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_185    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRM_MeasRelaxationReportingConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_rrm_MeasRelaxationReportingConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_rrm_MeasRelaxationReportingConfig_r17, T_rrm_MeasRelaxationReportingConfig_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_threshPropDelayDiff_r17_vals[] = {
  {   0, "ms0dot5" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms6" },
  {   7, "ms7" },
  {   8, "ms8" },
  {   9, "ms9" },
  {  10, "ms10" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_threshPropDelayDiff_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NeighbourCellInfo_r17_sequence[] = {
  { &hf_nr_rrc_epochTime_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EpochTime_r17 },
  { &hf_nr_rrc_ephemerisInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EphemerisInfo_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeighbourCellInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeighbourCellInfo_r17, NeighbourCellInfo_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17_sequence_of[1] = {
  { &hf_nr_rrc_neighCellInfoList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeighbourCellInfo_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17, SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17_sequence_of,
                                                  1, maxCellNTN_r17, FALSE);

  return offset;
}


static const per_sequence_t PropDelayDiffReportConfig_r17_sequence[] = {
  { &hf_nr_rrc_threshPropDelayDiff_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_threshPropDelayDiff_r17 },
  { &hf_nr_rrc_neighCellInfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PropDelayDiffReportConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PropDelayDiffReportConfig_r17, PropDelayDiffReportConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_propDelayDiffReportConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_propDelayDiffReportConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_186    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PropDelayDiffReportConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_propDelayDiffReportConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_propDelayDiffReportConfig_r17, T_propDelayDiffReportConfig_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t OtherConfig_v1700_sequence[] = {
  { &hf_nr_rrc_ul_GapFR2_PreferenceConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_GapFR2_PreferenceConfig_r17 },
  { &hf_nr_rrc_musim_GapAssistanceConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_musim_GapAssistanceConfig_r17 },
  { &hf_nr_rrc_musim_LeaveAssistanceConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_musim_LeaveAssistanceConfig_r17 },
  { &hf_nr_rrc_successHO_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_successHO_Config_r17 },
  { &hf_nr_rrc_maxBW_PreferenceConfigFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxBW_PreferenceConfigFR2_2_r17 },
  { &hf_nr_rrc_maxMIMO_LayerPreferenceConfigFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxMIMO_LayerPreferenceConfigFR2_2_r17 },
  { &hf_nr_rrc_minSchedulingOffsetPreferenceConfigExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minSchedulingOffsetPreferenceConfigExt_r17 },
  { &hf_nr_rrc_rlm_RelaxationReportingConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlm_RelaxationReportingConfig_r17 },
  { &hf_nr_rrc_bfd_RelaxationReportingConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bfd_RelaxationReportingConfig_r17 },
  { &hf_nr_rrc_scg_DeactivationPreferenceConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_DeactivationPreferenceConfig_r17 },
  { &hf_nr_rrc_rrm_MeasRelaxationReportingConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rrm_MeasRelaxationReportingConfig_r17 },
  { &hf_nr_rrc_propDelayDiffReportConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_propDelayDiffReportConfig_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OtherConfig_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OtherConfig_v1700, OtherConfig_v1700_sequence);

  return offset;
}



static int
dissect_nr_rrc_SL_DestinationIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t SL_RemoteUE_ToAddMod_r17_sequence[] = {
  { &hf_nr_rrc_sl_L2IdentityRemote_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIdentity_r16 },
  { &hf_nr_rrc_sl_SRAP_ConfigRelay_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SRAP_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RemoteUE_ToAddMod_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RemoteUE_ToAddMod_r17, SL_RemoteUE_ToAddMod_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_RemoteUE_ToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RemoteUE_ToAddMod_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17, SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17_sequence_of,
                                                  1, maxNrofRemoteUE_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_RemoteUE_ToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIdentity_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16, SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16_sequence_of,
                                                  1, maxNrofRemoteUE_r17, FALSE);

  return offset;
}


static const per_sequence_t SL_L2RelayUE_Config_r17_sequence[] = {
  { &hf_nr_rrc_sl_RemoteUE_ToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17 },
  { &hf_nr_rrc_sl_RemoteUE_ToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_L2RelayUE_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_L2RelayUE_Config_r17, SL_L2RelayUE_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_L2RelayUE_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_L2RelayUE_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_13     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_L2RelayUE_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_L2RelayUE_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_L2RelayUE_Config_r17, T_sl_L2RelayUE_Config_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_L2RemoteUE_Config_r17_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_L2RemoteUE_Config_r17_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_05     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_L2RemoteUE_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_L2RemoteUE_Config_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_L2RemoteUE_Config_r17_01, T_sl_L2RemoteUE_Config_r17_01_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_T_dedicatedPagingDelivery_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_Paging_PDU);

  return offset;
}


static const per_sequence_t NeedForGapNCSG_ConfigNR_r17_sequence[] = {
  { &hf_nr_rrc_requestedTargetBandFilterNCSG_NR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForGapNCSG_ConfigNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForGapNCSG_ConfigNR_r17, NeedForGapNCSG_ConfigNR_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_needForGapNCSG_ConfigNR_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_needForGapNCSG_ConfigNR_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_14     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NeedForGapNCSG_ConfigNR_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_needForGapNCSG_ConfigNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_needForGapNCSG_ConfigNR_r17, T_needForGapNCSG_ConfigNR_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_requestedTargetBandFilterNCSG_EUTRA_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA, SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA_sequence_of,
                                                  1, maxBandsEUTRA, FALSE);

  return offset;
}


static const per_sequence_t NeedForGapNCSG_ConfigEUTRA_r17_sequence[] = {
  { &hf_nr_rrc_requestedTargetBandFilterNCSG_EUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NeedForGapNCSG_ConfigEUTRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NeedForGapNCSG_ConfigEUTRA_r17, NeedForGapNCSG_ConfigEUTRA_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_needForGapNCSG_ConfigEUTRA_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_15     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NeedForGapNCSG_ConfigEUTRA_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17, T_needForGapNCSG_ConfigEUTRA_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_MUSIM_GapId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17_sequence_of[1] = {
  { &hf_nr_rrc_musim_GapToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MUSIM_GapId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17, SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const per_sequence_t MUSIM_Starting_SFN_AndSubframe_r17_sequence[] = {
  { &hf_nr_rrc_starting_SFN_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_startingSubframe_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_9 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MUSIM_Starting_SFN_AndSubframe_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MUSIM_Starting_SFN_AndSubframe_r17, MUSIM_Starting_SFN_AndSubframe_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_musim_GapLength_r17_vals[] = {
  {   0, "ms3" },
  {   1, "ms4" },
  {   2, "ms6" },
  {   3, "ms10" },
  {   4, "ms20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_musim_GapLength_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_musim_GapRepetitionAndOffset_r17_vals[] = {
  {   0, "ms20-r17" },
  {   1, "ms40-r17" },
  {   2, "ms80-r17" },
  {   3, "ms160-r17" },
  {   4, "ms320-r17" },
  {   5, "ms640-r17" },
  {   6, "ms1280-r17" },
  {   7, "ms2560-r17" },
  {   8, "ms5120-r17" },
  { 0, NULL }
};

static const per_choice_t T_musim_GapRepetitionAndOffset_r17_choice[] = {
  {   0, &hf_nr_rrc_ms20_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   1, &hf_nr_rrc_ms40_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   2, &hf_nr_rrc_ms80_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   3, &hf_nr_rrc_ms160_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {   4, &hf_nr_rrc_ms320_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {   5, &hf_nr_rrc_ms640_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {   6, &hf_nr_rrc_ms1280_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {   7, &hf_nr_rrc_ms2560_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {   8, &hf_nr_rrc_ms5120_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_musim_GapRepetitionAndOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_musim_GapRepetitionAndOffset_r17, T_musim_GapRepetitionAndOffset_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MUSIM_GapInfo_r17_sequence[] = {
  { &hf_nr_rrc_musim_Starting_SFN_AndSubframe_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MUSIM_Starting_SFN_AndSubframe_r17 },
  { &hf_nr_rrc_musim_GapLength_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_musim_GapLength_r17 },
  { &hf_nr_rrc_musim_GapRepetitionAndOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_musim_GapRepetitionAndOffset_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MUSIM_GapInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MUSIM_GapInfo_r17, MUSIM_GapInfo_r17_sequence);

  return offset;
}


static const per_sequence_t MUSIM_Gap_r17_sequence[] = {
  { &hf_nr_rrc_musim_GapId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MUSIM_GapId_r17 },
  { &hf_nr_rrc_musim_GapInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MUSIM_GapInfo_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MUSIM_Gap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MUSIM_Gap_r17, MUSIM_Gap_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17_sequence_of[1] = {
  { &hf_nr_rrc_musim_GapToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MUSIM_Gap_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17, SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const per_sequence_t MUSIM_GapConfig_r17_sequence[] = {
  { &hf_nr_rrc_musim_GapToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17 },
  { &hf_nr_rrc_musim_GapToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17 },
  { &hf_nr_rrc_musim_AperiodicGap_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MUSIM_GapInfo_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MUSIM_GapConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MUSIM_GapConfig_r17, MUSIM_GapConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_musim_GapConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_musim_GapConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_16     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MUSIM_GapConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_musim_GapConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_musim_GapConfig_r17, T_musim_GapConfig_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ugl_r17_vals[] = {
  {   0, "ms0dot125" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  {   3, "ms1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ugl_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ugrp_r17_vals[] = {
  {   0, "ms5" },
  {   1, "ms20" },
  {   2, "ms40" },
  {   3, "ms160" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ugrp_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UL_GapFR2_Config_r17_sequence[] = {
  { &hf_nr_rrc_gapOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 },
  { &hf_nr_rrc_ugl_r17      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ugl_r17 },
  { &hf_nr_rrc_ugrp_r17     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ugrp_r17 },
  { &hf_nr_rrc_refFR2_ServCellAsyncCA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_GapFR2_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_GapFR2_Config_r17, UL_GapFR2_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_GapFR2_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_GapFR2_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_17     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_GapFR2_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_GapFR2_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_GapFR2_Config_r17, T_ul_GapFR2_Config_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scg_State_r17_vals[] = {
  {   0, "deactivated" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_State_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_MeasConfigAppLayerId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofAppLayerMeas_1_r17, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_OCTET_STRING_SIZE_1_8000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       1, 8000, FALSE, NULL);

  return offset;
}


static const value_string nr_rrc_T_serviceType_r17_vals[] = {
  {   0, "streaming" },
  {   1, "mtsi" },
  {   2, "vr" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_serviceType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ran_VisiblePeriodicity_r17_vals[] = {
  {   0, "ms120" },
  {   1, "ms240" },
  {   2, "ms480" },
  {   3, "ms640" },
  {   4, "ms1024" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ran_VisiblePeriodicity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RAN_VisibleParameters_r17_sequence[] = {
  { &hf_nr_rrc_ran_VisiblePeriodicity_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ran_VisiblePeriodicity_r17 },
  { &hf_nr_rrc_numberOfBufferLevelEntries_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_reportPlayoutDelayForMediaStartup_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RAN_VisibleParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RAN_VisibleParameters_r17, RAN_VisibleParameters_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ran_VisibleParameters_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ran_VisibleParameters_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_169    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RAN_VisibleParameters_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ran_VisibleParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ran_VisibleParameters_r17, T_ran_VisibleParameters_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasConfigAppLayer_r17_sequence[] = {
  { &hf_nr_rrc_measConfigAppLayerId_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfigAppLayerId_r17 },
  { &hf_nr_rrc_measConfigAppLayerContainer_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING_SIZE_1_8000 },
  { &hf_nr_rrc_serviceType_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_serviceType_r17 },
  { &hf_nr_rrc_pauseReporting_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_transmissionOfSessionStartStop_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_ran_VisibleParameters_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ran_VisibleParameters_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasConfigAppLayer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasConfigAppLayer_r17, MeasConfigAppLayer_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17_sequence_of[1] = {
  { &hf_nr_rrc_measConfigAppLayerToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfigAppLayer_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17, SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17_sequence_of,
                                                  1, maxNrofAppLayerMeas_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17_sequence_of[1] = {
  { &hf_nr_rrc_measConfigAppLayerToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfigAppLayerId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17, SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17_sequence_of,
                                                  1, maxNrofAppLayerMeas_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_rrc_SegAllowed_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rrc_SegAllowed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t AppLayerMeasConfig_r17_sequence[] = {
  { &hf_nr_rrc_measConfigAppLayerToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17 },
  { &hf_nr_rrc_measConfigAppLayerToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17 },
  { &hf_nr_rrc_rrc_SegAllowed_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rrc_SegAllowed_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AppLayerMeasConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AppLayerMeasConfig_r17, AppLayerMeasConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_periodicReporting_r17_vals[] = {
  {   0, "ms160" },
  {   1, "ms320" },
  {   2, "ms1280" },
  {   3, "ms2560" },
  {   4, "ms61440" },
  {   5, "ms81920" },
  {   6, "ms368640" },
  {   7, "ms737280" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicReporting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_UE_TxTEG_RequestUL_TDOA_Config_r17_vals[] = {
  {   0, "oneShot-r17" },
  {   1, "periodicReporting-r17" },
  { 0, NULL }
};

static const per_choice_t UE_TxTEG_RequestUL_TDOA_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_oneShot_r17  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_periodicReporting_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_periodicReporting_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_UE_TxTEG_RequestUL_TDOA_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_UE_TxTEG_RequestUL_TDOA_Config_r17, UE_TxTEG_RequestUL_TDOA_Config_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_TxTEG_RequestUL_TDOA_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ue_TxTEG_RequestUL_TDOA_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_18     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UE_TxTEG_RequestUL_TDOA_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ue_TxTEG_RequestUL_TDOA_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ue_TxTEG_RequestUL_TDOA_Config_r17, T_ue_TxTEG_RequestUL_TDOA_Config_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_26_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_26, T_nonCriticalExtension_26_sequence);

  return offset;
}


static const per_sequence_t RRCReconfiguration_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_otherConfig_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OtherConfig_v1700 },
  { &hf_nr_rrc_sl_L2RelayUE_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_L2RelayUE_Config_r17 },
  { &hf_nr_rrc_sl_L2RemoteUE_Config_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_L2RemoteUE_Config_r17_01 },
  { &hf_nr_rrc_dedicatedPagingDelivery_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dedicatedPagingDelivery_r17 },
  { &hf_nr_rrc_needForGapNCSG_ConfigNR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_needForGapNCSG_ConfigNR_r17 },
  { &hf_nr_rrc_needForGapNCSG_ConfigEUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17 },
  { &hf_nr_rrc_musim_GapConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_musim_GapConfig_r17 },
  { &hf_nr_rrc_ul_GapFR2_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_GapFR2_Config_r17 },
  { &hf_nr_rrc_scg_State_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_State_r17 },
  { &hf_nr_rrc_appLayerMeasConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AppLayerMeasConfig_r17 },
  { &hf_nr_rrc_ue_TxTEG_RequestUL_TDOA_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_TxTEG_RequestUL_TDOA_Config_r17 },
  { &hf_nr_rrc_nonCriticalExtension_61, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_26 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfiguration_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfiguration_v1700_IEs, RRCReconfiguration_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfiguration_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_otherConfig_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OtherConfig_v1610 },
  { &hf_nr_rrc_bap_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bap_Config_r16 },
  { &hf_nr_rrc_iab_IP_AddressConfigurationList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_AddressConfigurationList_r16 },
  { &hf_nr_rrc_conditionalReconfiguration_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConditionalReconfiguration_r16 },
  { &hf_nr_rrc_daps_SourceRelease_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_daps_SourceRelease_r16 },
  { &hf_nr_rrc_t316_r16     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_t316_r16 },
  { &hf_nr_rrc_needForGapsConfigNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_needForGapsConfigNR_r16 },
  { &hf_nr_rrc_onDemandSIB_Request_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_onDemandSIB_Request_r16 },
  { &hf_nr_rrc_dedicatedPosSysInfoDelivery_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dedicatedPosSysInfoDelivery_r16 },
  { &hf_nr_rrc_sl_ConfigDedicatedNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ConfigDedicatedNR_r16 },
  { &hf_nr_rrc_sl_ConfigDedicatedEUTRA_Info_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16 },
  { &hf_nr_rrc_targetCellSMTC_SCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC },
  { &hf_nr_rrc_nonCriticalExtension_60, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfiguration_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfiguration_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfiguration_v1610_IEs, RRCReconfiguration_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfiguration_v1560_IEs_sequence[] = {
  { &hf_nr_rrc_mrdc_SecondaryCellGroupConfig, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mrdc_SecondaryCellGroupConfig },
  { &hf_nr_rrc_radioBearerConfig2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_radioBearerConfig2 },
  { &hf_nr_rrc_sk_Counter   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SK_Counter },
  { &hf_nr_rrc_nonCriticalExtension_59, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfiguration_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfiguration_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfiguration_v1560_IEs, RRCReconfiguration_v1560_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfiguration_v1540_IEs_sequence[] = {
  { &hf_nr_rrc_otherConfig_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OtherConfig_v1540 },
  { &hf_nr_rrc_nonCriticalExtension_58, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfiguration_v1560_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfiguration_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfiguration_v1540_IEs, RRCReconfiguration_v1540_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfiguration_v1530_IEs_sequence[] = {
  { &hf_nr_rrc_masterCellGroup, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_masterCellGroup },
  { &hf_nr_rrc_fullConfig   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fullConfig },
  { &hf_nr_rrc_dedicatedNAS_MessageList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message },
  { &hf_nr_rrc_masterKeyUpdate, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MasterKeyUpdate },
  { &hf_nr_rrc_dedicatedSIB1_Delivery, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dedicatedSIB1_Delivery },
  { &hf_nr_rrc_dedicatedSystemInformationDelivery, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dedicatedSystemInformationDelivery },
  { &hf_nr_rrc_otherConfig  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OtherConfig },
  { &hf_nr_rrc_nonCriticalExtension_57, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfiguration_v1540_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfiguration_v1530_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfiguration_v1530_IEs, RRCReconfiguration_v1530_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfiguration_IEs_sequence[] = {
  { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RadioBearerConfig },
  { &hf_nr_rrc_secondaryCellGroup, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_secondaryCellGroup },
  { &hf_nr_rrc_measConfig   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasConfig },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_56, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfiguration_v1530_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfiguration_IEs, RRCReconfiguration_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_25_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_25, T_criticalExtensionsFuture_25_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_25_vals[] = {
  {   0, "rrcReconfiguration" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_25_choice[] = {
  {   0, &hf_nr_rrc_rrcReconfiguration_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfiguration_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_25, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_25 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_25, T_criticalExtensions_25_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCReconfiguration_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_25, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_25 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfiguration, RRCReconfiguration_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_masterCellGroup_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);

  return offset;
}


static const value_string nr_rrc_T_fullConfig_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fullConfig_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_T_radioBearerConfig2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);

  return offset;
}


static const value_string nr_rrc_T_idleModeMeasurementReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleModeMeasurementReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_restoreMCG_SCells_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_restoreMCG_SCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_restoreSCG_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_restoreSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_T_nr_SCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_eutra_SCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *eutra_scg_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &eutra_scg_tvb);

  if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG);
    nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const value_string nr_rrc_T_mrdc_SecondaryCellGroup_r16_vals[] = {
  {   0, "nr-SCG-r16" },
  {   1, "eutra-SCG-r16" },
  { 0, NULL }
};

static const per_choice_t T_mrdc_SecondaryCellGroup_r16_choice[] = {
  {   0, &hf_nr_rrc_nr_SCG_r16   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_SCG_r16 },
  {   1, &hf_nr_rrc_eutra_SCG_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_SCG_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_mrdc_SecondaryCellGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_mrdc_SecondaryCellGroup_r16, T_mrdc_SecondaryCellGroup_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_needForGapsConfigNR_r16_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_needForGapsConfigNR_r16_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_09     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NeedForGapsConfigNR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_needForGapsConfigNR_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_needForGapsConfigNR_r16_01, T_needForGapsConfigNR_r16_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ConfigDedicatedNR_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_ConfigDedicatedNR_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_11     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_ConfigDedicatedNR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_ConfigDedicatedNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_ConfigDedicatedNR_r17, T_sl_ConfigDedicatedNR_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_L2RemoteUE_Config_r17_02_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_L2RemoteUE_Config_r17_02_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_05     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_L2RemoteUE_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_L2RemoteUE_Config_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_L2RemoteUE_Config_r17_02, T_sl_L2RemoteUE_Config_r17_02_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_needForGapNCSG_ConfigNR_r17_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_needForGapNCSG_ConfigNR_r17_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_14     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NeedForGapNCSG_ConfigNR_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_needForGapNCSG_ConfigNR_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_needForGapNCSG_ConfigNR_r17_01, T_needForGapNCSG_ConfigNR_r17_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_needForGapNCSG_ConfigEUTRA_r17_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_15     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NeedForGapNCSG_ConfigEUTRA_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_01, T_needForGapNCSG_ConfigEUTRA_r17_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scg_State_r17_01_vals[] = {
  {   0, "deactivated" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_State_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_30_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_30, T_nonCriticalExtension_30_sequence);

  return offset;
}


static const per_sequence_t RRCResume_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_sl_ConfigDedicatedNR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ConfigDedicatedNR_r17 },
  { &hf_nr_rrc_sl_L2RemoteUE_Config_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_L2RemoteUE_Config_r17_02 },
  { &hf_nr_rrc_needForGapNCSG_ConfigNR_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_needForGapNCSG_ConfigNR_r17_01 },
  { &hf_nr_rrc_needForGapNCSG_ConfigEUTRA_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_01 },
  { &hf_nr_rrc_scg_State_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_State_r17_01 },
  { &hf_nr_rrc_appLayerMeasConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AppLayerMeasConfig_r17 },
  { &hf_nr_rrc_nonCriticalExtension_78, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_30 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResume_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResume_v1700_IEs, RRCResume_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResume_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_idleModeMeasurementReq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleModeMeasurementReq_r16 },
  { &hf_nr_rrc_restoreMCG_SCells_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_restoreMCG_SCells_r16 },
  { &hf_nr_rrc_restoreSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_restoreSCG_r16 },
  { &hf_nr_rrc_mrdc_SecondaryCellGroup_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mrdc_SecondaryCellGroup_r16 },
  { &hf_nr_rrc_needForGapsConfigNR_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_needForGapsConfigNR_r16_01 },
  { &hf_nr_rrc_nonCriticalExtension_77, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCResume_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResume_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResume_v1610_IEs, RRCResume_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResume_v1560_IEs_sequence[] = {
  { &hf_nr_rrc_radioBearerConfig2_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_radioBearerConfig2_01 },
  { &hf_nr_rrc_sk_Counter   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SK_Counter },
  { &hf_nr_rrc_nonCriticalExtension_76, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCResume_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResume_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResume_v1560_IEs, RRCResume_v1560_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResume_IEs_sequence[] = {
  { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RadioBearerConfig },
  { &hf_nr_rrc_masterCellGroup_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_masterCellGroup_01 },
  { &hf_nr_rrc_measConfig   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasConfig },
  { &hf_nr_rrc_fullConfig_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fullConfig_01 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_75, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCResume_v1560_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResume_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResume_IEs, RRCResume_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_29_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_29, T_criticalExtensionsFuture_29_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_29_vals[] = {
  {   0, "rrcResume" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_29_choice[] = {
  {   0, &hf_nr_rrc_rrcResume_01 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCResume_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_29, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_29 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_29, T_criticalExtensions_29_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCResume_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_29, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_29 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResume, RRCResume_sequence);

  return offset;
}


static const per_sequence_t CarrierInfoNR_sequence[] = {
  { &hf_nr_rrc_carrierFreq  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_smtc         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CarrierInfoNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CarrierInfoNR, CarrierInfoNR_sequence);

  return offset;
}


static const value_string nr_rrc_T_cnType_vals[] = {
  {   0, "epc" },
  {   1, "fiveGC" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cnType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RedirectedCarrierInfo_EUTRA_sequence[] = {
  { &hf_nr_rrc_eutraFrequency, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_cnType       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cnType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RedirectedCarrierInfo_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RedirectedCarrierInfo_EUTRA, RedirectedCarrierInfo_EUTRA_sequence);

  return offset;
}


static const value_string nr_rrc_RedirectedCarrierInfo_vals[] = {
  {   0, "nr" },
  {   1, "eutra" },
  { 0, NULL }
};

static const per_choice_t RedirectedCarrierInfo_choice[] = {
  {   0, &hf_nr_rrc_nr           , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_CarrierInfoNR },
  {   1, &hf_nr_rrc_eutra        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_RedirectedCarrierInfo_EUTRA },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_RedirectedCarrierInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_RedirectedCarrierInfo, RedirectedCarrierInfo_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t FreqPriorityEUTRA_sequence[] = {
  { &hf_nr_rrc_carrierFreq_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority },
  { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionSubPriority },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FreqPriorityEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FreqPriorityEUTRA, FreqPriorityEUTRA_sequence);

  return offset;
}


static const per_sequence_t FreqPriorityListEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_FreqPriorityListEUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqPriorityEUTRA },
};

static int
dissect_nr_rrc_FreqPriorityListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FreqPriorityListEUTRA, FreqPriorityListEUTRA_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t FreqPriorityNR_sequence[] = {
  { &hf_nr_rrc_carrierFreq  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority },
  { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionSubPriority },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FreqPriorityNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FreqPriorityNR, FreqPriorityNR_sequence);

  return offset;
}


static const per_sequence_t FreqPriorityListNR_sequence_of[1] = {
  { &hf_nr_rrc_FreqPriorityListNR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqPriorityNR },
};

static int
dissect_nr_rrc_FreqPriorityListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FreqPriorityListNR, FreqPriorityListNR_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const value_string nr_rrc_T_t320_vals[] = {
  {   0, "min5" },
  {   1, "min10" },
  {   2, "min20" },
  {   3, "min30" },
  {   4, "min60" },
  {   5, "min120" },
  {   6, "min180" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t320(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SliceInfoDedicated_r17_sequence[] = {
  { &hf_nr_rrc_nsag_IdentityInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NSAG_IdentityInfo_r17 },
  { &hf_nr_rrc_nsag_CellReselectionPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionPriority },
  { &hf_nr_rrc_nsag_CellReselectionSubPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionSubPriority },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SliceInfoDedicated_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SliceInfoDedicated_r17, SliceInfoDedicated_r17_sequence);

  return offset;
}


static const per_sequence_t SliceInfoListDedicated_r17_sequence_of[1] = {
  { &hf_nr_rrc_SliceInfoListDedicated_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SliceInfoDedicated_r17 },
};

static int
dissect_nr_rrc_SliceInfoListDedicated_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SliceInfoListDedicated_r17, SliceInfoListDedicated_r17_sequence_of,
                                                  1, maxSliceInfo_r17, FALSE);

  return offset;
}


static const per_sequence_t FreqPriorityDedicatedSlicing_r17_sequence[] = {
  { &hf_nr_rrc_dl_ExplicitCarrierFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_sliceInfoListDedicated_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SliceInfoListDedicated_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FreqPriorityDedicatedSlicing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FreqPriorityDedicatedSlicing_r17, FreqPriorityDedicatedSlicing_r17_sequence);

  return offset;
}


static const per_sequence_t FreqPriorityListDedicatedSlicing_r17_sequence_of[1] = {
  { &hf_nr_rrc_FreqPriorityListDedicatedSlicing_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqPriorityDedicatedSlicing_r17 },
};

static int
dissect_nr_rrc_FreqPriorityListDedicatedSlicing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FreqPriorityListDedicatedSlicing_r17, FreqPriorityListDedicatedSlicing_r17_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t CellReselectionPriorities_eag_1_sequence[] = {
  { &hf_nr_rrc_freqPriorityListDedicatedSlicing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqPriorityListDedicatedSlicing_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellReselectionPriorities_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellReselectionPriorities_eag_1_sequence);

  return offset;
}


static const per_sequence_t CellReselectionPriorities_sequence[] = {
  { &hf_nr_rrc_freqPriorityListEUTRA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FreqPriorityListEUTRA },
  { &hf_nr_rrc_freqPriorityListNR, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FreqPriorityListNR },
  { &hf_nr_rrc_t320         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_t320 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriorities_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellReselectionPriorities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellReselectionPriorities, CellReselectionPriorities_sequence);

  return offset;
}



static int
dissect_nr_rrc_I_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     40, 40, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_ShortI_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_PeriodicRNAU_TimerValue_vals[] = {
  {   0, "min5" },
  {   1, "min10" },
  {   2, "min20" },
  {   3, "min30" },
  {   4, "min60" },
  {   5, "min120" },
  {   6, "min360" },
  {   7, "min720" },
  { 0, NULL }
};


static int
dissect_nr_rrc_PeriodicRNAU_TimerValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sdt_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sdt_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_20     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SDT_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sdt_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sdt_Config_r17, T_sdt_Config_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_SRS_PosRRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_SRS_PosRRC_InactiveConfig_r17_PDU);

  return offset;
}


static const value_string nr_rrc_T_srs_PosRRC_Inactive_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_srs_PosRRC_Inactive_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_21     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_PosRRC_Inactive_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_PosRRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_srs_PosRRC_Inactive_r17, T_srs_PosRRC_Inactive_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_ExtendedPagingCycle_r17_vals[] = {
  {   0, "rf256" },
  {   1, "rf512" },
  {   2, "rf1024" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_ExtendedPagingCycle_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SuspendConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_UEIdentityRemote_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_sdt_Config_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_Config_r17 },
  { &hf_nr_rrc_srs_PosRRC_Inactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_PosRRC_Inactive_r17 },
  { &hf_nr_rrc_ran_ExtendedPagingCycle_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ExtendedPagingCycle_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SuspendConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SuspendConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_ssb_Periodicity_r17_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms40" },
  {   4, "ms80" },
  {   5, "ms160" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_Periodicity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_TimeOffset_r17_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms15" },
  {   3, "ms20" },
  {   4, "ms40" },
  {   5, "ms80" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_TimeOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NonCellDefiningSSB_r17_sequence[] = {
  { &hf_nr_rrc_absoluteFrequencySSB_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_ssb_Periodicity_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_Periodicity_r17 },
  { &hf_nr_rrc_ssb_TimeOffset_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_TimeOffset_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NonCellDefiningSSB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NonCellDefiningSSB_r17, NonCellDefiningSSB_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ncd_SSB_RedCapInitialBWP_SDT_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ncd_SSB_RedCapInitialBWP_SDT_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_22     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NonCellDefiningSSB_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ncd_SSB_RedCapInitialBWP_SDT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ncd_SSB_RedCapInitialBWP_SDT_r17, T_ncd_SSB_RedCapInitialBWP_SDT_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SuspendConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_ncd_SSB_RedCapInitialBWP_SDT_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ncd_SSB_RedCapInitialBWP_SDT_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SuspendConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SuspendConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t SuspendConfig_sequence[] = {
  { &hf_nr_rrc_fullI_RNTI   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_I_RNTI_Value },
  { &hf_nr_rrc_shortI_RNTI  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortI_RNTI_Value },
  { &hf_nr_rrc_ran_PagingCycle, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingCycle },
  { &hf_nr_rrc_ran_NotificationAreaInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RAN_NotificationAreaInfo },
  { &hf_nr_rrc_t380         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PeriodicRNAU_TimerValue },
  { &hf_nr_rrc_nextHopChainingCount, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SuspendConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SuspendConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SuspendConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SuspendConfig, SuspendConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_deprioritisationType_vals[] = {
  {   0, "frequency" },
  {   1, "nr" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_deprioritisationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_deprioritisationTimer_vals[] = {
  {   0, "min5" },
  {   1, "min10" },
  {   2, "min15" },
  {   3, "min30" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_deprioritisationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_deprioritisationReq_sequence[] = {
  { &hf_nr_rrc_deprioritisationType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_deprioritisationType },
  { &hf_nr_rrc_deprioritisationTimer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_deprioritisationTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_deprioritisationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_deprioritisationReq, T_deprioritisationReq_sequence);

  return offset;
}


static const value_string nr_rrc_T_voiceFallbackIndication_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_voiceFallbackIndication_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_measIdleDuration_r16_vals[] = {
  {   0, "sec10" },
  {   1, "sec30" },
  {   2, "sec60" },
  {   3, "sec120" },
  {   4, "sec180" },
  {   5, "sec240" },
  {   6, "sec300" },
  {   7, "spare" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measIdleDuration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ValidityCellList_sequence_of[1] = {
  { &hf_nr_rrc_ValidityCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};

static int
dissect_nr_rrc_ValidityCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ValidityCellList, ValidityCellList_sequence_of,
                                                  1, maxCellMeasIdle_r16, FALSE);

  return offset;
}


static const per_sequence_t ValidityArea_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreq_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_validityCellList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ValidityCellList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ValidityArea_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ValidityArea_r16, ValidityArea_r16_sequence);

  return offset;
}


static const per_sequence_t ValidityAreaList_r16_sequence_of[1] = {
  { &hf_nr_rrc_ValidityAreaList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ValidityArea_r16 },
};

static int
dissect_nr_rrc_ValidityAreaList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ValidityAreaList_r16, ValidityAreaList_r16_sequence_of,
                                                  1, maxFreqIdle_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasIdleConfigDedicated_r16_sequence[] = {
  { &hf_nr_rrc_measIdleCarrierListNR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16 },
  { &hf_nr_rrc_measIdleCarrierListEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16 },
  { &hf_nr_rrc_measIdleDuration_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measIdleDuration_r16 },
  { &hf_nr_rrc_validityAreaList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ValidityAreaList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasIdleConfigDedicated_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasIdleConfigDedicated_r16, MeasIdleConfigDedicated_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_measIdleConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_measIdleConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_19     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasIdleConfigDedicated_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_measIdleConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_measIdleConfig_r16, T_measIdleConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mpsPriorityIndication_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mpsPriorityIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_noLastCellUpdate_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_noLastCellUpdate_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_29_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_29, T_nonCriticalExtension_29_sequence);

  return offset;
}


static const per_sequence_t RRCRelease_v1710_IEs_sequence[] = {
  { &hf_nr_rrc_noLastCellUpdate_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_noLastCellUpdate_r17 },
  { &hf_nr_rrc_nonCriticalExtension_74, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_29 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCRelease_v1710_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCRelease_v1710_IEs, RRCRelease_v1710_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCRelease_v1650_IEs_sequence[] = {
  { &hf_nr_rrc_mpsPriorityIndication_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mpsPriorityIndication_r16 },
  { &hf_nr_rrc_nonCriticalExtension_73, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCRelease_v1710_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCRelease_v1650_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCRelease_v1650_IEs, RRCRelease_v1650_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCRelease_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_voiceFallbackIndication_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_voiceFallbackIndication_r16_01 },
  { &hf_nr_rrc_measIdleConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measIdleConfig_r16 },
  { &hf_nr_rrc_nonCriticalExtension_72, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCRelease_v1650_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCRelease_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCRelease_v1610_IEs, RRCRelease_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCRelease_v1540_IEs_sequence[] = {
  { &hf_nr_rrc_waitTime     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RejectWaitTime },
  { &hf_nr_rrc_nonCriticalExtension_71, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCRelease_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCRelease_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCRelease_v1540_IEs, RRCRelease_v1540_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCRelease_IEs_sequence[] = {
  { &hf_nr_rrc_redirectedCarrierInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RedirectedCarrierInfo },
  { &hf_nr_rrc_cellReselectionPriorities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CellReselectionPriorities },
  { &hf_nr_rrc_suspendConfig, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SuspendConfig },
  { &hf_nr_rrc_deprioritisationReq, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_deprioritisationReq },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_70, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCRelease_v1540_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCRelease_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCRelease_IEs, RRCRelease_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_28_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_28, T_criticalExtensionsFuture_28_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_28_vals[] = {
  {   0, "rrcRelease" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_28_choice[] = {
  {   0, &hf_nr_rrc_rrcRelease_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCRelease_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_28, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_28 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_28, T_criticalExtensions_28_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCRelease_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_28, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_28 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Release");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCRelease, RRCRelease_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_L2RemoteUE_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_L2RemoteUE_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_05     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_L2RemoteUE_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_L2RemoteUE_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_L2RemoteUE_Config_r17, T_sl_L2RemoteUE_Config_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_24_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_24, T_nonCriticalExtension_24_sequence);

  return offset;
}


static const per_sequence_t RRCReestablishment_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_sl_L2RemoteUE_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_L2RemoteUE_Config_r17 },
  { &hf_nr_rrc_nonCriticalExtension_53, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_24 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReestablishment_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReestablishment_v1700_IEs, RRCReestablishment_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReestablishment_IEs_sequence[] = {
  { &hf_nr_rrc_nextHopChainingCount, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_52, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReestablishment_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReestablishment_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReestablishment_IEs, RRCReestablishment_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_23_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_23, T_criticalExtensionsFuture_23_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_23_vals[] = {
  {   0, "rrcReestablishment" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_23_choice[] = {
  {   0, &hf_nr_rrc_rrcReestablishment_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReestablishment_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_23, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_23 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_23, T_criticalExtensions_23_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCReestablishment_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_23, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_23 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReestablishment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReestablishment, RRCReestablishment_sequence);

  return offset;
}


static const per_sequence_t SecurityConfigSMC_sequence[] = {
  { &hf_nr_rrc_securityAlgorithmConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SecurityAlgorithmConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityConfigSMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityConfigSMC, SecurityConfigSMC_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_36_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_36, T_nonCriticalExtension_36_sequence);

  return offset;
}


static const per_sequence_t SecurityModeCommand_IEs_sequence[] = {
  { &hf_nr_rrc_securityConfigSMC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SecurityConfigSMC },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_94, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_36 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityModeCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityModeCommand_IEs, SecurityModeCommand_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_36_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_36, T_criticalExtensionsFuture_36_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_36_vals[] = {
  {   0, "securityModeCommand" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_36_choice[] = {
  {   0, &hf_nr_rrc_securityModeCommand_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SecurityModeCommand_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_36, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_36 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_36, T_criticalExtensions_36_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SecurityModeCommand_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_36, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_36 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Command");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityModeCommand, SecurityModeCommand_sequence);

  return offset;
}



static int
dissect_nr_rrc_DedicatedInfoF1c_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_61565(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 61565U, NULL, FALSE);

  return offset;
}


static const per_sequence_t RxTxTimeDiff_r17_sequence[] = {
  { &hf_nr_rrc_result_k5_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_61565 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RxTxTimeDiff_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RxTxTimeDiff_r17, RxTxTimeDiff_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ta_PDC_r17_vals[] = {
  {   0, "activate" },
  {   1, "deactivate" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ta_PDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sib9Fallback_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sib9Fallback_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_11_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_11, T_nonCriticalExtension_11_sequence);

  return offset;
}


static const per_sequence_t DLInformationTransfer_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_dedicatedInfoF1c_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DedicatedInfoF1c_r17 },
  { &hf_nr_rrc_rxTxTimeDiff_gNB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RxTxTimeDiff_r17 },
  { &hf_nr_rrc_ta_PDC_r17   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ta_PDC_r17 },
  { &hf_nr_rrc_sib9Fallback_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sib9Fallback_r17 },
  { &hf_nr_rrc_nonCriticalExtension_35, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DLInformationTransfer_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DLInformationTransfer_v1700_IEs, DLInformationTransfer_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t DLInformationTransfer_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_referenceTimeInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReferenceTimeInfo_r16 },
  { &hf_nr_rrc_nonCriticalExtension_34, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DLInformationTransfer_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DLInformationTransfer_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DLInformationTransfer_v1610_IEs, DLInformationTransfer_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t DLInformationTransfer_IEs_sequence[] = {
  { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DedicatedNAS_Message },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_33, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DLInformationTransfer_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DLInformationTransfer_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DLInformationTransfer_IEs, DLInformationTransfer_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_11_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_11, T_criticalExtensionsFuture_11_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_11_vals[] = {
  {   0, "dlInformationTransfer" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_11_choice[] = {
  {   0, &hf_nr_rrc_dlInformationTransfer_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DLInformationTransfer_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_11, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_11 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_11, T_criticalExtensions_11_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DLInformationTransfer_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_11, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DLInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Information Transfer");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DLInformationTransfer, DLInformationTransfer_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_capabilityRequestFilter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *cap_req_filter_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &cap_req_filter_tvb);



  if (cap_req_filter_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;

    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter);
    switch(nr_priv->rat_type){
    case RAT_Type_nr:
    case RAT_Type_eutra_nr:
      dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
      break;
    case RAT_Type_eutra:
      dissect_lte_rrc_UECapabilityEnquiry_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
      break;
    default:
      break;
    }
  }

  return offset;
}


static const per_sequence_t UE_CapabilityRAT_Request_sequence[] = {
  { &hf_nr_rrc_rat_Type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAT_Type },
  { &hf_nr_rrc_capabilityRequestFilter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_capabilityRequestFilter },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRAT_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
  /* Initialise to invalid value */
  nr_priv->rat_type = 0xFF;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_CapabilityRAT_Request, UE_CapabilityRAT_Request_sequence);



  return offset;
}


static const per_sequence_t UE_CapabilityRAT_RequestList_sequence_of[1] = {
  { &hf_nr_rrc_UE_CapabilityRAT_RequestList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_Request },
};

static int
dissect_nr_rrc_UE_CapabilityRAT_RequestList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UE_CapabilityRAT_RequestList, UE_CapabilityRAT_RequestList_sequence_of,
                                                  1, maxRAT_CapabilityContainers, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_ue_CapabilityEnquiryExt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityEnquiry_v1560_IEs_PDU);

  return offset;
}


static const per_sequence_t UECapabilityEnquiry_IEs_sequence[] = {
  { &hf_nr_rrc_ue_CapabilityRAT_RequestList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_RequestList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_ue_CapabilityEnquiryExt, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_CapabilityEnquiryExt },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityEnquiry_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityEnquiry_IEs, UECapabilityEnquiry_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_42_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_42, T_criticalExtensionsFuture_42_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_42_vals[] = {
  {   0, "ueCapabilityEnquiry" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_42_choice[] = {
  {   0, &hf_nr_rrc_ueCapabilityEnquiry_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UECapabilityEnquiry_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_42, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_42 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_42, T_criticalExtensions_42_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UECapabilityEnquiry_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_42, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_42 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityEnquiry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityEnquiry, UECapabilityEnquiry_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 33554431U, NULL, FALSE);

  return offset;
}


static const per_sequence_t DRB_CountMSB_Info_sequence[] = {
  { &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
  { &hf_nr_rrc_countMSB_Uplink, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_33554431 },
  { &hf_nr_rrc_countMSB_Downlink, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_33554431 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRB_CountMSB_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRB_CountMSB_Info, DRB_CountMSB_Info_sequence);

  return offset;
}


static const per_sequence_t DRB_CountMSB_InfoList_sequence_of[1] = {
  { &hf_nr_rrc_DRB_CountMSB_InfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountMSB_Info },
};

static int
dissect_nr_rrc_DRB_CountMSB_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DRB_CountMSB_InfoList, DRB_CountMSB_InfoList_sequence_of,
                                                  1, maxDRB, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_07_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence);

  return offset;
}


static const per_sequence_t CounterCheck_IEs_sequence[] = {
  { &hf_nr_rrc_drb_CountMSB_InfoList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountMSB_InfoList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_29, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_07 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CounterCheck_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CounterCheck_IEs, CounterCheck_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_07_vals[] = {
  {   0, "counterCheck" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_07_choice[] = {
  {   0, &hf_nr_rrc_counterCheck_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CounterCheck_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_07 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_07, T_criticalExtensions_07_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CounterCheck_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_07, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_07 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CounterCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CounterCheck, CounterCheck_sequence);

  return offset;
}


static const value_string nr_rrc_T_targetRAT_Type_vals[] = {
  { T_targetRAT_Type_eutra, "eutra" },
  { T_targetRAT_Type_utra_fdd_v1610, "utra-fdd-v1610" },
  { T_targetRAT_Type_spare2, "spare2" },
  { T_targetRAT_Type_spare1, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_targetRAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 target_rat_type;
  nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, &target_rat_type, TRUE, 0, NULL);

  nr_priv->target_rat_type = (guint8)target_rat_type;


  return offset;
}



static int
dissect_nr_rrc_T_targetRAT_MessageContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *target_rat_msg_cont_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &target_rat_msg_cont_tvb);

  if (target_rat_msg_cont_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer);
    switch (nr_priv->target_rat_type) {
    case T_targetRAT_Type_eutra:
      /* eutra */
      if (lte_rrc_dl_dcch_handle)
        nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
      break;
    case T_targetRAT_Type_utra_fdd_v1610:
      /* utra-fdd */
      dissect_rrc_HandoverToUTRANCommand_PDU(target_rat_msg_cont_tvb, actx->pinfo, subtree, NULL);
      break;
    default:
      break;
    }
  }


  return offset;
}



static int
dissect_nr_rrc_T_nas_SecurityParamFromNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *nas_sec_param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &nas_sec_param_tvb);

  if (nas_sec_param_tvb) {
    nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_nas_SecurityParamFromNR);
    switch (nr_priv->target_rat_type) {
    case T_targetRAT_Type_eutra:
      /* eutra */
      de_nas_5gs_n1_mode_to_s1_mode_nas_transparent_cont(nas_sec_param_tvb, subtree, actx->pinfo);
      break;
    default:
      break;
    }
  }


  return offset;
}


static const value_string nr_rrc_T_voiceFallbackIndication_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_voiceFallbackIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_22_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_22, T_nonCriticalExtension_22_sequence);

  return offset;
}


static const per_sequence_t MobilityFromNRCommand_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_voiceFallbackIndication_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_voiceFallbackIndication_r16 },
  { &hf_nr_rrc_nonCriticalExtension_49, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_22 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MobilityFromNRCommand_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MobilityFromNRCommand_v1610_IEs, MobilityFromNRCommand_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t MobilityFromNRCommand_IEs_sequence[] = {
  { &hf_nr_rrc_targetRAT_Type, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_targetRAT_Type },
  { &hf_nr_rrc_targetRAT_MessageContainer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_targetRAT_MessageContainer },
  { &hf_nr_rrc_nas_SecurityParamFromNR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nas_SecurityParamFromNR },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_48, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MobilityFromNRCommand_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MobilityFromNRCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MobilityFromNRCommand_IEs, MobilityFromNRCommand_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_22_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_22, T_criticalExtensionsFuture_22_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_22_vals[] = {
  {   0, "mobilityFromNRCommand" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_22_choice[] = {
  {   0, &hf_nr_rrc_mobilityFromNRCommand_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MobilityFromNRCommand_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_22, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_22 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_22, T_criticalExtensions_22_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MobilityFromNRCommand_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_22, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_22 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MobilityFromNRCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Mobility From NR Command");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MobilityFromNRCommand, MobilityFromNRCommand_sequence);

  return offset;
}


static const value_string nr_rrc_T_rrc_MessageSegmentType_r16_vals[] = {
  {   0, "notLastSegment" },
  {   1, "lastSegment" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rrc_MessageSegmentType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_10_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_10, T_nonCriticalExtension_10_sequence);

  return offset;
}


static const per_sequence_t DLDedicatedMessageSegment_r16_IEs_sequence[] = {
  { &hf_nr_rrc_segmentNumber_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 },
  { &hf_nr_rrc_rrc_MessageSegmentContainer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_rrc_MessageSegmentType_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rrc_MessageSegmentType_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_32, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DLDedicatedMessageSegment_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DLDedicatedMessageSegment_r16_IEs, DLDedicatedMessageSegment_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_10_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_10, T_criticalExtensionsFuture_10_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_10_vals[] = {
  {   0, "dlDedicatedMessageSegment-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_10_choice[] = {
  {   0, &hf_nr_rrc_dlDedicatedMessageSegment_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DLDedicatedMessageSegment_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_10, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_10 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_10, T_criticalExtensions_10_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DLDedicatedMessageSegment_r16_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_10, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DLDedicatedMessageSegment_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Dedicated MessageSegment");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DLDedicatedMessageSegment_r16, DLDedicatedMessageSegment_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_idleModeMeasurementReq_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleModeMeasurementReq_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_logMeasReportReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logMeasReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_connEstFailReportReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_connEstFailReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ra_ReportReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_ReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rlf_ReportReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlf_ReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mobilityHistoryReportReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mobilityHistoryReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_successHO_ReportReq_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_successHO_ReportReq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_coarseLocationRequest_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_coarseLocationRequest_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_45_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_45, T_nonCriticalExtension_45_sequence);

  return offset;
}


static const per_sequence_t UEInformationRequest_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_successHO_ReportReq_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_successHO_ReportReq_r17 },
  { &hf_nr_rrc_coarseLocationRequest_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_coarseLocationRequest_r17 },
  { &hf_nr_rrc_nonCriticalExtension_113, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_45 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEInformationRequest_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEInformationRequest_v1700_IEs, UEInformationRequest_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t UEInformationRequest_r16_IEs_sequence[] = {
  { &hf_nr_rrc_idleModeMeasurementReq_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleModeMeasurementReq_r16_01 },
  { &hf_nr_rrc_logMeasReportReq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_logMeasReportReq_r16 },
  { &hf_nr_rrc_connEstFailReportReq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_connEstFailReportReq_r16 },
  { &hf_nr_rrc_ra_ReportReq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_ReportReq_r16 },
  { &hf_nr_rrc_rlf_ReportReq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlf_ReportReq_r16 },
  { &hf_nr_rrc_mobilityHistoryReportReq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mobilityHistoryReportReq_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_112, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UEInformationRequest_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEInformationRequest_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEInformationRequest_r16_IEs, UEInformationRequest_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_44_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_44, T_criticalExtensionsFuture_44_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_44_vals[] = {
  {   0, "ueInformationRequest-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_44_choice[] = {
  {   0, &hf_nr_rrc_ueInformationRequest_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEInformationRequest_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_44, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_44 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_44, T_criticalExtensions_44_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UEInformationRequest_r16_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_44, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_44 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEInformationRequest_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Request");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEInformationRequest_r16, UEInformationRequest_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_dl_DCCH_MessageNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *dl_dcch_msg_nr_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &dl_dcch_msg_nr_tvb);

  if (dl_dcch_msg_nr_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageNR);
    dissect_DL_DCCH_Message_PDU(dl_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_dl_DCCH_MessageEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *dl_dcch_msg_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &dl_dcch_msg_eutra_tvb);

  if (dl_dcch_msg_eutra_tvb && lte_rrc_dl_dcch_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageEUTRA);
    nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, dl_dcch_msg_eutra_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const per_sequence_t T_nonCriticalExtension_12_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_12, T_nonCriticalExtension_12_sequence);

  return offset;
}


static const per_sequence_t DLInformationTransferMRDC_r16_IEs_sequence[] = {
  { &hf_nr_rrc_dl_DCCH_MessageNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DCCH_MessageNR_r16 },
  { &hf_nr_rrc_dl_DCCH_MessageEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DCCH_MessageEUTRA_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_36, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_12 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DLInformationTransferMRDC_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DLInformationTransferMRDC_r16_IEs, DLInformationTransferMRDC_r16_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_15_vals[] = {
  {   0, "dlInformationTransferMRDC-r16" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_15_choice[] = {
  {   0, &hf_nr_rrc_dlInformationTransferMRDC_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DLInformationTransferMRDC_r16_IEs },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_15, T_c1_15_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_12_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_12, T_criticalExtensionsFuture_12_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_12_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_12_choice[] = {
  {   0, &hf_nr_rrc_c1_15        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_15 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_12, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_12 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_12, T_criticalExtensions_12_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DLInformationTransferMRDC_r16_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_12, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_12 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DLInformationTransferMRDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL InformationTransfer MRDC");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DLInformationTransferMRDC_r16, DLInformationTransferMRDC_r16_sequence);

  return offset;
}


static const per_sequence_t TraceReference_r16_sequence[] = {
  { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_traceId_r16  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TraceReference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TraceReference_r16, TraceReference_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_OCTET_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       2, 2, FALSE, NULL);

  return offset;
}



static int
dissect_nr_rrc_OCTET_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       1, 1, FALSE, NULL);

  return offset;
}



static int
dissect_nr_rrc_AbsoluteTimeInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *abs_time_info_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     48, 48, FALSE, NULL, 0, &abs_time_info_tvb, NULL);


  if (abs_time_info_tvb) {
    const gchar *str, *hf_str;
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_absTimeInfo);
    str = tvb_bcd_dig_to_str_be(actx->pinfo->pool, abs_time_info_tvb, 0, 6, NULL, FALSE);
    hf_str = wmem_strdup_printf(actx->pinfo->pool, "%c%c-%c%c-%c%c %c%c:%c%c:%c%c", str[0], str[1], str[2],
                                str[3], str[4], str[5], str[6], str[7], str[8], str[9], str[10], str[11]);
    proto_tree_add_string(subtree, hf_nr_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str);
  }

  return offset;
}


static const per_sequence_t CGI_Info_Logging_r16_sequence[] = {
  { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_cellIdentity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
  { &hf_nr_rrc_trackingAreaCode_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TrackingAreaCode },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CGI_Info_Logging_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CGI_Info_Logging_r16, CGI_Info_Logging_r16_sequence);

  return offset;
}


static const per_sequence_t CellGlobalIdList_r16_sequence_of[1] = {
  { &hf_nr_rrc_CellGlobalIdList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_Info_Logging_r16 },
};

static int
dissect_nr_rrc_CellGlobalIdList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CellGlobalIdList_r16, CellGlobalIdList_r16_sequence_of,
                                                  1, 32, FALSE);

  return offset;
}


static const per_sequence_t TrackingAreaCodeList_r16_sequence_of[1] = {
  { &hf_nr_rrc_TrackingAreaCodeList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode },
};

static int
dissect_nr_rrc_TrackingAreaCodeList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_TrackingAreaCodeList_r16, TrackingAreaCodeList_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const per_sequence_t TrackingAreaIdentity_r16_sequence[] = {
  { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_trackingAreaCode_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TrackingAreaIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TrackingAreaIdentity_r16, TrackingAreaIdentity_r16_sequence);

  return offset;
}


static const per_sequence_t TrackingAreaIdentityList_r16_sequence_of[1] = {
  { &hf_nr_rrc_TrackingAreaIdentityList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaIdentity_r16 },
};

static int
dissect_nr_rrc_TrackingAreaIdentityList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_TrackingAreaIdentityList_r16, TrackingAreaIdentityList_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_AreaConfig_r16_vals[] = {
  {   0, "cellGlobalIdList-r16" },
  {   1, "trackingAreaCodeList-r16" },
  {   2, "trackingAreaIdentityList-r16" },
  { 0, NULL }
};

static const per_choice_t AreaConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_cellGlobalIdList_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CellGlobalIdList_r16 },
  {   1, &hf_nr_rrc_trackingAreaCodeList_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_TrackingAreaCodeList_r16 },
  {   2, &hf_nr_rrc_trackingAreaIdentityList_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_TrackingAreaIdentityList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_AreaConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_AreaConfig_r16, AreaConfig_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_32_OF_PhysCellId_sequence_of[1] = {
  { &hf_nr_rrc_cellList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_PhysCellId, SEQUENCE_SIZE_1_32_OF_PhysCellId_sequence_of,
                                                  1, 32, FALSE);

  return offset;
}


static const per_sequence_t InterFreqTargetInfo_r16_sequence[] = {
  { &hf_nr_rrc_dl_CarrierFreq_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_cellList_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_PhysCellId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterFreqTargetInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterFreqTargetInfo_r16, InterFreqTargetInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_interFreqTargetList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqTargetInfo_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16, SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t AreaConfiguration_r16_sequence[] = {
  { &hf_nr_rrc_areaConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AreaConfig_r16 },
  { &hf_nr_rrc_interFreqTargetList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AreaConfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AreaConfiguration_r16, AreaConfiguration_r16_sequence);

  return offset;
}


static const per_sequence_t PLMN_IdentityList2_r16_sequence_of[1] = {
  { &hf_nr_rrc_PLMN_IdentityList2_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
};

static int
dissect_nr_rrc_PLMN_IdentityList2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PLMN_IdentityList2_r16, PLMN_IdentityList2_r16_sequence_of,
                                                  1, 16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_bt_NameList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_bt_NameList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BT_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_bt_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_bt_NameList_r16, T_bt_NameList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_wlan_NameList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_wlan_NameList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_WLAN_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_wlan_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_wlan_NameList_r16, T_wlan_NameList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sensor_NameList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sensor_NameList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_04     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Sensor_NameList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sensor_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sensor_NameList_r16, T_sensor_NameList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_LoggingDuration_r16_vals[] = {
  {   0, "min10" },
  {   1, "min20" },
  {   2, "min40" },
  {   3, "min60" },
  {   4, "min90" },
  {   5, "min120" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_LoggingDuration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_LoggingInterval_r16_vals[] = {
  {   0, "ms320" },
  {   1, "ms640" },
  {   2, "ms1280" },
  {   3, "ms2560" },
  {   4, "ms5120" },
  {   5, "ms10240" },
  {   6, "ms20480" },
  {   7, "ms30720" },
  {   8, "ms40960" },
  {   9, "ms61440" },
  {  10, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_LoggingInterval_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t LoggedPeriodicalReportConfig_r16_sequence[] = {
  { &hf_nr_rrc_loggingInterval_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LoggingInterval_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LoggedPeriodicalReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LoggedPeriodicalReportConfig_r16, LoggedPeriodicalReportConfig_r16_sequence);

  return offset;
}


static const per_sequence_t T_eventL1_sequence[] = {
  { &hf_nr_rrc_l1_Threshold , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
  { &hf_nr_rrc_hysteresis   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
  { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eventL1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eventL1, T_eventL1_sequence);

  return offset;
}


static const value_string nr_rrc_EventType_r16_vals[] = {
  {   0, "outOfCoverage" },
  {   1, "eventL1" },
  { 0, NULL }
};

static const per_choice_t EventType_r16_choice[] = {
  {   0, &hf_nr_rrc_outOfCoverage, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_eventL1      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_eventL1 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_EventType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_EventType_r16, EventType_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t LoggedEventTriggerConfig_r16_sequence[] = {
  { &hf_nr_rrc_eventType_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventType_r16 },
  { &hf_nr_rrc_loggingInterval_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LoggingInterval_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LoggedEventTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LoggedEventTriggerConfig_r16, LoggedEventTriggerConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportType_vals[] = {
  {   0, "periodical" },
  {   1, "eventTriggered" },
  { 0, NULL }
};

static const per_choice_t T_reportType_choice[] = {
  {   0, &hf_nr_rrc_periodical   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_LoggedPeriodicalReportConfig_r16 },
  {   1, &hf_nr_rrc_eventTriggered, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_LoggedEventTriggerConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportType, T_reportType_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sigLoggedMeasType_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sigLoggedMeasType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_earlyMeasIndication_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_earlyMeasIndication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t AreaConfiguration_v1700_sequence[] = {
  { &hf_nr_rrc_areaConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AreaConfig_r16 },
  { &hf_nr_rrc_interFreqTargetList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AreaConfiguration_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AreaConfiguration_v1700, AreaConfiguration_v1700_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_16_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_16, T_nonCriticalExtension_16_sequence);

  return offset;
}


static const per_sequence_t LoggedMeasurementConfiguration_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_sigLoggedMeasType_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sigLoggedMeasType_r17 },
  { &hf_nr_rrc_earlyMeasIndication_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_earlyMeasIndication_r17 },
  { &hf_nr_rrc_areaConfiguration_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AreaConfiguration_v1700 },
  { &hf_nr_rrc_nonCriticalExtension_42, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LoggedMeasurementConfiguration_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LoggedMeasurementConfiguration_v1700_IEs, LoggedMeasurementConfiguration_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t LoggedMeasurementConfiguration_r16_IEs_sequence[] = {
  { &hf_nr_rrc_traceReference_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TraceReference_r16 },
  { &hf_nr_rrc_traceRecordingSessionRef_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_2 },
  { &hf_nr_rrc_tce_Id_r16   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_1 },
  { &hf_nr_rrc_absoluteTimeInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AbsoluteTimeInfo_r16 },
  { &hf_nr_rrc_areaConfiguration_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AreaConfiguration_r16 },
  { &hf_nr_rrc_plmn_IdentityList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PLMN_IdentityList2_r16 },
  { &hf_nr_rrc_bt_NameList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bt_NameList_r16 },
  { &hf_nr_rrc_wlan_NameList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_wlan_NameList_r16 },
  { &hf_nr_rrc_sensor_NameList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sensor_NameList_r16 },
  { &hf_nr_rrc_loggingDuration_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LoggingDuration_r16 },
  { &hf_nr_rrc_reportType   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_41, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LoggedMeasurementConfiguration_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LoggedMeasurementConfiguration_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LoggedMeasurementConfiguration_r16_IEs, LoggedMeasurementConfiguration_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_16_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_16, T_criticalExtensionsFuture_16_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_16_vals[] = {
  {   0, "loggedMeasurementConfiguration-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_16_choice[] = {
  {   0, &hf_nr_rrc_loggedMeasurementConfiguration_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LoggedMeasurementConfiguration_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_16, T_criticalExtensions_16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t LoggedMeasurementConfiguration_r16_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LoggedMeasurementConfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Logged Measurement Configuration");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LoggedMeasurementConfiguration_r16, LoggedMeasurementConfiguration_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_09_vals[] = {
  {   0, "rrcReconfiguration" },
  {   1, "rrcResume" },
  {   2, "rrcRelease" },
  {   3, "rrcReestablishment" },
  {   4, "securityModeCommand" },
  {   5, "dlInformationTransfer" },
  {   6, "ueCapabilityEnquiry" },
  {   7, "counterCheck" },
  {   8, "mobilityFromNRCommand" },
  {   9, "dlDedicatedMessageSegment-r16" },
  {  10, "ueInformationRequest-r16" },
  {  11, "dlInformationTransferMRDC-r16" },
  {  12, "loggedMeasurementConfiguration-r16" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_09_choice[] = {
  {   0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfiguration },
  {   1, &hf_nr_rrc_rrcResume    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCResume },
  {   2, &hf_nr_rrc_rrcRelease   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCRelease },
  {   3, &hf_nr_rrc_rrcReestablishment, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReestablishment },
  {   4, &hf_nr_rrc_securityModeCommand, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SecurityModeCommand },
  {   5, &hf_nr_rrc_dlInformationTransfer, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DLInformationTransfer },
  {   6, &hf_nr_rrc_ueCapabilityEnquiry, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UECapabilityEnquiry },
  {   7, &hf_nr_rrc_counterCheck , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CounterCheck },
  {   8, &hf_nr_rrc_mobilityFromNRCommand, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MobilityFromNRCommand },
  {   9, &hf_nr_rrc_dlDedicatedMessageSegment_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DLDedicatedMessageSegment_r16 },
  {  10, &hf_nr_rrc_ueInformationRequest_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEInformationRequest_r16 },
  {  11, &hf_nr_rrc_dlInformationTransferMRDC_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DLInformationTransferMRDC_r16 },
  {  12, &hf_nr_rrc_loggedMeasurementConfiguration_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LoggedMeasurementConfiguration_r16 },
  {  13, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {  14, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {  15, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_09, T_c1_09_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtension_03_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension_03, T_messageClassExtension_03_sequence);

  return offset;
}


static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t DL_DCCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_09        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_09 },
  {   1, &hf_nr_rrc_messageClassExtension_03, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_03 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DL_DCCH_Message_sequence[] = {
  { &hf_nr_rrc_message_03   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_DCCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  actx->pinfo->link_dir = P2P_DIR_DL;

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcp_SN_SizeDL_r17_vals[] = {
  {   0, "len12bits" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_SN_SizeDL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_profiles_r17_sequence[] = {
  { &hf_nr_rrc_profile0x0000_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0001_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0002_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_profiles_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_profiles_r17, T_profiles_r17_sequence);

  return offset;
}


static const per_sequence_t T_rohc_01_sequence[] = {
  { &hf_nr_rrc_maxCID_r17   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_profiles_r17 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rohc_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rohc_01, T_rohc_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_headerCompression_r17_vals[] = {
  {   0, "notUsed" },
  {   1, "rohc" },
  { 0, NULL }
};

static const per_choice_t T_headerCompression_r17_choice[] = {
  {   0, &hf_nr_rrc_notUsed      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_rohc_01      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_rohc_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_headerCompression_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_headerCompression_r17, T_headerCompression_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_t_Reordering_r17_vals[] = {
  {   0, "ms1" },
  {   1, "ms10" },
  {   2, "ms40" },
  {   3, "ms160" },
  {   4, "ms500" },
  {   5, "ms1000" },
  {   6, "ms1250" },
  {   7, "ms2750" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t_Reordering_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRB_PDCP_ConfigBroadcast_r17_sequence[] = {
  { &hf_nr_rrc_pdcp_SN_SizeDL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_SN_SizeDL_r17 },
  { &hf_nr_rrc_headerCompression_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_headerCompression_r17 },
  { &hf_nr_rrc_t_Reordering_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_t_Reordering_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRB_PDCP_ConfigBroadcast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRB_PDCP_ConfigBroadcast_r17, MRB_PDCP_ConfigBroadcast_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sn_FieldLength_r17_vals[] = {
  {   0, "size6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sn_FieldLength_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_Reassembly_vals[] = {
  {   0, "ms0" },
  {   1, "ms5" },
  {   2, "ms10" },
  {   3, "ms15" },
  {   4, "ms20" },
  {   5, "ms25" },
  {   6, "ms30" },
  {   7, "ms35" },
  {   8, "ms40" },
  {   9, "ms45" },
  {  10, "ms50" },
  {  11, "ms55" },
  {  12, "ms60" },
  {  13, "ms65" },
  {  14, "ms70" },
  {  15, "ms75" },
  {  16, "ms80" },
  {  17, "ms85" },
  {  18, "ms90" },
  {  19, "ms95" },
  {  20, "ms100" },
  {  21, "ms110" },
  {  22, "ms120" },
  {  23, "ms130" },
  {  24, "ms140" },
  {  25, "ms150" },
  {  26, "ms160" },
  {  27, "ms170" },
  {  28, "ms180" },
  {  29, "ms190" },
  {  30, "ms200" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_Reassembly_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_Reassembly_vals);


static int
dissect_nr_rrc_T_Reassembly(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRB_RLC_ConfigBroadcast_r17_sequence[] = {
  { &hf_nr_rrc_logicalChannelIdentity_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
  { &hf_nr_rrc_sn_FieldLength_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sn_FieldLength_r17 },
  { &hf_nr_rrc_t_Reassembly_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_Reassembly },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRB_RLC_ConfigBroadcast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRB_RLC_ConfigBroadcast_r17, MRB_RLC_ConfigBroadcast_r17_sequence);

  return offset;
}


static const per_sequence_t MRB_InfoBroadcast_r17_sequence[] = {
  { &hf_nr_rrc_pdcp_Config_r17_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRB_PDCP_ConfigBroadcast_r17 },
  { &hf_nr_rrc_rlc_Config_r17_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRB_RLC_ConfigBroadcast_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRB_InfoBroadcast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRB_InfoBroadcast_r17, MRB_InfoBroadcast_r17_sequence);

  return offset;
}


static const per_sequence_t MRB_ListBroadcast_r17_sequence_of[1] = {
  { &hf_nr_rrc_MRB_ListBroadcast_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRB_InfoBroadcast_r17 },
};

static int
dissect_nr_rrc_MRB_ListBroadcast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MRB_ListBroadcast_r17, MRB_ListBroadcast_r17_sequence_of,
                                                  1, maxNrofMRB_Broadcast_r17, FALSE);

  return offset;
}



static int
dissect_nr_rrc_DRX_ConfigPTM_Index_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofDRX_ConfigPTM_1_r17, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_maxNeighCellMBS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     maxNeighCellMBS_r17, maxNeighCellMBS_r17, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_PDSCH_ConfigIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPDSCH_ConfigPTM_1_r17, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_MTCH_SSB_MappingWindowIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofMTCH_SSB_MappingWindow_1_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t MBS_SessionInfo_r17_sequence[] = {
  { &hf_nr_rrc_mbs_SessionId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TMGI_r17 },
  { &hf_nr_rrc_g_RNTI_r17   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_mrb_ListBroadcast_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRB_ListBroadcast_r17 },
  { &hf_nr_rrc_mtch_SchedulingInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DRX_ConfigPTM_Index_r17 },
  { &hf_nr_rrc_mtch_NeighbourCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_maxNeighCellMBS_r17 },
  { &hf_nr_rrc_pdsch_ConfigIndex_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDSCH_ConfigIndex_r17 },
  { &hf_nr_rrc_mtch_SSB_MappingWindowIndex_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MTCH_SSB_MappingWindowIndex_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBS_SessionInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBS_SessionInfo_r17, MBS_SessionInfo_r17_sequence);

  return offset;
}


static const per_sequence_t MBS_SessionInfoList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MBS_SessionInfoList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_SessionInfo_r17 },
};

static int
dissect_nr_rrc_MBS_SessionInfoList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MBS_SessionInfoList_r17, MBS_SessionInfoList_r17_sequence_of,
                                                  1, maxNrofMBS_Session_r17, FALSE);

  return offset;
}


static const per_sequence_t MBS_NeighbourCell_r17_sequence[] = {
  { &hf_nr_rrc_physCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_carrierFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBS_NeighbourCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBS_NeighbourCell_r17, MBS_NeighbourCell_r17_sequence);

  return offset;
}


static const per_sequence_t MBS_NeighbourCellList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MBS_NeighbourCellList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_NeighbourCell_r17 },
};

static int
dissect_nr_rrc_MBS_NeighbourCellList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MBS_NeighbourCellList_r17, MBS_NeighbourCellList_r17_sequence_of,
                                                  0, maxNeighCellMBS_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_milliSeconds_06_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms3" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms6" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms30" },
  {  10, "ms40" },
  {  11, "ms50" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms200" },
  {  16, "ms300" },
  {  17, "ms400" },
  {  18, "ms500" },
  {  19, "ms600" },
  {  20, "ms800" },
  {  21, "ms1000" },
  {  22, "ms1200" },
  {  23, "ms1600" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_milliSeconds_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_onDurationTimerPTM_r17_vals[] = {
  {   0, "subMilliSeconds" },
  {   1, "milliSeconds" },
  { 0, NULL }
};

static const per_choice_t T_drx_onDurationTimerPTM_r17_choice[] = {
  {   0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_31 },
  {   1, &hf_nr_rrc_milliSeconds_06, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_milliSeconds_06 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_onDurationTimerPTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_onDurationTimerPTM_r17, T_drx_onDurationTimerPTM_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_InactivityTimerPTM_r17_vals[] = {
  {   0, "ms0" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms6" },
  {   7, "ms8" },
  {   8, "ms10" },
  {   9, "ms20" },
  {  10, "ms30" },
  {  11, "ms40" },
  {  12, "ms50" },
  {  13, "ms60" },
  {  14, "ms80" },
  {  15, "ms100" },
  {  16, "ms200" },
  {  17, "ms300" },
  {  18, "ms500" },
  {  19, "ms750" },
  {  20, "ms1280" },
  {  21, "ms1920" },
  {  22, "ms2560" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_InactivityTimerPTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_RetransmissionTimerDL_PTM_r17_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "sl6" },
  {   5, "sl8" },
  {   6, "sl16" },
  {   7, "sl24" },
  {   8, "sl33" },
  {   9, "sl40" },
  {  10, "sl64" },
  {  11, "sl80" },
  {  12, "sl96" },
  {  13, "sl112" },
  {  14, "sl128" },
  {  15, "sl160" },
  {  16, "sl320" },
  {  17, "spare15" },
  {  18, "spare14" },
  {  19, "spare13" },
  {  20, "spare12" },
  {  21, "spare11" },
  {  22, "spare10" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_RetransmissionTimerDL_PTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_LongCycleStartOffsetPTM_r17_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  { 0, NULL }
};

static const per_choice_t T_drx_LongCycleStartOffsetPTM_r17_choice[] = {
  {   0, &hf_nr_rrc_ms10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_ms20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_ms32         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   3, &hf_nr_rrc_ms40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_ms60         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_59 },
  {   5, &hf_nr_rrc_ms64         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   6, &hf_nr_rrc_ms70         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_69 },
  {   7, &hf_nr_rrc_ms80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   8, &hf_nr_rrc_ms128        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   9, &hf_nr_rrc_ms160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  10, &hf_nr_rrc_ms256        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  {  11, &hf_nr_rrc_ms320        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_ms512        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_511 },
  {  13, &hf_nr_rrc_ms640        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {  14, &hf_nr_rrc_ms1024       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1023 },
  {  15, &hf_nr_rrc_ms1280       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {  16, &hf_nr_rrc_ms2048       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2047 },
  {  17, &hf_nr_rrc_ms2560       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  {  18, &hf_nr_rrc_ms5120       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_5119 },
  {  19, &hf_nr_rrc_ms10240      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_10239 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_LongCycleStartOffsetPTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_LongCycleStartOffsetPTM_r17, T_drx_LongCycleStartOffsetPTM_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DRX_ConfigPTM_r17_sequence[] = {
  { &hf_nr_rrc_drx_onDurationTimerPTM_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimerPTM_r17 },
  { &hf_nr_rrc_drx_InactivityTimerPTM_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimerPTM_r17 },
  { &hf_nr_rrc_drx_HARQ_RTT_TimerDL_PTM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_56 },
  { &hf_nr_rrc_drx_RetransmissionTimerDL_PTM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_RetransmissionTimerDL_PTM_r17 },
  { &hf_nr_rrc_drx_LongCycleStartOffsetPTM_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffsetPTM_r17 },
  { &hf_nr_rrc_drx_SlotOffsetPTM_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_ConfigPTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_ConfigPTM_r17, DRX_ConfigPTM_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17_sequence_of[1] = {
  { &hf_nr_rrc_drx_ConfigPTM_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRX_ConfigPTM_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17, SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17_sequence_of,
                                                  1, maxNrofDRX_ConfigPTM_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_MTCH_SSB_MappingWindowCycleOffset_r17_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms64" },
  {   4, "ms128" },
  {   5, "ms256" },
  { 0, NULL }
};

static const per_choice_t MTCH_SSB_MappingWindowCycleOffset_r17_choice[] = {
  {   0, &hf_nr_rrc_ms10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_ms20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_ms32         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   3, &hf_nr_rrc_ms64         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   4, &hf_nr_rrc_ms128        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   5, &hf_nr_rrc_ms256        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_MTCH_SSB_MappingWindowCycleOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_MTCH_SSB_MappingWindowCycleOffset_r17, MTCH_SSB_MappingWindowCycleOffset_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MTCH_SSB_MappingWindowList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MTCH_SSB_MappingWindowList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MTCH_SSB_MappingWindowCycleOffset_r17 },
};

static int
dissect_nr_rrc_MTCH_SSB_MappingWindowList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MTCH_SSB_MappingWindowList_r17, MTCH_SSB_MappingWindowList_r17_sequence_of,
                                                  1, maxNrofMTCH_SSB_MappingWindow_r17, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_17_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_17, T_nonCriticalExtension_17_sequence);

  return offset;
}


static const per_sequence_t MBSBroadcastConfiguration_r17_IEs_sequence[] = {
  { &hf_nr_rrc_mbs_SessionInfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MBS_SessionInfoList_r17 },
  { &hf_nr_rrc_mbs_NeighbourCellList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MBS_NeighbourCellList_r17 },
  { &hf_nr_rrc_drx_ConfigPTM_List_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17 },
  { &hf_nr_rrc_pdsch_ConfigMTCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDSCH_ConfigBroadcast_r17 },
  { &hf_nr_rrc_mtch_SSB_MappingWindowList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MTCH_SSB_MappingWindowList_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_43, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBSBroadcastConfiguration_r17_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBSBroadcastConfiguration_r17_IEs, MBSBroadcastConfiguration_r17_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_17_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_17, T_criticalExtensionsFuture_17_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_17_vals[] = {
  {   0, "mbsBroadcastConfiguration-r17" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_17_choice[] = {
  {   0, &hf_nr_rrc_mbsBroadcastConfiguration_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MBSBroadcastConfiguration_r17_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_17, T_criticalExtensions_17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MBSBroadcastConfiguration_r17_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBSBroadcastConfiguration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBS Broadcast Configuration");
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBSBroadcastConfiguration_r17, MBSBroadcastConfiguration_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_10_vals[] = {
  {   0, "mbsBroadcastConfiguration-r17" },
  {   1, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_10_choice[] = {
  {   0, &hf_nr_rrc_mbsBroadcastConfiguration_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MBSBroadcastConfiguration_r17 },
  {   1, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_10, T_c1_10_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtension_04_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension_04, T_messageClassExtension_04_sequence);

  return offset;
}


static const value_string nr_rrc_MCCH_MessageType_r17_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t MCCH_MessageType_r17_choice[] = {
  {   0, &hf_nr_rrc_c1_10        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_10 },
  {   1, &hf_nr_rrc_messageClassExtension_04, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_04 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_MCCH_MessageType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_MCCH_MessageType_r17, MCCH_MessageType_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MCCH_Message_r17_sequence[] = {
  { &hf_nr_rrc_message_04   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCCH_MessageType_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MCCH_Message_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MCCH_Message_r17, MCCH_Message_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_NG_5G_S_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     48, 48, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_PagingUE_Identity_vals[] = {
  {   0, "ng-5G-S-TMSI" },
  {   1, "fullI-RNTI" },
  { 0, NULL }
};

static const per_choice_t PagingUE_Identity_choice[] = {
  {   0, &hf_nr_rrc_ng_5G_S_TMSI , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_NG_5G_S_TMSI },
  {   1, &hf_nr_rrc_fullI_RNTI   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_I_RNTI_Value },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_PagingUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_PagingUE_Identity, PagingUE_Identity_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_accessType_vals[] = {
  {   0, "non3GPP" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_accessType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PagingRecord_sequence[] = {
  { &hf_nr_rrc_ue_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingUE_Identity },
  { &hf_nr_rrc_accessType   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_accessType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PagingRecord(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PagingRecord, PagingRecord_sequence);

  return offset;
}


static const per_sequence_t PagingRecordList_sequence_of[1] = {
  { &hf_nr_rrc_PagingRecordList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingRecord },
};

static int
dissect_nr_rrc_PagingRecordList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PagingRecordList, PagingRecordList_sequence_of,
                                                  1, maxNrofPageRec, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pagingCause_r17_vals[] = {
  {   0, "voice" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pagingCause_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PagingRecord_v1700_sequence[] = {
  { &hf_nr_rrc_pagingCause_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pagingCause_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PagingRecord_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PagingRecord_v1700, PagingRecord_v1700_sequence);

  return offset;
}


static const per_sequence_t PagingRecordList_v1700_sequence_of[1] = {
  { &hf_nr_rrc_PagingRecordList_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingRecord_v1700 },
};

static int
dissect_nr_rrc_PagingRecordList_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PagingRecordList_v1700, PagingRecordList_v1700_sequence_of,
                                                  1, maxNrofPageRec, FALSE);

  return offset;
}


static const per_sequence_t PagingGroupList_r17_sequence_of[1] = {
  { &hf_nr_rrc_PagingGroupList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TMGI_r17 },
};

static int
dissect_nr_rrc_PagingGroupList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PagingGroupList_r17, PagingGroupList_r17_sequence_of,
                                                  1, maxNrofPageGroup_r17, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_23_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_23, T_nonCriticalExtension_23_sequence);

  return offset;
}


static const per_sequence_t Paging_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_pagingRecordList_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PagingRecordList_v1700 },
  { &hf_nr_rrc_pagingGroupList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PagingGroupList_r17 },
  { &hf_nr_rrc_nonCriticalExtension_51, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_23 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Paging_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Paging_v1700_IEs, Paging_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t Paging_sequence[] = {
  { &hf_nr_rrc_pagingRecordList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PagingRecordList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_50, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Paging_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Paging, Paging_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_11_vals[] = {
  {   0, "paging" },
  {   1, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_11_choice[] = {
  {   0, &hf_nr_rrc_paging       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Paging },
  {   1, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_11, T_c1_11_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtension_05_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension_05, T_messageClassExtension_05_sequence);

  return offset;
}


static const value_string nr_rrc_PCCH_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t PCCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_11        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_11 },
  {   1, &hf_nr_rrc_messageClassExtension_05, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_05 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_PCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_PCCH_MessageType, PCCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PCCH_Message_sequence[] = {
  { &hf_nr_rrc_message_05   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PCCH_Message, PCCH_Message_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     39, 39, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_InitialUE_Identity_vals[] = {
  {   0, "ng-5G-S-TMSI-Part1" },
  {   1, "randomValue" },
  { 0, NULL }
};

static const per_choice_t InitialUE_Identity_choice[] = {
  {   0, &hf_nr_rrc_ng_5G_S_TMSI_Part1, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_39 },
  {   1, &hf_nr_rrc_randomValue  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_39 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_InitialUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_InitialUE_Identity, InitialUE_Identity_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_EstablishmentCause_vals[] = {
  {   0, "emergency" },
  {   1, "highPriorityAccess" },
  {   2, "mt-Access" },
  {   3, "mo-Signalling" },
  {   4, "mo-Data" },
  {   5, "mo-VoiceCall" },
  {   6, "mo-VideoCall" },
  {   7, "mo-SMS" },
  {   8, "mps-PriorityAccess" },
  {   9, "mcs-PriorityAccess" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_EstablishmentCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RRCSetupRequest_IEs_sequence[] = {
  { &hf_nr_rrc_ue_Identity_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InitialUE_Identity },
  { &hf_nr_rrc_establishmentCause, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EstablishmentCause },
  { &hf_nr_rrc_spare        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetupRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetupRequest_IEs, RRCSetupRequest_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCSetupRequest_sequence[] = {
  { &hf_nr_rrc_rrcSetupRequest_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCSetupRequest_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Request");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetupRequest, RRCSetupRequest_sequence);

  return offset;
}


static const value_string nr_rrc_ResumeCause_vals[] = {
  {   0, "emergency" },
  {   1, "highPriorityAccess" },
  {   2, "mt-Access" },
  {   3, "mo-Signalling" },
  {   4, "mo-Data" },
  {   5, "mo-VoiceCall" },
  {   6, "mo-VideoCall" },
  {   7, "mo-SMS" },
  {   8, "rna-Update" },
  {   9, "mps-PriorityAccess" },
  {  10, "mcs-PriorityAccess" },
  {  11, "spare1" },
  {  12, "spare2" },
  {  13, "spare3" },
  {  14, "spare4" },
  {  15, "spare5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_ResumeCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RRCResumeRequest_IEs_sequence[] = {
  { &hf_nr_rrc_resumeIdentity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortI_RNTI_Value },
  { &hf_nr_rrc_resumeMAC_I  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_resumeCause  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResumeCause },
  { &hf_nr_rrc_spare        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeRequest_IEs, RRCResumeRequest_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResumeRequest_sequence[] = {
  { &hf_nr_rrc_rrcResumeRequest_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCResumeRequest_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeRequest, RRCResumeRequest_sequence);

  return offset;
}


static const per_sequence_t ReestabUE_Identity_sequence[] = {
  { &hf_nr_rrc_c_RNTI       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_physCellId   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_shortMAC_I   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReestabUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReestabUE_Identity, ReestabUE_Identity_sequence);

  return offset;
}


static const value_string nr_rrc_ReestablishmentCause_vals[] = {
  {   0, "reconfigurationFailure" },
  {   1, "handoverFailure" },
  {   2, "otherFailure" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_ReestablishmentCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RRCReestablishmentRequest_IEs_sequence[] = {
  { &hf_nr_rrc_ue_Identity_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestabUE_Identity },
  { &hf_nr_rrc_reestablishmentCause, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestablishmentCause },
  { &hf_nr_rrc_spare        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReestablishmentRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReestablishmentRequest_IEs, RRCReestablishmentRequest_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReestablishmentRequest_sequence[] = {
  { &hf_nr_rrc_rrcReestablishmentRequest_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCReestablishmentRequest_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReestablishmentRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Request");

  if (!PINFO_FD_VISITED(actx->pinfo)) {
    /* Look for UE identifier */
    mac_nr_info *p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);

    if (p_mac_nr_info != NULL) {
      /* Inform PDCP about the RRCreestablishmentRequest */
      set_pdcp_nr_rrc_reestablishment_request(p_mac_nr_info->ueid);
    }
  }

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReestablishmentRequest, RRCReestablishmentRequest_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_maxSI_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     maxSI_Message, maxSI_Message, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t RRCSystemInfoRequest_IEs_sequence[] = {
  { &hf_nr_rrc_requested_SI_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_maxSI_Message },
  { &hf_nr_rrc_spare_01     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_12 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSystemInfoRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSystemInfoRequest_IEs, RRCSystemInfoRequest_IEs_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     11, 11, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t RRC_PosSystemInfoRequest_r16_IEs_sequence[] = {
  { &hf_nr_rrc_requestedPosSI_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_maxSI_Message },
  { &hf_nr_rrc_spare_02     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRC_PosSystemInfoRequest_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRC_PosSystemInfoRequest_r16_IEs, RRC_PosSystemInfoRequest_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_33_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_33, T_criticalExtensionsFuture_33_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensionsFuture_r16_vals[] = {
  {   0, "rrcPosSystemInfoRequest-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensionsFuture_r16_choice[] = {
  {   0, &hf_nr_rrc_rrcPosSystemInfoRequest_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRC_PosSystemInfoRequest_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_33, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_33 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensionsFuture_r16, T_criticalExtensionsFuture_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_33_vals[] = {
  {   0, "rrcSystemInfoRequest" },
  {   1, "criticalExtensionsFuture-r16" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_33_choice[] = {
  {   0, &hf_nr_rrc_rrcSystemInfoRequest_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCSystemInfoRequest_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_33, T_criticalExtensions_33_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCSystemInfoRequest_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_33, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_33 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSystemInfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC System Info Request");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSystemInfoRequest, RRCSystemInfoRequest_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_12_vals[] = {
  {   0, "rrcSetupRequest" },
  {   1, "rrcResumeRequest" },
  {   2, "rrcReestablishmentRequest" },
  {   3, "rrcSystemInfoRequest" },
  { 0, NULL }
};

static const per_choice_t T_c1_12_choice[] = {
  {   0, &hf_nr_rrc_rrcSetupRequest, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCSetupRequest },
  {   1, &hf_nr_rrc_rrcResumeRequest, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCResumeRequest },
  {   2, &hf_nr_rrc_rrcReestablishmentRequest, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReestablishmentRequest },
  {   3, &hf_nr_rrc_rrcSystemInfoRequest, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCSystemInfoRequest },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_12, T_c1_12_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtension_06_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension_06, T_messageClassExtension_06_sequence);

  return offset;
}


static const value_string nr_rrc_UL_CCCH_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t UL_CCCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_12        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_12 },
  {   1, &hf_nr_rrc_messageClassExtension_06, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_06 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_UL_CCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_UL_CCCH_MessageType, UL_CCCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UL_CCCH_Message_sequence[] = {
  { &hf_nr_rrc_message_06   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_CCCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_CCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  actx->pinfo->link_dir = P2P_DIR_UL;

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_CCCH_Message, UL_CCCH_Message_sequence);

  return offset;
}


static const per_sequence_t RRCResumeRequest1_IEs_sequence[] = {
  { &hf_nr_rrc_resumeIdentity_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_I_RNTI_Value },
  { &hf_nr_rrc_resumeMAC_I  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_resumeCause  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResumeCause },
  { &hf_nr_rrc_spare        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeRequest1_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeRequest1_IEs, RRCResumeRequest1_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResumeRequest1_sequence[] = {
  { &hf_nr_rrc_rrcResumeRequest1_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCResumeRequest1_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeRequest1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request 1");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeRequest1, RRCResumeRequest1_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_13_vals[] = {
  {   0, "rrcResumeRequest1" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_13_choice[] = {
  {   0, &hf_nr_rrc_rrcResumeRequest1, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCResumeRequest1 },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_13, T_c1_13_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtension_07_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension_07, T_messageClassExtension_07_sequence);

  return offset;
}


static const value_string nr_rrc_UL_CCCH1_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t UL_CCCH1_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_13        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_13 },
  {   1, &hf_nr_rrc_messageClassExtension_07, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_07 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_UL_CCCH1_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_UL_CCCH1_MessageType, UL_CCCH1_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UL_CCCH1_Message_sequence[] = {
  { &hf_nr_rrc_message_07   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_CCCH1_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_CCCH1_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  actx->pinfo->link_dir = P2P_DIR_UL;

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_CCCH1_Message, UL_CCCH1_Message_sequence);

  return offset;
}


static const per_sequence_t MeasResultServMO_sequence[] = {
  { &hf_nr_rrc_servCellId   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
  { &hf_nr_rrc_measResultBestNeighCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultServMO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultServMO, MeasResultServMO_sequence);

  return offset;
}


static const per_sequence_t MeasResultServMOList_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultServMOList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMO },
};

static int
dissect_nr_rrc_MeasResultServMOList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultServMOList, MeasResultServMOList_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t MeasResultListEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultListEUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultEUTRA },
};

static int
dissect_nr_rrc_MeasResultListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultListEUTRA, MeasResultListEUTRA_sequence_of,
                                                  1, maxCellReport, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M5_91(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -5, 91U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 49U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_measResult_r16_02_sequence[] = {
  { &hf_nr_rrc_utra_FDD_RSCP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M5_91 },
  { &hf_nr_rrc_utra_FDD_EcN0_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_49 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResult_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResult_r16_02, T_measResult_r16_02_sequence);

  return offset;
}


static const per_sequence_t MeasResultUTRA_FDD_r16_sequence[] = {
  { &hf_nr_rrc_physCellId_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellIdUTRA_FDD_r16 },
  { &hf_nr_rrc_measResult_r16_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_r16_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultUTRA_FDD_r16, MeasResultUTRA_FDD_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultListUTRA_FDD_r16_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultListUTRA_FDD_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultUTRA_FDD_r16 },
};

static int
dissect_nr_rrc_MeasResultListUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultListUTRA_FDD_r16, MeasResultListUTRA_FDD_r16_sequence_of,
                                                  1, maxCellReport, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_sl_MeasResultsCandRelay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_meas_result_list_relay_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_meas_result_list_relay_tvb);

  if (sl_meas_result_list_relay_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_MeasResultsCandRelay_r17);
    dissect_SL_MeasResultListRelay_r17_PDU(sl_meas_result_list_relay_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string nr_rrc_T_measResultNeighCells_vals[] = {
  {   0, "measResultListNR" },
  {   1, "measResultListEUTRA" },
  {   2, "measResultListUTRA-FDD-r16" },
  {   3, "sl-MeasResultsCandRelay-r17" },
  { 0, NULL }
};

static const per_choice_t T_measResultNeighCells_choice[] = {
  {   0, &hf_nr_rrc_measResultListNR, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_MeasResultListNR },
  {   1, &hf_nr_rrc_measResultListEUTRA, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasResultListEUTRA },
  {   2, &hf_nr_rrc_measResultListUTRA_FDD_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasResultListUTRA_FDD_r16 },
  {   3, &hf_nr_rrc_sl_MeasResultsCandRelay_r17, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_sl_MeasResultsCandRelay_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultNeighCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_measResultNeighCells, T_measResultNeighCells_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasResultServFreqListNR_SCG_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultServFreqListNR_SCG_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR },
};

static int
dissect_nr_rrc_MeasResultServFreqListNR_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultServFreqListNR_SCG, MeasResultServFreqListNR_SCG_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t MeasResults_eag_1_sequence[] = {
  { &hf_nr_rrc_measResultServFreqListEUTRA_SCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultServFreqListEUTRA_SCG },
  { &hf_nr_rrc_measResultServFreqListNR_SCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultServFreqListNR_SCG },
  { &hf_nr_rrc_measResultSFTD_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultSFTD_EUTRA },
  { &hf_nr_rrc_measResultSFTD_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultCellSFTD_NR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResults_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResults_eag_1_sequence);

  return offset;
}


static const per_sequence_t MeasResults_eag_2_sequence[] = {
  { &hf_nr_rrc_measResultCellListSFTD_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultCellListSFTD_NR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResults_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResults_eag_2_sequence);

  return offset;
}


static const per_sequence_t MeasResultForRSSI_r16_sequence[] = {
  { &hf_nr_rrc_rssi_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_Range_r16 },
  { &hf_nr_rrc_channelOccupancy_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_100 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultForRSSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultForRSSI_r16, MeasResultForRSSI_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_locationTimestamp_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *location_timestamp_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &location_timestamp_tvb);

  if (location_timestamp_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationTimestamp_r16);
    dissect_lpp_DisplacementTimeStamp_r15_PDU(location_timestamp_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_locationCoordinate_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *location_coordinate_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &location_coordinate_tvb);

  if (location_coordinate_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationCoordinate_r16);
    dissect_lpp_LocationCoordinates_PDU(location_coordinate_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_locationError_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *location_error_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &location_error_tvb);

  if (location_error_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationError_r16);
    dissect_lpp_LocationError_PDU(location_error_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_locationSource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *location_source_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &location_source_tvb);

  if (location_source_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationSource_r16);
    dissect_lpp_LocationSource_r13_PDU(location_source_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_velocityEstimate_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *velocity_estimate_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &velocity_estimate_tvb);

  if (velocity_estimate_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_velocityEstimate_r16);
    dissect_lpp_Velocity_PDU(velocity_estimate_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t CommonLocationInfo_r16_sequence[] = {
  { &hf_nr_rrc_gnss_TOD_msec_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_locationTimestamp_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_locationTimestamp_r16 },
  { &hf_nr_rrc_locationCoordinate_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_locationCoordinate_r16 },
  { &hf_nr_rrc_locationError_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_locationError_r16 },
  { &hf_nr_rrc_locationSource_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_locationSource_r16 },
  { &hf_nr_rrc_velocityEstimate_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_velocityEstimate_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CommonLocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CommonLocationInfo_r16, CommonLocationInfo_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     48, 48, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M128_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -128, 127U, NULL, FALSE);

  return offset;
}


static const per_sequence_t LogMeasResultBT_r16_sequence[] = {
  { &hf_nr_rrc_bt_Addr_r16  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_48 },
  { &hf_nr_rrc_rssi_BT_r16  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M128_127 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LogMeasResultBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LogMeasResultBT_r16, LogMeasResultBT_r16_sequence);

  return offset;
}


static const per_sequence_t LogMeasResultListBT_r16_sequence_of[1] = {
  { &hf_nr_rrc_LogMeasResultListBT_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasResultBT_r16 },
};

static int
dissect_nr_rrc_LogMeasResultListBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_LogMeasResultListBT_r16, LogMeasResultListBT_r16_sequence_of,
                                                  1, maxBT_IdReport_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_ssid_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ssid_tvb = NULL;

  offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
                                       1, 32, FALSE, &ssid_tvb);

  actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);


  return offset;
}



static int
dissect_nr_rrc_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       6, 6, FALSE, NULL);

  return offset;
}


static const per_sequence_t WLAN_Identifiers_r16_sequence[] = {
  { &hf_nr_rrc_ssid_r16     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssid_r16 },
  { &hf_nr_rrc_bssid_r16    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING_SIZE_6 },
  { &hf_nr_rrc_hessid_r16   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING_SIZE_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_WLAN_Identifiers_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_WLAN_Identifiers_r16, WLAN_Identifiers_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_WLAN_RSSI_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 141U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 16777215U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_rttUnits_r16_vals[] = {
  {   0, "microseconds" },
  {   1, "hundredsofnanoseconds" },
  {   2, "tensofnanoseconds" },
  {   3, "nanoseconds" },
  {   4, "tenthsofnanoseconds" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rttUnits_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, TRUE, 0, NULL);

  return offset;
}


static const per_sequence_t WLAN_RTT_r16_sequence[] = {
  { &hf_nr_rrc_rttValue_r16 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_16777215 },
  { &hf_nr_rrc_rttUnits_r16 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rttUnits_r16 },
  { &hf_nr_rrc_rttAccuracy_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_255 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_WLAN_RTT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_WLAN_RTT_r16, WLAN_RTT_r16_sequence);

  return offset;
}


static const per_sequence_t LogMeasResultWLAN_r16_sequence[] = {
  { &hf_nr_rrc_wlan_Identifiers_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_WLAN_Identifiers_r16 },
  { &hf_nr_rrc_rssiWLAN_r16 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_WLAN_RSSI_Range_r16 },
  { &hf_nr_rrc_rtt_WLAN_r16 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_WLAN_RTT_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LogMeasResultWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LogMeasResultWLAN_r16, LogMeasResultWLAN_r16_sequence);

  return offset;
}


static const per_sequence_t LogMeasResultListWLAN_r16_sequence_of[1] = {
  { &hf_nr_rrc_LogMeasResultListWLAN_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasResultWLAN_r16 },
};

static int
dissect_nr_rrc_LogMeasResultListWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_LogMeasResultListWLAN_r16, LogMeasResultListWLAN_r16_sequence_of,
                                                  1, maxWLAN_Id_Report_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_sensor_MeasurementInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sensor_meas_info_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sensor_meas_info_tvb);

  if (sensor_meas_info_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MeasurementInformation_r16);
    dissect_lpp_Sensor_MeasurementInformation_r13_PDU(sensor_meas_info_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_sensor_MotionInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sensor_motion_info_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sensor_motion_info_tvb);

  if (sensor_motion_info_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MotionInformation_r16);
    dissect_lpp_Sensor_MotionInformation_r15_PDU(sensor_motion_info_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t Sensor_LocationInfo_r16_sequence[] = {
  { &hf_nr_rrc_sensor_MeasurementInformation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sensor_MeasurementInformation_r16 },
  { &hf_nr_rrc_sensor_MotionInformation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sensor_MotionInformation_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Sensor_LocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Sensor_LocationInfo_r16, Sensor_LocationInfo_r16_sequence);

  return offset;
}


static const per_sequence_t LocationInfo_r16_sequence[] = {
  { &hf_nr_rrc_commonLocationInfo_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CommonLocationInfo_r16 },
  { &hf_nr_rrc_bt_LocationInfo_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LogMeasResultListBT_r16 },
  { &hf_nr_rrc_wlan_LocationInfo_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LogMeasResultListWLAN_r16 },
  { &hf_nr_rrc_sensor_LocationInfo_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Sensor_LocationInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LocationInfo_r16, LocationInfo_r16_sequence);

  return offset;
}


static const per_sequence_t UL_PDCP_DelayValueResult_r16_sequence[] = {
  { &hf_nr_rrc_drb_Id_r16   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
  { &hf_nr_rrc_averageDelay_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10000 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_PDCP_DelayValueResult_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_PDCP_DelayValueResult_r16, UL_PDCP_DelayValueResult_r16_sequence);

  return offset;
}


static const per_sequence_t UL_PDCP_DelayValueResultList_r16_sequence_of[1] = {
  { &hf_nr_rrc_UL_PDCP_DelayValueResultList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_PDCP_DelayValueResult_r16 },
};

static int
dissect_nr_rrc_UL_PDCP_DelayValueResultList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UL_PDCP_DelayValueResultList_r16, UL_PDCP_DelayValueResultList_r16_sequence_of,
                                                  1, maxDRB, FALSE);

  return offset;
}


static const per_sequence_t MeasResultCBR_NR_r16_sequence[] = {
  { &hf_nr_rrc_sl_poolReportIdentity_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolID_r16 },
  { &hf_nr_rrc_sl_CBR_ResultsNR_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultCBR_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultCBR_NR_r16, MeasResultCBR_NR_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16_sequence_of[1] = {
  { &hf_nr_rrc_measResultListCBR_NR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCBR_NR_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16, SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16_sequence_of,
                                                  1, maxNrofSL_PoolToMeasureNR_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasResultNR_SL_r16_sequence[] = {
  { &hf_nr_rrc_measResultListCBR_NR_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultNR_SL_r16, MeasResultNR_SL_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_measResultsListSL_r16_vals[] = {
  {   0, "measResultNR-SL-r16" },
  { 0, NULL }
};

static const per_choice_t T_measResultsListSL_r16_choice[] = {
  {   0, &hf_nr_rrc_measResultNR_SL_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_MeasResultNR_SL_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultsListSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_measResultsListSL_r16, T_measResultsListSL_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasResultsSL_r16_sequence[] = {
  { &hf_nr_rrc_measResultsListSL_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultsListSL_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultsSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultsSL_r16, MeasResultsSL_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultSRS_RSRP_r16_sequence[] = {
  { &hf_nr_rrc_srs_ResourceId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
  { &hf_nr_rrc_srs_RSRP_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_RSRP_Range_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultSRS_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultSRS_RSRP_r16, MeasResultSRS_RSRP_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultListSRS_RSRP_r16_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultListSRS_RSRP_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultSRS_RSRP_r16 },
};

static int
dissect_nr_rrc_MeasResultListSRS_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultListSRS_RSRP_r16, MeasResultListSRS_RSRP_r16_sequence_of,
                                                  1, maxCLI_Report_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasResultCLI_RSSI_r16_sequence[] = {
  { &hf_nr_rrc_rssi_ResourceId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_ResourceId_r16 },
  { &hf_nr_rrc_cli_RSSI_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CLI_RSSI_Range_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultCLI_RSSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultCLI_RSSI_r16, MeasResultCLI_RSSI_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultListCLI_RSSI_r16_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultListCLI_RSSI_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCLI_RSSI_r16 },
};

static int
dissect_nr_rrc_MeasResultListCLI_RSSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultListCLI_RSSI_r16, MeasResultListCLI_RSSI_r16_sequence_of,
                                                  1, maxCLI_Report_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasResultCLI_r16_sequence[] = {
  { &hf_nr_rrc_measResultListSRS_RSRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultListSRS_RSRP_r16 },
  { &hf_nr_rrc_measResultListCLI_RSSI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultListCLI_RSSI_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultCLI_r16, MeasResultCLI_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResults_eag_3_sequence[] = {
  { &hf_nr_rrc_measResultForRSSI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultForRSSI_r16 },
  { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LocationInfo_r16 },
  { &hf_nr_rrc_ul_PDCP_DelayValueResultList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UL_PDCP_DelayValueResultList_r16 },
  { &hf_nr_rrc_measResultsSL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultsSL_r16 },
  { &hf_nr_rrc_measResultCLI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultCLI_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResults_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResults_eag_3_sequence);

  return offset;
}


static const per_sequence_t MeasResultRxTxTimeDiff_r17_sequence[] = {
  { &hf_nr_rrc_rxTxTimeDiff_ue_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RxTxTimeDiff_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultRxTxTimeDiff_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultRxTxTimeDiff_r17, MeasResultRxTxTimeDiff_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_sl_MeasResultServingRelay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_meas_result_serving_relay_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_meas_result_serving_relay_tvb);

  if (sl_meas_result_serving_relay_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_MeasResultServingRelay_r17);
    dissect_SL_MeasResultRelay_r17_PDU(sl_meas_result_serving_relay_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t UL_PDCP_ExcessDelayResult_r17_sequence[] = {
  { &hf_nr_rrc_drb_Id_r17   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
  { &hf_nr_rrc_excessDelay_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_PDCP_ExcessDelayResult_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_PDCP_ExcessDelayResult_r17, UL_PDCP_ExcessDelayResult_r17_sequence);

  return offset;
}


static const per_sequence_t UL_PDCP_ExcessDelayResultList_r17_sequence_of[1] = {
  { &hf_nr_rrc_UL_PDCP_ExcessDelayResultList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_PDCP_ExcessDelayResult_r17 },
};

static int
dissect_nr_rrc_UL_PDCP_ExcessDelayResultList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UL_PDCP_ExcessDelayResultList_r17, UL_PDCP_ExcessDelayResultList_r17_sequence_of,
                                                  1, maxDRB, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_coarseLocationInfo_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ellipsoid_point_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &ellipsoid_point_tvb);

  if (ellipsoid_point_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_coarseLocationInfo_r17);
    dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t MeasResults_eag_4_sequence[] = {
  { &hf_nr_rrc_measResultRxTxTimeDiff_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultRxTxTimeDiff_r17 },
  { &hf_nr_rrc_sl_MeasResultServingRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_MeasResultServingRelay_r17 },
  { &hf_nr_rrc_ul_PDCP_ExcessDelayResultList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UL_PDCP_ExcessDelayResultList_r17 },
  { &hf_nr_rrc_coarseLocationInfo_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_coarseLocationInfo_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResults_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResults_eag_4_sequence);

  return offset;
}


static const per_sequence_t MeasResults_sequence[] = {
  { &hf_nr_rrc_measId       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
  { &hf_nr_rrc_measResultServingMOList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMOList },
  { &hf_nr_rrc_measResultNeighCells, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultNeighCells },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResults, MeasResults_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_20_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_20, T_nonCriticalExtension_20_sequence);

  return offset;
}


static const per_sequence_t MeasurementReport_IEs_sequence[] = {
  { &hf_nr_rrc_measResults  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_46, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_20 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementReport_IEs, MeasurementReport_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_20_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_20, T_criticalExtensionsFuture_20_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_20_vals[] = {
  {   0, "measurementReport" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_20_choice[] = {
  {   0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasurementReport_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_20, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_20 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_20, T_criticalExtensions_20_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasurementReport_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_20, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_20 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementReport, MeasurementReport_sequence);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentBWP_sequence[] = {
  { &hf_nr_rrc_bwp_Id       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_shift7dot5kHz, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_txDirectCurrentLocation_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3301 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkTxDirectCurrentBWP, UplinkTxDirectCurrentBWP_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP_sequence_of[1] = {
  { &hf_nr_rrc_uplinkDirectCurrentBWP_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentBWP },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP, SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP_sequence_of,
                                                  1, maxNrofBWPs, FALSE);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentCell_eag_1_sequence[] = {
  { &hf_nr_rrc_uplinkDirectCurrentBWP_SUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentCell_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UplinkTxDirectCurrentCell_eag_1_sequence);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentCell_sequence[] = {
  { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_uplinkDirectCurrentBWP, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentCell_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkTxDirectCurrentCell, UplinkTxDirectCurrentCell_sequence);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentList_sequence_of[1] = {
  { &hf_nr_rrc_UplinkTxDirectCurrentList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentCell },
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UplinkTxDirectCurrentList, UplinkTxDirectCurrentList_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_nr_SCG_Response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfigurationComplete_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_eutra_SCG_Response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *eutra_scg_response_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &eutra_scg_response_tvb);

  if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response);
    nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const value_string nr_rrc_T_scg_Response_vals[] = {
  {   0, "nr-SCG-Response" },
  {   1, "eutra-SCG-Response" },
  { 0, NULL }
};

static const per_choice_t T_scg_Response_choice[] = {
  {   0, &hf_nr_rrc_nr_SCG_Response, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_SCG_Response },
  {   1, &hf_nr_rrc_eutra_SCG_Response, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_SCG_Response },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scg_Response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scg_Response, T_scg_Response_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_logMeasAvailable_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logMeasAvailable_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_logMeasAvailableBT_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logMeasAvailableBT_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_logMeasAvailableWLAN_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logMeasAvailableWLAN_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_connEstFailInfoAvailable_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_connEstFailInfoAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rlf_InfoAvailable_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlf_InfoAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_successHO_InfoAvailable_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_successHO_InfoAvailable_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UE_MeasurementsAvailable_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_successHO_InfoAvailable_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_successHO_InfoAvailable_r17 },
  { &hf_nr_rrc_sigLogMeasConfigAvailable_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MeasurementsAvailable_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UE_MeasurementsAvailable_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t UE_MeasurementsAvailable_r16_sequence[] = {
  { &hf_nr_rrc_logMeasAvailable_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logMeasAvailable_r16_01 },
  { &hf_nr_rrc_logMeasAvailableBT_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logMeasAvailableBT_r16_01 },
  { &hf_nr_rrc_logMeasAvailableWLAN_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logMeasAvailableWLAN_r16_01 },
  { &hf_nr_rrc_connEstFailInfoAvailable_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_connEstFailInfoAvailable_r16 },
  { &hf_nr_rrc_rlf_InfoAvailable_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlf_InfoAvailable_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_MeasurementsAvailable_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MeasurementsAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MeasurementsAvailable_r16, UE_MeasurementsAvailable_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_deactivatedCarrier_r16_vals[] = {
  {   0, "deactivated" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_deactivatedCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_servCellInfo_r16_vals[] = {
  {   0, "bwp-Id-r16" },
  {   1, "deactivatedCarrier-r16" },
  { 0, NULL }
};

static const per_choice_t T_servCellInfo_r16_choice[] = {
  {   0, &hf_nr_rrc_bwp_Id_r16   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BWP_Id },
  {   1, &hf_nr_rrc_deactivatedCarrier_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_deactivatedCarrier_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_servCellInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_servCellInfo_r16, T_servCellInfo_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentCarrierInfo_r16_sequence[] = {
  { &hf_nr_rrc_servCellIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_servCellInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_servCellInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentCarrierInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkTxDirectCurrentCarrierInfo_r16, UplinkTxDirectCurrentCarrierInfo_r16_sequence);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentTwoCarrierInfo_r16_sequence[] = {
  { &hf_nr_rrc_referenceCarrierIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_shift7dot5kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_txDirectCurrentLocation_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3301 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkTxDirectCurrentTwoCarrierInfo_r16, UplinkTxDirectCurrentTwoCarrierInfo_r16_sequence);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentTwoCarrier_r16_sequence[] = {
  { &hf_nr_rrc_carrierOneInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentCarrierInfo_r16 },
  { &hf_nr_rrc_carrierTwoInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentCarrierInfo_r16 },
  { &hf_nr_rrc_singlePA_TxDirectCurrent_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierInfo_r16 },
  { &hf_nr_rrc_secondPA_TxDirectCurrent_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkTxDirectCurrentTwoCarrier_r16, UplinkTxDirectCurrentTwoCarrier_r16_sequence);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentTwoCarrierList_r16_sequence_of[1] = {
  { &hf_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrier_r16 },
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16, UplinkTxDirectCurrentTwoCarrierList_r16_sequence_of,
                                                  1, maxNrofTxDC_TwoCarrier_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_FrequencyComponent_r17_vals[] = {
  {   0, "activeCarrier" },
  {   1, "configuredCarrier" },
  {   2, "activeBWP" },
  {   3, "configuredBWP" },
  { 0, NULL }
};


static int
dissect_nr_rrc_FrequencyComponent_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_DefaultDC_Location_r17_vals[] = {
  {   0, "ul" },
  {   1, "dl" },
  {   2, "ulAndDL" },
  { 0, NULL }
};

static const per_choice_t DefaultDC_Location_r17_choice[] = {
  {   0, &hf_nr_rrc_ul           , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FrequencyComponent_r17 },
  {   1, &hf_nr_rrc_dl           , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FrequencyComponent_r17 },
  {   2, &hf_nr_rrc_ulAndDL      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FrequencyComponent_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_DefaultDC_Location_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_DefaultDC_Location_r17, DefaultDC_Location_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M20000_20000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -20000, 20000U, NULL, FALSE);

  return offset;
}


static const per_sequence_t OffsetValue_r17_sequence[] = {
  { &hf_nr_rrc_offsetValue_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M20000_20000 },
  { &hf_nr_rrc_shift7dot5kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OffsetValue_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OffsetValue_r17, OffsetValue_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17_sequence_of[1] = {
  { &hf_nr_rrc_offsetlist_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OffsetValue_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17, SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17_sequence_of,
                                                  1, maxNrofReqComDC_Location_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_offsetToDefault_r17_vals[] = {
  {   0, "offsetValue" },
  {   1, "offsetlist" },
  { 0, NULL }
};

static const per_choice_t T_offsetToDefault_r17_choice[] = {
  {   0, &hf_nr_rrc_offsetValue  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_OffsetValue_r17 },
  {   1, &hf_nr_rrc_offsetlist   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_offsetToDefault_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_offsetToDefault_r17, T_offsetToDefault_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CC_Group_r17_sequence[] = {
  { &hf_nr_rrc_servCellIndexLower_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_servCellIndexHigher_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_defaultDC_Location_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DefaultDC_Location_r17 },
  { &hf_nr_rrc_offsetToDefault_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_offsetToDefault_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CC_Group_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CC_Group_r17, CC_Group_r17_sequence);

  return offset;
}


static const per_sequence_t UplinkTxDirectCurrentMoreCarrierList_r17_sequence_of[1] = {
  { &hf_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CC_Group_r17 },
};

static int
dissect_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17, UplinkTxDirectCurrentMoreCarrierList_r17_sequence_of,
                                                  1, maxNrofCC_Group_r17, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_27_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_27, T_nonCriticalExtension_27_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationComplete_v1720_IEs_sequence[] = {
  { &hf_nr_rrc_uplinkTxDirectCurrentMoreCarrierList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17 },
  { &hf_nr_rrc_nonCriticalExtension_68, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_27 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationComplete_v1720_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationComplete_v1720_IEs, RRCReconfigurationComplete_v1720_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationComplete_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_needForGapNCSG_InfoNR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapNCSG_InfoNR_r17 },
  { &hf_nr_rrc_needForGapNCSG_InfoEUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17 },
  { &hf_nr_rrc_selectedCondRRCReconfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CondReconfigId_r16 },
  { &hf_nr_rrc_nonCriticalExtension_67, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationComplete_v1720_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationComplete_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationComplete_v1700_IEs, RRCReconfigurationComplete_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationComplete_v1640_IEs_sequence[] = {
  { &hf_nr_rrc_uplinkTxDirectCurrentTwoCarrierList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16 },
  { &hf_nr_rrc_nonCriticalExtension_66, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationComplete_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationComplete_v1640_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationComplete_v1640_IEs, RRCReconfigurationComplete_v1640_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationComplete_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_ue_MeasurementsAvailable_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MeasurementsAvailable_r16 },
  { &hf_nr_rrc_needForGapsInfoNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapsInfoNR_r16 },
  { &hf_nr_rrc_nonCriticalExtension_65, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationComplete_v1640_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationComplete_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationComplete_v1610_IEs, RRCReconfigurationComplete_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationComplete_v1560_IEs_sequence[] = {
  { &hf_nr_rrc_scg_Response , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_Response },
  { &hf_nr_rrc_nonCriticalExtension_64, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationComplete_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationComplete_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationComplete_v1560_IEs, RRCReconfigurationComplete_v1560_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationComplete_v1530_IEs_sequence[] = {
  { &hf_nr_rrc_uplinkTxDirectCurrentList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkTxDirectCurrentList },
  { &hf_nr_rrc_nonCriticalExtension_63, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationComplete_v1560_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs, RRCReconfigurationComplete_v1530_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationComplete_IEs_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_62, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationComplete_IEs, RRCReconfigurationComplete_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_26_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_26, T_criticalExtensionsFuture_26_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_26_vals[] = {
  {   0, "rrcReconfigurationComplete" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_26_choice[] = {
  {   0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfigurationComplete_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_26, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_26 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_26, T_criticalExtensions_26_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCReconfigurationComplete_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_26, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_26 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationComplete, RRCReconfigurationComplete_sequence);

  return offset;
}



static int
dissect_nr_rrc_AMF_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t RegisteredAMF_sequence[] = {
  { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_amf_Identifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AMF_Identifier },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RegisteredAMF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RegisteredAMF, RegisteredAMF_sequence);

  return offset;
}


static const value_string nr_rrc_T_guami_Type_vals[] = {
  {   0, "native" },
  {   1, "mapped" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_guami_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_S_NSSAI_vals[] = {
  {   0, "sst" },
  {   1, "sst-SD" },
  { 0, NULL }
};

static const per_choice_t S_NSSAI_choice[] = {
  {   0, &hf_nr_rrc_sst          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   1, &hf_nr_rrc_sst_SD       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_S_NSSAI, S_NSSAI_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI_sequence_of[1] = {
  { &hf_nr_rrc_s_NSSAI_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_S_NSSAI },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI, SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI_sequence_of,
                                                  1, maxNrofS_NSSAI, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     9, 9, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_ng_5G_S_TMSI_Value_vals[] = {
  {   0, "ng-5G-S-TMSI" },
  {   1, "ng-5G-S-TMSI-Part2" },
  { 0, NULL }
};

static const per_choice_t T_ng_5G_S_TMSI_Value_choice[] = {
  {   0, &hf_nr_rrc_ng_5G_S_TMSI , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NG_5G_S_TMSI },
  {   1, &hf_nr_rrc_ng_5G_S_TMSI_Part2, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_9 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ng_5G_S_TMSI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ng_5G_S_TMSI_Value, T_ng_5G_S_TMSI_Value_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_iab_NodeIndication_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_iab_NodeIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_idleMeasAvailable_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleMeasAvailable_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mobilityHistoryAvail_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mobilityHistoryAvail_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mobilityState_r16_01_vals[] = {
  {   0, "normal" },
  {   1, "medium" },
  {   2, "high" },
  {   3, "spare" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mobilityState_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_RRC_Segmentation_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_RRC_Segmentation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_onboardingRequest_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_onboardingRequest_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_33_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_33, T_nonCriticalExtension_33_sequence);

  return offset;
}


static const per_sequence_t RRCSetupComplete_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_onboardingRequest_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_onboardingRequest_r17 },
  { &hf_nr_rrc_nonCriticalExtension_89, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_33 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetupComplete_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetupComplete_v1700_IEs, RRCSetupComplete_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCSetupComplete_v1690_IEs_sequence[] = {
  { &hf_nr_rrc_ul_RRC_Segmentation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_RRC_Segmentation_r16 },
  { &hf_nr_rrc_nonCriticalExtension_88, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCSetupComplete_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetupComplete_v1690_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetupComplete_v1690_IEs, RRCSetupComplete_v1690_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCSetupComplete_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_iab_NodeIndication_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_iab_NodeIndication_r16 },
  { &hf_nr_rrc_idleMeasAvailable_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleMeasAvailable_r16_01 },
  { &hf_nr_rrc_ue_MeasurementsAvailable_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MeasurementsAvailable_r16 },
  { &hf_nr_rrc_mobilityHistoryAvail_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mobilityHistoryAvail_r16_01 },
  { &hf_nr_rrc_mobilityState_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mobilityState_r16_01 },
  { &hf_nr_rrc_nonCriticalExtension_87, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCSetupComplete_v1690_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetupComplete_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetupComplete_v1610_IEs, RRCSetupComplete_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCSetupComplete_IEs_sequence[] = {
  { &hf_nr_rrc_selectedPLMN_Identity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN },
  { &hf_nr_rrc_registeredAMF, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RegisteredAMF },
  { &hf_nr_rrc_guami_Type   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_guami_Type },
  { &hf_nr_rrc_s_NSSAI_List , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI },
  { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DedicatedNAS_Message },
  { &hf_nr_rrc_ng_5G_S_TMSI_Value, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ng_5G_S_TMSI_Value },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_86, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCSetupComplete_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetupComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetupComplete_IEs, RRCSetupComplete_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_32_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_32, T_criticalExtensionsFuture_32_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_32_vals[] = {
  {   0, "rrcSetupComplete" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_32_choice[] = {
  {   0, &hf_nr_rrc_rrcSetupComplete_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCSetupComplete_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_32, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_32 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_32, T_criticalExtensions_32_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCSetupComplete_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_32, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Complete");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCSetupComplete, RRCSetupComplete_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_25_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_25, T_nonCriticalExtension_25_sequence);

  return offset;
}


static const per_sequence_t RRCReestablishmentComplete_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_ue_MeasurementsAvailable_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MeasurementsAvailable_r16 },
  { &hf_nr_rrc_nonCriticalExtension_55, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_25 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReestablishmentComplete_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReestablishmentComplete_v1610_IEs, RRCReestablishmentComplete_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReestablishmentComplete_IEs_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_54, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReestablishmentComplete_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReestablishmentComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReestablishmentComplete_IEs, RRCReestablishmentComplete_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_24_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_24, T_criticalExtensionsFuture_24_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_24_vals[] = {
  {   0, "rrcReestablishmentComplete" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_24_choice[] = {
  {   0, &hf_nr_rrc_rrcReestablishmentComplete_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReestablishmentComplete_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_24, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_24 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_24, T_criticalExtensions_24_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCReestablishmentComplete_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_24, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_24 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReestablishmentComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Complete");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReestablishmentComplete, RRCReestablishmentComplete_sequence);

  return offset;
}


static const value_string nr_rrc_T_idleMeasAvailable_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleMeasAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_measIdleResultEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_rsrp_ResultEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_RangeEUTRA },
  { &hf_nr_rrc_rsrq_ResultEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_RangeEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measIdleResultEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measIdleResultEUTRA_r16, T_measIdleResultEUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultsPerCellIdleEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_eutra_PhysCellId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { &hf_nr_rrc_measIdleResultEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measIdleResultEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultsPerCellIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultsPerCellIdleEUTRA_r16, MeasResultsPerCellIdleEUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultsPerCellIdleEUTRA_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16, SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16_sequence_of,
                                                  1, maxCellMeasIdle_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasResultsPerCarrierIdleEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreqEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16, MeasResultsPerCarrierIdleEUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16, SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16_sequence_of,
                                                  1, maxFreqIdle_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasResultIdleEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultIdleEUTRA_r16, MeasResultIdleEUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t T_ssb_Results_r16_sequence[] = {
  { &hf_nr_rrc_ssb_RSRP_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_ssb_RSRQ_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_Results_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ssb_Results_r16, T_ssb_Results_r16_sequence);

  return offset;
}


static const per_sequence_t ResultsPerSSB_IndexIdle_r16_sequence[] = {
  { &hf_nr_rrc_ssb_Index_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
  { &hf_nr_rrc_ssb_Results_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_Results_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ResultsPerSSB_IndexIdle_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ResultsPerSSB_IndexIdle_r16, ResultsPerSSB_IndexIdle_r16_sequence);

  return offset;
}


static const per_sequence_t ResultsPerSSB_IndexList_r16_sequence_of[1] = {
  { &hf_nr_rrc_ResultsPerSSB_IndexList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSB_IndexIdle_r16 },
};

static int
dissect_nr_rrc_ResultsPerSSB_IndexList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ResultsPerSSB_IndexList_r16, ResultsPerSSB_IndexList_r16_sequence_of,
                                                  1, maxNrofIndexesToReport, FALSE);

  return offset;
}


static const per_sequence_t T_measResultServingCell_r16_sequence[] = {
  { &hf_nr_rrc_rsrp_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_rsrq_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_Range },
  { &hf_nr_rrc_resultsSSB_Indexes_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResultsPerSSB_IndexList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultServingCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResultServingCell_r16, T_measResultServingCell_r16_sequence);

  return offset;
}


static const per_sequence_t T_measIdleResultNR_r16_sequence[] = {
  { &hf_nr_rrc_rsrp_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_rsrq_Result_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRQ_Range },
  { &hf_nr_rrc_resultsSSB_Indexes_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResultsPerSSB_IndexList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measIdleResultNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measIdleResultNR_r16, T_measIdleResultNR_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultsPerCellIdleNR_r16_sequence[] = {
  { &hf_nr_rrc_physCellId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_measIdleResultNR_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measIdleResultNR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultsPerCellIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultsPerCellIdleNR_r16, MeasResultsPerCellIdleNR_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_measResultsPerCellListIdleNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultsPerCellIdleNR_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16, SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16_sequence_of,
                                                  1, maxCellMeasIdle_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasResultsPerCarrierIdleNR_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreq_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_measResultsPerCellListIdleNR_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultsPerCarrierIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultsPerCarrierIdleNR_r16, MeasResultsPerCarrierIdleNR_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_measResultsPerCarrierListIdleNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultsPerCarrierIdleNR_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16, SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16_sequence_of,
                                                  1, maxFreqIdle_r16, FALSE);

  return offset;
}


static const per_sequence_t MeasResultIdleNR_r16_sequence[] = {
  { &hf_nr_rrc_measResultServingCell_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultServingCell_r16 },
  { &hf_nr_rrc_measResultsPerCarrierListIdleNR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultIdleNR_r16, MeasResultIdleNR_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_nr_SCG_Response_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfigurationComplete_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_eutra_SCG_Response_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *eutra_scg_response_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &eutra_scg_response_tvb);

  if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response);
    nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const value_string nr_rrc_T_scg_Response_r16_vals[] = {
  {   0, "nr-SCG-Response" },
  {   1, "eutra-SCG-Response" },
  { 0, NULL }
};

static const per_choice_t T_scg_Response_r16_choice[] = {
  {   0, &hf_nr_rrc_nr_SCG_Response_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_SCG_Response_01 },
  {   1, &hf_nr_rrc_eutra_SCG_Response_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_SCG_Response_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scg_Response_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scg_Response_r16, T_scg_Response_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mobilityHistoryAvail_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mobilityHistoryAvail_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mobilityState_r16_vals[] = {
  {   0, "normal" },
  {   1, "medium" },
  {   2, "high" },
  {   3, "spare" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mobilityState_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_31_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_31, T_nonCriticalExtension_31_sequence);

  return offset;
}


static const per_sequence_t RRCResumeComplete_v1720_IEs_sequence[] = {
  { &hf_nr_rrc_uplinkTxDirectCurrentMoreCarrierList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17 },
  { &hf_nr_rrc_nonCriticalExtension_83, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeComplete_v1720_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeComplete_v1720_IEs, RRCResumeComplete_v1720_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResumeComplete_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_needForGapNCSG_InfoNR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapNCSG_InfoNR_r17 },
  { &hf_nr_rrc_needForGapNCSG_InfoEUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17 },
  { &hf_nr_rrc_nonCriticalExtension_82, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCResumeComplete_v1720_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeComplete_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeComplete_v1700_IEs, RRCResumeComplete_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResumeComplete_v1640_IEs_sequence[] = {
  { &hf_nr_rrc_uplinkTxDirectCurrentTwoCarrierList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16 },
  { &hf_nr_rrc_nonCriticalExtension_81, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCResumeComplete_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeComplete_v1640_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeComplete_v1640_IEs, RRCResumeComplete_v1640_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResumeComplete_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_idleMeasAvailable_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleMeasAvailable_r16 },
  { &hf_nr_rrc_measResultIdleEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultIdleEUTRA_r16 },
  { &hf_nr_rrc_measResultIdleNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultIdleNR_r16 },
  { &hf_nr_rrc_scg_Response_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_Response_r16 },
  { &hf_nr_rrc_ue_MeasurementsAvailable_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MeasurementsAvailable_r16 },
  { &hf_nr_rrc_mobilityHistoryAvail_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mobilityHistoryAvail_r16 },
  { &hf_nr_rrc_mobilityState_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mobilityState_r16 },
  { &hf_nr_rrc_needForGapsInfoNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NeedForGapsInfoNR_r16 },
  { &hf_nr_rrc_nonCriticalExtension_80, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCResumeComplete_v1640_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeComplete_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeComplete_v1610_IEs, RRCResumeComplete_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCResumeComplete_IEs_sequence[] = {
  { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DedicatedNAS_Message },
  { &hf_nr_rrc_selectedPLMN_Identity, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxPLMN },
  { &hf_nr_rrc_uplinkTxDirectCurrentList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkTxDirectCurrentList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_79, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCResumeComplete_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeComplete_IEs, RRCResumeComplete_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_30_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_30, T_criticalExtensionsFuture_30_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_30_vals[] = {
  {   0, "rrcResumeComplete" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_30_choice[] = {
  {   0, &hf_nr_rrc_rrcResumeComplete_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCResumeComplete_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_30, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_30 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_30, T_criticalExtensions_30_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCResumeComplete_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_30, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_30 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCResumeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Complete");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCResumeComplete, RRCResumeComplete_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_37_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_37, T_nonCriticalExtension_37_sequence);

  return offset;
}


static const per_sequence_t SecurityModeComplete_IEs_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_95, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_37 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityModeComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityModeComplete_IEs, SecurityModeComplete_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_37_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_37, T_criticalExtensionsFuture_37_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_37_vals[] = {
  {   0, "securityModeComplete" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_37_choice[] = {
  {   0, &hf_nr_rrc_securityModeComplete_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SecurityModeComplete_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_37, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_37 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_37, T_criticalExtensions_37_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SecurityModeComplete_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_37, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_37 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Complete");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityModeComplete, SecurityModeComplete_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_38_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_38, T_nonCriticalExtension_38_sequence);

  return offset;
}


static const per_sequence_t SecurityModeFailure_IEs_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_96, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_38 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityModeFailure_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityModeFailure_IEs, SecurityModeFailure_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_38_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_38, T_criticalExtensionsFuture_38_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_38_vals[] = {
  {   0, "securityModeFailure" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_38_choice[] = {
  {   0, &hf_nr_rrc_securityModeFailure_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SecurityModeFailure_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_38, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_38 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_38, T_criticalExtensions_38_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SecurityModeFailure_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_38, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_38 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SecurityModeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  mac_nr_info *p_mac_nr_info;

  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Failure");
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SecurityModeFailure, SecurityModeFailure_sequence);

  /* Look for UE identifier */
  p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);

  if (p_mac_nr_info != NULL) {
    /* Inform PDCP that the UE failed to execute the securityModeCommand */
    set_pdcp_nr_security_algorithms_failed(p_mac_nr_info->ueid);
  }


  return offset;
}


static const per_sequence_t T_nonCriticalExtension_49_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_49, T_nonCriticalExtension_49_sequence);

  return offset;
}


static const per_sequence_t ULInformationTransfer_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_dedicatedInfoF1c_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DedicatedInfoF1c_r17 },
  { &hf_nr_rrc_nonCriticalExtension_120, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_49 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULInformationTransfer_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULInformationTransfer_v1700_IEs, ULInformationTransfer_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t ULInformationTransfer_IEs_sequence[] = {
  { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DedicatedNAS_Message },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_119, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ULInformationTransfer_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULInformationTransfer_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULInformationTransfer_IEs, ULInformationTransfer_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_48_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_48, T_criticalExtensionsFuture_48_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_48_vals[] = {
  {   0, "ulInformationTransfer" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_48_choice[] = {
  {   0, &hf_nr_rrc_ulInformationTransfer_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ULInformationTransfer_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_48, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_48 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_48, T_criticalExtensions_48_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ULInformationTransfer_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_48, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_48 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULInformationTransfer, ULInformationTransfer_sequence);

  return offset;
}


static const per_sequence_t EUTRA_RSTD_Info_sequence[] = {
  { &hf_nr_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_measPRS_Offset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_39 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_RSTD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_RSTD_Info, EUTRA_RSTD_Info_sequence);

  return offset;
}


static const per_sequence_t EUTRA_RSTD_InfoList_sequence_of[1] = {
  { &hf_nr_rrc_EUTRA_RSTD_InfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_RSTD_Info },
};

static int
dissect_nr_rrc_EUTRA_RSTD_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_EUTRA_RSTD_InfoList, EUTRA_RSTD_InfoList_sequence_of,
                                                  1, maxInterRAT_RSTD_Freq, FALSE);

  return offset;
}


static const value_string nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16_vals[] = {
  {   0, "ms20-r16" },
  {   1, "ms40-r16" },
  {   2, "ms80-r16" },
  {   3, "ms160-r16" },
  { 0, NULL }
};

static const per_choice_t T_nr_MeasPRS_RepetitionAndOffset_r16_choice[] = {
  {   0, &hf_nr_rrc_ms20_r16     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   1, &hf_nr_rrc_ms40_r16     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   2, &hf_nr_rrc_ms80_r16     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   3, &hf_nr_rrc_ms160_r16    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16, T_nr_MeasPRS_RepetitionAndOffset_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_MeasPRS_length_r16_vals[] = {
  {   0, "ms1dot5" },
  {   1, "ms3" },
  {   2, "ms3dot5" },
  {   3, "ms4" },
  {   4, "ms5dot5" },
  {   5, "ms6" },
  {   6, "ms10" },
  {   7, "ms20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_MeasPRS_length_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NR_PRS_MeasurementInfo_r16_sequence[] = {
  { &hf_nr_rrc_dl_PRS_PointA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_nr_MeasPRS_RepetitionAndOffset_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16 },
  { &hf_nr_rrc_nr_MeasPRS_length_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nr_MeasPRS_length_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NR_PRS_MeasurementInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NR_PRS_MeasurementInfo_r16, NR_PRS_MeasurementInfo_r16_sequence);

  return offset;
}


static const per_sequence_t NR_PRS_MeasurementInfoList_r16_sequence_of[1] = {
  { &hf_nr_rrc_NR_PRS_MeasurementInfoList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_PRS_MeasurementInfo_r16 },
};

static int
dissect_nr_rrc_NR_PRS_MeasurementInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_NR_PRS_MeasurementInfoList_r16, NR_PRS_MeasurementInfoList_r16_sequence_of,
                                                  1, maxFreqLayers, FALSE);

  return offset;
}


static const value_string nr_rrc_LocationMeasurementInfo_vals[] = {
  {   0, "eutra-RSTD" },
  {   1, "eutra-FineTimingDetection" },
  {   2, "nr-PRS-Measurement-r16" },
  { 0, NULL }
};

static const per_choice_t LocationMeasurementInfo_choice[] = {
  {   0, &hf_nr_rrc_eutra_RSTD   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_EUTRA_RSTD_InfoList },
  {   1, &hf_nr_rrc_eutra_FineTimingDetection, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_nr_PRS_Measurement_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_NR_PRS_MeasurementInfoList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_LocationMeasurementInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_LocationMeasurementInfo, LocationMeasurementInfo_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_measurementIndication_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_measurementIndication_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_01     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LocationMeasurementInfo },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_measurementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_measurementIndication, T_measurementIndication_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_15_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_15, T_nonCriticalExtension_15_sequence);

  return offset;
}


static const per_sequence_t LocationMeasurementIndication_IEs_sequence[] = {
  { &hf_nr_rrc_measurementIndication, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measurementIndication },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_40, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LocationMeasurementIndication_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LocationMeasurementIndication_IEs, LocationMeasurementIndication_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_15_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_15, T_criticalExtensionsFuture_15_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_15_vals[] = {
  {   0, "locationMeasurementIndication" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_15_choice[] = {
  {   0, &hf_nr_rrc_locationMeasurementIndication_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LocationMeasurementIndication_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_15, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_15 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_15, T_criticalExtensions_15_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t LocationMeasurementIndication_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_15, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LocationMeasurementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Location Measurement Indication");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LocationMeasurementIndication, LocationMeasurementIndication_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_44_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_44, T_nonCriticalExtension_44_sequence);

  return offset;
}


static const per_sequence_t UECapabilityInformation_IEs_sequence[] = {
  { &hf_nr_rrc_ue_CapabilityRAT_ContainerList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_CapabilityRAT_ContainerList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_111, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_44 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityInformation_IEs, UECapabilityInformation_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_43_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_43, T_criticalExtensionsFuture_43_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_43_vals[] = {
  {   0, "ueCapabilityInformation" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_43_choice[] = {
  {   0, &hf_nr_rrc_ueCapabilityInformation_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UECapabilityInformation_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_43, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_43 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_43, T_criticalExtensions_43_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UECapabilityInformation_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_43, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_43 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityInformation, UECapabilityInformation_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4294967295U, NULL, FALSE);

  return offset;
}


static const per_sequence_t DRB_CountInfo_sequence[] = {
  { &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
  { &hf_nr_rrc_count_Uplink , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4294967295 },
  { &hf_nr_rrc_count_Downlink, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4294967295 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRB_CountInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRB_CountInfo, DRB_CountInfo_sequence);

  return offset;
}


static const per_sequence_t DRB_CountInfoList_sequence_of[1] = {
  { &hf_nr_rrc_DRB_CountInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountInfo },
};

static int
dissect_nr_rrc_DRB_CountInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DRB_CountInfoList, DRB_CountInfoList_sequence_of,
                                                  0, maxDRB, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_08_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence);

  return offset;
}


static const per_sequence_t CounterCheckResponse_IEs_sequence[] = {
  { &hf_nr_rrc_drb_CountInfoList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountInfoList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_30, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_08 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CounterCheckResponse_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CounterCheckResponse_IEs, CounterCheckResponse_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_08_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_08, T_criticalExtensionsFuture_08_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_08_vals[] = {
  {   0, "counterCheckResponse" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_08_choice[] = {
  {   0, &hf_nr_rrc_counterCheckResponse_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CounterCheckResponse_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_08, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_08 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_08, T_criticalExtensions_08_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CounterCheckResponse_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_08, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_08 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CounterCheckResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check Response");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CounterCheckResponse, CounterCheckResponse_sequence);

  return offset;
}


static const value_string nr_rrc_T_type1_vals[] = {
  {   0, "msMinus1280" },
  {   1, "msMinus640" },
  {   2, "msMinus320" },
  {   3, "msMinus160" },
  {   4, "msMinus80" },
  {   5, "msMinus60" },
  {   6, "msMinus40" },
  {   7, "msMinus20" },
  {   8, "ms0" },
  {   9, "ms20" },
  {  10, "ms40" },
  {  11, "ms60" },
  {  12, "ms80" },
  {  13, "ms160" },
  {  14, "ms320" },
  {  15, "ms640" },
  {  16, "ms1280" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_type1_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_type1_vals);


static int
dissect_nr_rrc_T_type1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     17, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_DelayBudgetReport_vals[] = {
  {   0, "type1" },
  { 0, NULL }
};

static const per_choice_t DelayBudgetReport_choice[] = {
  {   0, &hf_nr_rrc_type1        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_type1 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_DelayBudgetReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_DelayBudgetReport, DelayBudgetReport_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_interferenceDirection_r16_vals[] = {
  {   0, "nr" },
  {   1, "other" },
  {   2, "both" },
  {   3, "spare" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interferenceDirection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t AffectedCarrierFreq_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreq_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_interferenceDirection_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interferenceDirection_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AffectedCarrierFreq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AffectedCarrierFreq_r16, AffectedCarrierFreq_r16_sequence);

  return offset;
}


static const per_sequence_t AffectedCarrierFreqList_r16_sequence_of[1] = {
  { &hf_nr_rrc_AffectedCarrierFreqList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreq_r16 },
};

static int
dissect_nr_rrc_AffectedCarrierFreqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_AffectedCarrierFreqList_r16, AffectedCarrierFreqList_r16_sequence_of,
                                                  1, maxFreqIDC_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR_sequence_of[1] = {
  { &hf_nr_rrc_affectedCarrierFreqComb_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR, SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR_sequence_of,
                                                  2, maxNrofServingCells, FALSE);

  return offset;
}


static const value_string nr_rrc_T_gps_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_glonass_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_glonass_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bds_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bds_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_galileo_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_galileo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_navIC_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_navIC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_wlan_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_wlan_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bluetooth_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bluetooth_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t VictimSystemType_r16_sequence[] = {
  { &hf_nr_rrc_gps_r16      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_gps_r16 },
  { &hf_nr_rrc_glonass_r16  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_glonass_r16 },
  { &hf_nr_rrc_bds_r16      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_bds_r16 },
  { &hf_nr_rrc_galileo_r16  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_galileo_r16 },
  { &hf_nr_rrc_navIC_r16    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_navIC_r16 },
  { &hf_nr_rrc_wlan_r16     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_wlan_r16 },
  { &hf_nr_rrc_bluetooth_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_bluetooth_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_VictimSystemType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_VictimSystemType_r16, VictimSystemType_r16_sequence);

  return offset;
}


static const per_sequence_t AffectedCarrierFreqComb_r16_sequence[] = {
  { &hf_nr_rrc_affectedCarrierFreqComb_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR },
  { &hf_nr_rrc_victimSystemType_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VictimSystemType_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AffectedCarrierFreqComb_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AffectedCarrierFreqComb_r16, AffectedCarrierFreqComb_r16_sequence);

  return offset;
}


static const per_sequence_t AffectedCarrierFreqCombList_r16_sequence_of[1] = {
  { &hf_nr_rrc_AffectedCarrierFreqCombList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreqComb_r16 },
};

static int
dissect_nr_rrc_AffectedCarrierFreqCombList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_AffectedCarrierFreqCombList_r16, AffectedCarrierFreqCombList_r16_sequence_of,
                                                  1, maxCombIDC_r16, FALSE);

  return offset;
}


static const per_sequence_t IDC_Assistance_r16_sequence[] = {
  { &hf_nr_rrc_affectedCarrierFreqList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_AffectedCarrierFreqList_r16 },
  { &hf_nr_rrc_affectedCarrierFreqCombList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_AffectedCarrierFreqCombList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IDC_Assistance_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IDC_Assistance_r16, IDC_Assistance_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_preferredDRX_InactivityTimer_r16_vals[] = {
  {   0, "ms0" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms6" },
  {   7, "ms8" },
  {   8, "ms10" },
  {   9, "ms20" },
  {  10, "ms30" },
  {  11, "ms40" },
  {  12, "ms50" },
  {  13, "ms60" },
  {  14, "ms80" },
  {  15, "ms100" },
  {  16, "ms200" },
  {  17, "ms300" },
  {  18, "ms500" },
  {  19, "ms750" },
  {  20, "ms1280" },
  {  21, "ms1920" },
  {  22, "ms2560" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_preferredDRX_InactivityTimer_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_preferredDRX_InactivityTimer_r16_vals);


static int
dissect_nr_rrc_T_preferredDRX_InactivityTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredDRX_LongCycle_r16_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  {  20, "spare12" },
  {  21, "spare11" },
  {  22, "spare10" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_preferredDRX_LongCycle_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_preferredDRX_LongCycle_r16_vals);


static int
dissect_nr_rrc_T_preferredDRX_LongCycle_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredDRX_ShortCycle_r16_vals[] = {
  {   0, "ms2" },
  {   1, "ms3" },
  {   2, "ms4" },
  {   3, "ms5" },
  {   4, "ms6" },
  {   5, "ms7" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms14" },
  {   9, "ms16" },
  {  10, "ms20" },
  {  11, "ms30" },
  {  12, "ms32" },
  {  13, "ms35" },
  {  14, "ms40" },
  {  15, "ms64" },
  {  16, "ms80" },
  {  17, "ms128" },
  {  18, "ms160" },
  {  19, "ms256" },
  {  20, "ms320" },
  {  21, "ms512" },
  {  22, "ms640" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_preferredDRX_ShortCycle_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_preferredDRX_ShortCycle_r16_vals);


static int
dissect_nr_rrc_T_preferredDRX_ShortCycle_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DRX_Preference_r16_sequence[] = {
  { &hf_nr_rrc_preferredDRX_InactivityTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredDRX_InactivityTimer_r16 },
  { &hf_nr_rrc_preferredDRX_LongCycle_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredDRX_LongCycle_r16 },
  { &hf_nr_rrc_preferredDRX_ShortCycle_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredDRX_ShortCycle_r16 },
  { &hf_nr_rrc_preferredDRX_ShortCycleTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_Preference_r16, DRX_Preference_r16_sequence);

  return offset;
}


static const per_sequence_t MaxBW_Preference_r16_sequence[] = {
  { &hf_nr_rrc_reducedMaxBW_FR1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReducedMaxBW_FRx_r16 },
  { &hf_nr_rrc_reducedMaxBW_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReducedMaxBW_FRx_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MaxBW_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MaxBW_Preference_r16, MaxBW_Preference_r16_sequence);

  return offset;
}


static const per_sequence_t MaxCC_Preference_r16_sequence[] = {
  { &hf_nr_rrc_reducedMaxCCs_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReducedMaxCCs_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MaxCC_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MaxCC_Preference_r16, MaxCC_Preference_r16_sequence);

  return offset;
}


static const per_sequence_t T_reducedMaxMIMO_LayersFR1_r16_sequence[] = {
  { &hf_nr_rrc_reducedMIMO_LayersFR1_DL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_reducedMIMO_LayersFR1_UL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16, T_reducedMaxMIMO_LayersFR1_r16_sequence);

  return offset;
}


static const per_sequence_t T_reducedMaxMIMO_LayersFR2_r16_sequence[] = {
  { &hf_nr_rrc_reducedMIMO_LayersFR2_DL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_reducedMIMO_LayersFR2_UL_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16, T_reducedMaxMIMO_LayersFR2_r16_sequence);

  return offset;
}


static const per_sequence_t MaxMIMO_LayerPreference_r16_sequence[] = {
  { &hf_nr_rrc_reducedMaxMIMO_LayersFR1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16 },
  { &hf_nr_rrc_reducedMaxMIMO_LayersFR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MaxMIMO_LayerPreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MaxMIMO_LayerPreference_r16, MaxMIMO_LayerPreference_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_preferredK0_SCS_15kHz_r16_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK0_SCS_15kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredK0_SCS_30kHz_r16_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK0_SCS_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredK0_SCS_60kHz_r16_vals[] = {
  {   0, "sl2" },
  {   1, "sl4" },
  {   2, "sl8" },
  {   3, "sl12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK0_SCS_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredK0_SCS_120kHz_r16_vals[] = {
  {   0, "sl2" },
  {   1, "sl4" },
  {   2, "sl8" },
  {   3, "sl12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK0_SCS_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_preferredK0_r16_sequence[] = {
  { &hf_nr_rrc_preferredK0_SCS_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK0_SCS_15kHz_r16 },
  { &hf_nr_rrc_preferredK0_SCS_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK0_SCS_30kHz_r16 },
  { &hf_nr_rrc_preferredK0_SCS_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK0_SCS_60kHz_r16 },
  { &hf_nr_rrc_preferredK0_SCS_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK0_SCS_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_preferredK0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_preferredK0_r16, T_preferredK0_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_preferredK2_SCS_15kHz_r16_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK2_SCS_15kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredK2_SCS_30kHz_r16_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK2_SCS_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredK2_SCS_60kHz_r16_vals[] = {
  {   0, "sl2" },
  {   1, "sl4" },
  {   2, "sl8" },
  {   3, "sl12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK2_SCS_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredK2_SCS_120kHz_r16_vals[] = {
  {   0, "sl2" },
  {   1, "sl4" },
  {   2, "sl8" },
  {   3, "sl12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK2_SCS_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_preferredK2_r16_sequence[] = {
  { &hf_nr_rrc_preferredK2_SCS_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK2_SCS_15kHz_r16 },
  { &hf_nr_rrc_preferredK2_SCS_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK2_SCS_30kHz_r16 },
  { &hf_nr_rrc_preferredK2_SCS_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK2_SCS_60kHz_r16 },
  { &hf_nr_rrc_preferredK2_SCS_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK2_SCS_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_preferredK2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_preferredK2_r16, T_preferredK2_r16_sequence);

  return offset;
}


static const per_sequence_t MinSchedulingOffsetPreference_r16_sequence[] = {
  { &hf_nr_rrc_preferredK0_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK0_r16 },
  { &hf_nr_rrc_preferredK2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MinSchedulingOffsetPreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MinSchedulingOffsetPreference_r16, MinSchedulingOffsetPreference_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_preferredRRC_State_r16_vals[] = {
  {   0, "idle" },
  {   1, "inactive" },
  {   2, "connected" },
  {   3, "outOfConnected" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredRRC_State_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ReleasePreference_r16_sequence[] = {
  { &hf_nr_rrc_preferredRRC_State_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preferredRRC_State_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReleasePreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReleasePreference_r16, ReleasePreference_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_trafficPeriodicity_r16_vals[] = {
  {   0, "ms20" },
  {   1, "ms50" },
  {   2, "ms100" },
  {   3, "ms200" },
  {   4, "ms300" },
  {   5, "ms400" },
  {   6, "ms500" },
  {   7, "ms600" },
  {   8, "ms700" },
  {   9, "ms800" },
  {  10, "ms900" },
  {  11, "ms1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_trafficPeriodicity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     12, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_TrafficPatternInfo_r16_sequence[] = {
  { &hf_nr_rrc_trafficPeriodicity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_trafficPeriodicity_r16 },
  { &hf_nr_rrc_timingOffset_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10239 },
  { &hf_nr_rrc_messageSize_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_sl_QoS_FlowIdentity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_FlowIdentity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_TrafficPatternInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_TrafficPatternInfo_r16, SL_TrafficPatternInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SL_UE_AssistanceInformationNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_UE_AssistanceInformationNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TrafficPatternInfo_r16 },
};

static int
dissect_nr_rrc_SL_UE_AssistanceInformationNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_UE_AssistanceInformationNR_r16, SL_UE_AssistanceInformationNR_r16_sequence_of,
                                                  1, maxNrofTrafficPattern_r16, FALSE);

  return offset;
}


static const per_sequence_t UL_GapFR2_Preference_r17_sequence[] = {
  { &hf_nr_rrc_ul_GapFR2_PatternPreference_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_GapFR2_Preference_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_GapFR2_Preference_r17, UL_GapFR2_Preference_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_musim_PreferredRRC_State_r17_vals[] = {
  {   0, "idle" },
  {   1, "inactive" },
  {   2, "outOfConnected" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_musim_PreferredRRC_State_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MUSIM_GapPreferenceList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MUSIM_GapPreferenceList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MUSIM_GapInfo_r17 },
};

static int
dissect_nr_rrc_MUSIM_GapPreferenceList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MUSIM_GapPreferenceList_r17, MUSIM_GapPreferenceList_r17_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const per_sequence_t MUSIM_Assistance_r17_sequence[] = {
  { &hf_nr_rrc_musim_PreferredRRC_State_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_musim_PreferredRRC_State_r17 },
  { &hf_nr_rrc_musim_GapPreferenceList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MUSIM_GapPreferenceList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MUSIM_Assistance_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MUSIM_Assistance_r17, MUSIM_Assistance_r17_sequence);

  return offset;
}


static const per_sequence_t T_reducedMaxBW_FR2_2_r17_01_sequence[] = {
  { &hf_nr_rrc_reducedBW_FR2_2_DL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReducedAggregatedBandwidth_r17 },
  { &hf_nr_rrc_reducedBW_FR2_2_UL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReducedAggregatedBandwidth_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reducedMaxBW_FR2_2_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reducedMaxBW_FR2_2_r17_01, T_reducedMaxBW_FR2_2_r17_01_sequence);

  return offset;
}


static const per_sequence_t MaxBW_PreferenceFR2_2_r17_sequence[] = {
  { &hf_nr_rrc_reducedMaxBW_FR2_2_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedMaxBW_FR2_2_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MaxBW_PreferenceFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MaxBW_PreferenceFR2_2_r17, MaxBW_PreferenceFR2_2_r17_sequence);

  return offset;
}


static const per_sequence_t T_reducedMaxMIMO_LayersFR2_2_r17_sequence[] = {
  { &hf_nr_rrc_reducedMIMO_LayersFR2_2_DL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_reducedMIMO_LayersFR2_2_UL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_2_r17, T_reducedMaxMIMO_LayersFR2_2_r17_sequence);

  return offset;
}


static const per_sequence_t MaxMIMO_LayerPreferenceFR2_2_r17_sequence[] = {
  { &hf_nr_rrc_reducedMaxMIMO_LayersFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MaxMIMO_LayerPreferenceFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MaxMIMO_LayerPreferenceFR2_2_r17, MaxMIMO_LayerPreferenceFR2_2_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_preferredK0_SCS_480kHz_r17_vals[] = {
  {   0, "sl8" },
  {   1, "sl16" },
  {   2, "sl32" },
  {   3, "sl48" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK0_SCS_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredK0_SCS_960kHz_r17_vals[] = {
  {   0, "sl8" },
  {   1, "sl16" },
  {   2, "sl32" },
  {   3, "sl48" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK0_SCS_960kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_preferredK0_r17_sequence[] = {
  { &hf_nr_rrc_preferredK0_SCS_480kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK0_SCS_480kHz_r17 },
  { &hf_nr_rrc_preferredK0_SCS_960kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK0_SCS_960kHz_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_preferredK0_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_preferredK0_r17, T_preferredK0_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_preferredK2_SCS_480kHz_r17_vals[] = {
  {   0, "sl8" },
  {   1, "sl16" },
  {   2, "sl32" },
  {   3, "sl48" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK2_SCS_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preferredK2_SCS_960kHz_r17_vals[] = {
  {   0, "sl8" },
  {   1, "sl16" },
  {   2, "sl32" },
  {   3, "sl48" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preferredK2_SCS_960kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_preferredK2_r17_sequence[] = {
  { &hf_nr_rrc_preferredK2_SCS_480kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK2_SCS_480kHz_r17 },
  { &hf_nr_rrc_preferredK2_SCS_960kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK2_SCS_960kHz_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_preferredK2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_preferredK2_r17, T_preferredK2_r17_sequence);

  return offset;
}


static const per_sequence_t MinSchedulingOffsetPreferenceExt_r17_sequence[] = {
  { &hf_nr_rrc_preferredK0_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK0_r17 },
  { &hf_nr_rrc_preferredK2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preferredK2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MinSchedulingOffsetPreferenceExt_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MinSchedulingOffsetPreferenceExt_r17, MinSchedulingOffsetPreferenceExt_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_maxNrofServingCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, maxNrofServingCells, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t T_nonSDT_DataIndication_r17_sequence[] = {
  { &hf_nr_rrc_resumeCause_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResumeCause },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonSDT_DataIndication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonSDT_DataIndication_r17, T_nonSDT_DataIndication_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_scg_DeactivationPreference_r17_vals[] = {
  {   0, "scgDeactivationPreferred" },
  {   1, "noPreference" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_DeactivationPreference_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkData_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkData_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M270_270(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -270, 270U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PropagationDelayDifference_r17_sequence_of[1] = {
  { &hf_nr_rrc_PropagationDelayDifference_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M270_270 },
};

static int
dissect_nr_rrc_PropagationDelayDifference_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PropagationDelayDifference_r17, PropagationDelayDifference_r17_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_42_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_42, T_nonCriticalExtension_42_sequence);

  return offset;
}


static const per_sequence_t UEAssistanceInformation_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_ul_GapFR2_Preference_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UL_GapFR2_Preference_r17 },
  { &hf_nr_rrc_musim_Assistance_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MUSIM_Assistance_r17 },
  { &hf_nr_rrc_overheatingAssistance_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OverheatingAssistance_r17 },
  { &hf_nr_rrc_maxBW_PreferenceFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MaxBW_PreferenceFR2_2_r17 },
  { &hf_nr_rrc_maxMIMO_LayerPreferenceFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MaxMIMO_LayerPreferenceFR2_2_r17 },
  { &hf_nr_rrc_minSchedulingOffsetPreferenceExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MinSchedulingOffsetPreferenceExt_r17 },
  { &hf_nr_rrc_rlm_MeasRelaxationState_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_bfd_MeasRelaxationState_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_maxNrofServingCells },
  { &hf_nr_rrc_nonSDT_DataIndication_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonSDT_DataIndication_r17 },
  { &hf_nr_rrc_scg_DeactivationPreference_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_DeactivationPreference_r17 },
  { &hf_nr_rrc_uplinkData_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkData_r17 },
  { &hf_nr_rrc_rrm_MeasRelaxationFulfilment_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_propagationDelayDifference_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PropagationDelayDifference_r17 },
  { &hf_nr_rrc_nonCriticalExtension_108, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_42 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEAssistanceInformation_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEAssistanceInformation_v1700_IEs, UEAssistanceInformation_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t UEAssistanceInformation_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_idc_Assistance_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IDC_Assistance_r16 },
  { &hf_nr_rrc_drx_Preference_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DRX_Preference_r16 },
  { &hf_nr_rrc_maxBW_Preference_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MaxBW_Preference_r16 },
  { &hf_nr_rrc_maxCC_Preference_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MaxCC_Preference_r16 },
  { &hf_nr_rrc_maxMIMO_LayerPreference_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MaxMIMO_LayerPreference_r16 },
  { &hf_nr_rrc_minSchedulingOffsetPreference_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MinSchedulingOffsetPreference_r16 },
  { &hf_nr_rrc_releasePreference_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReleasePreference_r16 },
  { &hf_nr_rrc_sl_UE_AssistanceInformationNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_UE_AssistanceInformationNR_r16 },
  { &hf_nr_rrc_referenceTimeInfoPreference_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_nonCriticalExtension_107, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UEAssistanceInformation_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEAssistanceInformation_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEAssistanceInformation_v1610_IEs, UEAssistanceInformation_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t UEAssistanceInformation_v1540_IEs_sequence[] = {
  { &hf_nr_rrc_overheatingAssistance, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OverheatingAssistance },
  { &hf_nr_rrc_nonCriticalExtension_106, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UEAssistanceInformation_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEAssistanceInformation_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEAssistanceInformation_v1540_IEs, UEAssistanceInformation_v1540_IEs_sequence);

  return offset;
}


static const per_sequence_t UEAssistanceInformation_IEs_sequence[] = {
  { &hf_nr_rrc_delayBudgetReport, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DelayBudgetReport },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_105, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UEAssistanceInformation_v1540_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEAssistanceInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEAssistanceInformation_IEs, UEAssistanceInformation_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_41_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_41, T_criticalExtensionsFuture_41_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_41_vals[] = {
  {   0, "ueAssistanceInformation" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_41_choice[] = {
  {   0, &hf_nr_rrc_ueAssistanceInformation_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEAssistanceInformation_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_41, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_41 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_41, T_criticalExtensions_41_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UEAssistanceInformation_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_41, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_41 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Assistance Information");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEAssistanceInformation, UEAssistanceInformation_sequence);

  return offset;
}


static const value_string nr_rrc_T_failureType_01_vals[] = {
  {   0, "rlc-failure" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FailureInfoRLC_Bearer_sequence[] = {
  { &hf_nr_rrc_cellGroupId  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId },
  { &hf_nr_rrc_logicalChannelIdentity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
  { &hf_nr_rrc_failureType_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureInfoRLC_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FailureInfoRLC_Bearer, FailureInfoRLC_Bearer_sequence);

  return offset;
}


static const value_string nr_rrc_T_failureType_r16_01_vals[] = {
  {   0, "daps-failure" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FailureInfoDAPS_r16_sequence[] = {
  { &hf_nr_rrc_failureType_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureInfoDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FailureInfoDAPS_r16, FailureInfoDAPS_r16_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_13_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_13, T_nonCriticalExtension_13_sequence);

  return offset;
}


static const per_sequence_t FailureInformation_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_failureInfoDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FailureInfoDAPS_r16 },
  { &hf_nr_rrc_nonCriticalExtension_38, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_13 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureInformation_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FailureInformation_v1610_IEs, FailureInformation_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t FailureInformation_IEs_sequence[] = {
  { &hf_nr_rrc_failureInfoRLC_Bearer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FailureInfoRLC_Bearer },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_37, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FailureInformation_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FailureInformation_IEs, FailureInformation_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_13_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_13, T_criticalExtensionsFuture_13_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_13_vals[] = {
  {   0, "failureInformation" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_13_choice[] = {
  {   0, &hf_nr_rrc_failureInformation_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FailureInformation_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_13, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_13 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_13, T_criticalExtensions_13_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t FailureInformation_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_13, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_13 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Failure Information");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FailureInformation, FailureInformation_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_ul_DCCH_MessageNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ul_dcch_msg_nr_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &ul_dcch_msg_nr_tvb);

  if (ul_dcch_msg_nr_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageNR);
    dissect_nr_rrc_UL_DCCH_Message_PDU(ul_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_ul_DCCH_MessageEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ul_dcch_msg_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &ul_dcch_msg_eutra_tvb);

  if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA);
    nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const per_sequence_t T_nonCriticalExtension_51_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_51, T_nonCriticalExtension_51_sequence);

  return offset;
}


static const per_sequence_t ULInformationTransferMRDC_IEs_sequence[] = {
  { &hf_nr_rrc_ul_DCCH_MessageNR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_DCCH_MessageNR },
  { &hf_nr_rrc_ul_DCCH_MessageEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_DCCH_MessageEUTRA },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_122, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_51 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULInformationTransferMRDC_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULInformationTransferMRDC_IEs, ULInformationTransferMRDC_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_17_vals[] = {
  {   0, "ulInformationTransferMRDC" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_17_choice[] = {
  {   0, &hf_nr_rrc_ulInformationTransferMRDC_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ULInformationTransferMRDC_IEs },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_17, T_c1_17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_50_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_50, T_criticalExtensionsFuture_50_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_50_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_50_choice[] = {
  {   0, &hf_nr_rrc_c1_17        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_17 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_50, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_50 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_50, T_criticalExtensions_50_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ULInformationTransferMRDC_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_50, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_50 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULInformationTransferMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer MRDC");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULInformationTransferMRDC, ULInformationTransferMRDC_sequence);

  return offset;
}


static const value_string nr_rrc_T_failureType_02_vals[] = {
  {   0, "t310-Expiry" },
  {   1, "randomAccessProblem" },
  {   2, "rlc-MaxNumRetx" },
  {   3, "synchReconfigFailureSCG" },
  {   4, "scg-ReconfigFailure" },
  {   5, "srb3-IntegrityFailure" },
  {   6, "other-r16" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasResultFreqList_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultFreqList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR },
};

static int
dissect_nr_rrc_MeasResultFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultFreqList, MeasResultFreqList_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_measResultSCG_Failure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_MeasResultSCG_Failure_PDU);

  return offset;
}


static const value_string nr_rrc_T_failureType_v1610_vals[] = {
  {   0, "scg-lbtFailure-r16" },
  {   1, "beamFailureRecoveryFailure-r16" },
  {   2, "t312-Expiry-r16" },
  {   3, "bh-RLF-r16" },
  {   4, "beamFailure-r17" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureType_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FailureReportSCG_eag_1_sequence[] = {
  { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LocationInfo_r16 },
  { &hf_nr_rrc_failureType_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_failureType_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureReportSCG_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FailureReportSCG_eag_1_sequence);

  return offset;
}


static const per_sequence_t T_previousPSCellId_r17_sequence[] = {
  { &hf_nr_rrc_physCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_carrierFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_previousPSCellId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_previousPSCellId_r17, T_previousPSCellId_r17_sequence);

  return offset;
}


static const per_sequence_t T_failedPSCellId_r17_sequence[] = {
  { &hf_nr_rrc_physCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_carrierFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_failedPSCellId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_failedPSCellId_r17, T_failedPSCellId_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_200(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 200U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_fallbackToFourStepRA_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fallbackToFourStepRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PerRAAttemptInfo_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_fallbackToFourStepRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fallbackToFourStepRA_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PerRAAttemptInfo_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PerRAAttemptInfo_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t PerRAAttemptInfo_r16_sequence[] = {
  { &hf_nr_rrc_contentionDetected_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_dlRSRPAboveThreshold_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAAttemptInfo_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PerRAAttemptInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PerRAAttemptInfo_r16, PerRAAttemptInfo_r16_sequence);

  return offset;
}


static const per_sequence_t PerRAAttemptInfoList_r16_sequence_of[1] = {
  { &hf_nr_rrc_PerRAAttemptInfoList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAAttemptInfo_r16 },
};

static int
dissect_nr_rrc_PerRAAttemptInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PerRAAttemptInfoList_r16, PerRAAttemptInfoList_r16_sequence_of,
                                                  1, 200, FALSE);

  return offset;
}


static const per_sequence_t PerRASSBInfo_r16_sequence[] = {
  { &hf_nr_rrc_ssb_Index_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
  { &hf_nr_rrc_numberOfPreamblesSentOnSSB_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_200 },
  { &hf_nr_rrc_perRAAttemptInfoList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAAttemptInfoList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PerRASSBInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PerRASSBInfo_r16, PerRASSBInfo_r16_sequence);

  return offset;
}


static const per_sequence_t PerRACSI_RSInfo_r16_sequence[] = {
  { &hf_nr_rrc_csi_RS_Index_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
  { &hf_nr_rrc_numberOfPreamblesSentOnCSI_RS_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_200 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PerRACSI_RSInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PerRACSI_RSInfo_r16, PerRACSI_RSInfo_r16_sequence);

  return offset;
}


static const value_string nr_rrc_PerRAInfo_r16_vals[] = {
  {   0, "perRASSBInfoList-r16" },
  {   1, "perRACSI-RSInfoList-r16" },
  { 0, NULL }
};

static const per_choice_t PerRAInfo_r16_choice[] = {
  {   0, &hf_nr_rrc_perRASSBInfoList_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PerRASSBInfo_r16 },
  {   1, &hf_nr_rrc_perRACSI_RSInfoList_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PerRACSI_RSInfo_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_PerRAInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_PerRAInfo_r16, PerRAInfo_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PerRAInfoList_r16_sequence_of[1] = {
  { &hf_nr_rrc_PerRAInfoList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAInfo_r16 },
};

static int
dissect_nr_rrc_PerRAInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PerRAInfoList_r16, PerRAInfoList_r16_sequence_of,
                                                  1, 200, FALSE);

  return offset;
}


static const per_sequence_t FailureReportSCG_eag_2_sequence[] = {
  { &hf_nr_rrc_previousPSCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_previousPSCellId_r17 },
  { &hf_nr_rrc_failedPSCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_failedPSCellId_r17 },
  { &hf_nr_rrc_timeSCGFailure_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_perRAInfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PerRAInfoList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureReportSCG_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FailureReportSCG_eag_2_sequence);

  return offset;
}


static const per_sequence_t FailureReportSCG_sequence[] = {
  { &hf_nr_rrc_failureType_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_02 },
  { &hf_nr_rrc_measResultFreqList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultFreqList },
  { &hf_nr_rrc_measResultSCG_Failure, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultSCG_Failure },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FailureReportSCG_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FailureReportSCG_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureReportSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FailureReportSCG, FailureReportSCG_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_34_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_34, T_nonCriticalExtension_34_sequence);

  return offset;
}


static const per_sequence_t SCGFailureInformation_v1590_IEs_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_91, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_34 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCGFailureInformation_v1590_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCGFailureInformation_v1590_IEs, SCGFailureInformation_v1590_IEs_sequence);

  return offset;
}


static const per_sequence_t SCGFailureInformation_IEs_sequence[] = {
  { &hf_nr_rrc_failureReportSCG, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FailureReportSCG },
  { &hf_nr_rrc_nonCriticalExtension_90, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SCGFailureInformation_v1590_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCGFailureInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCGFailureInformation_IEs, SCGFailureInformation_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_34_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_34, T_criticalExtensionsFuture_34_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_34_vals[] = {
  {   0, "scgFailureInformation" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_34_choice[] = {
  {   0, &hf_nr_rrc_scgFailureInformation_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SCGFailureInformation_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_34, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_34 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_34, T_criticalExtensions_34_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SCGFailureInformation_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_34, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_34 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCGFailureInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCGFailureInformation, SCGFailureInformation_sequence);

  return offset;
}


static const value_string nr_rrc_T_failureType_03_vals[] = {
  {   0, "t313-Expiry" },
  {   1, "randomAccessProblem" },
  {   2, "rlc-MaxNumRetx" },
  {   3, "scg-ChangeFailure" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureType_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasResultFreqListFailMRDC_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultFreqListFailMRDC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2EUTRA },
};

static int
dissect_nr_rrc_MeasResultFreqListFailMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultFreqListFailMRDC, MeasResultFreqListFailMRDC_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_measResultSCG_FailureMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &meas_result_scg_fail_mrdc_tvb);

  if (meas_result_scg_fail_mrdc_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
    dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t FailureReportSCG_EUTRA_eag_1_sequence[] = {
  { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LocationInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureReportSCG_EUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FailureReportSCG_EUTRA_eag_1_sequence);

  return offset;
}


static const per_sequence_t FailureReportSCG_EUTRA_sequence[] = {
  { &hf_nr_rrc_failureType_03, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_03 },
  { &hf_nr_rrc_measResultFreqListMRDC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultFreqListFailMRDC },
  { &hf_nr_rrc_measResultSCG_FailureMRDC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultSCG_FailureMRDC },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FailureReportSCG_EUTRA_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureReportSCG_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FailureReportSCG_EUTRA, FailureReportSCG_EUTRA_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_35_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_35, T_nonCriticalExtension_35_sequence);

  return offset;
}


static const per_sequence_t SCGFailureInformationEUTRA_v1590_IEs_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_93, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_35 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs, SCGFailureInformationEUTRA_v1590_IEs_sequence);

  return offset;
}


static const per_sequence_t SCGFailureInformationEUTRA_IEs_sequence[] = {
  { &hf_nr_rrc_failureReportSCG_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FailureReportSCG_EUTRA },
  { &hf_nr_rrc_nonCriticalExtension_92, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCGFailureInformationEUTRA_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCGFailureInformationEUTRA_IEs, SCGFailureInformationEUTRA_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_35_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_35, T_criticalExtensionsFuture_35_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_35_vals[] = {
  {   0, "scgFailureInformationEUTRA" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_35_choice[] = {
  {   0, &hf_nr_rrc_scgFailureInformationEUTRA_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SCGFailureInformationEUTRA_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_35, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_35 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_35, T_criticalExtensions_35_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SCGFailureInformationEUTRA_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_35, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_35 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCGFailureInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information EUTRA");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCGFailureInformationEUTRA, SCGFailureInformationEUTRA_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_14_vals[] = {
  {   0, "measurementReport" },
  {   1, "rrcReconfigurationComplete" },
  {   2, "rrcSetupComplete" },
  {   3, "rrcReestablishmentComplete" },
  {   4, "rrcResumeComplete" },
  {   5, "securityModeComplete" },
  {   6, "securityModeFailure" },
  {   7, "ulInformationTransfer" },
  {   8, "locationMeasurementIndication" },
  {   9, "ueCapabilityInformation" },
  {  10, "counterCheckResponse" },
  {  11, "ueAssistanceInformation" },
  {  12, "failureInformation" },
  {  13, "ulInformationTransferMRDC" },
  {  14, "scgFailureInformation" },
  {  15, "scgFailureInformationEUTRA" },
  { 0, NULL }
};

static const per_choice_t T_c1_14_choice[] = {
  {   0, &hf_nr_rrc_measurementReport, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasurementReport },
  {   1, &hf_nr_rrc_rrcReconfigurationComplete, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfigurationComplete },
  {   2, &hf_nr_rrc_rrcSetupComplete, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCSetupComplete },
  {   3, &hf_nr_rrc_rrcReestablishmentComplete, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReestablishmentComplete },
  {   4, &hf_nr_rrc_rrcResumeComplete, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCResumeComplete },
  {   5, &hf_nr_rrc_securityModeComplete, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SecurityModeComplete },
  {   6, &hf_nr_rrc_securityModeFailure, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SecurityModeFailure },
  {   7, &hf_nr_rrc_ulInformationTransfer, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ULInformationTransfer },
  {   8, &hf_nr_rrc_locationMeasurementIndication, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LocationMeasurementIndication },
  {   9, &hf_nr_rrc_ueCapabilityInformation, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UECapabilityInformation },
  {  10, &hf_nr_rrc_counterCheckResponse, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CounterCheckResponse },
  {  11, &hf_nr_rrc_ueAssistanceInformation_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEAssistanceInformation },
  {  12, &hf_nr_rrc_failureInformation, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FailureInformation },
  {  13, &hf_nr_rrc_ulInformationTransferMRDC, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ULInformationTransferMRDC },
  {  14, &hf_nr_rrc_scgFailureInformation, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SCGFailureInformation },
  {  15, &hf_nr_rrc_scgFailureInformationEUTRA, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SCGFailureInformationEUTRA },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_14, T_c1_14_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_rrc_MessageSegmentType_r16_01_vals[] = {
  {   0, "notLastSegment" },
  {   1, "lastSegment" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rrc_MessageSegmentType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_48_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_48, T_nonCriticalExtension_48_sequence);

  return offset;
}


static const per_sequence_t ULDedicatedMessageSegment_r16_IEs_sequence[] = {
  { &hf_nr_rrc_segmentNumber_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_rrc_MessageSegmentContainer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_rrc_MessageSegmentType_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rrc_MessageSegmentType_r16_01 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_118, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_48 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULDedicatedMessageSegment_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULDedicatedMessageSegment_r16_IEs, ULDedicatedMessageSegment_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_47_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_47, T_criticalExtensionsFuture_47_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_47_vals[] = {
  {   0, "ulDedicatedMessageSegment-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_47_choice[] = {
  {   0, &hf_nr_rrc_ulDedicatedMessageSegment_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ULDedicatedMessageSegment_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_47, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_47 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_47, T_criticalExtensions_47_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ULDedicatedMessageSegment_r16_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_47, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_47 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULDedicatedMessageSegment_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Dedicated MessageSegment");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULDedicatedMessageSegment_r16, ULDedicatedMessageSegment_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SIB_ReqInfo_r16_vals[] = {
  {   0, "sib12" },
  {   1, "sib13" },
  {   2, "sib14" },
  {   3, "sib20-v1700" },
  {   4, "sib21-v1700" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SIB_ReqInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_requestedSIB_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_ReqInfo_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16, SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16_sequence_of,
                                                  1, maxOnDemandSIB_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_posSibType_r16_vals[] = {
  {   0, "posSibType1-1" },
  {   1, "posSibType1-2" },
  {   2, "posSibType1-3" },
  {   3, "posSibType1-4" },
  {   4, "posSibType1-5" },
  {   5, "posSibType1-6" },
  {   6, "posSibType1-7" },
  {   7, "posSibType1-8" },
  {   8, "posSibType2-1" },
  {   9, "posSibType2-2" },
  {  10, "posSibType2-3" },
  {  11, "posSibType2-4" },
  {  12, "posSibType2-5" },
  {  13, "posSibType2-6" },
  {  14, "posSibType2-7" },
  {  15, "posSibType2-8" },
  {  16, "posSibType2-9" },
  {  17, "posSibType2-10" },
  {  18, "posSibType2-11" },
  {  19, "posSibType2-12" },
  {  20, "posSibType2-13" },
  {  21, "posSibType2-14" },
  {  22, "posSibType2-15" },
  {  23, "posSibType2-16" },
  {  24, "posSibType2-17" },
  {  25, "posSibType2-18" },
  {  26, "posSibType2-19" },
  {  27, "posSibType2-20" },
  {  28, "posSibType2-21" },
  {  29, "posSibType2-22" },
  {  30, "posSibType2-23" },
  {  31, "posSibType3-1" },
  {  32, "posSibType4-1" },
  {  33, "posSibType5-1" },
  {  34, "posSibType6-1" },
  {  35, "posSibType6-2" },
  {  36, "posSibType6-3" },
  {  37, "posSibType1-9-v1710" },
  {  38, "posSibType1-10-v1710" },
  {  39, "posSibType2-24-v1710" },
  {  40, "posSibType2-25-v1710" },
  {  41, "posSibType6-4-v1710" },
  {  42, "posSibType6-5-v1710" },
  {  43, "posSibType6-6-v1710" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_posSibType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     37, NULL, TRUE, 7, NULL);

  return offset;
}


static const per_sequence_t PosSIB_ReqInfo_r16_sequence[] = {
  { &hf_nr_rrc_gnss_id_r16  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GNSS_ID_r16 },
  { &hf_nr_rrc_sbas_id_r16  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SBAS_ID_r16 },
  { &hf_nr_rrc_posSibType_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSibType_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PosSIB_ReqInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PosSIB_ReqInfo_r16, PosSIB_ReqInfo_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16_sequence_of[1] = {
  { &hf_nr_rrc_requestedPosSIB_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSIB_ReqInfo_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16, SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16_sequence_of,
                                                  1, maxOnDemandPosSIB_r16, FALSE);

  return offset;
}


static const per_sequence_t T_onDemandSIB_RequestList_r16_sequence[] = {
  { &hf_nr_rrc_requestedSIB_List_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16 },
  { &hf_nr_rrc_requestedPosSIB_List_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_onDemandSIB_RequestList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_onDemandSIB_RequestList_r16, T_onDemandSIB_RequestList_r16_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_09_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence);

  return offset;
}


static const per_sequence_t DedicatedSIBRequest_r16_IEs_sequence[] = {
  { &hf_nr_rrc_onDemandSIB_RequestList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_onDemandSIB_RequestList_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_31, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_09 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DedicatedSIBRequest_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DedicatedSIBRequest_r16_IEs, DedicatedSIBRequest_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_09_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_09, T_criticalExtensionsFuture_09_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_09_vals[] = {
  {   0, "dedicatedSIBRequest-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_09_choice[] = {
  {   0, &hf_nr_rrc_dedicatedSIBRequest_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DedicatedSIBRequest_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_09, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_09 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_09, T_criticalExtensions_09_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DedicatedSIBRequest_r16_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_09, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_09 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DedicatedSIBRequest_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Dedicated SIB Request");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DedicatedSIBRequest_r16, DedicatedSIBRequest_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_failureType_r16_02_vals[] = {
  {   0, "t310-Expiry" },
  {   1, "randomAccessProblem" },
  {   2, "rlc-MaxNumRetx" },
  {   3, "t312-Expiry-r16" },
  {   4, "lbt-Failure-r16" },
  {   5, "beamFailureRecoveryFailure-r16" },
  {   6, "bh-RLF-r16" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_failureType_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasResult2EUTRA_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreq_r16_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { &hf_nr_rrc_measResultList_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResult2EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResult2EUTRA_r16, MeasResult2EUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultList2EUTRA_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultList2EUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2EUTRA_r16 },
};

static int
dissect_nr_rrc_MeasResultList2EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultList2EUTRA, MeasResultList2EUTRA_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_measResultSCG_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_MeasResultSCG_Failure_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_measResultSCG_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &meas_result_scg_fail_mrdc_tvb);

  if (meas_result_scg_fail_mrdc_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
    dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t MeasResult2UTRA_FDD_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreq_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueUTRA_FDD_r16 },
  { &hf_nr_rrc_measResultNeighCellList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListUTRA_FDD_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResult2UTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResult2UTRA_FDD_r16, MeasResult2UTRA_FDD_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultList2UTRA_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultList2UTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2UTRA_FDD_r16 },
};

static int
dissect_nr_rrc_MeasResultList2UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultList2UTRA, MeasResultList2UTRA_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t FailureReportMCG_r16_sequence[] = {
  { &hf_nr_rrc_failureType_r16_02, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_failureType_r16_02 },
  { &hf_nr_rrc_measResultFreqList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2NR },
  { &hf_nr_rrc_measResultFreqListEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2EUTRA },
  { &hf_nr_rrc_measResultSCG_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultSCG_r16_01 },
  { &hf_nr_rrc_measResultSCG_EUTRA_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultSCG_EUTRA_r16 },
  { &hf_nr_rrc_measResultFreqListUTRA_FDD_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2UTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FailureReportMCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FailureReportMCG_r16, FailureReportMCG_r16_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_19_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_19, T_nonCriticalExtension_19_sequence);

  return offset;
}


static const per_sequence_t MCGFailureInformation_r16_IEs_sequence[] = {
  { &hf_nr_rrc_failureReportMCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FailureReportMCG_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_45, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_19 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MCGFailureInformation_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MCGFailureInformation_r16_IEs, MCGFailureInformation_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_19_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_19, T_criticalExtensionsFuture_19_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_19_vals[] = {
  {   0, "mcgFailureInformation-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_19_choice[] = {
  {   0, &hf_nr_rrc_mcgFailureInformation_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MCGFailureInformation_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_19, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_19 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_19, T_criticalExtensions_19_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MCGFailureInformation_r16_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_19, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_19 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MCGFailureInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCG Failure Information");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MCGFailureInformation_r16, MCGFailureInformation_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_7200(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7200U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofSSBs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSSBs_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_resultsSSB_sequence[] = {
  { &hf_nr_rrc_best_ssb_Index, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
  { &hf_nr_rrc_best_ssb_Results, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResults },
  { &hf_nr_rrc_numberOfGoodSSB, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSSBs_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_resultsSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_resultsSSB, T_resultsSSB_sequence);

  return offset;
}


static const per_sequence_t MeasResultServingCell_r16_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Cell, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResults },
  { &hf_nr_rrc_resultsSSB   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resultsSSB },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultServingCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultServingCell_r16, MeasResultServingCell_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultLoggingNR_r16_sequence[] = {
  { &hf_nr_rrc_physCellId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_resultsSSB_Cell_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResults },
  { &hf_nr_rrc_numberOfGoodSSB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofSSBs_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultLoggingNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultLoggingNR_r16, MeasResultLoggingNR_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultListLoggingNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultListLoggingNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultLoggingNR_r16 },
};

static int
dissect_nr_rrc_MeasResultListLoggingNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultListLoggingNR_r16, MeasResultListLoggingNR_r16_sequence_of,
                                                  1, maxCellReport, FALSE);

  return offset;
}


static const per_sequence_t MeasResultLogging2NR_r16_sequence[] = {
  { &hf_nr_rrc_carrierFreq_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_measResultListLoggingNR_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListLoggingNR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultLogging2NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultLogging2NR_r16, MeasResultLogging2NR_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultListLogging2NR_r16_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultListLogging2NR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultLogging2NR_r16 },
};

static int
dissect_nr_rrc_MeasResultListLogging2NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultListLogging2NR_r16, MeasResultListLogging2NR_r16_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t MeasResultList2EUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultList2EUTRA_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2EUTRA_r16 },
};

static int
dissect_nr_rrc_MeasResultList2EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultList2EUTRA_r16, MeasResultList2EUTRA_r16_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t T_measResultNeighCells_r16_sequence[] = {
  { &hf_nr_rrc_measResultNeighCellListNR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultListLogging2NR_r16 },
  { &hf_nr_rrc_measResultNeighCellListEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2EUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultNeighCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResultNeighCells_r16, T_measResultNeighCells_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_anyCellSelectionDetected_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_anyCellSelectionDetected_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_inDeviceCoexDetected_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inDeviceCoexDetected_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t LogMeasInfo_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_inDeviceCoexDetected_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inDeviceCoexDetected_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LogMeasInfo_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, LogMeasInfo_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t LogMeasInfo_r16_sequence[] = {
  { &hf_nr_rrc_locationInfo_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LocationInfo_r16 },
  { &hf_nr_rrc_relativeTimeStamp_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7200 },
  { &hf_nr_rrc_servCellIdentity_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CGI_Info_Logging_r16 },
  { &hf_nr_rrc_measResultServingCell_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultServingCell_r16 },
  { &hf_nr_rrc_measResultNeighCells_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultNeighCells_r16 },
  { &hf_nr_rrc_anyCellSelectionDetected_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_anyCellSelectionDetected_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasInfo_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LogMeasInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LogMeasInfo_r16, LogMeasInfo_r16_sequence);

  return offset;
}


static const per_sequence_t LogMeasInfoList_r16_sequence_of[1] = {
  { &hf_nr_rrc_LogMeasInfoList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasInfo_r16 },
};

static int
dissect_nr_rrc_LogMeasInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_LogMeasInfoList_r16, LogMeasInfoList_r16_sequence_of,
                                                  1, maxLogMeasReport_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_logMeasAvailable_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logMeasAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_logMeasAvailableBT_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logMeasAvailableBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_logMeasAvailableWLAN_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logMeasAvailableWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t LogMeasReport_r16_sequence[] = {
  { &hf_nr_rrc_absoluteTimeStamp_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AbsoluteTimeInfo_r16 },
  { &hf_nr_rrc_traceReference_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TraceReference_r16 },
  { &hf_nr_rrc_traceRecordingSessionRef_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_2 },
  { &hf_nr_rrc_tce_Id_r16   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_1 },
  { &hf_nr_rrc_logMeasInfoList_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasInfoList_r16 },
  { &hf_nr_rrc_logMeasAvailable_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logMeasAvailable_r16 },
  { &hf_nr_rrc_logMeasAvailableBT_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logMeasAvailableBT_r16 },
  { &hf_nr_rrc_logMeasAvailableWLAN_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logMeasAvailableWLAN_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LogMeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LogMeasReport_r16, LogMeasReport_r16_sequence);

  return offset;
}


static const per_sequence_t T_cellResults_r16_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Cell_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResults },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellResults_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellResults_r16, T_cellResults_r16_sequence);

  return offset;
}


static const per_sequence_t T_rsIndexResults_r16_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Indexes_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSB_IndexList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rsIndexResults_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rsIndexResults_r16, T_rsIndexResults_r16_sequence);

  return offset;
}


static const per_sequence_t T_measResult_r16_sequence[] = {
  { &hf_nr_rrc_cellResults_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults_r16 },
  { &hf_nr_rrc_rsIndexResults_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rsIndexResults_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResult_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResult_r16, T_measResult_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultFailedCell_r16_sequence[] = {
  { &hf_nr_rrc_cgi_Info_01  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_Info_Logging_r16 },
  { &hf_nr_rrc_measResult_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultFailedCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultFailedCell_r16, MeasResultFailedCell_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResult2NR_r16_sequence[] = {
  { &hf_nr_rrc_ssbFrequency_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_refFreqCSI_RS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_measResultList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResult2NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResult2NR_r16, MeasResult2NR_r16_sequence);

  return offset;
}


static const per_sequence_t MeasResultList2NR_r16_sequence_of[1] = {
  { &hf_nr_rrc_MeasResultList2NR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR_r16 },
};

static int
dissect_nr_rrc_MeasResultList2NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasResultList2NR_r16, MeasResultList2NR_r16_sequence_of,
                                                  1, maxFreq, FALSE);

  return offset;
}


static const per_sequence_t T_measResultNeighCells_r16_01_sequence[] = {
  { &hf_nr_rrc_measResultNeighCellListNR_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2NR_r16 },
  { &hf_nr_rrc_measResultNeighCellListEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2EUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultNeighCells_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResultNeighCells_r16_01, T_measResultNeighCells_r16_01_sequence);

  return offset;
}



static int
dissect_nr_rrc_TimeSinceFailure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 172800U, NULL, FALSE);

  return offset;
}


static const per_sequence_t ConnEstFailReport_r16_sequence[] = {
  { &hf_nr_rrc_measResultFailedCell_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultFailedCell_r16 },
  { &hf_nr_rrc_locationInfo_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LocationInfo_r16 },
  { &hf_nr_rrc_measResultNeighCells_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultNeighCells_r16_01 },
  { &hf_nr_rrc_numberOfConnFail_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_perRAInfoList_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAInfoList_r16 },
  { &hf_nr_rrc_timeSinceFailure_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeSinceFailure_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConnEstFailReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ConnEstFailReport_r16, ConnEstFailReport_r16_sequence);

  return offset;
}


static const per_sequence_t PCI_ARFCN_NR_r16_sequence[] = {
  { &hf_nr_rrc_physCellId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_carrierFreq_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PCI_ARFCN_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PCI_ARFCN_NR_r16, PCI_ARFCN_NR_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_cellId_r16_vals[] = {
  {   0, "cellGlobalId-r16" },
  {   1, "pci-arfcn-r16" },
  { 0, NULL }
};

static const per_choice_t T_cellId_r16_choice[] = {
  {   0, &hf_nr_rrc_cellGlobalId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_Info_Logging_r16 },
  {   1, &hf_nr_rrc_pci_arfcn_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_NR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cellId_r16, T_cellId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_msg1_FDM_r16_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msg1_FDM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msg1_FDMCFRA_r16_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msg1_FDMCFRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_96(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 96U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PerRACSI_RSInfo_v1660_sequence[] = {
  { &hf_nr_rrc_csi_RS_Index_v1660, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_96 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PerRACSI_RSInfo_v1660(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PerRACSI_RSInfo_v1660, PerRACSI_RSInfo_v1660_sequence);

  return offset;
}


static const per_sequence_t PerRAInfoList_v1660_sequence_of[1] = {
  { &hf_nr_rrc_PerRAInfoList_v1660_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRACSI_RSInfo_v1660 },
};

static int
dissect_nr_rrc_PerRAInfoList_v1660(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PerRAInfoList_v1660, PerRAInfoList_v1660_sequence_of,
                                                  1, 200, FALSE);

  return offset;
}


static const per_sequence_t RA_InformationCommon_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_perRAInfoList_v1660, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PerRAInfoList_v1660 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_InformationCommon_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RA_InformationCommon_r16_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_msg1_SCS_From_prach_ConfigurationIndex_r16_vals[] = {
  {   0, "kHz1dot25" },
  {   1, "kHz5" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msg1_SCS_From_prach_ConfigurationIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RA_InformationCommon_r16_eag_2_sequence[] = {
  { &hf_nr_rrc_msg1_SCS_From_prach_ConfigurationIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msg1_SCS_From_prach_ConfigurationIndex_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_InformationCommon_r16_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RA_InformationCommon_r16_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_msg1_SCS_From_prach_ConfigurationIndexCFRA_r16_vals[] = {
  {   0, "kHz1dot25" },
  {   1, "kHz5" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msg1_SCS_From_prach_ConfigurationIndexCFRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RA_InformationCommon_r16_eag_3_sequence[] = {
  { &hf_nr_rrc_msg1_SCS_From_prach_ConfigurationIndexCFRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msg1_SCS_From_prach_ConfigurationIndexCFRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_InformationCommon_r16_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RA_InformationCommon_r16_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_msgA_RO_FDM_r17_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_RO_FDM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_RO_FDMCFRA_r17_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_RO_FDMCFRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_SCS_From_prach_ConfigurationIndex_r17_vals[] = {
  {   0, "kHz1dot25" },
  {   1, "kHz5" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_SCS_From_prach_ConfigurationIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_TransMax_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n10" },
  {   6, "n20" },
  {   7, "n50" },
  {   8, "n100" },
  {   9, "n200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_TransMax_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofMsgA_PO_FDM_r17_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofMsgA_PO_FDM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_SIB_Type_r17_vals[] = {
  {   0, "sibType2" },
  {   1, "sibType3" },
  {   2, "sibType4" },
  {   3, "sibType5" },
  {   4, "sibType9" },
  {   5, "sibType10-v1610" },
  {   6, "sibType11-v1610" },
  {   7, "sibType12-v1610" },
  {   8, "sibType13-v1610" },
  {   9, "sibType14-v1610" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SIB_Type_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17_sequence_of[1] = {
  { &hf_nr_rrc_intendedSIBs_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_Type_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17, SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17_sequence_of,
                                                  1, maxSIB, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index_sequence_of[1] = {
  { &hf_nr_rrc_ssbsForSI_Acquisition_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index, SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index_sequence_of,
                                                  1, maxNrofSSBs_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_onDemandSISuccess_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_onDemandSISuccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RA_InformationCommon_r16_eag_4_sequence[] = {
  { &hf_nr_rrc_msgA_RO_FrequencyStart_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_msgA_RO_FrequencyStartCFRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_msgA_SubcarrierSpacing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_msgA_RO_FDM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_RO_FDM_r17 },
  { &hf_nr_rrc_msgA_RO_FDMCFRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_RO_FDMCFRA_r17 },
  { &hf_nr_rrc_msgA_SCS_From_prach_ConfigurationIndex_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_SCS_From_prach_ConfigurationIndex_r17 },
  { &hf_nr_rrc_msgA_TransMax_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_TransMax_r17 },
  { &hf_nr_rrc_msgA_MCS_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_nrofPRBs_PerMsgA_PO_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofUL_Allocations },
  { &hf_nr_rrc_frequencyStartMsgA_PUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_nrofMsgA_PO_FDM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrofMsgA_PO_FDM_r17 },
  { &hf_nr_rrc_dlPathlossRSRP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_intendedSIBs_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17 },
  { &hf_nr_rrc_ssbsForSI_Acquisition_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index },
  { &hf_nr_rrc_msgA_PUSCH_PayloadSize_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_5 },
  { &hf_nr_rrc_onDemandSISuccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_onDemandSISuccess_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_InformationCommon_r16_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RA_InformationCommon_r16_eag_4_sequence);

  return offset;
}


static const per_sequence_t RA_InformationCommon_r16_sequence[] = {
  { &hf_nr_rrc_absoluteFrequencyPointA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_locationAndBandwidth_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 },
  { &hf_nr_rrc_subcarrierSpacing_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_msg1_FrequencyStart_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_msg1_FrequencyStartCFRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_msg1_SubcarrierSpacing_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_msg1_SubcarrierSpacingCFRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_msg1_FDM_r16 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msg1_FDM_r16 },
  { &hf_nr_rrc_msg1_FDMCFRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msg1_FDMCFRA_r16 },
  { &hf_nr_rrc_perRAInfoList_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAInfoList_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_InformationCommon_r16_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_InformationCommon_r16_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_InformationCommon_r16_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_InformationCommon_r16_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_InformationCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RA_InformationCommon_r16, RA_InformationCommon_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_raPurpose_r16_vals[] = {
  {   0, "accessRelated" },
  {   1, "beamFailureRecovery" },
  {   2, "reconfigurationWithSync" },
  {   3, "ulUnSynchronized" },
  {   4, "schedulingRequestFailure" },
  {   5, "noPUCCHResourceAvailable" },
  {   6, "requestForOtherSI" },
  {   7, "msg3RequestForOtherSI-r17" },
  {   8, "spare8" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_raPurpose_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RA_Report_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_spCellID_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CGI_Info_Logging_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_Report_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RA_Report_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t RA_Report_r16_sequence[] = {
  { &hf_nr_rrc_cellId_r16   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellId_r16 },
  { &hf_nr_rrc_ra_InformationCommon_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RA_InformationCommon_r16 },
  { &hf_nr_rrc_raPurpose_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_raPurpose_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Report_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RA_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RA_Report_r16, RA_Report_r16_sequence);

  return offset;
}


static const per_sequence_t RA_ReportList_r16_sequence_of[1] = {
  { &hf_nr_rrc_RA_ReportList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Report_r16 },
};

static int
dissect_nr_rrc_RA_ReportList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_RA_ReportList_r16, RA_ReportList_r16_sequence_of,
                                                  1, maxRAReport_r16, FALSE);

  return offset;
}


static const per_sequence_t T_cellResults_r16_01_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Cell_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasQuantityResults },
  { &hf_nr_rrc_resultsCSI_RS_Cell_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasQuantityResults },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellResults_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellResults_r16_01, T_cellResults_r16_01_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_96(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     96, 96, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t T_rsIndexResults_r16_01_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Indexes_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResultsPerSSB_IndexList },
  { &hf_nr_rrc_ssbRLMConfigBitmap_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { &hf_nr_rrc_resultsCSI_RS_Indexes_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResultsPerCSI_RS_IndexList },
  { &hf_nr_rrc_csi_rsRLMConfigBitmap_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_96 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rsIndexResults_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rsIndexResults_r16_01, T_rsIndexResults_r16_01_sequence);

  return offset;
}


static const per_sequence_t T_measResult_r16_01_sequence[] = {
  { &hf_nr_rrc_cellResults_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults_r16_01 },
  { &hf_nr_rrc_rsIndexResults_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rsIndexResults_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResult_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResult_r16_01, T_measResult_r16_01_sequence);

  return offset;
}


static const per_sequence_t MeasResultRLFNR_r16_sequence[] = {
  { &hf_nr_rrc_measResult_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultRLFNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultRLFNR_r16, MeasResultRLFNR_r16_sequence);

  return offset;
}


static const per_sequence_t T_measResultNeighCells_r16_02_sequence[] = {
  { &hf_nr_rrc_measResultListNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2NR_r16 },
  { &hf_nr_rrc_measResultListEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2EUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultNeighCells_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResultNeighCells_r16_02, T_measResultNeighCells_r16_02_sequence);

  return offset;
}


static const per_sequence_t CGI_InfoEUTRALogging_sequence[] = {
  { &hf_nr_rrc_plmn_Identity_eutra_5gc, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_trackingAreaCode_eutra_5gc, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TrackingAreaCode },
  { &hf_nr_rrc_cGI_InfoEUTRALogging_cellIdentity_eutra_5gc, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_28 },
  { &hf_nr_rrc_plmn_Identity_eutra_epc, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PLMN_Identity },
  { &hf_nr_rrc_trackingAreaCode_eutra_epc, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_cellIdentity_eutra_epc, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_28 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CGI_InfoEUTRALogging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CGI_InfoEUTRALogging, CGI_InfoEUTRALogging_sequence);

  return offset;
}


static const value_string nr_rrc_T_previousPCellId_r16_vals[] = {
  {   0, "nrPreviousCell-r16" },
  {   1, "eutraPreviousCell-r16" },
  { 0, NULL }
};

static const per_choice_t T_previousPCellId_r16_choice[] = {
  {   0, &hf_nr_rrc_nrPreviousCell_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_Info_Logging_r16 },
  {   1, &hf_nr_rrc_eutraPreviousCell_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_InfoEUTRALogging },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_previousPCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_previousPCellId_r16, T_previousPCellId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nrFailedPCellId_r16_vals[] = {
  {   0, "cellGlobalId-r16" },
  {   1, "pci-arfcn-r16" },
  { 0, NULL }
};

static const per_choice_t T_nrFailedPCellId_r16_choice[] = {
  {   0, &hf_nr_rrc_cellGlobalId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_Info_Logging_r16 },
  {   1, &hf_nr_rrc_pci_arfcn_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_NR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nrFailedPCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nrFailedPCellId_r16, T_nrFailedPCellId_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PCI_ARFCN_EUTRA_r16_sequence[] = {
  { &hf_nr_rrc_physCellId_r16_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
  { &hf_nr_rrc_carrierFreq_r16_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PCI_ARFCN_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PCI_ARFCN_EUTRA_r16, PCI_ARFCN_EUTRA_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_eutraFailedPCellId_r16_vals[] = {
  {   0, "cellGlobalId-r16" },
  {   1, "pci-arfcn-r16" },
  { 0, NULL }
};

static const per_choice_t T_eutraFailedPCellId_r16_choice[] = {
  {   0, &hf_nr_rrc_cellGlobalId_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_InfoEUTRALogging },
  {   1, &hf_nr_rrc_pci_arfcn_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_EUTRA_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_eutraFailedPCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_eutraFailedPCellId_r16, T_eutraFailedPCellId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_failedPCellId_r16_vals[] = {
  {   0, "nrFailedPCellId-r16" },
  {   1, "eutraFailedPCellId-r16" },
  { 0, NULL }
};

static const per_choice_t T_failedPCellId_r16_choice[] = {
  {   0, &hf_nr_rrc_nrFailedPCellId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nrFailedPCellId_r16 },
  {   1, &hf_nr_rrc_eutraFailedPCellId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutraFailedPCellId_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_failedPCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_failedPCellId_r16, T_failedPCellId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reconnectCellId_r16_vals[] = {
  {   0, "nrReconnectCellId-r16" },
  {   1, "eutraReconnectCellId-r16" },
  { 0, NULL }
};

static const per_choice_t T_reconnectCellId_r16_choice[] = {
  {   0, &hf_nr_rrc_nrReconnectCellId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_Info_Logging_r16 },
  {   1, &hf_nr_rrc_eutraReconnectCellId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_InfoEUTRALogging },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reconnectCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reconnectCellId_r16, T_reconnectCellId_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_TimeUntilReconnection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 172800U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_connectionFailureType_r16_vals[] = {
  {   0, "rlf" },
  {   1, "hof" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_connectionFailureType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rlf_Cause_r16_vals[] = {
  {   0, "t310-Expiry" },
  {   1, "randomAccessProblem" },
  {   2, "rlc-MaxNumRetx" },
  {   3, "beamFailureRecoveryFailure" },
  {   4, "lbtFailure-r16" },
  {   5, "bh-rlfRecoveryFailure" },
  {   6, "t312-expiry-r17" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlf_Cause_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_noSuitableCellFound_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_noSuitableCellFound_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eag_1_sequence[] = {
  { &hf_nr_rrc_csi_rsRLMConfigBitmap_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_96 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_lastHO_Type_r17_vals[] = {
  {   0, "cho" },
  {   1, "daps" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lastHO_Type_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_TimeConnSourceDAPS_Failure_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_TimeSinceCHO_Reconfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_choCellId_r17_vals[] = {
  {   0, "cellGlobalId-r17" },
  {   1, "pci-arfcn-r17" },
  { 0, NULL }
};

static const per_choice_t T_choCellId_r17_choice[] = {
  {   0, &hf_nr_rrc_cellGlobalId_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_Info_Logging_r16 },
  {   1, &hf_nr_rrc_pci_arfcn_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_NR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_choCellId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_choCellId_r17, T_choCellId_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_ChoCandidateCell_r17_vals[] = {
  {   0, "cellGlobalId-r17" },
  {   1, "pci-arfcn-r17" },
  { 0, NULL }
};

static const per_choice_t ChoCandidateCell_r17_choice[] = {
  {   0, &hf_nr_rrc_cellGlobalId_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_Info_Logging_r16 },
  {   1, &hf_nr_rrc_pci_arfcn_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_NR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_ChoCandidateCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_ChoCandidateCell_r17, ChoCandidateCell_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ChoCandidateCellList_r17_sequence_of[1] = {
  { &hf_nr_rrc_ChoCandidateCellList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ChoCandidateCell_r17 },
};

static int
dissect_nr_rrc_ChoCandidateCellList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ChoCandidateCellList_r17, ChoCandidateCellList_r17_sequence_of,
                                                  1, maxNrofCondCells_r16, FALSE);

  return offset;
}


static const per_sequence_t T_eag_2_sequence[] = {
  { &hf_nr_rrc_lastHO_Type_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lastHO_Type_r17 },
  { &hf_nr_rrc_timeConnSourceDAPS_Failure_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TimeConnSourceDAPS_Failure_r17 },
  { &hf_nr_rrc_timeSinceCHO_Reconfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TimeSinceCHO_Reconfig_r17 },
  { &hf_nr_rrc_choCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_choCellId_r17 },
  { &hf_nr_rrc_choCandidateCellList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ChoCandidateCellList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_2_sequence);

  return offset;
}


static const per_sequence_t T_nr_RLF_Report_r16_sequence[] = {
  { &hf_nr_rrc_measResultLastServCell_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultRLFNR_r16 },
  { &hf_nr_rrc_measResultNeighCells_r16_02, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultNeighCells_r16_02 },
  { &hf_nr_rrc_c_RNTI_r16   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_previousPCellId_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_previousPCellId_r16 },
  { &hf_nr_rrc_failedPCellId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failedPCellId_r16 },
  { &hf_nr_rrc_reconnectCellId_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reconnectCellId_r16 },
  { &hf_nr_rrc_timeUntilReconnection_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TimeUntilReconnection_r16 },
  { &hf_nr_rrc_reestablishmentCellId_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CGI_Info_Logging_r16 },
  { &hf_nr_rrc_timeConnFailure_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_timeSinceFailure_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeSinceFailure_r16 },
  { &hf_nr_rrc_connectionFailureType_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_connectionFailureType_r16 },
  { &hf_nr_rrc_rlf_Cause_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rlf_Cause_r16 },
  { &hf_nr_rrc_locationInfo_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LocationInfo_r16 },
  { &hf_nr_rrc_noSuitableCellFound_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_noSuitableCellFound_r16 },
  { &hf_nr_rrc_ra_InformationCommon_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RA_InformationCommon_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_RLF_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nr_RLF_Report_r16, T_nr_RLF_Report_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_measResult_RLF_Report_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *meas_result_rlf_report_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &meas_result_rlf_report_eutra_tvb);

  if (meas_result_rlf_report_eutra_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResult_RLF_Report_EUTRA);
    dissect_lte_rrc_RLF_Report_r9_PDU(meas_result_rlf_report_eutra_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_measResult_RLF_Report_EUTRA_v1690(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *meas_result_rlf_report_eutra_v1690_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &meas_result_rlf_report_eutra_v1690_tvb);

  if (meas_result_rlf_report_eutra_v1690_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResult_RLF_Report_EUTRA_v1690);
    dissect_lte_rrc_RLF_Report_v9e0_PDU(meas_result_rlf_report_eutra_v1690_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t T_eag_1_01_sequence[] = {
  { &hf_nr_rrc_measResult_RLF_Report_EUTRA_v1690, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResult_RLF_Report_EUTRA_v1690 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_01_sequence);

  return offset;
}


static const per_sequence_t T_eutra_RLF_Report_r16_sequence[] = {
  { &hf_nr_rrc_failedPCellId_EUTRA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoEUTRALogging },
  { &hf_nr_rrc_measResult_RLF_Report_EUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_RLF_Report_EUTRA_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eutra_RLF_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eutra_RLF_Report_r16, T_eutra_RLF_Report_r16_sequence);

  return offset;
}


static const value_string nr_rrc_RLF_Report_r16_vals[] = {
  {   0, "nr-RLF-Report-r16" },
  {   1, "eutra-RLF-Report-r16" },
  { 0, NULL }
};

static const per_choice_t RLF_Report_r16_choice[] = {
  {   0, &hf_nr_rrc_nr_RLF_Report_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_RLF_Report_r16 },
  {   1, &hf_nr_rrc_eutra_RLF_Report_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_RLF_Report_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_RLF_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_RLF_Report_r16, RLF_Report_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_CellId_r16_vals[] = {
  {   0, "cgi-Info" },
  {   1, "pci-arfcn-r16" },
  { 0, NULL }
};

static const per_choice_t T_nr_CellId_r16_choice[] = {
  {   0, &hf_nr_rrc_cgi_Info_01  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_Info_Logging_r16 },
  {   1, &hf_nr_rrc_pci_arfcn_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_NR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_CellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nr_CellId_r16, T_nr_CellId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_CellId_r16_vals[] = {
  {   0, "cellGlobalId-r16" },
  {   1, "pci-arfcn-r16" },
  { 0, NULL }
};

static const per_choice_t T_eutra_CellId_r16_choice[] = {
  {   0, &hf_nr_rrc_cellGlobalId_r16_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_InfoEUTRA },
  {   1, &hf_nr_rrc_pci_arfcn_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_EUTRA_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_eutra_CellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_eutra_CellId_r16, T_eutra_CellId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_visitedCellId_r16_vals[] = {
  {   0, "nr-CellId-r16" },
  {   1, "eutra-CellId-r16" },
  { 0, NULL }
};

static const per_choice_t T_visitedCellId_r16_choice[] = {
  {   0, &hf_nr_rrc_nr_CellId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_CellId_r16 },
  {   1, &hf_nr_rrc_eutra_CellId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_CellId_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_visitedCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_visitedCellId_r16, T_visitedCellId_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_CellId_r17_vals[] = {
  {   0, "cgi-Info-r17" },
  {   1, "pci-arfcn-r17" },
  { 0, NULL }
};

static const per_choice_t T_nr_CellId_r17_choice[] = {
  {   0, &hf_nr_rrc_cgi_Info_r17 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_Info_Logging_r16 },
  {   1, &hf_nr_rrc_pci_arfcn_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_NR_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_CellId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nr_CellId_r17, T_nr_CellId_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_CellId_r17_vals[] = {
  {   0, "cellGlobalId-r17" },
  {   1, "pci-arfcn-r17" },
  { 0, NULL }
};

static const per_choice_t T_eutra_CellId_r17_choice[] = {
  {   0, &hf_nr_rrc_cellGlobalId_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CGI_InfoEUTRALogging },
  {   1, &hf_nr_rrc_pci_arfcn_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PCI_ARFCN_EUTRA_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_eutra_CellId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_eutra_CellId_r17, T_eutra_CellId_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_visitedCellId_r17_vals[] = {
  {   0, "nr-CellId-r17" },
  {   1, "eutra-CellId-r17" },
  { 0, NULL }
};

static const per_choice_t T_visitedCellId_r17_choice[] = {
  {   0, &hf_nr_rrc_nr_CellId_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_CellId_r17 },
  {   1, &hf_nr_rrc_eutra_CellId_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_CellId_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_visitedCellId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_visitedCellId_r17, T_visitedCellId_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t VisitedPSCellInfo_r17_sequence[] = {
  { &hf_nr_rrc_visitedCellId_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_visitedCellId_r17 },
  { &hf_nr_rrc_timeSpent_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4095 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_VisitedPSCellInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_VisitedPSCellInfo_r17, VisitedPSCellInfo_r17_sequence);

  return offset;
}


static const per_sequence_t VisitedPSCellInfoList_r17_sequence_of[1] = {
  { &hf_nr_rrc_VisitedPSCellInfoList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VisitedPSCellInfo_r17 },
};

static int
dissect_nr_rrc_VisitedPSCellInfoList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_VisitedPSCellInfoList_r17, VisitedPSCellInfoList_r17_sequence_of,
                                                  1, maxPSCellHistory_r17, FALSE);

  return offset;
}


static const per_sequence_t VisitedCellInfo_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_visitedPSCellInfoListReport_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_VisitedPSCellInfoList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_VisitedCellInfo_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, VisitedCellInfo_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t VisitedCellInfo_r16_sequence[] = {
  { &hf_nr_rrc_visitedCellId_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_visitedCellId_r16 },
  { &hf_nr_rrc_timeSpent_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4095 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_VisitedCellInfo_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_VisitedCellInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_VisitedCellInfo_r16, VisitedCellInfo_r16_sequence);

  return offset;
}


static const per_sequence_t VisitedCellInfoList_r16_sequence_of[1] = {
  { &hf_nr_rrc_VisitedCellInfoList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VisitedCellInfo_r16 },
};

static int
dissect_nr_rrc_VisitedCellInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_VisitedCellInfoList_r16, VisitedCellInfoList_r16_sequence_of,
                                                  1, maxCellHistory_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_MobilityHistoryReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_nr_rrc_VisitedCellInfoList_r16(tvb, offset, actx, tree, hf_index);

  return offset;
}


static const per_sequence_t T_cellResults_r17_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Cell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasQuantityResults },
  { &hf_nr_rrc_resultsCSI_RS_Cell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasQuantityResults },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cellResults_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cellResults_r17, T_cellResults_r17_sequence);

  return offset;
}


static const per_sequence_t T_rsIndexResults_r17_sequence[] = {
  { &hf_nr_rrc_resultsSSB_Indexes_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResultsPerSSB_IndexList },
  { &hf_nr_rrc_resultsCSI_RS_Indexes_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ResultsPerCSI_RS_IndexList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rsIndexResults_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rsIndexResults_r17, T_rsIndexResults_r17_sequence);

  return offset;
}


static const per_sequence_t T_measResult_r17_sequence[] = {
  { &hf_nr_rrc_cellResults_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults_r17 },
  { &hf_nr_rrc_rsIndexResults_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rsIndexResults_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResult_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResult_r17, T_measResult_r17_sequence);

  return offset;
}


static const per_sequence_t MeasResultSuccessHONR_r17_sequence[] = {
  { &hf_nr_rrc_measResult_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultSuccessHONR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultSuccessHONR_r17, MeasResultSuccessHONR_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_rlf_InSourceDAPS_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlf_InSourceDAPS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sourceCellInfo_r17_sequence[] = {
  { &hf_nr_rrc_sourcePCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_Info_Logging_r16 },
  { &hf_nr_rrc_sourceCellMeas_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultSuccessHONR_r17 },
  { &hf_nr_rrc_rlf_InSourceDAPS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlf_InSourceDAPS_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sourceCellInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sourceCellInfo_r17, T_sourceCellInfo_r17_sequence);

  return offset;
}


static const per_sequence_t T_targetCellInfo_r17_sequence[] = {
  { &hf_nr_rrc_targetPCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_Info_Logging_r16 },
  { &hf_nr_rrc_targetCellMeas_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultSuccessHONR_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_targetCellInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_targetCellInfo_r17, T_targetCellInfo_r17_sequence);

  return offset;
}


static const per_sequence_t T_measResultNeighCells_r17_sequence[] = {
  { &hf_nr_rrc_measResultListNR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2NR_r16 },
  { &hf_nr_rrc_measResultListEUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultList2EUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_measResultNeighCells_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_measResultNeighCells_r17, T_measResultNeighCells_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_t304_cause_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t304_cause_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t310_cause_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t310_cause_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t312_cause_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t312_cause_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sourceDAPS_Failure_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sourceDAPS_Failure_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SHR_Cause_r17_sequence[] = {
  { &hf_nr_rrc_t304_cause_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_t304_cause_r17 },
  { &hf_nr_rrc_t310_cause_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_t310_cause_r17 },
  { &hf_nr_rrc_t312_cause_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_t312_cause_r17 },
  { &hf_nr_rrc_sourceDAPS_Failure_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sourceDAPS_Failure_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SHR_Cause_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SHR_Cause_r17, SHR_Cause_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_UPInterruptionTimeAtHO_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SuccessHO_Report_r17_sequence[] = {
  { &hf_nr_rrc_sourceCellInfo_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sourceCellInfo_r17 },
  { &hf_nr_rrc_targetCellInfo_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_targetCellInfo_r17 },
  { &hf_nr_rrc_measResultNeighCells_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_measResultNeighCells_r17 },
  { &hf_nr_rrc_locationInfo_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LocationInfo_r16 },
  { &hf_nr_rrc_timeSinceCHO_Reconfig_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TimeSinceCHO_Reconfig_r17 },
  { &hf_nr_rrc_shr_Cause_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SHR_Cause_r17 },
  { &hf_nr_rrc_ra_InformationCommon_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RA_InformationCommon_r16 },
  { &hf_nr_rrc_upInterruptionTimeAtHO_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UPInterruptionTimeAtHO_r17 },
  { &hf_nr_rrc_c_RNTI_r17   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SuccessHO_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SuccessHO_Report_r17, SuccessHO_Report_r17_sequence);

  return offset;
}


static const per_sequence_t ConnEstFailReportList_r17_sequence_of[1] = {
  { &hf_nr_rrc_ConnEstFailReportList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConnEstFailReport_r16 },
};

static int
dissect_nr_rrc_ConnEstFailReportList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ConnEstFailReportList_r17, ConnEstFailReportList_r17_sequence_of,
                                                  1, maxCEFReport_r17, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_coarseLocationInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ellipsoid_point_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &ellipsoid_point_tvb);

  if (ellipsoid_point_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_coarseLocationInfo_r17);
    dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t T_nonCriticalExtension_46_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_46, T_nonCriticalExtension_46_sequence);

  return offset;
}


static const per_sequence_t UEInformationResponse_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_successHO_Report_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SuccessHO_Report_r17 },
  { &hf_nr_rrc_connEstFailReportList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConnEstFailReportList_r17 },
  { &hf_nr_rrc_coarseLocationInfo_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_coarseLocationInfo_r17 },
  { &hf_nr_rrc_nonCriticalExtension_115, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_46 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEInformationResponse_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEInformationResponse_v1700_IEs, UEInformationResponse_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t UEInformationResponse_r16_IEs_sequence[] = {
  { &hf_nr_rrc_measResultIdleEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultIdleEUTRA_r16 },
  { &hf_nr_rrc_measResultIdleNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasResultIdleNR_r16 },
  { &hf_nr_rrc_logMeasReport_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LogMeasReport_r16 },
  { &hf_nr_rrc_connEstFailReport_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConnEstFailReport_r16 },
  { &hf_nr_rrc_ra_ReportList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RA_ReportList_r16 },
  { &hf_nr_rrc_rlf_Report_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RLF_Report_r16 },
  { &hf_nr_rrc_mobilityHistoryReport_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MobilityHistoryReport_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_114, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UEInformationResponse_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEInformationResponse_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEInformationResponse_r16_IEs, UEInformationResponse_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_45_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_45, T_criticalExtensionsFuture_45_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_45_vals[] = {
  {   0, "ueInformationResponse-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_45_choice[] = {
  {   0, &hf_nr_rrc_ueInformationResponse_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEInformationResponse_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_45, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_45 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_45, T_criticalExtensions_45_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UEInformationResponse_r16_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_45, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_45 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEInformationResponse_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Response");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEInformationResponse_r16, UEInformationResponse_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofFreqSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofFreqSL_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_InterestedFreqList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_InterestedFreqList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofFreqSL_r16 },
};

static int
dissect_nr_rrc_SL_InterestedFreqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_InterestedFreqList_r16, SL_InterestedFreqList_r16_sequence_of,
                                                  1, maxNrofFreqSL_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_CastType_r16_vals[] = {
  {   0, "broadcast" },
  {   1, "groupcast" },
  {   2, "unicast" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_CastType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_Mode_r16_vals[] = {
  {   0, "sl-AM-Mode-r16" },
  {   1, "sl-UM-Mode-r16" },
  { 0, NULL }
};

static const per_choice_t T_sl_Mode_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_AM_Mode_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_sl_UM_Mode_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_Mode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_Mode_r16, T_sl_Mode_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_QoS_Info_r16_sequence[] = {
  { &hf_nr_rrc_sl_QoS_FlowIdentity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_FlowIdentity_r16 },
  { &hf_nr_rrc_sl_QoS_Profile_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_QoS_Profile_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_QoS_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_QoS_Info_r16, SL_QoS_Info_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_QoS_InfoList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_Info_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16, SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16_sequence_of,
                                                  1, maxNrofSL_QFIsPerDest_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_RLC_ModeIndication_r16_sequence[] = {
  { &hf_nr_rrc_sl_Mode_r16  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_Mode_r16 },
  { &hf_nr_rrc_sl_QoS_InfoList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RLC_ModeIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RLC_ModeIndication_r16, SL_RLC_ModeIndication_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_RLC_ModeIndicationList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_ModeIndication_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16_sequence_of,
                                                  1, maxNrofSLRB_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_TypeTxSyncList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TypeTxSync_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16, SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16_sequence_of,
                                                  1, maxNrofFreqSL_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_TxInterestedFreqList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_TxInterestedFreqList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofFreqSL_r16 },
};

static int
dissect_nr_rrc_SL_TxInterestedFreqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_TxInterestedFreqList_r16, SL_TxInterestedFreqList_r16_sequence_of,
                                                  1, maxNrofFreqSL_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_sl_CapabilityInformationSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_cap_info_sidelink_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_cap_info_sidelink_tvb);

  if (sl_cap_info_sidelink_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_CapabilityInformationSidelink);
    dissect_UECapabilityInformationSidelink_PDU(sl_cap_info_sidelink_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SL_TxResourceReq_r16_sequence[] = {
  { &hf_nr_rrc_sl_DestinationIdentity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIdentity_r16 },
  { &hf_nr_rrc_sl_CastType_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_CastType_r16 },
  { &hf_nr_rrc_sl_RLC_ModeIndicationList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16 },
  { &hf_nr_rrc_sl_QoS_InfoList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 },
  { &hf_nr_rrc_sl_TypeTxSyncList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 },
  { &hf_nr_rrc_sl_TxInterestedFreqList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxInterestedFreqList_r16 },
  { &hf_nr_rrc_sl_CapabilityInformationSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CapabilityInformationSidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxResourceReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_TxResourceReq_r16, SL_TxResourceReq_r16_sequence);

  return offset;
}


static const per_sequence_t SL_TxResourceReqList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_TxResourceReqList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxResourceReq_r16 },
};

static int
dissect_nr_rrc_SL_TxResourceReqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_TxResourceReqList_r16, SL_TxResourceReqList_r16_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_Failure_r16_vals[] = {
  {   0, "rlf" },
  {   1, "configFailure" },
  {   2, "drxReject-v1710" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Failure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_Failure_r16_sequence[] = {
  { &hf_nr_rrc_sl_DestinationIdentity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIdentity_r16 },
  { &hf_nr_rrc_sl_Failure_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_Failure_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_Failure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_Failure_r16, SL_Failure_r16_sequence);

  return offset;
}


static const per_sequence_t SL_FailureList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SL_FailureList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_Failure_r16 },
};

static int
dissect_nr_rrc_SL_FailureList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_FailureList_r16, SL_FailureList_r16_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_milliSeconds_05_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms3" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms6" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms30" },
  {  10, "ms40" },
  {  11, "ms50" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms200" },
  {  16, "ms300" },
  {  17, "ms400" },
  {  18, "ms500" },
  {  19, "ms600" },
  {  20, "ms800" },
  {  21, "ms1000" },
  {  22, "ms1200" },
  {  23, "ms1600" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_milliSeconds_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_drx_onDurationTimer_r17_01_vals[] = {
  {   0, "subMilliSeconds" },
  {   1, "milliSeconds" },
  { 0, NULL }
};

static const per_choice_t T_sl_drx_onDurationTimer_r17_01_choice[] = {
  {   0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_31 },
  {   1, &hf_nr_rrc_milliSeconds_05, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_milliSeconds_05 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_drx_onDurationTimer_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_drx_onDurationTimer_r17_01, T_sl_drx_onDurationTimer_r17_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_drx_CycleStartOffset_r17_01_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  { 0, NULL }
};

static const per_choice_t T_sl_drx_CycleStartOffset_r17_01_choice[] = {
  {   0, &hf_nr_rrc_ms10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_ms20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_ms32         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   3, &hf_nr_rrc_ms40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_ms60         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_59 },
  {   5, &hf_nr_rrc_ms64         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   6, &hf_nr_rrc_ms70         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_69 },
  {   7, &hf_nr_rrc_ms80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   8, &hf_nr_rrc_ms128        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   9, &hf_nr_rrc_ms160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  10, &hf_nr_rrc_ms256        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  {  11, &hf_nr_rrc_ms320        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_ms512        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_511 },
  {  13, &hf_nr_rrc_ms640        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  {  14, &hf_nr_rrc_ms1024       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1023 },
  {  15, &hf_nr_rrc_ms1280       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {  16, &hf_nr_rrc_ms2048       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2047 },
  {  17, &hf_nr_rrc_ms2560       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  {  18, &hf_nr_rrc_ms5120       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_5119 },
  {  19, &hf_nr_rrc_ms10240      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_10239 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_drx_CycleStartOffset_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_drx_CycleStartOffset_r17_01, T_sl_drx_CycleStartOffset_r17_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_DRX_ConfigUC_SemiStatic_r17_sequence[] = {
  { &hf_nr_rrc_sl_drx_onDurationTimer_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_drx_onDurationTimer_r17_01 },
  { &hf_nr_rrc_sl_drx_CycleStartOffset_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_drx_CycleStartOffset_r17_01 },
  { &hf_nr_rrc_sl_drx_SlotOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_DRX_ConfigUC_SemiStatic_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_DRX_ConfigUC_SemiStatic_r17, SL_DRX_ConfigUC_SemiStatic_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_DRX_InfoFromRxList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DRX_ConfigUC_SemiStatic_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17, SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17_sequence_of,
                                                  1, maxNrofSL_RxInfoSet_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_Indication_r17_vals[] = {
  {   0, "on" },
  {   1, "off" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DRX_Indication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_TxResourceReq_v1700_sequence[] = {
  { &hf_nr_rrc_sl_DRX_InfoFromRxList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17 },
  { &hf_nr_rrc_sl_DRX_Indication_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DRX_Indication_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxResourceReq_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_TxResourceReq_v1700, SL_TxResourceReq_v1700_sequence);

  return offset;
}


static const per_sequence_t SL_TxResourceReqList_v1700_sequence_of[1] = {
  { &hf_nr_rrc_SL_TxResourceReqList_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxResourceReq_v1700 },
};

static int
dissect_nr_rrc_SL_TxResourceReqList_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_TxResourceReqList_v1700, SL_TxResourceReqList_v1700_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_RxDRX_Report_v1700_sequence[] = {
  { &hf_nr_rrc_sl_DRX_ConfigFromTx_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DRX_ConfigUC_SemiStatic_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RxDRX_Report_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RxDRX_Report_v1700, SL_RxDRX_Report_v1700_sequence);

  return offset;
}


static const per_sequence_t SL_RxDRX_ReportList_v1700_sequence_of[1] = {
  { &hf_nr_rrc_SL_RxDRX_ReportList_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RxDRX_Report_v1700 },
};

static int
dissect_nr_rrc_SL_RxDRX_ReportList_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_RxDRX_ReportList_v1700, SL_RxDRX_ReportList_v1700_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}


static const per_sequence_t SL_RxInterestedGC_BC_Dest_r17_sequence[] = {
  { &hf_nr_rrc_sl_RxInterestedQoS_InfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 },
  { &hf_nr_rrc_sl_DestinationIdentity_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIdentity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RxInterestedGC_BC_Dest_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RxInterestedGC_BC_Dest_r17, SL_RxInterestedGC_BC_Dest_r17_sequence);

  return offset;
}


static const per_sequence_t SL_RxInterestedGC_BC_DestList_r17_sequence_of[1] = {
  { &hf_nr_rrc_SL_RxInterestedGC_BC_DestList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RxInterestedGC_BC_Dest_r17 },
};

static int
dissect_nr_rrc_SL_RxInterestedGC_BC_DestList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_RxInterestedGC_BC_DestList_r17, SL_RxInterestedGC_BC_DestList_r17_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_SourceIdentity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_CastTypeDisc_r17_vals[] = {
  {   0, "broadcast" },
  {   1, "groupcast" },
  {   2, "unicast" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_CastTypeDisc_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_DiscoveryType_r17_vals[] = {
  {   0, "relay" },
  {   1, "non-Relay" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DiscoveryType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_TxResourceReqDisc_r17_sequence[] = {
  { &hf_nr_rrc_sl_DestinationIdentityDisc_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIdentity_r16 },
  { &hf_nr_rrc_sl_SourceIdentityRelayUE_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SourceIdentity_r17 },
  { &hf_nr_rrc_sl_CastTypeDisc_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_CastTypeDisc_r17 },
  { &hf_nr_rrc_sl_TxInterestedFreqListDisc_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxInterestedFreqList_r16 },
  { &hf_nr_rrc_sl_TypeTxSyncListDisc_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 },
  { &hf_nr_rrc_sl_DiscoveryType_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_DiscoveryType_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxResourceReqDisc_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_TxResourceReqDisc_r17, SL_TxResourceReqDisc_r17_sequence);

  return offset;
}


static const per_sequence_t SL_TxResourceReqListDisc_r17_sequence_of[1] = {
  { &hf_nr_rrc_SL_TxResourceReqListDisc_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxResourceReqDisc_r17 },
};

static int
dissect_nr_rrc_SL_TxResourceReqListDisc_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_TxResourceReqListDisc_r17, SL_TxResourceReqListDisc_r17_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_LocalID_Request_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_LocalID_Request_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PagingIdentityRemoteUE_r17_sequence[] = {
  { &hf_nr_rrc_ng_5G_S_TMSI_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NG_5G_S_TMSI },
  { &hf_nr_rrc_fullI_RNTI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_I_RNTI_Value },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PagingIdentityRemoteUE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PagingIdentityRemoteUE_r17, SL_PagingIdentityRemoteUE_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_sl_CapabilityInformationSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_cap_info_sidelink_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_cap_info_sidelink_tvb);

  if (sl_cap_info_sidelink_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_CapabilityInformationSidelink);
    dissect_UECapabilityInformationSidelink_PDU(sl_cap_info_sidelink_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SL_TxResourceReqL2U2N_Relay_r17_sequence[] = {
  { &hf_nr_rrc_sl_DestinationIdentityL2U2N_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_DestinationIdentity_r16 },
  { &hf_nr_rrc_sl_TxInterestedFreqListL2U2N_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxInterestedFreqList_r16 },
  { &hf_nr_rrc_sl_TypeTxSyncListL2U2N_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 },
  { &hf_nr_rrc_sl_LocalID_Request_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_LocalID_Request_r17 },
  { &hf_nr_rrc_sl_PagingIdentityRemoteUE_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PagingIdentityRemoteUE_r17 },
  { &hf_nr_rrc_sl_CapabilityInformationSidelink_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CapabilityInformationSidelink_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxResourceReqL2U2N_Relay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_TxResourceReqL2U2N_Relay_r17, SL_TxResourceReqL2U2N_Relay_r17_sequence);

  return offset;
}


static const value_string nr_rrc_SL_TxResourceReqCommRelay_r17_vals[] = {
  {   0, "sl-TxResourceReqL2U2N-Relay-r17" },
  {   1, "sl-TxResourceReqL3U2N-Relay-r17" },
  { 0, NULL }
};

static const per_choice_t SL_TxResourceReqCommRelay_r17_choice[] = {
  {   0, &hf_nr_rrc_sl_TxResourceReqL2U2N_Relay_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_TxResourceReqL2U2N_Relay_r17 },
  {   1, &hf_nr_rrc_sl_TxResourceReqL3U2N_Relay_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_TxResourceReq_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxResourceReqCommRelay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_TxResourceReqCommRelay_r17, SL_TxResourceReqCommRelay_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_TxResourceReqCommRelayInfo_r17_sequence[] = {
  { &hf_nr_rrc_sl_RelayDRXConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxResourceReq_v1700 },
  { &hf_nr_rrc_sl_TxResourceReqCommRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxResourceReqCommRelay_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_TxResourceReqCommRelayInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_TxResourceReqCommRelayInfo_r17, SL_TxResourceReqCommRelayInfo_r17_sequence);

  return offset;
}


static const per_sequence_t SL_TxResourceReqListCommRelay_r17_sequence_of[1] = {
  { &hf_nr_rrc_SL_TxResourceReqListCommRelay_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxResourceReqCommRelayInfo_r17 },
};

static int
dissect_nr_rrc_SL_TxResourceReqListCommRelay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_TxResourceReqListCommRelay_r17, SL_TxResourceReqListCommRelay_r17_sequence_of,
                                                  1, maxNrofSL_Dest_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ue_Type_r17_vals[] = {
  {   0, "relayUE" },
  {   1, "remoteUE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_Type_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_40_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_40, T_nonCriticalExtension_40_sequence);

  return offset;
}


static const per_sequence_t SidelinkUEInformationNR_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_sl_TxResourceReqList_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxResourceReqList_v1700 },
  { &hf_nr_rrc_sl_RxDRX_ReportList_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RxDRX_ReportList_v1700 },
  { &hf_nr_rrc_sl_RxInterestedGC_BC_DestList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RxInterestedGC_BC_DestList_r17 },
  { &hf_nr_rrc_sl_RxInterestedFreqListDisc_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_InterestedFreqList_r16 },
  { &hf_nr_rrc_sl_TxResourceReqListDisc_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxResourceReqListDisc_r17 },
  { &hf_nr_rrc_sl_TxResourceReqListCommRelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxResourceReqListCommRelay_r17 },
  { &hf_nr_rrc_ue_Type_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_Type_r17 },
  { &hf_nr_rrc_sl_SourceIdentityRemoteUE_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SourceIdentity_r17 },
  { &hf_nr_rrc_nonCriticalExtension_103, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_40 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SidelinkUEInformationNR_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SidelinkUEInformationNR_v1700_IEs, SidelinkUEInformationNR_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t SidelinkUEInformationNR_r16_IEs_sequence[] = {
  { &hf_nr_rrc_sl_RxInterestedFreqList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_InterestedFreqList_r16 },
  { &hf_nr_rrc_sl_TxResourceReqList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_TxResourceReqList_r16 },
  { &hf_nr_rrc_sl_FailureList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_FailureList_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_102, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SidelinkUEInformationNR_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SidelinkUEInformationNR_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SidelinkUEInformationNR_r16_IEs, SidelinkUEInformationNR_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_39_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_39, T_criticalExtensionsFuture_39_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_39_vals[] = {
  {   0, "sidelinkUEInformationNR-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_39_choice[] = {
  {   0, &hf_nr_rrc_sidelinkUEInformationNR_r16_03, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SidelinkUEInformationNR_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_39, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_39 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_39, T_criticalExtensions_39_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SidelinkUEInformationNR_r16_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_39, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_39 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SidelinkUEInformationNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Sidelink UE Information NR");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SidelinkUEInformationNR_r16, SidelinkUEInformationNR_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_ul_DCCH_MessageEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *ul_dcch_msg_eutra_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &ul_dcch_msg_eutra_tvb);

  if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA);
    nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const per_sequence_t T_nonCriticalExtension_50_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_50, T_nonCriticalExtension_50_sequence);

  return offset;
}


static const per_sequence_t ULInformationTransferIRAT_r16_IEs_sequence[] = {
  { &hf_nr_rrc_ul_DCCH_MessageEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_DCCH_MessageEUTRA_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_121, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_50 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULInformationTransferIRAT_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULInformationTransferIRAT_r16_IEs, ULInformationTransferIRAT_r16_IEs_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_16_vals[] = {
  {   0, "ulInformationTransferIRAT-r16" },
  {   1, "spare3" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_16_choice[] = {
  {   0, &hf_nr_rrc_ulInformationTransferIRAT_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ULInformationTransferIRAT_r16_IEs },
  {   1, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_16, T_c1_16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_49_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_49, T_criticalExtensionsFuture_49_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_49_vals[] = {
  {   0, "c1" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_49_choice[] = {
  {   0, &hf_nr_rrc_c1_16        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_16 },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_49, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_49 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_49, T_criticalExtensions_49_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ULInformationTransferIRAT_r16_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_49, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_49 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULInformationTransferIRAT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer IRAT");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULInformationTransferIRAT_r16, ULInformationTransferIRAT_r16_sequence);

  return offset;
}


static const per_sequence_t IAB_IP_AddressNumReq_r16_sequence[] = {
  { &hf_nr_rrc_all_Traffic_NumReq_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_f1_C_Traffic_NumReq_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_f1_U_Traffic_NumReq_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_non_F1_Traffic_NumReq_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IAB_IP_AddressNumReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IAB_IP_AddressNumReq_r16, IAB_IP_AddressNumReq_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_all_Traffic_PrefixReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_all_Traffic_PrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_f1_C_Traffic_PrefixReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_f1_C_Traffic_PrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_f1_U_Traffic_PrefixReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_f1_U_Traffic_PrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_non_F1_Traffic_PrefixReq_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_non_F1_Traffic_PrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t IAB_IP_AddressPrefixReq_r16_sequence[] = {
  { &hf_nr_rrc_all_Traffic_PrefixReq_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_all_Traffic_PrefixReq_r16 },
  { &hf_nr_rrc_f1_C_Traffic_PrefixReq_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_f1_C_Traffic_PrefixReq_r16 },
  { &hf_nr_rrc_f1_U_Traffic_PrefixReq_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_f1_U_Traffic_PrefixReq_r16 },
  { &hf_nr_rrc_non_F1_Traffic_PrefixReq_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_non_F1_Traffic_PrefixReq_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IAB_IP_AddressPrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IAB_IP_AddressPrefixReq_r16, IAB_IP_AddressPrefixReq_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_iab_IPv6_AddressReq_r16_vals[] = {
  {   0, "iab-IPv6-AddressNumReq-r16" },
  {   1, "iab-IPv6-AddressPrefixReq-r16" },
  { 0, NULL }
};

static const per_choice_t T_iab_IPv6_AddressReq_r16_choice[] = {
  {   0, &hf_nr_rrc_iab_IPv6_AddressNumReq_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_IAB_IP_AddressNumReq_r16 },
  {   1, &hf_nr_rrc_iab_IPv6_AddressPrefixReq_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_IAB_IP_AddressPrefixReq_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_iab_IPv6_AddressReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_iab_IPv6_AddressReq_r16, T_iab_IPv6_AddressReq_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_iab_IP_Request_r16_sequence[] = {
  { &hf_nr_rrc_iab_IPv4_AddressNumReq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_AddressNumReq_r16 },
  { &hf_nr_rrc_iab_IPv6_AddressReq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_iab_IPv6_AddressReq_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_iab_IP_Request_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_iab_IP_Request_r16, T_iab_IP_Request_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16_sequence_of[1] = {
  { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_IP_Address_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16, SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const per_sequence_t IAB_IP_AddressAndTraffic_r16_sequence[] = {
  { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 },
  { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 },
  { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 },
  { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IAB_IP_AddressAndTraffic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IAB_IP_AddressAndTraffic_r16, IAB_IP_AddressAndTraffic_r16_sequence);

  return offset;
}


static const per_sequence_t IAB_IP_PrefixAndTraffic_r16_sequence[] = {
  { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_Address_r16 },
  { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_Address_r16 },
  { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_Address_r16 },
  { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_Address_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IAB_IP_PrefixAndTraffic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IAB_IP_PrefixAndTraffic_r16, IAB_IP_PrefixAndTraffic_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_iab_IPv6_Report_r16_vals[] = {
  {   0, "iab-IPv6-AddressReport-r16" },
  {   1, "iab-IPv6-PrefixReport-r16" },
  { 0, NULL }
};

static const per_choice_t T_iab_IPv6_Report_r16_choice[] = {
  {   0, &hf_nr_rrc_iab_IPv6_AddressReport_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_IAB_IP_AddressAndTraffic_r16 },
  {   1, &hf_nr_rrc_iab_IPv6_PrefixReport_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_IAB_IP_PrefixAndTraffic_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_iab_IPv6_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_iab_IPv6_Report_r16, T_iab_IPv6_Report_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_iab_IP_Report_r16_sequence[] = {
  { &hf_nr_rrc_iab_IPv4_AddressReport_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IAB_IP_AddressAndTraffic_r16 },
  { &hf_nr_rrc_iab_IPv6_Report_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_iab_IPv6_Report_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_iab_IP_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_iab_IP_Report_r16, T_iab_IP_Report_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_ip_InfoType_r16_vals[] = {
  {   0, "iab-IP-Request-r16" },
  {   1, "iab-IP-Report-r16" },
  { 0, NULL }
};

static const per_choice_t T_ip_InfoType_r16_choice[] = {
  {   0, &hf_nr_rrc_iab_IP_Request_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_iab_IP_Request_r16 },
  {   1, &hf_nr_rrc_iab_IP_Report_r16, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_iab_IP_Report_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ip_InfoType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ip_InfoType_r16, T_ip_InfoType_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_14_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_14, T_nonCriticalExtension_14_sequence);

  return offset;
}


static const per_sequence_t IABOtherInformation_r16_IEs_sequence[] = {
  { &hf_nr_rrc_ip_InfoType_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ip_InfoType_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_39, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_14 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IABOtherInformation_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IABOtherInformation_r16_IEs, IABOtherInformation_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_14_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_14, T_criticalExtensionsFuture_14_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_14_vals[] = {
  {   0, "iabOtherInformation-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_14_choice[] = {
  {   0, &hf_nr_rrc_iabOtherInformation_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_IABOtherInformation_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_14, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_14 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_14, T_criticalExtensions_14_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t IABOtherInformation_r16_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_14, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_14 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IABOtherInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB Other Information");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IABOtherInformation_r16, IABOtherInformation_r16_sequence);

  return offset;
}


static const per_sequence_t CarrierFreqListMBS_r17_sequence_of[1] = {
  { &hf_nr_rrc_CarrierFreqListMBS_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
};

static int
dissect_nr_rrc_CarrierFreqListMBS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CarrierFreqListMBS_r17, CarrierFreqListMBS_r17_sequence_of,
                                                  1, maxFreqMBS_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_mbs_Priority_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mbs_Priority_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MBS_ServiceInfo_r17_sequence[] = {
  { &hf_nr_rrc_tmgi_r17     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TMGI_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBS_ServiceInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBS_ServiceInfo_r17, MBS_ServiceInfo_r17_sequence);

  return offset;
}


static const per_sequence_t MBS_ServiceList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MBS_ServiceList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_ServiceInfo_r17 },
};

static int
dissect_nr_rrc_MBS_ServiceList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MBS_ServiceList_r17, MBS_ServiceList_r17_sequence_of,
                                                  1, maxNrofMBS_ServiceListPerUE_r17, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_18_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_18, T_nonCriticalExtension_18_sequence);

  return offset;
}


static const per_sequence_t MBSInterestIndication_r17_IEs_sequence[] = {
  { &hf_nr_rrc_mbs_FreqList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CarrierFreqListMBS_r17 },
  { &hf_nr_rrc_mbs_Priority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mbs_Priority_r17 },
  { &hf_nr_rrc_mbs_ServiceList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MBS_ServiceList_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_44, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_18 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBSInterestIndication_r17_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBSInterestIndication_r17_IEs, MBSInterestIndication_r17_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_18_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_18, T_criticalExtensionsFuture_18_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_18_vals[] = {
  {   0, "mbsInterestIndication-r17" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_18_choice[] = {
  {   0, &hf_nr_rrc_mbsInterestIndication_r17_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MBSInterestIndication_r17_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_18, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_18 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_18, T_criticalExtensions_18_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MBSInterestIndication_r17_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_18, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_18 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBSInterestIndication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBS Interest Indication");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBSInterestIndication_r17, MBSInterestIndication_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrOfTxTEG_ID_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrOfTxTEG_ID_1_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_nr_Slot_r17_vals[] = {
  {   0, "scs15-r17" },
  {   1, "scs30-r17" },
  {   2, "scs60-r17" },
  {   3, "scs120-r17" },
  { 0, NULL }
};

static const per_choice_t T_nr_Slot_r17_choice[] = {
  {   0, &hf_nr_rrc_scs15_r17    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_scs30_r17    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_scs60_r17    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   3, &hf_nr_rrc_scs120_r17   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_Slot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nr_Slot_r17, T_nr_Slot_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t NR_TimeStamp_r17_sequence[] = {
  { &hf_nr_rrc_nr_SFN_r17   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_nr_Slot_r17  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nr_Slot_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NR_TimeStamp_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NR_TimeStamp_r17, NR_TimeStamp_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_SRS_PosResourceId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSRS_PosResources_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16_sequence_of[1] = {
  { &hf_nr_rrc_srs_PosResourceToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceId_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16, SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16_sequence_of,
                                                  1, maxNrofSRS_PosResources_r16, FALSE);

  return offset;
}


static const per_sequence_t UE_TxTEG_Association_r17_sequence[] = {
  { &hf_nr_rrc_ue_TxTEG_ID_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrOfTxTEG_ID_1_r17 },
  { &hf_nr_rrc_nr_TimeStamp_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_TimeStamp_r17 },
  { &hf_nr_rrc_associatedSRS_PosResourceIdList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 },
  { &hf_nr_rrc_servCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_TxTEG_Association_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_TxTEG_Association_r17, UE_TxTEG_Association_r17_sequence);

  return offset;
}


static const per_sequence_t UE_TxTEG_AssociationList_r17_sequence_of[1] = {
  { &hf_nr_rrc_UE_TxTEG_AssociationList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_TxTEG_Association_r17 },
};

static int
dissect_nr_rrc_UE_TxTEG_AssociationList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UE_TxTEG_AssociationList_r17, UE_TxTEG_AssociationList_r17_sequence_of,
                                                  1, maxNrOfTxTEGReport_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ue_TxTEG_TimingErrorMarginValue_r17_vals[] = {
  {   0, "tc0" },
  {   1, "tc2" },
  {   2, "tc4" },
  {   3, "tc6" },
  {   4, "tc8" },
  {   5, "tc12" },
  {   6, "tc16" },
  {   7, "tc20" },
  {   8, "tc24" },
  {   9, "tc32" },
  {  10, "tc40" },
  {  11, "tc48" },
  {  12, "tc56" },
  {  13, "tc64" },
  {  14, "tc72" },
  {  15, "tc80" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_TxTEG_TimingErrorMarginValue_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_47_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_47, T_nonCriticalExtension_47_sequence);

  return offset;
}


static const per_sequence_t UEPositioningAssistanceInfo_v1720_IEs_sequence[] = {
  { &hf_nr_rrc_ue_TxTEG_TimingErrorMarginValue_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_TxTEG_TimingErrorMarginValue_r17 },
  { &hf_nr_rrc_nonCriticalExtension_117, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_47 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEPositioningAssistanceInfo_v1720_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEPositioningAssistanceInfo_v1720_IEs, UEPositioningAssistanceInfo_v1720_IEs_sequence);

  return offset;
}


static const per_sequence_t UEPositioningAssistanceInfo_r17_IEs_sequence[] = {
  { &hf_nr_rrc_ue_TxTEG_AssociationList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_TxTEG_AssociationList_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_116, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UEPositioningAssistanceInfo_v1720_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEPositioningAssistanceInfo_r17_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEPositioningAssistanceInfo_r17_IEs, UEPositioningAssistanceInfo_r17_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_46_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_46, T_criticalExtensionsFuture_46_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_46_vals[] = {
  {   0, "uePositioningAssistanceInfo-r17" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_46_choice[] = {
  {   0, &hf_nr_rrc_uePositioningAssistanceInfo_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEPositioningAssistanceInfo_r17_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_46, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_46 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_46, T_criticalExtensions_46_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UEPositioningAssistanceInfo_r17_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_46, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_46 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEPositioningAssistanceInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Positioning Assistance Info");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEPositioningAssistanceInfo_r17, UEPositioningAssistanceInfo_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_appLayerSessionStatus_r17_vals[] = {
  {   0, "start" },
  {   1, "stop" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_appLayerSessionStatus_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_AppLayerBufferLevel_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 30000U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17_sequence_of[1] = {
  { &hf_nr_rrc_appLayerBufferLevelList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AppLayerBufferLevel_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17, SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_30000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 30000U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID_sequence_of[1] = {
  { &hf_nr_rrc_pdu_SessionIdList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDU_SessionID },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID, SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID_sequence_of,
                                                  1, maxNrofPDU_Sessions_r17, FALSE);

  return offset;
}


static const per_sequence_t RAN_VisibleMeasurements_r17_sequence[] = {
  { &hf_nr_rrc_appLayerBufferLevelList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17 },
  { &hf_nr_rrc_playoutDelayForMediaStartup_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_30000 },
  { &hf_nr_rrc_pdu_SessionIdList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RAN_VisibleMeasurements_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RAN_VisibleMeasurements_r17, RAN_VisibleMeasurements_r17_sequence);

  return offset;
}


static const per_sequence_t MeasReportAppLayer_r17_sequence[] = {
  { &hf_nr_rrc_measConfigAppLayerId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfigAppLayerId_r17 },
  { &hf_nr_rrc_measReportAppLayerContainer_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_appLayerSessionStatus_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_appLayerSessionStatus_r17 },
  { &hf_nr_rrc_ran_VisibleMeasurements_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RAN_VisibleMeasurements_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasReportAppLayer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasReportAppLayer_r17, MeasReportAppLayer_r17_sequence);

  return offset;
}


static const per_sequence_t MeasurementReportAppLayerList_r17_sequence_of[1] = {
  { &hf_nr_rrc_MeasurementReportAppLayerList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportAppLayer_r17 },
};

static int
dissect_nr_rrc_MeasurementReportAppLayerList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MeasurementReportAppLayerList_r17, MeasurementReportAppLayerList_r17_sequence_of,
                                                  1, maxNrofAppLayerMeas_r17, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_21_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_21, T_nonCriticalExtension_21_sequence);

  return offset;
}


static const per_sequence_t MeasurementReportAppLayer_r17_IEs_sequence[] = {
  { &hf_nr_rrc_measurementReportAppLayerList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasurementReportAppLayerList_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_47, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_21 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementReportAppLayer_r17_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementReportAppLayer_r17_IEs, MeasurementReportAppLayer_r17_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_21_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_21, T_criticalExtensionsFuture_21_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_21_vals[] = {
  {   0, "measurementReportAppLayer-r17" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_21_choice[] = {
  {   0, &hf_nr_rrc_measurementReportAppLayer_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasurementReportAppLayer_r17_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_21, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_21 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_21, T_criticalExtensions_21_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasurementReportAppLayer_r17_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_21, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_21 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementReportAppLayer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report App Layer");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementReportAppLayer_r17, MeasurementReportAppLayer_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_c2_vals[] = {
  {   0, "ulDedicatedMessageSegment-r16" },
  {   1, "dedicatedSIBRequest-r16" },
  {   2, "mcgFailureInformation-r16" },
  {   3, "ueInformationResponse-r16" },
  {   4, "sidelinkUEInformationNR-r16" },
  {   5, "ulInformationTransferIRAT-r16" },
  {   6, "iabOtherInformation-r16" },
  {   7, "mbsInterestIndication-r17" },
  {   8, "uePositioningAssistanceInfo-r17" },
  {   9, "measurementReportAppLayer-r17" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c2_choice[] = {
  {   0, &hf_nr_rrc_ulDedicatedMessageSegment_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ULDedicatedMessageSegment_r16 },
  {   1, &hf_nr_rrc_dedicatedSIBRequest_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DedicatedSIBRequest_r16 },
  {   2, &hf_nr_rrc_mcgFailureInformation_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MCGFailureInformation_r16 },
  {   3, &hf_nr_rrc_ueInformationResponse_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEInformationResponse_r16 },
  {   4, &hf_nr_rrc_sidelinkUEInformationNR_r16_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SidelinkUEInformationNR_r16 },
  {   5, &hf_nr_rrc_ulInformationTransferIRAT_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ULInformationTransferIRAT_r16 },
  {   6, &hf_nr_rrc_iabOtherInformation_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_IABOtherInformation_r16 },
  {   7, &hf_nr_rrc_mbsInterestIndication_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MBSInterestIndication_r17 },
  {   8, &hf_nr_rrc_uePositioningAssistanceInfo_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEPositioningAssistanceInfo_r17 },
  {   9, &hf_nr_rrc_measurementReportAppLayer_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasurementReportAppLayer_r17 },
  {  10, &hf_nr_rrc_spare6       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {  11, &hf_nr_rrc_spare5       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {  12, &hf_nr_rrc_spare4       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {  13, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {  14, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {  15, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c2, T_c2_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtensionFuture_r16_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtensionFuture_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtensionFuture_r16, T_messageClassExtensionFuture_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_messageClassExtension_08_vals[] = {
  {   0, "c2" },
  {   1, "messageClassExtensionFuture-r16" },
  { 0, NULL }
};

static const per_choice_t T_messageClassExtension_08_choice[] = {
  {   0, &hf_nr_rrc_c2           , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c2 },
  {   1, &hf_nr_rrc_messageClassExtensionFuture_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtensionFuture_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_messageClassExtension_08, T_messageClassExtension_08_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t UL_DCCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_14        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_14 },
  {   1, &hf_nr_rrc_messageClassExtension_08, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_08 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_UL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_UL_DCCH_MessageType, UL_DCCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UL_DCCH_Message_sequence[] = {
  { &hf_nr_rrc_message_08   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_DCCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  actx->pinfo->link_dir = P2P_DIR_UL;

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_DCCH_Message, UL_DCCH_Message_sequence);

  return offset;
}


static const value_string nr_rrc_T_configuredGrantType1Allowed_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredGrantType1Allowed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_ConfiguredGrantConfigIndexMAC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofConfiguredGrantConfigMAC_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16_sequence_of[1] = {
  { &hf_nr_rrc_allowedCG_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfigIndexMAC_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16, SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16_sequence_of,
                                                  0, maxNrofConfiguredGrantConfigMAC_1_r16, FALSE);

  return offset;
}


static const per_sequence_t CG_SDT_ConfigLCH_Restriction_r17_sequence[] = {
  { &hf_nr_rrc_logicalChannelIdentity_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
  { &hf_nr_rrc_configuredGrantType1Allowed_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredGrantType1Allowed_r17 },
  { &hf_nr_rrc_allowedCG_List_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_SDT_ConfigLCH_Restriction_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_SDT_ConfigLCH_Restriction_r17, CG_SDT_ConfigLCH_Restriction_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17_sequence_of[1] = {
  { &hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CG_SDT_ConfigLCH_Restriction_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17, SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17_sequence_of,
                                                  1, maxLC_ID, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity_sequence_of[1] = {
  { &hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity, SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity_sequence_of,
                                                  1, maxLC_ID, FALSE);

  return offset;
}


static const value_string nr_rrc_T_txConfig_vals[] = {
  {   0, "codebook" },
  {   1, "nonCodebook" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_txConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_Type_01_vals[] = {
  {   0, "type2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_Type_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_AdditionalPosition_01_vals[] = {
  {   0, "pos0" },
  {   1, "pos1" },
  {   2, "pos3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_AdditionalPosition_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_frequencyDensity_01_sequence_of[1] = {
  { &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
};

static int
dissect_nr_rrc_T_frequencyDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_frequencyDensity_01, T_frequencyDensity_01_sequence_of,
                                                  2, 2, FALSE);

  return offset;
}


static const per_sequence_t T_timeDensity_01_sequence_of[1] = {
  { &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
};

static int
dissect_nr_rrc_T_timeDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_timeDensity_01, T_timeDensity_01_sequence_of,
                                                  3, 3, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxNrofPorts_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceElementOffset_01_vals[] = {
  {   0, "offset01" },
  {   1, "offset10" },
  {   2, "offset11" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceElementOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ptrs_Power_vals[] = {
  {   0, "p00" },
  {   1, "p01" },
  {   2, "p10" },
  {   3, "p11" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ptrs_Power(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_transformPrecoderDisabled_sequence[] = {
  { &hf_nr_rrc_frequencyDensity_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyDensity_01 },
  { &hf_nr_rrc_timeDensity_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeDensity_01 },
  { &hf_nr_rrc_maxNrofPorts , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNrofPorts },
  { &hf_nr_rrc_resourceElementOffset_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceElementOffset_01 },
  { &hf_nr_rrc_ptrs_Power   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ptrs_Power },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_transformPrecoderDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_transformPrecoderDisabled, T_transformPrecoderDisabled_sequence);

  return offset;
}


static const per_sequence_t T_sampleDensity_sequence_of[1] = {
  { &hf_nr_rrc_sampleDensity_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
};

static int
dissect_nr_rrc_T_sampleDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_sampleDensity, T_sampleDensity_sequence_of,
                                                  5, 5, FALSE);

  return offset;
}


static const value_string nr_rrc_T_timeDensityTransformPrecoding_vals[] = {
  {   0, "d2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeDensityTransformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_transformPrecoderEnabled_sequence[] = {
  { &hf_nr_rrc_sampleDensity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sampleDensity },
  { &hf_nr_rrc_timeDensityTransformPrecoding, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeDensityTransformPrecoding },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_transformPrecoderEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_transformPrecoderEnabled, T_transformPrecoderEnabled_sequence);

  return offset;
}


static const per_sequence_t PTRS_UplinkConfig_sequence[] = {
  { &hf_nr_rrc_transformPrecoderDisabled, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_transformPrecoderDisabled },
  { &hf_nr_rrc_transformPrecoderEnabled, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_transformPrecoderEnabled },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PTRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PTRS_UplinkConfig, PTRS_UplinkConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_phaseTrackingRS_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_phaseTrackingRS_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_57     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PTRS_UplinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_phaseTrackingRS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_phaseTrackingRS_01, T_phaseTrackingRS_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_maxLength_01_vals[] = {
  {   0, "len2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_Uplink_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_Uplink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eag_1_04_sequence[] = {
  { &hf_nr_rrc_dmrs_Uplink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_Uplink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_04_sequence);

  return offset;
}


static const per_sequence_t T_transformPrecodingDisabled_sequence[] = {
  { &hf_nr_rrc_scramblingID0, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &hf_nr_rrc_scramblingID1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_04 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_transformPrecodingDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_transformPrecodingDisabled, T_transformPrecodingDisabled_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_1007(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1007U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sequenceGroupHopping_vals[] = {
  {   0, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sequenceGroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sequenceHopping_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DMRS_UplinkTransformPrecoding_r16_sequence[] = {
  { &hf_nr_rrc_pi2BPSK_ScramblingID0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &hf_nr_rrc_pi2BPSK_ScramblingID1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DMRS_UplinkTransformPrecoding_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DMRS_UplinkTransformPrecoding_r16, DMRS_UplinkTransformPrecoding_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_dmrs_UplinkTransformPrecoding_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_UplinkTransformPrecoding_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_58     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_UplinkTransformPrecoding_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16, T_dmrs_UplinkTransformPrecoding_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_eag_1_05_sequence[] = {
  { &hf_nr_rrc_dmrs_UplinkTransformPrecoding_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_05_sequence);

  return offset;
}


static const per_sequence_t T_transformPrecodingEnabled_sequence[] = {
  { &hf_nr_rrc_nPUSCH_Identity, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1007 },
  { &hf_nr_rrc_sequenceGroupHopping, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sequenceGroupHopping },
  { &hf_nr_rrc_sequenceHopping, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sequenceHopping },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_05 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_transformPrecodingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_transformPrecodingEnabled, T_transformPrecodingEnabled_sequence);

  return offset;
}


static const per_sequence_t DMRS_UplinkConfig_sequence[] = {
  { &hf_nr_rrc_dmrs_Type_01 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_Type_01 },
  { &hf_nr_rrc_dmrs_AdditionalPosition_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_AdditionalPosition_01 },
  { &hf_nr_rrc_phaseTrackingRS_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_phaseTrackingRS_01 },
  { &hf_nr_rrc_maxLength_01 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxLength_01 },
  { &hf_nr_rrc_transformPrecodingDisabled, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_transformPrecodingDisabled },
  { &hf_nr_rrc_transformPrecodingEnabled, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_transformPrecodingEnabled },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DMRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DMRS_UplinkConfig, DMRS_UplinkConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_126    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_UplinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, T_dmrs_UplinkForPUSCH_MappingTypeA_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_126    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_UplinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB, T_dmrs_UplinkForPUSCH_MappingTypeB_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_tpc_Accumulation_vals[] = {
  {   0, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tpc_Accumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_Alpha_vals[] = {
  {   0, "alpha0" },
  {   1, "alpha04" },
  {   2, "alpha05" },
  {   3, "alpha06" },
  {   4, "alpha07" },
  {   5, "alpha08" },
  {   6, "alpha09" },
  {   7, "alpha1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_Alpha(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_P0_PUSCH_AlphaSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofP0_PUSCH_AlphaSets_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t P0_PUSCH_AlphaSet_sequence[] = {
  { &hf_nr_rrc_p0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
  { &hf_nr_rrc_p0           , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_alpha        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Alpha },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_P0_PUSCH_AlphaSet, P0_PUSCH_AlphaSet_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of[1] = {
  { &hf_nr_rrc_p0_AlphaSets_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet, SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of,
                                                  1, maxNrofP0_PUSCH_AlphaSets, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_02_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_02_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_02, T_referenceSignal_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUSCH_PathlossReferenceRS_sequence[] = {
  { &hf_nr_rrc_pusch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
  { &hf_nr_rrc_referenceSignal_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_PathlossReferenceRS, PUSCH_PathlossReferenceRS_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of[1] = {
  { &hf_nr_rrc_pathlossReferenceRSToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of,
                                                  1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of[1] = {
  { &hf_nr_rrc_pathlossReferenceRSToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of,
                                                  1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);

  return offset;
}


static const value_string nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals[] = {
  {   0, "twoStates" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_deltaMCS_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_deltaMCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSRI_PUSCH_Mappings_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals[] = {
  {   0, "i0" },
  {   1, "i1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRI_PUSCH_PowerControl_sequence[] = {
  { &hf_nr_rrc_sri_PUSCH_PowerControlId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
  { &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
  { &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
  { &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRI_PUSCH_PowerControl, SRI_PUSCH_PowerControl_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of[1] = {
  { &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControl },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of,
                                                  1, maxNrofSRI_PUSCH_Mappings, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of[1] = {
  { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of,
                                                  1, maxNrofSRI_PUSCH_Mappings, FALSE);

  return offset;
}


static const per_sequence_t PUSCH_PowerControl_sequence[] = {
  { &hf_nr_rrc_tpc_Accumulation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tpc_Accumulation },
  { &hf_nr_rrc_msg3_Alpha   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Alpha },
  { &hf_nr_rrc_p0_NominalWithoutGrant, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { &hf_nr_rrc_p0_AlphaSets , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet },
  { &hf_nr_rrc_pathlossReferenceRSToAddModList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS },
  { &hf_nr_rrc_pathlossReferenceRSToReleaseList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id },
  { &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates },
  { &hf_nr_rrc_deltaMCS     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_deltaMCS },
  { &hf_nr_rrc_sri_PUSCH_MappingToAddModList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl },
  { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_PowerControl, PUSCH_PowerControl_sequence);

  return offset;
}


static const value_string nr_rrc_T_frequencyHopping_01_vals[] = {
  {   0, "intraSlot" },
  {   1, "interSlot" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_frequencyHopping_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_frequencyHoppingOffsetLists_sequence_of[1] = {
  { &hf_nr_rrc_frequencyHoppingOffsetLists_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
};

static int
dissect_nr_rrc_T_frequencyHoppingOffsetLists(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_frequencyHoppingOffsetLists, T_frequencyHoppingOffsetLists_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_T_resourceAllocation_02_vals[] = {
  {   0, "resourceAllocationType0" },
  {   1, "resourceAllocationType1" },
  {   2, "dynamicSwitch" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceAllocation_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_TimeDomainAllocationList_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_TimeDomainAllocationList_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_127    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_TimeDomainAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_TimeDomainAllocationList, T_pusch_TimeDomainAllocationList_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_AggregationFactor_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_Table_02_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_Table_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_TableTransformPrecoder_01_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_TableTransformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_transformPrecoder_01_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_transformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_codebookSubset_vals[] = {
  {   0, "fullyAndPartialAndNonCoherent" },
  {   1, "partialAndNonCoherent" },
  {   2, "nonCoherent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_codebookSubset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rbg_Size_02_vals[] = {
  {   0, "config2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rbg_Size_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BetaOffsets_sequence[] = {
  { &hf_nr_rrc_betaOffsetACK_Index1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_betaOffsetACK_Index2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_betaOffsetACK_Index3, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_betaOffsetCSI_Part1_Index1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_betaOffsetCSI_Part1_Index2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_betaOffsetCSI_Part2_Index1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_betaOffsetCSI_Part2_Index2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BetaOffsets, BetaOffsets_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of[1] = {
  { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets, SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of,
                                                  4, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_T_betaOffsets_vals[] = {
  {   0, "dynamic" },
  {   1, "semiStatic" },
  { 0, NULL }
};

static const per_choice_t T_betaOffsets_choice[] = {
  {   0, &hf_nr_rrc_dynamic_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets },
  {   1, &hf_nr_rrc_semiStatic   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsets },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_betaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_betaOffsets, T_betaOffsets_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scaling_vals[] = {
  {   0, "f0p5" },
  {   1, "f0p65" },
  {   2, "f0p8" },
  {   3, "f1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scaling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UCI_OnPUSCH_sequence[] = {
  { &hf_nr_rrc_betaOffsets  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_betaOffsets },
  { &hf_nr_rrc_scaling      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scaling },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UCI_OnPUSCH, UCI_OnPUSCH_sequence);

  return offset;
}


static const value_string nr_rrc_T_uci_OnPUSCH_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_uci_OnPUSCH_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_128    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UCI_OnPUSCH },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uci_OnPUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uci_OnPUSCH_01, T_uci_OnPUSCH_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_tp_pi2BPSK_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tp_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxK2_SchedulingOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxK2_SchedulingOffset_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t MinSchedulingOffsetK2_Values_r16_sequence_of[1] = {
  { &hf_nr_rrc_MinSchedulingOffsetK2_Values_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxK2_SchedulingOffset_r16 },
};

static int
dissect_nr_rrc_MinSchedulingOffsetK2_Values_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MinSchedulingOffsetK2_Values_r16, MinSchedulingOffsetK2_Values_r16_sequence_of,
                                                  1, maxNrOfMinSchedulingOffsetValues_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_minimumSchedulingOffsetK2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_minimumSchedulingOffsetK2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_129    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MinSchedulingOffsetK2_Values_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_minimumSchedulingOffsetK2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_minimumSchedulingOffsetK2_r16, T_minimumSchedulingOffsetK2_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UL_AccessConfigListDCI_0_1_r16_sequence_of[1] = {
  { &hf_nr_rrc_UL_AccessConfigListDCI_0_1_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
};

static int
dissect_nr_rrc_UL_AccessConfigListDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UL_AccessConfigListDCI_0_1_r16, UL_AccessConfigListDCI_0_1_r16_sequence_of,
                                                  1, 64, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ul_AccessConfigListDCI_0_1_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_AccessConfigListDCI_0_1_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_130    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_AccessConfigListDCI_0_1_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_AccessConfigListDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_AccessConfigListDCI_0_1_r16, T_ul_AccessConfigListDCI_0_1_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_SequenceInitializationDCI_0_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_SequenceInitializationDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_antennaPortsFieldPresenceDCI_0_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_antennaPortsFieldPresenceDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_126    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_UplinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16, T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_126    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_UplinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16, T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepTypeA_vals[] = {
  {   0, "intraSlot" },
  {   1, "interSlot" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepTypeB_vals[] = {
  {   0, "interRepetition" },
  {   1, "interSlot" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_frequencyHoppingDCI_0_2_r16_vals[] = {
  {   0, "pusch-RepTypeA" },
  {   1, "pusch-RepTypeB" },
  { 0, NULL }
};

static const per_choice_t T_frequencyHoppingDCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_pusch_RepTypeA, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_pusch_RepTypeA },
  {   1, &hf_nr_rrc_pusch_RepTypeB, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_pusch_RepTypeB },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_frequencyHoppingDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_frequencyHoppingDCI_0_2_r16, T_frequencyHoppingDCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t FrequencyHoppingOffsetListsDCI_0_2_r16_sequence_of[1] = {
  { &hf_nr_rrc_FrequencyHoppingOffsetListsDCI_0_2_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
};

static int
dissect_nr_rrc_FrequencyHoppingOffsetListsDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FrequencyHoppingOffsetListsDCI_0_2_r16, FrequencyHoppingOffsetListsDCI_0_2_r16_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_T_frequencyHoppingOffsetListsDCI_0_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_frequencyHoppingOffsetListsDCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_131    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FrequencyHoppingOffsetListsDCI_0_2_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_frequencyHoppingOffsetListsDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_frequencyHoppingOffsetListsDCI_0_2_r16, T_frequencyHoppingOffsetListsDCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_codebookSubsetDCI_0_2_r16_vals[] = {
  {   0, "fullyAndPartialAndNonCoherent" },
  {   1, "partialAndNonCoherent" },
  {   2, "nonCoherent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_codebookSubsetDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_invalidSymbolPatternIndicatorDCI_0_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_invalidSymbolPatternIndicatorDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_TableDCI_0_2_r16_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_TableDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_TableTransformPrecoderDCI_0_2_r16_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_TableTransformPrecoderDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_priorityIndicatorDCI_0_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_priorityIndicatorDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepTypeIndicatorDCI_0_2_r16_vals[] = {
  {   0, "pusch-RepTypeA" },
  {   1, "pusch-RepTypeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepTypeIndicatorDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceAllocationDCI_0_2_r16_vals[] = {
  {   0, "resourceAllocationType0" },
  {   1, "resourceAllocationType1" },
  {   2, "dynamicSwitch" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceAllocationDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceAllocationType1GranularityDCI_0_2_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceAllocationType1GranularityDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_OF_BetaOffsets_sequence_of[1] = {
  { &hf_nr_rrc_oneBit_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsets, SEQUENCE_SIZE_2_OF_BetaOffsets_sequence_of,
                                                  2, 2, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dynamicDCI_0_2_r16_vals[] = {
  {   0, "oneBit-r16" },
  {   1, "twoBits-r16" },
  { 0, NULL }
};

static const per_choice_t T_dynamicDCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_oneBit_r16   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsets },
  {   1, &hf_nr_rrc_twoBits_r16  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dynamicDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dynamicDCI_0_2_r16, T_dynamicDCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_betaOffsetsDCI_0_2_r16_vals[] = {
  {   0, "dynamicDCI-0-2-r16" },
  {   1, "semiStaticDCI-0-2-r16" },
  { 0, NULL }
};

static const per_choice_t T_betaOffsetsDCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_dynamicDCI_0_2_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_dynamicDCI_0_2_r16 },
  {   1, &hf_nr_rrc_semiStaticDCI_0_2_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsets },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_betaOffsetsDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_betaOffsetsDCI_0_2_r16, T_betaOffsetsDCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scalingDCI_0_2_r16_vals[] = {
  {   0, "f0p5" },
  {   1, "f0p65" },
  {   2, "f0p8" },
  {   3, "f1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scalingDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UCI_OnPUSCH_DCI_0_2_r16_sequence[] = {
  { &hf_nr_rrc_betaOffsetsDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_betaOffsetsDCI_0_2_r16 },
  { &hf_nr_rrc_scalingDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scalingDCI_0_2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UCI_OnPUSCH_DCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UCI_OnPUSCH_DCI_0_2_r16, UCI_OnPUSCH_DCI_0_2_r16_sequence);

  return offset;
}


static const per_sequence_t UCI_OnPUSCH_ListDCI_0_2_r16_sequence_of[1] = {
  { &hf_nr_rrc_UCI_OnPUSCH_ListDCI_0_2_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UCI_OnPUSCH_DCI_0_2_r16 },
};

static int
dissect_nr_rrc_UCI_OnPUSCH_ListDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UCI_OnPUSCH_ListDCI_0_2_r16, UCI_OnPUSCH_ListDCI_0_2_r16_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uci_OnPUSCH_ListDCI_0_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_uci_OnPUSCH_ListDCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_132    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UCI_OnPUSCH_ListDCI_0_2_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uci_OnPUSCH_ListDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uci_OnPUSCH_ListDCI_0_2_r16, T_uci_OnPUSCH_ListDCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mappingType_r16_01_vals[] = {
  {   0, "typeA" },
  {   1, "typeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mappingType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_numberOfRepetitions_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n7" },
  {   5, "n8" },
  {   6, "n12" },
  {   7, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_numberOfRepetitions_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_numberOfRepetitionsExt_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n7" },
  {   5, "n8" },
  {   6, "n12" },
  {   7, "n16" },
  {   8, "n20" },
  {   9, "n24" },
  {  10, "n28" },
  {  11, "n32" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_numberOfRepetitionsExt_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_numberOfSlotsTBoMS_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_numberOfSlotsTBoMS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 128U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PUSCH_Allocation_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_numberOfRepetitionsExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_numberOfRepetitionsExt_r17 },
  { &hf_nr_rrc_numberOfSlotsTBoMS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_numberOfSlotsTBoMS_r17 },
  { &hf_nr_rrc_extendedK2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_128 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_Allocation_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_Allocation_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t PUSCH_Allocation_r16_sequence[] = {
  { &hf_nr_rrc_mappingType_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mappingType_r16_01 },
  { &hf_nr_rrc_startSymbolAndLength_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_127 },
  { &hf_nr_rrc_startSymbol_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_13 },
  { &hf_nr_rrc_length_r16   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_14 },
  { &hf_nr_rrc_numberOfRepetitions_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_numberOfRepetitions_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_Allocation_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_Allocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_Allocation_r16, PUSCH_Allocation_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16_sequence_of[1] = {
  { &hf_nr_rrc_puschAllocationList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_Allocation_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16, SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16_sequence_of,
                                                  1, maxNrofMultiplePUSCHs_r16, FALSE);

  return offset;
}


static const per_sequence_t PUSCH_TimeDomainResourceAllocation_r16_sequence[] = {
  { &hf_nr_rrc_k2_r16       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_32 },
  { &hf_nr_rrc_puschAllocationList_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16, PUSCH_TimeDomainResourceAllocation_r16_sequence);

  return offset;
}


static const per_sequence_t PUSCH_TimeDomainResourceAllocationList_r16_sequence_of[1] = {
  { &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16 },
};

static int
dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16, PUSCH_TimeDomainResourceAllocationList_r16_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_TimeDomainAllocationListDCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_133    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_2_r16, T_pusch_TimeDomainAllocationListDCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_1_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_TimeDomainAllocationListDCI_0_1_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_133    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_1_r16, T_pusch_TimeDomainAllocationListDCI_0_1_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_invalidSymbolPatternIndicatorDCI_0_1_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_invalidSymbolPatternIndicatorDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_priorityIndicatorDCI_0_1_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_priorityIndicatorDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepTypeIndicatorDCI_0_1_r16_vals[] = {
  {   0, "pusch-RepTypeA" },
  {   1, "pusch-RepTypeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepTypeIndicatorDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_frequencyHoppingDCI_0_1_r16_vals[] = {
  {   0, "interRepetition" },
  {   1, "interSlot" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_frequencyHoppingDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UCI_OnPUSCH_ListDCI_0_1_r16_sequence_of[1] = {
  { &hf_nr_rrc_UCI_OnPUSCH_ListDCI_0_1_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UCI_OnPUSCH },
};

static int
dissect_nr_rrc_UCI_OnPUSCH_ListDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UCI_OnPUSCH_ListDCI_0_1_r16, UCI_OnPUSCH_ListDCI_0_1_r16_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uci_OnPUSCH_ListDCI_0_1_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_uci_OnPUSCH_ListDCI_0_1_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_134    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UCI_OnPUSCH_ListDCI_0_1_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uci_OnPUSCH_ListDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uci_OnPUSCH_ListDCI_0_1_r16, T_uci_OnPUSCH_ListDCI_0_1_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_symbols_r16_vals[] = {
  {   0, "oneSlot" },
  {   1, "twoSlots" },
  { 0, NULL }
};

static const per_choice_t T_symbols_r16_choice[] = {
  {   0, &hf_nr_rrc_oneSlot      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_14 },
  {   1, &hf_nr_rrc_twoSlots     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_28 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_symbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_symbols_r16, T_symbols_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicityAndPattern_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n5" },
  {   3, "n8" },
  {   4, "n10" },
  {   5, "n20" },
  {   6, "n40" },
  { 0, NULL }
};

static const per_choice_t T_periodicityAndPattern_r16_choice[] = {
  {   0, &hf_nr_rrc_n2           , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  {   1, &hf_nr_rrc_n4_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   2, &hf_nr_rrc_n5_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_5 },
  {   3, &hf_nr_rrc_n8_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   4, &hf_nr_rrc_n10_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  {   5, &hf_nr_rrc_n20_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_20 },
  {   6, &hf_nr_rrc_n40_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_40 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_periodicityAndPattern_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_periodicityAndPattern_r16, T_periodicityAndPattern_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t InvalidSymbolPattern_r16_sequence[] = {
  { &hf_nr_rrc_symbols_r16  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbols_r16 },
  { &hf_nr_rrc_periodicityAndPattern_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_periodicityAndPattern_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InvalidSymbolPattern_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InvalidSymbolPattern_r16, InvalidSymbolPattern_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            maxNrofPUSCH_PathlossReferenceRSs, maxNrofPUSCH_PathlossReferenceRSs_1_r16, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_r16_01_vals[] = {
  {   0, "ssb-Index-r16" },
  {   1, "csi-RS-Index-r16" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_r16_01_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_r16_01, T_referenceSignal_r16_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUSCH_PathlossReferenceRS_r16_sequence[] = {
  { &hf_nr_rrc_pusch_PathlossReferenceRS_Id_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id_v1610 },
  { &hf_nr_rrc_referenceSignal_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_PathlossReferenceRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_PathlossReferenceRS_r16, PUSCH_PathlossReferenceRS_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16_sequence_of[1] = {
  { &hf_nr_rrc_pathlossReferenceRSToAddModListSizeExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16_sequence_of,
                                                  1, maxNrofPUSCH_PathlossReferenceRSsDiff_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610_sequence_of[1] = {
  { &hf_nr_rrc_pathlossReferenceRSToReleaseListSizeExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id_v1610 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610_sequence_of,
                                                  1, maxNrofPUSCH_PathlossReferenceRSsDiff_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_P0_PUSCH_SetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSRI_PUSCH_Mappings_1, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_P0_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -16, 15U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16_sequence_of[1] = {
  { &hf_nr_rrc_p0_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16, SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16_sequence_of,
                                                  1, maxNrofP0_PUSCH_Set_r16, FALSE);

  return offset;
}


static const per_sequence_t P0_PUSCH_Set_r16_sequence[] = {
  { &hf_nr_rrc_p0_PUSCH_SetId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_SetId_r16 },
  { &hf_nr_rrc_p0_List_r16  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_P0_PUSCH_Set_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_P0_PUSCH_Set_r16, P0_PUSCH_Set_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16_sequence_of[1] = {
  { &hf_nr_rrc_p0_PUSCH_SetList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_Set_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16_sequence_of,
                                                  1, maxNrofSRI_PUSCH_Mappings, FALSE);

  return offset;
}


static const per_sequence_t T_olpc_ParameterSet_sequence[] = {
  { &hf_nr_rrc_olpc_ParameterSetDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_olpc_ParameterSetDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_olpc_ParameterSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_olpc_ParameterSet, T_olpc_ParameterSet_sequence);

  return offset;
}



static int
dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPUSCH_PathlossReferenceRSs_1_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_AdditionalPCIIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofAdditionalPCI_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t DummyPathlossReferenceRS_v1710_sequence[] = {
  { &hf_nr_rrc_pusch_PathlossReferenceRS_Id_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id_r17 },
  { &hf_nr_rrc_additionalPCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AdditionalPCIIndex_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyPathlossReferenceRS_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyPathlossReferenceRS_v1710, DummyPathlossReferenceRS_v1710_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710_sequence_of[1] = {
  { &hf_nr_rrc_dummy_item   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyPathlossReferenceRS_v1710 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710_sequence_of,
                                                  1, maxNrofPUSCH_PathlossReferenceRSs_r16, FALSE);

  return offset;
}


static const per_sequence_t PUSCH_PowerControl_v1610_eag_1_sequence[] = {
  { &hf_nr_rrc_sri_PUSCH_MappingToAddModList2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl },
  { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId },
  { &hf_nr_rrc_p0_PUSCH_SetList2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16 },
  { &hf_nr_rrc_dummy_01     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_PowerControl_v1610_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_PowerControl_v1610_eag_1_sequence);

  return offset;
}


static const per_sequence_t PUSCH_PowerControl_v1610_sequence[] = {
  { &hf_nr_rrc_pathlossReferenceRSToAddModListSizeExt_v1610, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16 },
  { &hf_nr_rrc_pathlossReferenceRSToReleaseListSizeExt_v1610, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610 },
  { &hf_nr_rrc_p0_PUSCH_SetList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16 },
  { &hf_nr_rrc_olpc_ParameterSet, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_olpc_ParameterSet },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PowerControl_v1610_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_PowerControl_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_PowerControl_v1610, PUSCH_PowerControl_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_pusch_PowerControl_v1610_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_PowerControl_v1610_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_135    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_PowerControl_v1610 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_PowerControl_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_PowerControl_v1610, T_pusch_PowerControl_v1610_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_FullPowerTransmission_r16_vals[] = {
  {   0, "fullpower" },
  {   1, "fullpowerMode1" },
  {   2, "fullpowerMode2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_FullPowerTransmission_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_TimeDomainAllocationListForMultiPUSCH_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_133    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16, T_pusch_TimeDomainAllocationListForMultiPUSCH_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUSCH_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_minimumSchedulingOffsetK2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minimumSchedulingOffsetK2_r16 },
  { &hf_nr_rrc_ul_AccessConfigListDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_AccessConfigListDCI_0_1_r16 },
  { &hf_nr_rrc_harq_ProcessNumberSizeDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_4 },
  { &hf_nr_rrc_dmrs_SequenceInitializationDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_SequenceInitializationDCI_0_2_r16 },
  { &hf_nr_rrc_numberOfBitsForRV_DCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_2 },
  { &hf_nr_rrc_antennaPortsFieldPresenceDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_antennaPortsFieldPresenceDCI_0_2_r16 },
  { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16 },
  { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16 },
  { &hf_nr_rrc_frequencyHoppingDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyHoppingDCI_0_2_r16 },
  { &hf_nr_rrc_frequencyHoppingOffsetListsDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyHoppingOffsetListsDCI_0_2_r16 },
  { &hf_nr_rrc_codebookSubsetDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_codebookSubsetDCI_0_2_r16 },
  { &hf_nr_rrc_invalidSymbolPatternIndicatorDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_invalidSymbolPatternIndicatorDCI_0_2_r16 },
  { &hf_nr_rrc_maxRankDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_mcs_TableDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_TableDCI_0_2_r16 },
  { &hf_nr_rrc_mcs_TableTransformPrecoderDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_TableTransformPrecoderDCI_0_2_r16 },
  { &hf_nr_rrc_priorityIndicatorDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_priorityIndicatorDCI_0_2_r16 },
  { &hf_nr_rrc_pusch_RepTypeIndicatorDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepTypeIndicatorDCI_0_2_r16 },
  { &hf_nr_rrc_resourceAllocationDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceAllocationDCI_0_2_r16 },
  { &hf_nr_rrc_resourceAllocationType1GranularityDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceAllocationType1GranularityDCI_0_2_r16 },
  { &hf_nr_rrc_uci_OnPUSCH_ListDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uci_OnPUSCH_ListDCI_0_2_r16 },
  { &hf_nr_rrc_pusch_TimeDomainAllocationListDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_2_r16 },
  { &hf_nr_rrc_pusch_TimeDomainAllocationListDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_1_r16 },
  { &hf_nr_rrc_invalidSymbolPatternIndicatorDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_invalidSymbolPatternIndicatorDCI_0_1_r16 },
  { &hf_nr_rrc_priorityIndicatorDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_priorityIndicatorDCI_0_1_r16 },
  { &hf_nr_rrc_pusch_RepTypeIndicatorDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepTypeIndicatorDCI_0_1_r16 },
  { &hf_nr_rrc_frequencyHoppingDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyHoppingDCI_0_1_r16 },
  { &hf_nr_rrc_uci_OnPUSCH_ListDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uci_OnPUSCH_ListDCI_0_1_r16 },
  { &hf_nr_rrc_invalidSymbolPattern_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InvalidSymbolPattern_r16 },
  { &hf_nr_rrc_pusch_PowerControl_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_PowerControl_v1610 },
  { &hf_nr_rrc_ul_FullPowerTransmission_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FullPowerTransmission_r16 },
  { &hf_nr_rrc_pusch_TimeDomainAllocationListForMultiPUSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16 },
  { &hf_nr_rrc_numberOfInvalidSymbolsForDL_UL_Switching_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_Config_eag_1_sequence);

  return offset;
}


static const per_sequence_t UL_AccessConfigListDCI_0_2_r17_sequence_of[1] = {
  { &hf_nr_rrc_UL_AccessConfigListDCI_0_2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
};

static int
dissect_nr_rrc_UL_AccessConfigListDCI_0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UL_AccessConfigListDCI_0_2_r17, UL_AccessConfigListDCI_0_2_r17_sequence_of,
                                                  1, 64, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ul_AccessConfigListDCI_0_2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_AccessConfigListDCI_0_2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_136    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_AccessConfigListDCI_0_2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_AccessConfigListDCI_0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_AccessConfigListDCI_0_2_r17, T_ul_AccessConfigListDCI_0_2_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BetaOffsetsCrossPri_r17_sequence_of[1] = {
  { &hf_nr_rrc_BetaOffsetsCrossPri_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
};

static int
dissect_nr_rrc_BetaOffsetsCrossPri_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BetaOffsetsCrossPri_r17, BetaOffsetsCrossPri_r17_sequence_of,
                                                  3, 3, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17_sequence_of[1] = {
  { &hf_nr_rrc_dynamic_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsetsCrossPri_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17, SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17_sequence_of,
                                                  4, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_BetaOffsetsCrossPriSel_r17_vals[] = {
  {   0, "dynamic-r17" },
  {   1, "semiStatic-r17" },
  { 0, NULL }
};

static const per_choice_t BetaOffsetsCrossPriSel_r17_choice[] = {
  {   0, &hf_nr_rrc_dynamic_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17 },
  {   1, &hf_nr_rrc_semiStatic_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPri_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BetaOffsetsCrossPriSel_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BetaOffsetsCrossPriSel_r17, BetaOffsetsCrossPriSel_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_betaOffsetsCrossPri0_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_betaOffsetsCrossPri0_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_137    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPriSel_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_betaOffsetsCrossPri0_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_betaOffsetsCrossPri0_r17, T_betaOffsetsCrossPri0_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_betaOffsetsCrossPri1_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_betaOffsetsCrossPri1_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_137    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPriSel_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_betaOffsetsCrossPri1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_betaOffsetsCrossPri1_r17, T_betaOffsetsCrossPri1_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17_sequence_of[1] = {
  { &hf_nr_rrc_oneBit_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsetsCrossPri_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17, SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17_sequence_of,
                                                  2, 2, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dynamicDCI_0_2_r17_vals[] = {
  {   0, "oneBit-r17" },
  {   1, "twoBits-r17" },
  { 0, NULL }
};

static const per_choice_t T_dynamicDCI_0_2_r17_choice[] = {
  {   0, &hf_nr_rrc_oneBit_r17   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17 },
  {   1, &hf_nr_rrc_twoBits_r17  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dynamicDCI_0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dynamicDCI_0_2_r17, T_dynamicDCI_0_2_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_BetaOffsetsCrossPriSelDCI_0_2_r17_vals[] = {
  {   0, "dynamicDCI-0-2-r17" },
  {   1, "semiStaticDCI-0-2-r17" },
  { 0, NULL }
};

static const per_choice_t BetaOffsetsCrossPriSelDCI_0_2_r17_choice[] = {
  {   0, &hf_nr_rrc_dynamicDCI_0_2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_dynamicDCI_0_2_r17 },
  {   1, &hf_nr_rrc_semiStaticDCI_0_2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPri_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BetaOffsetsCrossPriSelDCI_0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BetaOffsetsCrossPriSelDCI_0_2_r17, BetaOffsetsCrossPriSelDCI_0_2_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_betaOffsetsCrossPri0DCI_0_2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_betaOffsetsCrossPri0DCI_0_2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_138    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPriSelDCI_0_2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_betaOffsetsCrossPri0DCI_0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_betaOffsetsCrossPri0DCI_0_2_r17, T_betaOffsetsCrossPri0DCI_0_2_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_betaOffsetsCrossPri1DCI_0_2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_betaOffsetsCrossPri1DCI_0_2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_138    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPriSelDCI_0_2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_betaOffsetsCrossPri1DCI_0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_betaOffsetsCrossPri1DCI_0_2_r17, T_betaOffsetsCrossPri1DCI_0_2_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mappingPattern_r17_02_vals[] = {
  {   0, "cyclicMapping" },
  {   1, "sequentialMapping" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mappingPattern_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_secondTPCFieldDCI_0_1_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_secondTPCFieldDCI_0_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_secondTPCFieldDCI_0_2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_secondTPCFieldDCI_0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UL_AccessConfigListDCI_0_1_r17_sequence_of[1] = {
  { &hf_nr_rrc_UL_AccessConfigListDCI_0_1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2 },
};

static int
dissect_nr_rrc_UL_AccessConfigListDCI_0_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UL_AccessConfigListDCI_0_1_r17, UL_AccessConfigListDCI_0_1_r17_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ul_AccessConfigListDCI_0_1_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_AccessConfigListDCI_0_1_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_139    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_AccessConfigListDCI_0_1_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_AccessConfigListDCI_0_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_AccessConfigListDCI_0_1_r17, T_ul_AccessConfigListDCI_0_1_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxK2_SchedulingOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxK2_SchedulingOffset_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t MinSchedulingOffsetK2_Values_r17_sequence_of[1] = {
  { &hf_nr_rrc_MinSchedulingOffsetK2_Values_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxK2_SchedulingOffset_r17 },
};

static int
dissect_nr_rrc_MinSchedulingOffsetK2_Values_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MinSchedulingOffsetK2_Values_r17, MinSchedulingOffsetK2_Values_r17_sequence_of,
                                                  1, maxNrOfMinSchedulingOffsetValues_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_minimumSchedulingOffsetK2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_minimumSchedulingOffsetK2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_140    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MinSchedulingOffsetK2_Values_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_minimumSchedulingOffsetK2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_minimumSchedulingOffsetK2_r17, T_minimumSchedulingOffsetK2_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_availableSlotCounting_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_availableSlotCounting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_DMRS_Bundling_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_DMRS_Bundling_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 32U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pusch_WindowRestart_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_WindowRestart_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_FrequencyHoppingInterval_r17_vals[] = {
  {   0, "s2" },
  {   1, "s4" },
  {   2, "s5" },
  {   3, "s6" },
  {   4, "s8" },
  {   5, "s10" },
  {   6, "s12" },
  {   7, "s14" },
  {   8, "s16" },
  {   9, "s20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_FrequencyHoppingInterval_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DMRS_BundlingPUSCH_Config_r17_sequence[] = {
  { &hf_nr_rrc_pusch_DMRS_Bundling_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_DMRS_Bundling_r17 },
  { &hf_nr_rrc_pusch_TimeDomainWindowLength_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_32 },
  { &hf_nr_rrc_pusch_WindowRestart_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_WindowRestart_r17 },
  { &hf_nr_rrc_pusch_FrequencyHoppingInterval_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_FrequencyHoppingInterval_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DMRS_BundlingPUSCH_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DMRS_BundlingPUSCH_Config_r17, DMRS_BundlingPUSCH_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUSCH_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_BundlingPUSCH_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_141    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_BundlingPUSCH_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_BundlingPUSCH_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_BundlingPUSCH_Config_r17, T_dmrs_BundlingPUSCH_Config_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            5U, 5U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_MPE_ResourceId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxMPE_Resources_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_mpe_ReferenceSignal_r17_vals[] = {
  {   0, "csi-RS-Resource-r17" },
  {   1, "ssb-Resource-r17" },
  { 0, NULL }
};

static const per_choice_t T_mpe_ReferenceSignal_r17_choice[] = {
  {   0, &hf_nr_rrc_csi_RS_Resource_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  {   1, &hf_nr_rrc_ssb_Resource_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_mpe_ReferenceSignal_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_mpe_ReferenceSignal_r17, T_mpe_ReferenceSignal_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MPE_Resource_r17_sequence[] = {
  { &hf_nr_rrc_mpe_ResourceId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MPE_ResourceId_r17 },
  { &hf_nr_rrc_cell_r17     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_additionalPCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AdditionalPCIIndex_r17 },
  { &hf_nr_rrc_mpe_ReferenceSignal_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mpe_ReferenceSignal_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MPE_Resource_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MPE_Resource_r17, MPE_Resource_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17_sequence_of[1] = {
  { &hf_nr_rrc_mpe_ResourcePoolToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MPE_Resource_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17, SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17_sequence_of,
                                                  1, maxMPE_Resources_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17_sequence_of[1] = {
  { &hf_nr_rrc_mpe_ResourcePoolToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MPE_ResourceId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17, SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17_sequence_of,
                                                  1, maxMPE_Resources_r17, FALSE);

  return offset;
}


static const per_sequence_t PUSCH_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_ul_AccessConfigListDCI_0_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_AccessConfigListDCI_0_2_r17 },
  { &hf_nr_rrc_betaOffsetsCrossPri0_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_betaOffsetsCrossPri0_r17 },
  { &hf_nr_rrc_betaOffsetsCrossPri1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_betaOffsetsCrossPri1_r17 },
  { &hf_nr_rrc_betaOffsetsCrossPri0DCI_0_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_betaOffsetsCrossPri0DCI_0_2_r17 },
  { &hf_nr_rrc_betaOffsetsCrossPri1DCI_0_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_betaOffsetsCrossPri1DCI_0_2_r17 },
  { &hf_nr_rrc_mappingPattern_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mappingPattern_r17_02 },
  { &hf_nr_rrc_secondTPCFieldDCI_0_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_secondTPCFieldDCI_0_1_r17 },
  { &hf_nr_rrc_secondTPCFieldDCI_0_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_secondTPCFieldDCI_0_2_r17 },
  { &hf_nr_rrc_sequenceOffsetForRV_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_ul_AccessConfigListDCI_0_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_AccessConfigListDCI_0_1_r17 },
  { &hf_nr_rrc_minimumSchedulingOffsetK2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minimumSchedulingOffsetK2_r17 },
  { &hf_nr_rrc_availableSlotCounting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_availableSlotCounting_r17 },
  { &hf_nr_rrc_dmrs_BundlingPUSCH_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUSCH_Config_r17 },
  { &hf_nr_rrc_harq_ProcessNumberSizeDCI_0_2_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_5 },
  { &hf_nr_rrc_harq_ProcessNumberSizeDCI_0_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_5 },
  { &hf_nr_rrc_mpe_ResourcePoolToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17 },
  { &hf_nr_rrc_mpe_ResourcePoolToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_Config_eag_2_sequence);

  return offset;
}


static const per_sequence_t PUSCH_Config_sequence[] = {
  { &hf_nr_rrc_dataScramblingIdentityPUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_txConfig     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_txConfig },
  { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA },
  { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB },
  { &hf_nr_rrc_pusch_PowerControl, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PUSCH_PowerControl },
  { &hf_nr_rrc_frequencyHopping_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyHopping_01 },
  { &hf_nr_rrc_frequencyHoppingOffsetLists, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyHoppingOffsetLists },
  { &hf_nr_rrc_resourceAllocation_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_02 },
  { &hf_nr_rrc_pusch_TimeDomainAllocationList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_TimeDomainAllocationList },
  { &hf_nr_rrc_pusch_AggregationFactor, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_AggregationFactor },
  { &hf_nr_rrc_mcs_Table_02 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_Table_02 },
  { &hf_nr_rrc_mcs_TableTransformPrecoder_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_TableTransformPrecoder_01 },
  { &hf_nr_rrc_transformPrecoder_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_transformPrecoder_01 },
  { &hf_nr_rrc_codebookSubset, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_codebookSubset },
  { &hf_nr_rrc_maxRank      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_rbg_Size_02  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rbg_Size_02 },
  { &hf_nr_rrc_uci_OnPUSCH_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_uci_OnPUSCH_01 },
  { &hf_nr_rrc_tp_pi2BPSK   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tp_pi2BPSK },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_Config_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_Config, PUSCH_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_pusch_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_28     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_Config_r17, T_pusch_Config_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_frequencyHopping_vals[] = {
  {   0, "intraSlot" },
  {   1, "interSlot" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_Table_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_TableTransformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of[1] = {
  { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_CG_UCI_OnPUSCH_vals[] = {
  {   0, "dynamic" },
  {   1, "semiStatic" },
  { 0, NULL }
};

static const per_choice_t CG_UCI_OnPUSCH_choice[] = {
  {   0, &hf_nr_rrc_dynamic      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets },
  {   1, &hf_nr_rrc_semiStatic   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsets },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_CG_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_CG_UCI_OnPUSCH, CG_UCI_OnPUSCH_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_uci_OnPUSCH_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_uci_OnPUSCH_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_52     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CG_UCI_OnPUSCH },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uci_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uci_OnPUSCH, T_uci_OnPUSCH_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceAllocation_vals[] = {
  {   0, "resourceAllocationType0" },
  {   1, "resourceAllocationType1" },
  {   2, "dynamicSwitch" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rbg_Size_vals[] = {
  {   0, "config2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rbg_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_powerControlLoopToUse_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerControlLoopToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_transformPrecoder_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_repK_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_repK_RV_vals[] = {
  {   0, "s1-0231" },
  {   1, "s2-0303" },
  {   2, "s3-0000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repK_RV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicity_vals[] = {
  {   0, "sym2" },
  {   1, "sym7" },
  {   2, "sym1x14" },
  {   3, "sym2x14" },
  {   4, "sym4x14" },
  {   5, "sym5x14" },
  {   6, "sym8x14" },
  {   7, "sym10x14" },
  {   8, "sym16x14" },
  {   9, "sym20x14" },
  {  10, "sym32x14" },
  {  11, "sym40x14" },
  {  12, "sym64x14" },
  {  13, "sym80x14" },
  {  14, "sym128x14" },
  {  15, "sym160x14" },
  {  16, "sym256x14" },
  {  17, "sym320x14" },
  {  18, "sym512x14" },
  {  19, "sym640x14" },
  {  20, "sym1024x14" },
  {  21, "sym1280x14" },
  {  22, "sym2560x14" },
  {  23, "sym5120x14" },
  {  24, "sym6" },
  {  25, "sym1x12" },
  {  26, "sym2x12" },
  {  27, "sym4x12" },
  {  28, "sym5x12" },
  {  29, "sym8x12" },
  {  30, "sym10x12" },
  {  31, "sym16x12" },
  {  32, "sym20x12" },
  {  33, "sym32x12" },
  {  34, "sym40x12" },
  {  35, "sym64x12" },
  {  36, "sym80x12" },
  {  37, "sym128x12" },
  {  38, "sym160x12" },
  {  39, "sym256x12" },
  {  40, "sym320x12" },
  {  41, "sym512x12" },
  {  42, "sym640x12" },
  {  43, "sym1280x12" },
  {  44, "sym2560x12" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_periodicity_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_vals);


static int
dissect_nr_rrc_T_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     45, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     18, 18, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepTypeIndicator_r16_vals[] = {
  {   0, "pusch-RepTypeA" },
  {   1, "pusch-RepTypeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepTypeIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_frequencyHoppingPUSCH_RepTypeB_r16_vals[] = {
  {   0, "interRepetition" },
  {   1, "interSlot" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_frequencyHoppingPUSCH_RepTypeB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_timeReferenceSFN_r16_vals[] = {
  {   0, "sfn512" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeReferenceSFN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eag_1_03_sequence[] = {
  { &hf_nr_rrc_pusch_RepTypeIndicator_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepTypeIndicator_r16 },
  { &hf_nr_rrc_frequencyHoppingPUSCH_RepTypeB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyHoppingPUSCH_RepTypeB_r16 },
  { &hf_nr_rrc_timeReferenceSFN_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeReferenceSFN_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_03_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_16_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            16U, 63U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_40959(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 40959U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sdt_SSB_Subset_r17_vals[] = {
  {   0, "shortBitmap-r17" },
  {   1, "mediumBitmap-r17" },
  {   2, "longBitmap-r17" },
  { 0, NULL }
};

static const per_choice_t T_sdt_SSB_Subset_r17_choice[] = {
  {   0, &hf_nr_rrc_shortBitmap_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   1, &hf_nr_rrc_mediumBitmap_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   2, &hf_nr_rrc_longBitmap_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sdt_SSB_Subset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sdt_SSB_Subset_r17, T_sdt_SSB_Subset_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sdt_SSB_PerCG_PUSCH_r17_vals[] = {
  {   0, "oneEighth" },
  {   1, "oneFourth" },
  {   2, "half" },
  {   3, "one" },
  {   4, "two" },
  {   5, "four" },
  {   6, "eight" },
  {   7, "sixteen" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdt_SSB_PerCG_PUSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sdt_Alpha_r17_vals[] = {
  {   0, "alpha0" },
  {   1, "alpha04" },
  {   2, "alpha05" },
  {   3, "alpha06" },
  {   4, "alpha07" },
  {   5, "alpha08" },
  {   6, "alpha09" },
  {   7, "alpha1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdt_Alpha_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sdt_DMRS_Ports_r17_vals[] = {
  {   0, "dmrsType1-r17" },
  {   1, "dmrsType2-r17" },
  { 0, NULL }
};

static const per_choice_t T_sdt_DMRS_Ports_r17_choice[] = {
  {   0, &hf_nr_rrc_dmrsType1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   1, &hf_nr_rrc_dmrsType2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_12 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sdt_DMRS_Ports_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sdt_DMRS_Ports_r17, T_sdt_DMRS_Ports_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CG_SDT_Configuration_r17_sequence[] = {
  { &hf_nr_rrc_cg_SDT_RetransmissionTimer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_sdt_SSB_Subset_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_SSB_Subset_r17 },
  { &hf_nr_rrc_sdt_SSB_PerCG_PUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_SSB_PerCG_PUSCH_r17 },
  { &hf_nr_rrc_sdt_P0_PUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_sdt_Alpha_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_Alpha_r17 },
  { &hf_nr_rrc_sdt_DMRS_Ports_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdt_DMRS_Ports_r17 },
  { &hf_nr_rrc_sdt_NrofDMRS_Sequences_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_SDT_Configuration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_SDT_Configuration_r17, CG_SDT_Configuration_r17_sequence);

  return offset;
}


static const per_sequence_t T_eag_2_02_sequence[] = {
  { &hf_nr_rrc_pathlossReferenceIndex2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 },
  { &hf_nr_rrc_srs_ResourceIndicator2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_precodingAndNumberOfLayers2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_timeDomainAllocation_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_16_63 },
  { &hf_nr_rrc_timeDomainOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_40959 },
  { &hf_nr_rrc_cg_SDT_Configuration_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_SDT_Configuration_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_2_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_2_02_sequence);

  return offset;
}


static const per_sequence_t T_rrc_ConfiguredUplinkGrant_sequence[] = {
  { &hf_nr_rrc_timeDomainOffset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5119 },
  { &hf_nr_rrc_timeDomainAllocation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_configuredGrantConfig_rrc_ConfiguredUplinkGrant_frequencyDomainAllocation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_18 },
  { &hf_nr_rrc_antennaPort  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_dmrs_SeqInitialization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_precodingAndNumberOfLayers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_srs_ResourceIndicator, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_mcsAndTBS    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_frequencyHoppingOffset, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_pathlossReferenceIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_03 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_2_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rrc_ConfiguredUplinkGrant, T_rrc_ConfiguredUplinkGrant_sequence);

  return offset;
}


static const value_string nr_rrc_T_cg_minDFI_Delay_r16_vals[] = {
  {   0, "sym7" },
  {   1, "sym1x14" },
  {   2, "sym2x14" },
  {   3, "sym3x14" },
  {   4, "sym4x14" },
  {   5, "sym5x14" },
  {   6, "sym6x14" },
  {   7, "sym7x14" },
  {   8, "sym8x14" },
  {   9, "sym9x14" },
  {  10, "sym10x14" },
  {  11, "sym11x14" },
  {  12, "sym12x14" },
  {  13, "sym13x14" },
  {  14, "sym14x14" },
  {  15, "sym15x14" },
  {  16, "sym16x14" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_cg_minDFI_Delay_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_cg_minDFI_Delay_r16_vals);


static int
dissect_nr_rrc_T_cg_minDFI_Delay_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     17, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 7U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 40U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 6U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_cg_StartingFullBW_InsideCOT_r16_sequence_of[1] = {
  { &hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 },
};

static int
dissect_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16, T_cg_StartingFullBW_InsideCOT_r16_sequence_of,
                                                  1, 7, FALSE);

  return offset;
}


static const per_sequence_t T_cg_StartingFullBW_OutsideCOT_r16_sequence_of[1] = {
  { &hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 },
};

static int
dissect_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16, T_cg_StartingFullBW_OutsideCOT_r16_sequence_of,
                                                  1, 7, FALSE);

  return offset;
}


static const per_sequence_t CG_StartingOffsets_r16_sequence[] = {
  { &hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16 },
  { &hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16 },
  { &hf_nr_rrc_cg_StartingPartialBW_InsideCOT_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_6 },
  { &hf_nr_rrc_cg_StartingPartialBW_OutsideCOT_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_StartingOffsets_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_StartingOffsets_r16, CG_StartingOffsets_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_cg_UCI_Multiplexing_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cg_UCI_Multiplexing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 39U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_cot_Sharing_r16_sequence[] = {
  { &hf_nr_rrc_duration_r16 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_39 },
  { &hf_nr_rrc_offset_r16   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_39 },
  { &hf_nr_rrc_channelAccessPriority_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cot_Sharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cot_Sharing_r16, T_cot_Sharing_r16_sequence);

  return offset;
}


static const value_string nr_rrc_CG_COT_Sharing_r16_vals[] = {
  {   0, "noCOT-Sharing-r16" },
  {   1, "cot-Sharing-r16" },
  { 0, NULL }
};

static const per_choice_t CG_COT_Sharing_r16_choice[] = {
  {   0, &hf_nr_rrc_noCOT_Sharing_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_cot_Sharing_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_cot_Sharing_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_CG_COT_Sharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_CG_COT_Sharing_r16, CG_COT_Sharing_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16_sequence_of[1] = {
  { &hf_nr_rrc_cg_COT_SharingList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CG_COT_Sharing_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16, SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16_sequence_of,
                                                  1, 1709, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ConfiguredGrantConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofConfiguredGrantConfig_1_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_5120(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 5120U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_startingFromRV0_r16_vals[] = {
  {   0, "on" },
  {   1, "off" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_startingFromRV0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_phy_PriorityIndex_r16_vals[] = {
  {   0, "p0" },
  {   1, "p1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phy_PriorityIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_autonomousTx_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_autonomousTx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ConfiguredGrantConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_cg_RetransmissionTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_cg_minDFI_Delay_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_minDFI_Delay_r16 },
  { &hf_nr_rrc_cg_nrofPUSCH_InSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_7 },
  { &hf_nr_rrc_cg_nrofSlots_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_40 },
  { &hf_nr_rrc_cg_StartingOffsets_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CG_StartingOffsets_r16 },
  { &hf_nr_rrc_cg_UCI_Multiplexing_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_UCI_Multiplexing_r16 },
  { &hf_nr_rrc_cg_COT_SharingOffset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_39 },
  { &hf_nr_rrc_betaOffsetCG_UCI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_cg_COT_SharingList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16 },
  { &hf_nr_rrc_harq_ProcID_Offset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_harq_ProcID_Offset2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_configuredGrantConfigIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfiguredGrantConfigIndex_r16 },
  { &hf_nr_rrc_configuredGrantConfigIndexMAC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfiguredGrantConfigIndexMAC_r16 },
  { &hf_nr_rrc_periodicityExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_5120 },
  { &hf_nr_rrc_startingFromRV0_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_startingFromRV0_r16 },
  { &hf_nr_rrc_phy_PriorityIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_phy_PriorityIndex_r16 },
  { &hf_nr_rrc_autonomousTx_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_autonomousTx_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfiguredGrantConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfiguredGrantConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17_sequence_of[1] = {
  { &hf_nr_rrc_dynamic_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsetsCrossPri_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17, SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_BetaOffsetsCrossPriSelCG_r17_vals[] = {
  {   0, "dynamic-r17" },
  {   1, "semiStatic-r17" },
  { 0, NULL }
};

static const per_choice_t BetaOffsetsCrossPriSelCG_r17_choice[] = {
  {   0, &hf_nr_rrc_dynamic_r17  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17 },
  {   1, &hf_nr_rrc_semiStatic_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPri_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BetaOffsetsCrossPriSelCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BetaOffsetsCrossPriSelCG_r17, BetaOffsetsCrossPriSelCG_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_cg_betaOffsetsCrossPri0_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_cg_betaOffsetsCrossPri0_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_53     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPriSelCG_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cg_betaOffsetsCrossPri0_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cg_betaOffsetsCrossPri0_r17, T_cg_betaOffsetsCrossPri0_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_cg_betaOffsetsCrossPri1_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_cg_betaOffsetsCrossPri1_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_53     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BetaOffsetsCrossPriSelCG_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cg_betaOffsetsCrossPri1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cg_betaOffsetsCrossPri1_r17, T_cg_betaOffsetsCrossPri1_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mappingPattern_r17_vals[] = {
  {   0, "cyclicMapping" },
  {   1, "sequentialMapping" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mappingPattern_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_powerControlLoopToUse2_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerControlLoopToUse2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 319U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_cot_Sharing_r17_sequence[] = {
  { &hf_nr_rrc_duration_r17 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_319 },
  { &hf_nr_rrc_offset_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_319 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cot_Sharing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cot_Sharing_r17, T_cot_Sharing_r17_sequence);

  return offset;
}


static const value_string nr_rrc_CG_COT_Sharing_r17_vals[] = {
  {   0, "noCOT-Sharing-r17" },
  {   1, "cot-Sharing-r17" },
  { 0, NULL }
};

static const per_choice_t CG_COT_Sharing_r17_choice[] = {
  {   0, &hf_nr_rrc_noCOT_Sharing_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_cot_Sharing_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_cot_Sharing_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_CG_COT_Sharing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_CG_COT_Sharing_r17, CG_COT_Sharing_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17_sequence_of[1] = {
  { &hf_nr_rrc_cg_COT_SharingList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CG_COT_Sharing_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17, SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17_sequence_of,
                                                  1, 50722, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_40960(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 40960U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_repK_v1710_vals[] = {
  {   0, "n12" },
  {   1, "n16" },
  {   2, "n24" },
  {   3, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repK_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_17_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            17U, 32U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_16_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            16U, 31U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_33_288(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            33U, 288U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_238_3584(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            238U, 3584U, NULL, FALSE);

  return offset;
}


static const per_sequence_t ConfiguredGrantConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_cg_betaOffsetsCrossPri0_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_betaOffsetsCrossPri0_r17 },
  { &hf_nr_rrc_cg_betaOffsetsCrossPri1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_betaOffsetsCrossPri1_r17 },
  { &hf_nr_rrc_mappingPattern_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mappingPattern_r17 },
  { &hf_nr_rrc_sequenceOffsetForRV_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_p0_PUSCH_Alpha2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P0_PUSCH_AlphaSetId },
  { &hf_nr_rrc_powerControlLoopToUse2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerControlLoopToUse2_r17 },
  { &hf_nr_rrc_cg_COT_SharingList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17 },
  { &hf_nr_rrc_periodicityExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_40960 },
  { &hf_nr_rrc_repK_v1710   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_repK_v1710 },
  { &hf_nr_rrc_nrofHARQ_Processes_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_17_32 },
  { &hf_nr_rrc_harq_ProcID_Offset2_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_16_31 },
  { &hf_nr_rrc_configuredGrantTimer_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_33_288 },
  { &hf_nr_rrc_cg_minDFI_Delay_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_238_3584 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfiguredGrantConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfiguredGrantConfig_eag_2_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_320(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 320U, NULL, FALSE);

  return offset;
}


static const per_sequence_t ConfiguredGrantConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_harq_ProcID_Offset_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_16_31 },
  { &hf_nr_rrc_cg_nrofSlots_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_320 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfiguredGrantConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfiguredGrantConfig_eag_3_sequence);

  return offset;
}


static const per_sequence_t ConfiguredGrantConfig_sequence[] = {
  { &hf_nr_rrc_frequencyHopping, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyHopping },
  { &hf_nr_rrc_cg_DMRS_Configuration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DMRS_UplinkConfig },
  { &hf_nr_rrc_mcs_Table    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_Table },
  { &hf_nr_rrc_mcs_TableTransformPrecoder, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_TableTransformPrecoder },
  { &hf_nr_rrc_uci_OnPUSCH  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_uci_OnPUSCH },
  { &hf_nr_rrc_resourceAllocation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation },
  { &hf_nr_rrc_rbg_Size     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rbg_Size },
  { &hf_nr_rrc_powerControlLoopToUse, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerControlLoopToUse },
  { &hf_nr_rrc_p0_PUSCH_Alpha, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
  { &hf_nr_rrc_transformPrecoder, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_transformPrecoder },
  { &hf_nr_rrc_nrofHARQ_Processes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_repK         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repK },
  { &hf_nr_rrc_repK_RV      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_repK_RV },
  { &hf_nr_rrc_periodicity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity },
  { &hf_nr_rrc_configuredGrantTimer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_rrc_ConfiguredUplinkGrant, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfig_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ConfiguredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ConfiguredGrantConfig, ConfiguredGrantConfig_sequence);

  return offset;
}


static const per_sequence_t ConfiguredGrantConfigToAddModList_r16_sequence_of[1] = {
  { &hf_nr_rrc_ConfiguredGrantConfigToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfig },
};

static int
dissect_nr_rrc_ConfiguredGrantConfigToAddModList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ConfiguredGrantConfigToAddModList_r16, ConfiguredGrantConfigToAddModList_r16_sequence_of,
                                                  1, maxNrofConfiguredGrantConfig_r16, FALSE);

  return offset;
}


static const per_sequence_t ConfiguredGrantConfigToReleaseList_r16_sequence_of[1] = {
  { &hf_nr_rrc_ConfiguredGrantConfigToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfigIndex_r16 },
};

static int
dissect_nr_rrc_ConfiguredGrantConfigToReleaseList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ConfiguredGrantConfigToReleaseList_r16, ConfiguredGrantConfigToReleaseList_r16_sequence_of,
                                                  1, maxNrofConfiguredGrantConfig_r16, FALSE);

  return offset;
}


static const per_sequence_t BWP_UplinkDedicatedSDT_r17_sequence[] = {
  { &hf_nr_rrc_pusch_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_Config_r17 },
  { &hf_nr_rrc_configuredGrantConfigToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ConfiguredGrantConfigToAddModList_r16 },
  { &hf_nr_rrc_configuredGrantConfigToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ConfiguredGrantConfigToReleaseList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkDedicatedSDT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP_UplinkDedicatedSDT_r17, BWP_UplinkDedicatedSDT_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_cg_SDT_ConfigInitialBWP_NUL_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_cg_SDT_ConfigInitialBWP_NUL_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_24     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BWP_UplinkDedicatedSDT_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cg_SDT_ConfigInitialBWP_NUL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cg_SDT_ConfigInitialBWP_NUL_r17, T_cg_SDT_ConfigInitialBWP_NUL_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_cg_SDT_ConfigInitialBWP_SUL_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_cg_SDT_ConfigInitialBWP_SUL_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_24     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BWP_UplinkDedicatedSDT_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cg_SDT_ConfigInitialBWP_SUL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cg_SDT_ConfigInitialBWP_SUL_r17, T_cg_SDT_ConfigInitialBWP_SUL_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_3_OF_ControlResourceSet_sequence_of[1] = {
  { &hf_nr_rrc_controlResourceSetToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet, SEQUENCE_SIZE_1_3_OF_ControlResourceSet_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_3_OF_ControlResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_controlResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId, SEQUENCE_SIZE_1_3_OF_ControlResourceSetId_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpace_sequence_of[1] = {
  { &hf_nr_rrc_searchSpacesToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace, SEQUENCE_SIZE_1_10_OF_SearchSpace_sequence_of,
                                                  1, 10, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpaceId_sequence_of[1] = {
  { &hf_nr_rrc_searchSpacesToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId, SEQUENCE_SIZE_1_10_OF_SearchSpaceId_sequence_of,
                                                  1, 10, FALSE);

  return offset;
}


static const value_string nr_rrc_T_timeFrequencySet_vals[] = {
  {   0, "set0" },
  {   1, "set1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeFrequencySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxINT_DCI_PayloadSize, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxINT_DCI_PayloadSize_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t INT_ConfigurationPerServingCell_sequence[] = {
  { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_positionInDCI, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_INT_ConfigurationPerServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_INT_ConfigurationPerServingCell, INT_ConfigurationPerServingCell_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell_sequence_of[1] = {
  { &hf_nr_rrc_int_ConfigurationPerServingCell_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INT_ConfigurationPerServingCell },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell, SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t DownlinkPreemption_sequence[] = {
  { &hf_nr_rrc_int_RNTI     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_timeFrequencySet, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeFrequencySet },
  { &hf_nr_rrc_dci_PayloadSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize },
  { &hf_nr_rrc_int_ConfigurationPerServingCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DownlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DownlinkPreemption, DownlinkPreemption_sequence);

  return offset;
}


static const value_string nr_rrc_T_downlinkPreemption_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_downlinkPreemption_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_75     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DownlinkPreemption },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_downlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_downlinkPreemption, T_downlinkPreemption_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUSCH_TPC_CommandConfig_sequence[] = {
  { &hf_nr_rrc_tpc_Index    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_tpc_IndexSUL , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_targetCell   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_TPC_CommandConfig, PUSCH_TPC_CommandConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_tpc_PUSCH_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_tpc_PUSCH_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_76     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_TPC_CommandConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_tpc_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_tpc_PUSCH, T_tpc_PUSCH_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUCCH_TPC_CommandConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_tpc_IndexPUCCH_sSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_tpc_IndexPUCCH_sScellSecondaryPUCCHgroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_TPC_CommandConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUCCH_TPC_CommandConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t PUCCH_TPC_CommandConfig_sequence[] = {
  { &hf_nr_rrc_tpc_IndexPCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_tpc_IndexPUCCH_SCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_TPC_CommandConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_TPC_CommandConfig, PUCCH_TPC_CommandConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_tpc_PUCCH_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_tpc_PUCCH_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_77     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_TPC_CommandConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_tpc_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_tpc_PUCCH, T_tpc_PUCCH_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SRS_TPC_CommandConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_startingBitOfFormat2_3SUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_TPC_CommandConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_TPC_CommandConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t SRS_TPC_CommandConfig_sequence[] = {
  { &hf_nr_rrc_startingBitOfFormat2_3, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_31 },
  { &hf_nr_rrc_fieldTypeFormat2_3, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_TPC_CommandConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_TPC_CommandConfig, SRS_TPC_CommandConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_tpc_SRS_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_tpc_SRS_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_78     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_TPC_CommandConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_tpc_SRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_tpc_SRS, T_tpc_SRS_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_2_OF_ControlResourceSet_sequence_of[1] = {
  { &hf_nr_rrc_controlResourceSetToAddModListSizeExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet, SEQUENCE_SIZE_1_2_OF_ControlResourceSet_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16_sequence_of[1] = {
  { &hf_nr_rrc_controlResourceSetToReleaseListSizeExt_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16, SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16_sequence_of,
                                                  1, 5, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16_sequence_of[1] = {
  { &hf_nr_rrc_searchSpacesToAddModListExt_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceExt_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16, SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16_sequence_of,
                                                  1, 10, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxCI_DCI_PayloadSize_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxCI_DCI_PayloadSize_1_r16, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ci_PayloadSize_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n5" },
  {   4, "n7" },
  {   5, "n8" },
  {   6, "n10" },
  {   7, "n14" },
  {   8, "n16" },
  {   9, "n20" },
  {  10, "n28" },
  {  11, "n32" },
  {  12, "n35" },
  {  13, "n42" },
  {  14, "n56" },
  {  15, "n112" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ci_PayloadSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_timeDurationForCI_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n7" },
  {   3, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeDurationForCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_timeGranularityForCI_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n7" },
  {   4, "n14" },
  {   5, "n28" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeGranularityForCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_timeFrequencyRegion_r16_sequence[] = {
  { &hf_nr_rrc_timeDurationForCI_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeDurationForCI_r16 },
  { &hf_nr_rrc_timeGranularityForCI_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeGranularityForCI_r16 },
  { &hf_nr_rrc_frequencyRegionForCI_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 },
  { &hf_nr_rrc_deltaOffset_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_timeFrequencyRegion_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_timeFrequencyRegion_r16, T_timeFrequencyRegion_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_uplinkCancellationPriority_v1610_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkCancellationPriority_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CI_ConfigurationPerServingCell_r16_sequence[] = {
  { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_positionInDCI_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_1_r16 },
  { &hf_nr_rrc_positionInDCI_ForSUL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_1_r16 },
  { &hf_nr_rrc_ci_PayloadSize_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ci_PayloadSize_r16 },
  { &hf_nr_rrc_timeFrequencyRegion_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeFrequencyRegion_r16 },
  { &hf_nr_rrc_uplinkCancellationPriority_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkCancellationPriority_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CI_ConfigurationPerServingCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CI_ConfigurationPerServingCell_r16, CI_ConfigurationPerServingCell_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16_sequence_of[1] = {
  { &hf_nr_rrc_ci_ConfigurationPerServingCell_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CI_ConfigurationPerServingCell_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16, SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t UplinkCancellation_r16_sequence[] = {
  { &hf_nr_rrc_ci_RNTI_r16  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_dci_PayloadSizeForCI_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_r16 },
  { &hf_nr_rrc_ci_ConfigurationPerServingCell_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkCancellation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkCancellation_r16, UplinkCancellation_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_uplinkCancellation_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_uplinkCancellation_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_79     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UplinkCancellation_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uplinkCancellation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uplinkCancellation_r16, T_uplinkCancellation_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_monitoringCapabilityConfig_r16_vals[] = {
  {   0, "r15monitoringcapability" },
  {   1, "r16monitoringcapability" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_monitoringCapabilityConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CellGroupForSwitch_r16_sequence_of[1] = {
  { &hf_nr_rrc_CellGroupForSwitch_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
};

static int
dissect_nr_rrc_CellGroupForSwitch_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CellGroupForSwitch_r16, CellGroupForSwitch_r16_sequence_of,
                                                  1, 16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16_sequence_of[1] = {
  { &hf_nr_rrc_cellGroupsForSwitchList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupForSwitch_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16, SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_10_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            10U, 52U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SearchSpaceSwitchConfig_r16_sequence[] = {
  { &hf_nr_rrc_cellGroupsForSwitchList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16 },
  { &hf_nr_rrc_searchSpaceSwitchDelay_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_10_52 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SearchSpaceSwitchConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SearchSpaceSwitchConfig_r16, SearchSpaceSwitchConfig_r16_sequence);

  return offset;
}


static const per_sequence_t PDCCH_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_controlResourceSetToAddModListSizeExt_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet },
  { &hf_nr_rrc_controlResourceSetToReleaseListSizeExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16 },
  { &hf_nr_rrc_searchSpacesToAddModListExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16 },
  { &hf_nr_rrc_uplinkCancellation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkCancellation_r16 },
  { &hf_nr_rrc_monitoringCapabilityConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_monitoringCapabilityConfig_r16 },
  { &hf_nr_rrc_searchSpaceSwitchConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceSwitchConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_Config_eag_1_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700_sequence_of[1] = {
  { &hf_nr_rrc_searchSpacesToAddModListExt_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceExt_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700, SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700_sequence_of,
                                                  1, 10, FALSE);

  return offset;
}


static const value_string nr_rrc_T_monitoringCapabilityConfig_v1710_vals[] = {
  {   0, "r17monitoringcapability" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_monitoringCapabilityConfig_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_SCS_SpecificDuration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 166U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SearchSpaceSwitchConfig_r17_sequence[] = {
  { &hf_nr_rrc_searchSpaceSwitchTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SCS_SpecificDuration_r17 },
  { &hf_nr_rrc_searchSpaceSwitchDelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_10_52 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SearchSpaceSwitchConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SearchSpaceSwitchConfig_r17, SearchSpaceSwitchConfig_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17_sequence_of[1] = {
  { &hf_nr_rrc_pdcch_SkippingDurationList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificDuration_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17, SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_searchSpacesToAddModListExt_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700 },
  { &hf_nr_rrc_monitoringCapabilityConfig_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_monitoringCapabilityConfig_v1710 },
  { &hf_nr_rrc_searchSpaceSwitchConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceSwitchConfig_r17 },
  { &hf_nr_rrc_pdcch_SkippingDurationList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_Config_eag_2_sequence);

  return offset;
}


static const per_sequence_t PDCCH_Config_sequence[] = {
  { &hf_nr_rrc_controlResourceSetToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet },
  { &hf_nr_rrc_controlResourceSetToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId },
  { &hf_nr_rrc_searchSpacesToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace },
  { &hf_nr_rrc_searchSpacesToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId },
  { &hf_nr_rrc_downlinkPreemption, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_downlinkPreemption },
  { &hf_nr_rrc_tpc_PUSCH    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tpc_PUSCH },
  { &hf_nr_rrc_tpc_PUCCH    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tpc_PUCCH },
  { &hf_nr_rrc_tpc_SRS      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tpc_SRS },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_Config_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_Config, PDCCH_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_26     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_Config_r17, T_pdcch_Config_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_Type_vals[] = {
  {   0, "type2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_AdditionalPosition_vals[] = {
  {   0, "pos0" },
  {   1, "pos1" },
  {   2, "pos3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_AdditionalPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxLength_vals[] = {
  {   0, "len2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_frequencyDensity_sequence_of[1] = {
  { &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
};

static int
dissect_nr_rrc_T_frequencyDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_frequencyDensity, T_frequencyDensity_sequence_of,
                                                  2, 2, FALSE);

  return offset;
}


static const per_sequence_t T_timeDensity_sequence_of[1] = {
  { &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
};

static int
dissect_nr_rrc_T_timeDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_timeDensity, T_timeDensity_sequence_of,
                                                  3, 3, FALSE);

  return offset;
}


static const value_string nr_rrc_T_resourceElementOffset_vals[] = {
  {   0, "offset01" },
  {   1, "offset10" },
  {   2, "offset11" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceElementOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNrofPorts_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNrofPorts_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PTRS_DownlinkConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_maxNrofPorts_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNrofPorts_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PTRS_DownlinkConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PTRS_DownlinkConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t PTRS_DownlinkConfig_sequence[] = {
  { &hf_nr_rrc_frequencyDensity, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyDensity },
  { &hf_nr_rrc_timeDensity  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeDensity },
  { &hf_nr_rrc_epre_Ratio   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_resourceElementOffset, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceElementOffset },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PTRS_DownlinkConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PTRS_DownlinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PTRS_DownlinkConfig, PTRS_DownlinkConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_phaseTrackingRS_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_phaseTrackingRS_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_56     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PTRS_DownlinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_phaseTrackingRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_phaseTrackingRS, T_phaseTrackingRS_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_Downlink_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_Downlink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DMRS_DownlinkConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_dmrs_Downlink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_Downlink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DMRS_DownlinkConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, DMRS_DownlinkConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t DMRS_DownlinkConfig_sequence[] = {
  { &hf_nr_rrc_dmrs_Type    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_Type },
  { &hf_nr_rrc_dmrs_AdditionalPosition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_AdditionalPosition },
  { &hf_nr_rrc_maxLength    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxLength },
  { &hf_nr_rrc_scramblingID0, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &hf_nr_rrc_scramblingID1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_65535 },
  { &hf_nr_rrc_phaseTrackingRS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_phaseTrackingRS },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_DMRS_DownlinkConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DMRS_DownlinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DMRS_DownlinkConfig, DMRS_DownlinkConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeA_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_86     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_DownlinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA, T_dmrs_DownlinkForPDSCH_MappingTypeA_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeB_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_86     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_DownlinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB, T_dmrs_DownlinkForPDSCH_MappingTypeB_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_05_vals[] = {
  {   0, "csi-rs" },
  {   1, "ssb" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_05_choice[] = {
  {   0, &hf_nr_rrc_csi_rs       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  {   1, &hf_nr_rrc_ssb_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_05, T_referenceSignal_05_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_qcl_Type_vals[] = {
  {   0, "typeA" },
  {   1, "typeB" },
  {   2, "typeC" },
  {   3, "typeD" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_qcl_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t QCL_Info_sequence[] = {
  { &hf_nr_rrc_cell         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_bwp_Id       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_referenceSignal_05, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_05 },
  { &hf_nr_rrc_qcl_Type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_qcl_Type },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_QCL_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_QCL_Info, QCL_Info_sequence);

  return offset;
}



static int
dissect_nr_rrc_PathlossReferenceRS_Id_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPathlossReferenceRSs_1_r17, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_Uplink_powerControlId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxUL_TCI_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t TCI_State_eag_1_sequence[] = {
  { &hf_nr_rrc_additionalPCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AdditionalPCIIndex_r17 },
  { &hf_nr_rrc_pathlossReferenceRS_Id_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PathlossReferenceRS_Id_r17 },
  { &hf_nr_rrc_ul_powerControl_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Uplink_powerControlId_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TCI_State_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, TCI_State_eag_1_sequence);

  return offset;
}


static const per_sequence_t TCI_State_sequence[] = {
  { &hf_nr_rrc_tci_StateId  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
  { &hf_nr_rrc_qcl_Type1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QCL_Info },
  { &hf_nr_rrc_qcl_Type2    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_QCL_Info },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_State_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TCI_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TCI_State, TCI_State_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State_sequence_of[1] = {
  { &hf_nr_rrc_tci_StatesToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_State },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State, SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State_sequence_of,
                                                  1, maxNrofTCI_States, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId_sequence_of[1] = {
  { &hf_nr_rrc_tci_StatesToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId_sequence_of,
                                                  1, maxNrofTCI_States, FALSE);

  return offset;
}


static const value_string nr_rrc_T_vrb_ToPRB_Interleaver_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_vrb_ToPRB_Interleaver(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceAllocation_01_vals[] = {
  {   0, "resourceAllocationType0" },
  {   1, "resourceAllocationType1" },
  {   2, "dynamicSwitch" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_TimeDomainAllocationList_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_TimeDomainAllocationList_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_87     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_TimeDomainAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_TimeDomainAllocationList, T_pdsch_TimeDomainAllocationList_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_AggregationFactor_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId_sequence_of[1] = {
  { &hf_nr_rrc_rateMatchPatternToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId_sequence_of,
                                                  1, maxNrofRateMatchPatterns, FALSE);

  return offset;
}


static const value_string nr_rrc_RateMatchPatternGroup_item_vals[] = {
  {   0, "cellLevel" },
  {   1, "bwpLevel" },
  { 0, NULL }
};

static const per_choice_t RateMatchPatternGroup_item_choice[] = {
  {   0, &hf_nr_rrc_cellLevel    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RateMatchPatternId },
  {   1, &hf_nr_rrc_bwpLevel     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RateMatchPatternId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_RateMatchPatternGroup_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_RateMatchPatternGroup_item, RateMatchPatternGroup_item_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RateMatchPatternGroup_sequence_of[1] = {
  { &hf_nr_rrc_RateMatchPatternGroup_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternGroup_item },
};

static int
dissect_nr_rrc_RateMatchPatternGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_RateMatchPatternGroup, RateMatchPatternGroup_sequence_of,
                                                  1, maxNrofRateMatchPatternsPerGroup, FALSE);

  return offset;
}


static const value_string nr_rrc_T_rbg_Size_01_vals[] = {
  {   0, "config1" },
  {   1, "config2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rbg_Size_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_Table_01_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_Table_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bundleSize_vals[] = {
  {   0, "n4" },
  {   1, "wideband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_staticBundling_sequence[] = {
  { &hf_nr_rrc_bundleSize   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bundleSize },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_staticBundling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_staticBundling, T_staticBundling_sequence);

  return offset;
}


static const value_string nr_rrc_T_bundleSizeSet1_vals[] = {
  {   0, "n4" },
  {   1, "wideband" },
  {   2, "n2-wideband" },
  {   3, "n4-wideband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bundleSizeSet1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bundleSizeSet2_vals[] = {
  {   0, "n4" },
  {   1, "wideband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bundleSizeSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_dynamicBundling_sequence[] = {
  { &hf_nr_rrc_bundleSizeSet1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bundleSizeSet1 },
  { &hf_nr_rrc_bundleSizeSet2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bundleSizeSet2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dynamicBundling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dynamicBundling, T_dynamicBundling_sequence);

  return offset;
}


static const value_string nr_rrc_T_prb_BundlingType_vals[] = {
  {   0, "staticBundling" },
  {   1, "dynamicBundling" },
  { 0, NULL }
};

static const per_choice_t T_prb_BundlingType_choice[] = {
  {   0, &hf_nr_rrc_staticBundling, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_staticBundling },
  {   1, &hf_nr_rrc_dynamicBundling, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_dynamicBundling },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_prb_BundlingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_prb_BundlingType, T_prb_BundlingType_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofZP_CSI_RS_Resources_1, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     3, 3, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_frequencyDomainAllocation_01_vals[] = {
  {   0, "row1" },
  {   1, "row2" },
  {   2, "row4" },
  {   3, "other" },
  { 0, NULL }
};

static const per_choice_t T_frequencyDomainAllocation_01_choice[] = {
  {   0, &hf_nr_rrc_row1         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   1, &hf_nr_rrc_row2         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_12 },
  {   2, &hf_nr_rrc_row4         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_3 },
  {   3, &hf_nr_rrc_other_01     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_6 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_frequencyDomainAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_frequencyDomainAllocation_01, T_frequencyDomainAllocation_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofPorts_vals[] = {
  {   0, "p1" },
  {   1, "p2" },
  {   2, "p4" },
  {   3, "p8" },
  {   4, "p12" },
  {   5, "p16" },
  {   6, "p24" },
  {   7, "p32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 12U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_cdm_Type_vals[] = {
  {   0, "noCDM" },
  {   1, "fd-CDM2" },
  {   2, "cdm4-FD2-TD2" },
  {   3, "cdm8-FD2-TD4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cdm_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dot5_vals[] = {
  {   0, "evenPRBs" },
  {   1, "oddPRBs" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dot5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_density_01_vals[] = {
  {   0, "dot5" },
  {   1, "one" },
  {   2, "three" },
  {   3, "spare" },
  { 0, NULL }
};

static const per_choice_t T_density_01_choice[] = {
  {   0, &hf_nr_rrc_dot5         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_dot5 },
  {   1, &hf_nr_rrc_one          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_three        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_density_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_density_01, T_density_01_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocksPlus1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            24U, maxNrofPhysicalResourceBlocksPlus1, NULL, FALSE);

  return offset;
}


static const per_sequence_t CSI_FrequencyOccupation_sequence[] = {
  { &hf_nr_rrc_startingRB   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
  { &hf_nr_rrc_nrofRBs      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocksPlus1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_FrequencyOccupation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_FrequencyOccupation, CSI_FrequencyOccupation_sequence);

  return offset;
}


static const per_sequence_t CSI_RS_ResourceMapping_sequence[] = {
  { &hf_nr_rrc_frequencyDomainAllocation_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation_01 },
  { &hf_nr_rrc_nrofPorts    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPorts },
  { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { &hf_nr_rrc_firstOFDMSymbolInTimeDomain2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_12 },
  { &hf_nr_rrc_cdm_Type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cdm_Type },
  { &hf_nr_rrc_density_01   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_density_01 },
  { &hf_nr_rrc_freqBand     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_FrequencyOccupation },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_ResourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_RS_ResourceMapping, CSI_RS_ResourceMapping_sequence);

  return offset;
}


static const value_string nr_rrc_CSI_ResourcePeriodicityAndOffset_vals[] = {
  {   0, "slots4" },
  {   1, "slots5" },
  {   2, "slots8" },
  {   3, "slots10" },
  {   4, "slots16" },
  {   5, "slots20" },
  {   6, "slots32" },
  {   7, "slots40" },
  {   8, "slots64" },
  {   9, "slots80" },
  {  10, "slots160" },
  {  11, "slots320" },
  {  12, "slots640" },
  { 0, NULL }
};

static const per_choice_t CSI_ResourcePeriodicityAndOffset_choice[] = {
  {   0, &hf_nr_rrc_slots4       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_3 },
  {   1, &hf_nr_rrc_slots5       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_4 },
  {   2, &hf_nr_rrc_slots8       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_7 },
  {   3, &hf_nr_rrc_slots10      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   4, &hf_nr_rrc_slots16      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_15 },
  {   5, &hf_nr_rrc_slots20      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   6, &hf_nr_rrc_slots32      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_31 },
  {   7, &hf_nr_rrc_slots40      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   8, &hf_nr_rrc_slots64      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_63 },
  {   9, &hf_nr_rrc_slots80      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {  10, &hf_nr_rrc_slots160     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  11, &hf_nr_rrc_slots320     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_slots640     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_CSI_ResourcePeriodicityAndOffset, CSI_ResourcePeriodicityAndOffset_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ZP_CSI_RS_Resource_sequence[] = {
  { &hf_nr_rrc_zp_CSI_RS_ResourceId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
  { &hf_nr_rrc_resourceMapping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceMapping },
  { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ZP_CSI_RS_Resource, ZP_CSI_RS_Resource_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource_sequence_of[1] = {
  { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource_sequence_of,
                                                  1, maxNrofZP_CSI_RS_Resources, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId_sequence_of,
                                                  1, maxNrofZP_CSI_RS_Resources, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofZP_CSI_RS_ResourceSets_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_zp_CSI_RS_ResourceIdList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId_sequence_of,
                                                  1, maxNrofZP_CSI_RS_ResourcesPerSet, FALSE);

  return offset;
}


static const per_sequence_t ZP_CSI_RS_ResourceSet_sequence[] = {
  { &hf_nr_rrc_zp_CSI_RS_ResourceSetId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSetId },
  { &hf_nr_rrc_zp_CSI_RS_ResourceIdList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ZP_CSI_RS_ResourceSet, ZP_CSI_RS_ResourceSet_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet_sequence_of[1] = {
  { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet_sequence_of,
                                                  1, maxNrofZP_CSI_RS_ResourceSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId_sequence_of,
                                                  1, maxNrofZP_CSI_RS_ResourceSets, FALSE);

  return offset;
}


static const value_string nr_rrc_T_p_ZP_CSI_RS_ResourceSet_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_p_ZP_CSI_RS_ResourceSet_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_88     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ZP_CSI_RS_ResourceSet },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_p_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet, T_p_ZP_CSI_RS_ResourceSet_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_MaxMIMO_LayersDL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 8U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxMIMO_Layers_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_maxMIMO_Layers_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_89     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MaxMIMO_LayersDL_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_maxMIMO_Layers_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_maxMIMO_Layers_r16, T_maxMIMO_Layers_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxK0_SchedulingOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxK0_SchedulingOffset_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t MinSchedulingOffsetK0_Values_r16_sequence_of[1] = {
  { &hf_nr_rrc_MinSchedulingOffsetK0_Values_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxK0_SchedulingOffset_r16 },
};

static int
dissect_nr_rrc_MinSchedulingOffsetK0_Values_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MinSchedulingOffsetK0_Values_r16, MinSchedulingOffsetK0_Values_r16_sequence_of,
                                                  1, maxNrOfMinSchedulingOffsetValues_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_minimumSchedulingOffsetK0_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_minimumSchedulingOffsetK0_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_90     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MinSchedulingOffsetK0_Values_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_minimumSchedulingOffsetK0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_minimumSchedulingOffsetK0_r16, T_minimumSchedulingOffsetK0_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_antennaPortsFieldPresenceDCI_1_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_antennaPortsFieldPresenceDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_86     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_DownlinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16, T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_86     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_DownlinkConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16, T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_SequenceInitializationDCI_1_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_SequenceInitializationDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_TableDCI_1_2_r16_vals[] = {
  {   0, "qam256" },
  {   1, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_TableDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_TimeDomainAllocationListDCI_1_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_TimeDomainAllocationListDCI_1_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_91     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_TimeDomainAllocationListDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_TimeDomainAllocationListDCI_1_2_r16, T_pdsch_TimeDomainAllocationListDCI_1_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_bundleSize_r16_vals[] = {
  {   0, "n4" },
  {   1, "wideband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bundleSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_staticBundling_r16_sequence[] = {
  { &hf_nr_rrc_bundleSize_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bundleSize_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_staticBundling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_staticBundling_r16, T_staticBundling_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_bundleSizeSet1_r16_vals[] = {
  {   0, "n4" },
  {   1, "wideband" },
  {   2, "n2-wideband" },
  {   3, "n4-wideband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bundleSizeSet1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bundleSizeSet2_r16_vals[] = {
  {   0, "n4" },
  {   1, "wideband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bundleSizeSet2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_dynamicBundling_r16_sequence[] = {
  { &hf_nr_rrc_bundleSizeSet1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bundleSizeSet1_r16 },
  { &hf_nr_rrc_bundleSizeSet2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bundleSizeSet2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dynamicBundling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dynamicBundling_r16, T_dynamicBundling_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_prb_BundlingTypeDCI_1_2_r16_vals[] = {
  {   0, "staticBundling-r16" },
  {   1, "dynamicBundling-r16" },
  { 0, NULL }
};

static const per_choice_t T_prb_BundlingTypeDCI_1_2_r16_choice[] = {
  {   0, &hf_nr_rrc_staticBundling_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_staticBundling_r16 },
  {   1, &hf_nr_rrc_dynamicBundling_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_dynamicBundling_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_prb_BundlingTypeDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_prb_BundlingTypeDCI_1_2_r16, T_prb_BundlingTypeDCI_1_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_priorityIndicatorDCI_1_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_priorityIndicatorDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceAllocationType1GranularityDCI_1_2_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceAllocationType1GranularityDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_vrb_ToPRB_InterleaverDCI_1_2_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_vrb_ToPRB_InterleaverDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_referenceOfSLIVDCI_1_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_referenceOfSLIVDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceAllocationDCI_1_2_r16_vals[] = {
  {   0, "resourceAllocationType0" },
  {   1, "resourceAllocationType1" },
  {   2, "dynamicSwitch" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceAllocationDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_priorityIndicatorDCI_1_1_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_priorityIndicatorDCI_1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_TimeDomainAllocationList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_TimeDomainAllocationList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_91     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_TimeDomainAllocationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_TimeDomainAllocationList_r16, T_pdsch_TimeDomainAllocationList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_repetitionScheme_r16_vals[] = {
  {   0, "fdmSchemeA" },
  {   1, "fdmSchemeB" },
  {   2, "tdmSchemeA" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetitionScheme_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FDM_TDM_r16_sequence[] = {
  { &hf_nr_rrc_repetitionScheme_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionScheme_r16 },
  { &hf_nr_rrc_startingSymbolOffsetK_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FDM_TDM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FDM_TDM_r16, FDM_TDM_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_fdm_TDM_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_fdm_TDM_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_145    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FDM_TDM_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_fdm_TDM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_fdm_TDM_r16, T_fdm_TDM_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_tciMapping_r16_vals[] = {
  {   0, "cyclicMapping" },
  {   1, "sequentialMapping" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tciMapping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SlotBased_r16_sequence[] = {
  { &hf_nr_rrc_tciMapping_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_tciMapping_r16 },
  { &hf_nr_rrc_sequenceOffsetForRV_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotBased_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SlotBased_r16, SlotBased_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_slotBased_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_slotBased_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_146    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SlotBased_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_slotBased_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_slotBased_r16, T_slotBased_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_RepetitionSchemeConfig_r16_vals[] = {
  {   0, "fdm-TDM-r16" },
  {   1, "slotBased-r16" },
  { 0, NULL }
};

static const per_choice_t RepetitionSchemeConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_fdm_TDM_r16  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fdm_TDM_r16 },
  {   1, &hf_nr_rrc_slotBased_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_slotBased_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_RepetitionSchemeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_RepetitionSchemeConfig_r16, RepetitionSchemeConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_repetitionSchemeConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_repetitionSchemeConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_92     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RepetitionSchemeConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_repetitionSchemeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_repetitionSchemeConfig_r16, T_repetitionSchemeConfig_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDSCH_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_maxMIMO_Layers_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxMIMO_Layers_r16 },
  { &hf_nr_rrc_minimumSchedulingOffsetK0_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minimumSchedulingOffsetK0_r16 },
  { &hf_nr_rrc_antennaPortsFieldPresenceDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_antennaPortsFieldPresenceDCI_1_2_r16 },
  { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet },
  { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId },
  { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16 },
  { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16 },
  { &hf_nr_rrc_dmrs_SequenceInitializationDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_SequenceInitializationDCI_1_2_r16 },
  { &hf_nr_rrc_harq_ProcessNumberSizeDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_4 },
  { &hf_nr_rrc_mcs_TableDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_TableDCI_1_2_r16 },
  { &hf_nr_rrc_numberOfBitsForRV_DCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_2 },
  { &hf_nr_rrc_pdsch_TimeDomainAllocationListDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_TimeDomainAllocationListDCI_1_2_r16 },
  { &hf_nr_rrc_prb_BundlingTypeDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prb_BundlingTypeDCI_1_2_r16 },
  { &hf_nr_rrc_priorityIndicatorDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_priorityIndicatorDCI_1_2_r16 },
  { &hf_nr_rrc_rateMatchPatternGroup1DCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RateMatchPatternGroup },
  { &hf_nr_rrc_rateMatchPatternGroup2DCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RateMatchPatternGroup },
  { &hf_nr_rrc_resourceAllocationType1GranularityDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceAllocationType1GranularityDCI_1_2_r16 },
  { &hf_nr_rrc_vrb_ToPRB_InterleaverDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_vrb_ToPRB_InterleaverDCI_1_2_r16 },
  { &hf_nr_rrc_referenceOfSLIVDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_referenceOfSLIVDCI_1_2_r16 },
  { &hf_nr_rrc_resourceAllocationDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceAllocationDCI_1_2_r16 },
  { &hf_nr_rrc_priorityIndicatorDCI_1_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_priorityIndicatorDCI_1_1_r16 },
  { &hf_nr_rrc_dataScramblingIdentityPDSCH2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_pdsch_TimeDomainAllocationList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_TimeDomainAllocationList_r16 },
  { &hf_nr_rrc_repetitionSchemeConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_repetitionSchemeConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_Config_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_tciMapping_r16_01_vals[] = {
  {   0, "cyclicMapping" },
  {   1, "sequentialMapping" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tciMapping_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SlotBased_v1630_sequence[] = {
  { &hf_nr_rrc_tciMapping_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_tciMapping_r16_01 },
  { &hf_nr_rrc_sequenceOffsetForRV_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotBased_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SlotBased_v1630, SlotBased_v1630_sequence);

  return offset;
}


static const value_string nr_rrc_T_slotBased_v1630_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_slotBased_v1630_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_147    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SlotBased_v1630 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_slotBased_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_slotBased_v1630, T_slotBased_v1630_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RepetitionSchemeConfig_v1630_sequence[] = {
  { &hf_nr_rrc_slotBased_v1630, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotBased_v1630 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RepetitionSchemeConfig_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RepetitionSchemeConfig_v1630, RepetitionSchemeConfig_v1630_sequence);

  return offset;
}


static const value_string nr_rrc_T_repetitionSchemeConfig_v1630_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_repetitionSchemeConfig_v1630_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_93     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RepetitionSchemeConfig_v1630 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_repetitionSchemeConfig_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_repetitionSchemeConfig_v1630, T_repetitionSchemeConfig_v1630_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDSCH_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_repetitionSchemeConfig_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_repetitionSchemeConfig_v1630 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_Config_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_1_2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_RetxDCI_1_2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_RetxDCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_sSCellDynDCI_1_2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_sSCellDynDCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_explicitlist_01_sequence[] = {
  { &hf_nr_rrc_dl_OrJointTCI_StateToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State },
  { &hf_nr_rrc_dl_OrJointTCI_StateToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_explicitlist_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_explicitlist_01, T_explicitlist_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_dl_OrJointTCI_StateList_r17_vals[] = {
  {   0, "explicitlist" },
  {   1, "unifiedTCI-StateRef-r17" },
  { 0, NULL }
};

static const per_choice_t T_dl_OrJointTCI_StateList_r17_choice[] = {
  {   0, &hf_nr_rrc_explicitlist_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_explicitlist_01 },
  {   1, &hf_nr_rrc_unifiedTCI_StateRef_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ServingCellAndBWP_Id_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_OrJointTCI_StateList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_OrJointTCI_StateList_r17, T_dl_OrJointTCI_StateList_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_beamAppTime_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n7" },
  {   4, "n14" },
  {   5, "n28" },
  {   6, "n42" },
  {   7, "n56" },
  {   8, "n70" },
  {   9, "n84" },
  {  10, "n98" },
  {  11, "n112" },
  {  12, "n224" },
  {  13, "n336" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamAppTime_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16_sequence_of[1] = {
  { &hf_nr_rrc_pdsch_TDRA_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16, SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16_sequence_of,
                                                  1, maxNrofMultiplePDSCHs_r17, FALSE);

  return offset;
}


static const per_sequence_t MultiPDSCH_TDRA_r17_sequence[] = {
  { &hf_nr_rrc_pdsch_TDRA_List_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MultiPDSCH_TDRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MultiPDSCH_TDRA_r17, MultiPDSCH_TDRA_r17_sequence);

  return offset;
}


static const per_sequence_t Dummy_TDRA_List_sequence_of[1] = {
  { &hf_nr_rrc_Dummy_TDRA_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiPDSCH_TDRA_r17 },
};

static int
dissect_nr_rrc_Dummy_TDRA_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_Dummy_TDRA_List, Dummy_TDRA_List_sequence_of,
                                                  1, maxNrofDL_Allocations, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dummy_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dummy_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_94     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_Dummy_TDRA_List },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dummy, T_dummy_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_FD_OCC_DisabledForRank1_PDSCH_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_FD_OCC_DisabledForRank1_PDSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxK0_SchedulingOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxK0_SchedulingOffset_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t MinSchedulingOffsetK0_Values_r17_sequence_of[1] = {
  { &hf_nr_rrc_MinSchedulingOffsetK0_Values_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxK0_SchedulingOffset_r17 },
};

static int
dissect_nr_rrc_MinSchedulingOffsetK0_Values_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MinSchedulingOffsetK0_Values_r17, MinSchedulingOffsetK0_Values_r17_sequence_of,
                                                  1, maxNrOfMinSchedulingOffsetValues_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_minimumSchedulingOffsetK0_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_minimumSchedulingOffsetK0_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_95     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MinSchedulingOffsetK0_Values_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_minimumSchedulingOffsetK0_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_minimumSchedulingOffsetK0_r17, T_minimumSchedulingOffsetK0_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_Table_r17_vals[] = {
  {   0, "qam1024" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_Table_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_TableDCI_1_2_r17_vals[] = {
  {   0, "qam1024" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_TableDCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_xOverheadMulticast_r17_vals[] = {
  {   0, "xOh6" },
  {   1, "xOh12" },
  {   2, "xOh18" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_xOverheadMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_priorityIndicatorDCI_4_2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_priorityIndicatorDCI_4_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_20_maxDCI_4_2_Size_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            20U, maxDCI_4_2_Size_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t PDSCH_Config_eag_3_sequence[] = {
  { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_1_2_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_RetxDCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_RetxDCI_1_2_r17 },
  { &hf_nr_rrc_pucch_sSCellDynDCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_sSCellDynDCI_1_2_r17 },
  { &hf_nr_rrc_dl_OrJointTCI_StateList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_OrJointTCI_StateList_r17 },
  { &hf_nr_rrc_beamAppTime_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamAppTime_r17 },
  { &hf_nr_rrc_dummy        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy },
  { &hf_nr_rrc_dmrs_FD_OCC_DisabledForRank1_PDSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_FD_OCC_DisabledForRank1_PDSCH_r17 },
  { &hf_nr_rrc_minimumSchedulingOffsetK0_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minimumSchedulingOffsetK0_r17 },
  { &hf_nr_rrc_harq_ProcessNumberSizeDCI_1_2_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_5 },
  { &hf_nr_rrc_harq_ProcessNumberSizeDCI_1_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_5 },
  { &hf_nr_rrc_mcs_Table_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_Table_r17 },
  { &hf_nr_rrc_mcs_TableDCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_TableDCI_1_2_r17 },
  { &hf_nr_rrc_xOverheadMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_xOverheadMulticast_r17 },
  { &hf_nr_rrc_priorityIndicatorDCI_4_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_priorityIndicatorDCI_4_2_r17 },
  { &hf_nr_rrc_sizeDCI_4_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_20_maxDCI_4_2_Size_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_Config_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_Config_eag_3_sequence);

  return offset;
}


static const per_sequence_t MultiPDSCH_TDRA_List_r17_sequence_of[1] = {
  { &hf_nr_rrc_MultiPDSCH_TDRA_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiPDSCH_TDRA_r17 },
};

static int
dissect_nr_rrc_MultiPDSCH_TDRA_List_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_MultiPDSCH_TDRA_List_r17, MultiPDSCH_TDRA_List_r17_sequence_of,
                                                  1, maxNrofDL_AllocationsExt_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_96     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MultiPDSCH_TDRA_List_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17, T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDSCH_Config_eag_4_sequence[] = {
  { &hf_nr_rrc_pdsch_TimeDomainAllocationListForMultiPDSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_Config_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_Config_eag_4_sequence);

  return offset;
}


static const per_sequence_t PDSCH_Config_sequence[] = {
  { &hf_nr_rrc_dataScramblingIdentityPDSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA },
  { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB },
  { &hf_nr_rrc_tci_StatesToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State },
  { &hf_nr_rrc_tci_StatesToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId },
  { &hf_nr_rrc_vrb_ToPRB_Interleaver, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_vrb_ToPRB_Interleaver },
  { &hf_nr_rrc_resourceAllocation_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_01 },
  { &hf_nr_rrc_pdsch_TimeDomainAllocationList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_TimeDomainAllocationList },
  { &hf_nr_rrc_pdsch_AggregationFactor, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_AggregationFactor },
  { &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
  { &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
  { &hf_nr_rrc_rateMatchPatternGroup1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RateMatchPatternGroup },
  { &hf_nr_rrc_rateMatchPatternGroup2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RateMatchPatternGroup },
  { &hf_nr_rrc_rbg_Size_01  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rbg_Size_01 },
  { &hf_nr_rrc_mcs_Table_01 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_Table_01 },
  { &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI },
  { &hf_nr_rrc_prb_BundlingType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prb_BundlingType },
  { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource },
  { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId },
  { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet },
  { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId },
  { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet },
  { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId },
  { &hf_nr_rrc_p_ZP_CSI_RS_ResourceSet, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_p_ZP_CSI_RS_ResourceSet },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_Config_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_Config_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_Config_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_Config, PDSCH_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdsch_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_27     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_Config_r17, T_pdsch_Config_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BWP_DownlinkDedicatedSDT_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_Config_r17 },
  { &hf_nr_rrc_pdsch_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_DownlinkDedicatedSDT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP_DownlinkDedicatedSDT_r17, BWP_DownlinkDedicatedSDT_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_cg_SDT_RSRP_ChangeThreshold_r17_vals[] = {
  {   0, "dB2" },
  {   1, "dB4" },
  {   2, "dB6" },
  {   3, "dB8" },
  {   4, "dB10" },
  {   5, "dB14" },
  {   6, "dB18" },
  {   7, "dB22" },
  {   8, "dB26" },
  {   9, "dB30" },
  {  10, "dB34" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cg_SDT_RSRP_ChangeThreshold_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CG_SDT_TA_ValidationConfig_r17_sequence[] = {
  { &hf_nr_rrc_cg_SDT_RSRP_ChangeThreshold_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cg_SDT_RSRP_ChangeThreshold_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CG_SDT_TA_ValidationConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CG_SDT_TA_ValidationConfig_r17, CG_SDT_TA_ValidationConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_cg_SDT_TA_ValidationConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_cg_SDT_TA_ValidationConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_25     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CG_SDT_TA_ValidationConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cg_SDT_TA_ValidationConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cg_SDT_TA_ValidationConfig_r17, T_cg_SDT_TA_ValidationConfig_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SDT_MAC_PHY_CG_Config_r17_sequence[] = {
  { &hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17 },
  { &hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity },
  { &hf_nr_rrc_cg_SDT_ConfigInitialBWP_NUL_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_SDT_ConfigInitialBWP_NUL_r17 },
  { &hf_nr_rrc_cg_SDT_ConfigInitialBWP_SUL_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_SDT_ConfigInitialBWP_SUL_r17 },
  { &hf_nr_rrc_cg_SDT_ConfigInitialBWP_DL_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_DownlinkDedicatedSDT_r17 },
  { &hf_nr_rrc_cg_SDT_TimeAlignmentTimer_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TimeAlignmentTimer },
  { &hf_nr_rrc_cg_SDT_RSRP_ThresholdSSB_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_cg_SDT_TA_ValidationConfig_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_SDT_TA_ValidationConfig_r17 },
  { &hf_nr_rrc_cg_SDT_CS_RNTI_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SDT_MAC_PHY_CG_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SDT_MAC_PHY_CG_Config_r17, SDT_MAC_PHY_CG_Config_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_SRS_PosResourceSetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSRS_PosResourceSets_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16_sequence_of[1] = {
  { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceSetId_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16, SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16_sequence_of,
                                                  1, maxNrofSRS_PosResourceSets_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16_sequence_of[1] = {
  { &hf_nr_rrc_srs_PosResourceIdList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceId_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16_sequence_of,
                                                  1, maxNrofSRS_ResourcesPerSet, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSRS_TriggerStates_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_aperiodicSRS_ResourceTriggerList_r16_sequence_of[1] = {
  { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 },
};

static int
dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16, T_aperiodicSRS_ResourceTriggerList_r16_sequence_of,
                                                  1, maxNrofSRS_TriggerStates_1, FALSE);

  return offset;
}


static const per_sequence_t T_aperiodic_r16_sequence[] = {
  { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_aperiodic_r16, T_aperiodic_r16_sequence);

  return offset;
}


static const per_sequence_t T_semi_persistent_r16_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_semi_persistent_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semi_persistent_r16, T_semi_persistent_r16_sequence);

  return offset;
}


static const per_sequence_t T_periodic_r16_sequence[] = {
  { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};

static int
dissect_nr_rrc_T_periodic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_periodic_r16, T_periodic_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_resourceType_r16_vals[] = {
  {   0, "aperiodic-r16" },
  {   1, "semi-persistent-r16" },
  {   2, "periodic-r16" },
  { 0, NULL }
};

static const per_choice_t T_resourceType_r16_choice[] = {
  {   0, &hf_nr_rrc_aperiodic_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_aperiodic_r16 },
  {   1, &hf_nr_rrc_semi_persistent_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_semi_persistent_r16 },
  {   2, &hf_nr_rrc_periodic_r16 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_periodic_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_resourceType_r16, T_resourceType_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_halfFrameIndex_r16_vals[] = {
  {   0, "zero" },
  {   1, "one" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_halfFrameIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_Periodicity_r16_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms40" },
  {   4, "ms80" },
  {   5, "ms160" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_Periodicity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sfn0_Offset_r16_sequence[] = {
  { &hf_nr_rrc_sfn_Offset_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
  { &hf_nr_rrc_integerSubframeOffset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_9 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sfn0_Offset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sfn0_Offset_r16, T_sfn0_Offset_r16_sequence);

  return offset;
}


static const per_sequence_t SSB_Configuration_r16_sequence[] = {
  { &hf_nr_rrc_ssb_Freq_r16 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_halfFrameIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_halfFrameIndex_r16 },
  { &hf_nr_rrc_ssbSubcarrierSpacing_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_ssb_Periodicity_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_Periodicity_r16 },
  { &hf_nr_rrc_sfn0_Offset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn0_Offset_r16 },
  { &hf_nr_rrc_sfn_SSB_Offset_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_ss_PBCH_BlockPower_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M60_50 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_Configuration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_Configuration_r16, SSB_Configuration_r16_sequence);

  return offset;
}


static const per_sequence_t SSB_InfoNcell_r16_sequence[] = {
  { &hf_nr_rrc_physicalCellId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_ssb_IndexNcell_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_Index },
  { &hf_nr_rrc_ssb_Configuration_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_Configuration_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_InfoNcell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_InfoNcell_r16, SSB_InfoNcell_r16_sequence);

  return offset;
}


static const per_sequence_t DL_PRS_Info_r16_sequence[] = {
  { &hf_nr_rrc_dl_PRS_ID_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
  { &hf_nr_rrc_dl_PRS_ResourceSetId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
  { &hf_nr_rrc_dl_PRS_ResourceId_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_63 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_PRS_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_PRS_Info_r16, DL_PRS_Info_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_pathlossReferenceRS_Pos_r16_vals[] = {
  {   0, "ssb-IndexServing-r16" },
  {   1, "ssb-Ncell-r16" },
  {   2, "dl-PRS-r16" },
  { 0, NULL }
};

static const per_choice_t T_pathlossReferenceRS_Pos_r16_choice[] = {
  {   0, &hf_nr_rrc_ssb_IndexServing_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_ssb_Ncell_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_InfoNcell_r16 },
  {   2, &hf_nr_rrc_dl_PRS_r16   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DL_PRS_Info_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pathlossReferenceRS_Pos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pathlossReferenceRS_Pos_r16, T_pathlossReferenceRS_Pos_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SRS_PosResourceSet_r16_sequence[] = {
  { &hf_nr_rrc_srs_PosResourceSetId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceSetId_r16 },
  { &hf_nr_rrc_srs_PosResourceIdList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16 },
  { &hf_nr_rrc_resourceType_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_r16 },
  { &hf_nr_rrc_alpha_r16    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Alpha },
  { &hf_nr_rrc_p0_r16       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { &hf_nr_rrc_pathlossReferenceRS_Pos_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pathlossReferenceRS_Pos_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PosResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_PosResourceSet_r16, SRS_PosResourceSet_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16_sequence_of[1] = {
  { &hf_nr_rrc_srs_PosResourceSetToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceSet_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16, SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16_sequence_of,
                                                  1, maxNrofSRS_PosResourceSets_r16, FALSE);

  return offset;
}


static const per_sequence_t T_n2_r16_sequence[] = {
  { &hf_nr_rrc_combOffset_n2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
  { &hf_nr_rrc_cyclicShift_n2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_n2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_n2_r16, T_n2_r16_sequence);

  return offset;
}


static const per_sequence_t T_n4_r16_sequence[] = {
  { &hf_nr_rrc_combOffset_n4_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_cyclicShift_n4_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_n4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_n4_r16, T_n4_r16_sequence);

  return offset;
}


static const per_sequence_t T_n8_r16_sequence[] = {
  { &hf_nr_rrc_combOffset_n8_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
  { &hf_nr_rrc_cyclicShift_n8_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_n8_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_n8_r16, T_n8_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_transmissionComb_r16_vals[] = {
  {   0, "n2-r16" },
  {   1, "n4-r16" },
  {   2, "n8-r16" },
  { 0, NULL }
};

static const per_choice_t T_transmissionComb_r16_choice[] = {
  {   0, &hf_nr_rrc_n2_r16       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_n2_r16 },
  {   1, &hf_nr_rrc_n4_r16       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_n4_r16 },
  {   2, &hf_nr_rrc_n8_r16       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_n8_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_transmissionComb_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_transmissionComb_r16, T_transmissionComb_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofSymbols_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofSymbols_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_resourceMapping_r16_01_sequence[] = {
  { &hf_nr_rrc_startPosition_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { &hf_nr_rrc_nrofSymbols_r16_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceMapping_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_resourceMapping_r16_01, T_resourceMapping_r16_01_sequence);

  return offset;
}


static const per_sequence_t T_freqHopping_r16_sequence[] = {
  { &hf_nr_rrc_c_SRS_r16    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_freqHopping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_freqHopping_r16, T_freqHopping_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_groupOrSequenceHopping_r16_vals[] = {
  {   0, "neither" },
  {   1, "groupHopping" },
  {   2, "sequenceHopping" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_groupOrSequenceHopping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_aperiodic_r16_01_sequence[] = {
  { &hf_nr_rrc_slotOffset_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodic_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_aperiodic_r16_01, T_aperiodic_r16_01_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_81919(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 81919U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_SRS_PeriodicityAndOffset_r16_vals[] = {
  {   0, "sl1" },
  {   1, "sl2" },
  {   2, "sl4" },
  {   3, "sl5" },
  {   4, "sl8" },
  {   5, "sl10" },
  {   6, "sl16" },
  {   7, "sl20" },
  {   8, "sl32" },
  {   9, "sl40" },
  {  10, "sl64" },
  {  11, "sl80" },
  {  12, "sl160" },
  {  13, "sl320" },
  {  14, "sl640" },
  {  15, "sl1280" },
  {  16, "sl2560" },
  {  17, "sl5120" },
  {  18, "sl10240" },
  {  19, "sl40960" },
  {  20, "sl81920" },
  { 0, NULL }
};

static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_r16_vals);

static const per_choice_t SRS_PeriodicityAndOffset_r16_choice[] = {
  {   0, &hf_nr_rrc_sl1          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_sl2          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1 },
  {   2, &hf_nr_rrc_sl4          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_3 },
  {   3, &hf_nr_rrc_sl5          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_4 },
  {   4, &hf_nr_rrc_sl8          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_7 },
  {   5, &hf_nr_rrc_sl10         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_9 },
  {   6, &hf_nr_rrc_sl16         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_15 },
  {   7, &hf_nr_rrc_sl20         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   8, &hf_nr_rrc_sl32         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   9, &hf_nr_rrc_sl40         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {  10, &hf_nr_rrc_sl64         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {  11, &hf_nr_rrc_sl80         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {  12, &hf_nr_rrc_sl160        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {  13, &hf_nr_rrc_sl320        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {  14, &hf_nr_rrc_sl640        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  15, &hf_nr_rrc_sl1280       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  16, &hf_nr_rrc_sl2560       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  17, &hf_nr_rrc_sl5120       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  18, &hf_nr_rrc_sl10240      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  {  19, &hf_nr_rrc_sl40960      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_40959 },
  {  20, &hf_nr_rrc_sl81920      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_81919 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PeriodicityAndOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SRS_PeriodicityAndOffset_r16, SRS_PeriodicityAndOffset_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_SRS_PeriodicityAndOffsetExt_r16_vals[] = {
  {   0, "sl128" },
  {   1, "sl256" },
  {   2, "sl512" },
  {   3, "sl20480" },
  { 0, NULL }
};

static const per_choice_t SRS_PeriodicityAndOffsetExt_r16_choice[] = {
  {   0, &hf_nr_rrc_sl128        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_127 },
  {   1, &hf_nr_rrc_sl256        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_255 },
  {   2, &hf_nr_rrc_sl512        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_511 },
  {   3, &hf_nr_rrc_sl20480      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_20479 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PeriodicityAndOffsetExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SRS_PeriodicityAndOffsetExt_r16, SRS_PeriodicityAndOffsetExt_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_eag_1_09_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_sp_Ext_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_PeriodicityAndOffsetExt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_09_sequence);

  return offset;
}


static const per_sequence_t T_semi_persistent_r16_01_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_sp_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_09 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semi_persistent_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semi_persistent_r16_01, T_semi_persistent_r16_01_sequence);

  return offset;
}


static const per_sequence_t T_eag_1_10_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_p_Ext_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_PeriodicityAndOffsetExt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_10_sequence);

  return offset;
}


static const per_sequence_t T_periodic_r16_01_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_p_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_periodic_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_periodic_r16_01, T_periodic_r16_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_resourceType_r16_01_vals[] = {
  {   0, "aperiodic-r16" },
  {   1, "semi-persistent-r16" },
  {   2, "periodic-r16" },
  { 0, NULL }
};

static const per_choice_t T_resourceType_r16_01_choice[] = {
  {   0, &hf_nr_rrc_aperiodic_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_aperiodic_r16_01 },
  {   1, &hf_nr_rrc_semi_persistent_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_semi_persistent_r16_01 },
  {   2, &hf_nr_rrc_periodic_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_periodic_r16_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_resourceType_r16_01, T_resourceType_r16_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceSelection_r16_vals[] = {
  {   0, "srs-ResourceId-r16" },
  {   1, "srs-PosResourceId-r16" },
  { 0, NULL }
};

static const per_choice_t T_resourceSelection_r16_choice[] = {
  {   0, &hf_nr_rrc_srs_ResourceId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_ResourceId },
  {   1, &hf_nr_rrc_srs_PosResourceId_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_PosResourceId_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceSelection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_resourceSelection_r16, T_resourceSelection_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_srs_SpatialRelation_r16_sequence[] = {
  { &hf_nr_rrc_resourceSelection_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceSelection_r16 },
  { &hf_nr_rrc_uplinkBWP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_SpatialRelation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_SpatialRelation_r16, T_srs_SpatialRelation_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_r16_02_vals[] = {
  {   0, "ssb-IndexServing-r16" },
  {   1, "csi-RS-IndexServing-r16" },
  {   2, "srs-SpatialRelation-r16" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_r16_02_choice[] = {
  {   0, &hf_nr_rrc_ssb_IndexServing_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_IndexServing_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  {   2, &hf_nr_rrc_srs_SpatialRelation_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_srs_SpatialRelation_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_r16_02, T_referenceSignal_r16_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_servingRS_r16_sequence[] = {
  { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_referenceSignal_r16_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_r16_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_servingRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_servingRS_r16, T_servingRS_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SRS_SpatialRelationInfoPos_r16_vals[] = {
  {   0, "servingRS-r16" },
  {   1, "ssb-Ncell-r16" },
  {   2, "dl-PRS-r16" },
  { 0, NULL }
};

static const per_choice_t SRS_SpatialRelationInfoPos_r16_choice[] = {
  {   0, &hf_nr_rrc_servingRS_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_servingRS_r16 },
  {   1, &hf_nr_rrc_ssb_Ncell_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_InfoNcell_r16 },
  {   2, &hf_nr_rrc_dl_PRS_r16   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DL_PRS_Info_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SRS_SpatialRelationInfoPos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SRS_SpatialRelationInfoPos_r16, SRS_SpatialRelationInfoPos_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SRS_PosResource_r16_sequence[] = {
  { &hf_nr_rrc_srs_PosResourceId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceId_r16 },
  { &hf_nr_rrc_transmissionComb_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb_r16 },
  { &hf_nr_rrc_resourceMapping_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceMapping_r16_01 },
  { &hf_nr_rrc_freqDomainShift_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268 },
  { &hf_nr_rrc_freqHopping_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqHopping_r16 },
  { &hf_nr_rrc_groupOrSequenceHopping_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupOrSequenceHopping_r16 },
  { &hf_nr_rrc_resourceType_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_r16_01 },
  { &hf_nr_rrc_sequenceId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_65535 },
  { &hf_nr_rrc_spatialRelationInfoPos_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_SpatialRelationInfoPos_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PosResource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_PosResource_r16, SRS_PosResource_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16_sequence_of[1] = {
  { &hf_nr_rrc_srs_PosResourceToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResource_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16, SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16_sequence_of,
                                                  1, maxNrofSRS_PosResources_r16, FALSE);

  return offset;
}


static const per_sequence_t SRS_PosConfig_r17_sequence[] = {
  { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16 },
  { &hf_nr_rrc_srs_PosResourceSetToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16 },
  { &hf_nr_rrc_srs_PosResourceToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 },
  { &hf_nr_rrc_srs_PosResourceToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PosConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_PosConfig_r17, SRS_PosConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_RSRP_ChangeThreshold_r17_vals[] = {
  {   0, "dB4" },
  {   1, "dB6" },
  {   2, "dB8" },
  {   3, "dB10" },
  {   4, "dB14" },
  {   5, "dB18" },
  {   6, "dB22" },
  {   7, "dB26" },
  {   8, "dB30" },
  {   9, "dB34" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_RSRP_ChangeThreshold_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_PosRRC_InactiveConfig_r17_sequence[] = {
  { &hf_nr_rrc_srs_PosConfigNUL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_PosConfig_r17 },
  { &hf_nr_rrc_srs_PosConfigSUL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_PosConfig_r17 },
  { &hf_nr_rrc_bwp_NUL_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP },
  { &hf_nr_rrc_bwp_SUL_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP },
  { &hf_nr_rrc_inactivePosSRS_TimeAlignmentTimer_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TimeAlignmentTimer },
  { &hf_nr_rrc_inactivePosSRS_RSRP_ChangeThreshold_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_ChangeThreshold_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PosRRC_InactiveConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_PosRRC_InactiveConfig_r17, SRS_PosRRC_InactiveConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_omitEN_DC_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_omitEN_DC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_includeNR_DC_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_includeNR_DC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_includeNE_DC_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_includeNE_DC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mrdc_Request_sequence[] = {
  { &hf_nr_rrc_omitEN_DC    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_omitEN_DC },
  { &hf_nr_rrc_includeNR_DC , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeNR_DC },
  { &hf_nr_rrc_includeNE_DC , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_includeNE_DC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mrdc_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mrdc_Request, T_mrdc_Request_sequence);

  return offset;
}


static const value_string nr_rrc_T_type1_SinglePanel_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_SinglePanel_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type1_MultiPanel_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_MultiPanel_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_r16_03_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_PortSelection_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_PortSelection_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_codebookTypeRequest_r16_sequence[] = {
  { &hf_nr_rrc_type1_SinglePanel_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_SinglePanel_r16_01 },
  { &hf_nr_rrc_type1_MultiPanel_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_MultiPanel_r16_01 },
  { &hf_nr_rrc_type2_r16_03 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_r16_03 },
  { &hf_nr_rrc_type2_PortSelection_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_PortSelection_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_codebookTypeRequest_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_codebookTypeRequest_r16, T_codebookTypeRequest_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitchRequest_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitchRequest_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UE_CapabilityRequestFilterCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_codebookTypeRequest_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_codebookTypeRequest_r16 },
  { &hf_nr_rrc_uplinkTxSwitchRequest_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitchRequest_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRequestFilterCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UE_CapabilityRequestFilterCommon_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_mode_r16_vals[] = {
  {   0, "sync" },
  {   1, "async" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CellGrouping_r16_sequence[] = {
  { &hf_nr_rrc_mcg_r16      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR },
  { &hf_nr_rrc_scg_r16      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR },
  { &hf_nr_rrc_mode_r16     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mode_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellGrouping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellGrouping_r16, CellGrouping_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16_sequence_of[1] = {
  { &hf_nr_rrc_requestedCellGrouping_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGrouping_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16, SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16_sequence_of,
                                                  1, maxCellGroupings_r16, FALSE);

  return offset;
}


static const per_sequence_t UE_CapabilityRequestFilterCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_requestedCellGrouping_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRequestFilterCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UE_CapabilityRequestFilterCommon_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_fallbackGroupFiveRequest_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fallbackGroupFiveRequest_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UE_CapabilityRequestFilterCommon_eag_3_sequence[] = {
  { &hf_nr_rrc_fallbackGroupFiveRequest_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fallbackGroupFiveRequest_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRequestFilterCommon_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UE_CapabilityRequestFilterCommon_eag_3_sequence);

  return offset;
}


static const per_sequence_t UE_CapabilityRequestFilterCommon_sequence[] = {
  { &hf_nr_rrc_mrdc_Request , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mrdc_Request },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRequestFilterCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRequestFilterCommon_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRequestFilterCommon_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRequestFilterCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_CapabilityRequestFilterCommon, UE_CapabilityRequestFilterCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_rrc_SegAllowed_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rrc_SegAllowed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_43_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_43, T_nonCriticalExtension_43_sequence);

  return offset;
}


static const per_sequence_t UECapabilityEnquiry_v1610_IEs_sequence[] = {
  { &hf_nr_rrc_rrc_SegAllowed_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rrc_SegAllowed_r16 },
  { &hf_nr_rrc_nonCriticalExtension_110, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_43 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityEnquiry_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityEnquiry_v1610_IEs, UECapabilityEnquiry_v1610_IEs_sequence);

  return offset;
}


static const per_sequence_t UECapabilityEnquiry_v1560_IEs_sequence[] = {
  { &hf_nr_rrc_capabilityRequestFilterCommon, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_CapabilityRequestFilterCommon },
  { &hf_nr_rrc_nonCriticalExtension_109, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UECapabilityEnquiry_v1610_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityEnquiry_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityEnquiry_v1560_IEs, UECapabilityEnquiry_v1560_IEs_sequence);

  return offset;
}



static int
dissect_nr_rrc_AvailabilityCombinationsPerCellIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofDUCells_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxAI_DCI_PayloadSize_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxAI_DCI_PayloadSize_1_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_AvailabilityCombinationId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofAvailabilityCombinationsPerSet_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_resourceAvailability_r16_sequence_of[1] = {
  { &hf_nr_rrc_resourceAvailability_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
};

static int
dissect_nr_rrc_T_resourceAvailability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_resourceAvailability_r16, T_resourceAvailability_r16_sequence_of,
                                                  1, maxNrofResourceAvailabilityPerCombination_r16, FALSE);

  return offset;
}


static const per_sequence_t AvailabilityCombination_r16_sequence[] = {
  { &hf_nr_rrc_availabilityCombinationId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationId_r16 },
  { &hf_nr_rrc_resourceAvailability_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAvailability_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AvailabilityCombination_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AvailabilityCombination_r16, AvailabilityCombination_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16_sequence_of[1] = {
  { &hf_nr_rrc_availabilityCombinations_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombination_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16, SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16_sequence_of,
                                                  1, maxNrofAvailabilityCombinationsPerSet_r16, FALSE);

  return offset;
}


static const per_sequence_t T_resourceAvailability_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_resourceAvailability_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
};

static int
dissect_nr_rrc_T_resourceAvailability_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_resourceAvailability_r17_01, T_resourceAvailability_r17_01_sequence_of,
                                                  1, maxNrofResourceAvailabilityPerCombination_r16, FALSE);

  return offset;
}


static const per_sequence_t T_rb_Sets_r17_sequence_of[1] = {
  { &hf_nr_rrc_rb_Sets_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
};

static int
dissect_nr_rrc_T_rb_Sets_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_rb_Sets_r17, T_rb_Sets_r17_sequence_of,
                                                  1, maxNrofRB_Sets_r17, FALSE);

  return offset;
}


static const per_sequence_t RB_SetGroup_r17_sequence[] = {
  { &hf_nr_rrc_resourceAvailability_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceAvailability_r17_01 },
  { &hf_nr_rrc_rb_Sets_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rb_Sets_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RB_SetGroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RB_SetGroup_r17, RB_SetGroup_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17_sequence_of[1] = {
  { &hf_nr_rrc_rb_SetGroups_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RB_SetGroup_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17, SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17_sequence_of,
                                                  1, maxNrofRB_SetGroups_r17, FALSE);

  return offset;
}


static const per_sequence_t T_resourceAvailability_r17_sequence_of[1] = {
  { &hf_nr_rrc_resourceAvailability_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
};

static int
dissect_nr_rrc_T_resourceAvailability_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_resourceAvailability_r17, T_resourceAvailability_r17_sequence_of,
                                                  1, maxNrofResourceAvailabilityPerCombination_r16, FALSE);

  return offset;
}


static const per_sequence_t AvailabilityCombinationRB_Groups_r17_sequence[] = {
  { &hf_nr_rrc_availabilityCombinationId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationId_r16 },
  { &hf_nr_rrc_rb_SetGroups_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17 },
  { &hf_nr_rrc_resourceAvailability_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourceAvailability_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AvailabilityCombinationRB_Groups_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AvailabilityCombinationRB_Groups_r17, AvailabilityCombinationRB_Groups_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17_sequence_of[1] = {
  { &hf_nr_rrc_availabilityCombinationsRB_Groups_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationRB_Groups_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17, SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17_sequence_of,
                                                  1, maxNrofAvailabilityCombinationsPerSet_r16, FALSE);

  return offset;
}


static const per_sequence_t AvailabilityCombinationsPerCell_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_availabilityCombinationsRB_Groups_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AvailabilityCombinationsPerCell_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AvailabilityCombinationsPerCell_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t AvailabilityCombinationsPerCell_r16_eag_2_sequence[] = {
  { &hf_nr_rrc_positionInDCI_AI_RBGroups_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxAI_DCI_PayloadSize_1_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AvailabilityCombinationsPerCell_r16_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AvailabilityCombinationsPerCell_r16_eag_2_sequence);

  return offset;
}


static const per_sequence_t AvailabilityCombinationsPerCell_r16_sequence[] = {
  { &hf_nr_rrc_availabilityCombinationsPerCellIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationsPerCellIndex_r16 },
  { &hf_nr_rrc_iab_DU_CellIdentity_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
  { &hf_nr_rrc_positionInDCI_AI_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxAI_DCI_PayloadSize_1_r16 },
  { &hf_nr_rrc_availabilityCombinations_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationsPerCell_r16_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationsPerCell_r16_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AvailabilityCombinationsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AvailabilityCombinationsPerCell_r16, AvailabilityCombinationsPerCell_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_AI_RNTI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_nr_rrc_RNTI_Value(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxAI_DCI_PayloadSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxAI_DCI_PayloadSize_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16_sequence_of[1] = {
  { &hf_nr_rrc_availableCombToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationsPerCell_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16, SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16_sequence_of,
                                                  1, maxNrofDUCells_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16_sequence_of[1] = {
  { &hf_nr_rrc_availableCombToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationsPerCellIndex_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16, SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16_sequence_of,
                                                  1, maxNrofDUCells_r16, FALSE);

  return offset;
}


static const per_sequence_t AvailabilityIndicator_r16_sequence[] = {
  { &hf_nr_rrc_ai_RNTI_r16  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AI_RNTI_r16 },
  { &hf_nr_rrc_dci_PayloadSizeAI_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxAI_DCI_PayloadSize_r16 },
  { &hf_nr_rrc_availableCombToAddModList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16 },
  { &hf_nr_rrc_availableCombToReleaseList_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AvailabilityIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AvailabilityIndicator_r16, AvailabilityIndicator_r16_sequence);

  return offset;
}


static const per_sequence_t BFR_SSB_Resource_sequence[] = {
  { &hf_nr_rrc_ssb_01       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
  { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BFR_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BFR_SSB_Resource, BFR_SSB_Resource_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxRA_Occasions_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_ra_OccasionList_sequence_of[1] = {
  { &hf_nr_rrc_ra_OccasionList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1 },
};

static int
dissect_nr_rrc_T_ra_OccasionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_ra_OccasionList, T_ra_OccasionList_sequence_of,
                                                  1, maxRA_OccasionsPerCSIRS, FALSE);

  return offset;
}


static const per_sequence_t BFR_CSIRS_Resource_sequence[] = {
  { &hf_nr_rrc_csi_RS_01    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { &hf_nr_rrc_ra_OccasionList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_OccasionList },
  { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_63 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BFR_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BFR_CSIRS_Resource, BFR_CSIRS_Resource_sequence);

  return offset;
}


static const value_string nr_rrc_PRACH_ResourceDedicatedBFR_vals[] = {
  {   0, "ssb" },
  {   1, "csi-RS" },
  { 0, NULL }
};

static const per_choice_t PRACH_ResourceDedicatedBFR_choice[] = {
  {   0, &hf_nr_rrc_ssb          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BFR_SSB_Resource },
  {   1, &hf_nr_rrc_csi_RS       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BFR_CSIRS_Resource },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_PRACH_ResourceDedicatedBFR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_PRACH_ResourceDedicatedBFR, PRACH_ResourceDedicatedBFR_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR_sequence_of[1] = {
  { &hf_nr_rrc_candidateBeamRSList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRACH_ResourceDedicatedBFR },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR, SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR_sequence_of,
                                                  1, maxNrofCandidateBeams, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ssb_perRACH_Occasion_vals[] = {
  {   0, "oneEighth" },
  {   1, "oneFourth" },
  {   2, "oneHalf" },
  {   3, "one" },
  {   4, "two" },
  {   5, "four" },
  {   6, "eight" },
  {   7, "sixteen" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_perRACH_Occasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_beamFailureRecoveryTimer_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms40" },
  {   3, "ms60" },
  {   4, "ms80" },
  {   5, "ms100" },
  {   6, "ms150" },
  {   7, "ms200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamFailureRecoveryTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BeamFailureRecoveryConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamFailureRecoveryConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BeamFailureRecoveryConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t CandidateBeamRSListExt_r16_sequence_of[1] = {
  { &hf_nr_rrc_CandidateBeamRSListExt_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRACH_ResourceDedicatedBFR },
};

static int
dissect_nr_rrc_CandidateBeamRSListExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CandidateBeamRSListExt_r16, CandidateBeamRSListExt_r16_sequence_of,
                                                  1, maxNrofCandidateBeamsExt_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_candidateBeamRSListExt_v1610_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_candidateBeamRSListExt_v1610_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_29     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CandidateBeamRSListExt_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_candidateBeamRSListExt_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_candidateBeamRSListExt_v1610, T_candidateBeamRSListExt_v1610_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BeamFailureRecoveryConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_ra_PrioritizationTwoStep_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RA_Prioritization },
  { &hf_nr_rrc_candidateBeamRSListExt_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_candidateBeamRSListExt_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamFailureRecoveryConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BeamFailureRecoveryConfig_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_spCell_BFR_CBRA_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spCell_BFR_CBRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BeamFailureRecoveryConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_spCell_BFR_CBRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spCell_BFR_CBRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamFailureRecoveryConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BeamFailureRecoveryConfig_eag_3_sequence);

  return offset;
}


static const per_sequence_t BeamFailureRecoveryConfig_sequence[] = {
  { &hf_nr_rrc_rootSequenceIndex_BFR, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_137 },
  { &hf_nr_rrc_rach_ConfigBFR, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RACH_ConfigGeneric },
  { &hf_nr_rrc_rsrp_ThresholdSSB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_candidateBeamRSList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR },
  { &hf_nr_rrc_ssb_perRACH_Occasion, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_perRACH_Occasion },
  { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_recoverySearchSpaceId, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SearchSpaceId },
  { &hf_nr_rrc_ra_Prioritization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RA_Prioritization },
  { &hf_nr_rrc_beamFailureRecoveryTimer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamFailureRecoveryTimer },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamFailureRecoveryConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamFailureRecoveryConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamFailureRecoveryConfig_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BeamFailureRecoveryConfig, BeamFailureRecoveryConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_candidateBeamConfig_r16_vals[] = {
  {   0, "ssb-r16" },
  {   1, "csi-RS-r16" },
  { 0, NULL }
};

static const per_choice_t T_candidateBeamConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_ssb_r16      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_r16   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_candidateBeamConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_candidateBeamConfig_r16, T_candidateBeamConfig_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CandidateBeamRS_r16_sequence[] = {
  { &hf_nr_rrc_candidateBeamConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_candidateBeamConfig_r16 },
  { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CandidateBeamRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CandidateBeamRS_r16, CandidateBeamRS_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16_sequence_of[1] = {
  { &hf_nr_rrc_candidateBeamRS_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateBeamRS_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16, SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16_sequence_of,
                                                  1, maxNrofCandidateBeams_r16, FALSE);

  return offset;
}


static const per_sequence_t BeamFailureRecoveryRSConfig_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_candidateBeamRS_List2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamFailureRecoveryRSConfig_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BeamFailureRecoveryRSConfig_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t BeamFailureRecoveryRSConfig_r16_sequence[] = {
  { &hf_nr_rrc_rsrp_ThresholdBFR_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { &hf_nr_rrc_candidateBeamRS_List_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamFailureRecoveryRSConfig_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamFailureRecoveryRSConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BeamFailureRecoveryRSConfig_r16, BeamFailureRecoveryRSConfig_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_BH_LogicalChannelIdentity_Ext_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            320U, maxLC_ID_Iab_r16, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_BH_LogicalChannelIdentity_r16_vals[] = {
  {   0, "bh-LogicalChannelIdentity-r16" },
  {   1, "bh-LogicalChannelIdentityExt-r16" },
  { 0, NULL }
};

static const per_choice_t BH_LogicalChannelIdentity_r16_choice[] = {
  {   0, &hf_nr_rrc_bh_LogicalChannelIdentity_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LogicalChannelIdentity },
  {   1, &hf_nr_rrc_bh_LogicalChannelIdentityExt_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BH_LogicalChannelIdentity_Ext_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BH_LogicalChannelIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BH_LogicalChannelIdentity_r16, BH_LogicalChannelIdentity_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reestablishRLC_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reestablishRLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxRetxThreshold_vals[] = {
  {   0, "t1" },
  {   1, "t2" },
  {   2, "t3" },
  {   3, "t4" },
  {   4, "t6" },
  {   5, "t8" },
  {   6, "t16" },
  {   7, "t32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UL_AM_RLC_sequence[] = {
  { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthAM },
  { &hf_nr_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit },
  { &hf_nr_rrc_pollPDU      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU },
  { &hf_nr_rrc_pollByte     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte },
  { &hf_nr_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxRetxThreshold },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  mapping->tempDirection = DIRECTION_UPLINK;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_AM_RLC, UL_AM_RLC_sequence);



  return offset;
}


static const value_string nr_rrc_T_StatusProhibit_vals[] = {
  {   0, "ms0" },
  {   1, "ms5" },
  {   2, "ms10" },
  {   3, "ms15" },
  {   4, "ms20" },
  {   5, "ms25" },
  {   6, "ms30" },
  {   7, "ms35" },
  {   8, "ms40" },
  {   9, "ms45" },
  {  10, "ms50" },
  {  11, "ms55" },
  {  12, "ms60" },
  {  13, "ms65" },
  {  14, "ms70" },
  {  15, "ms75" },
  {  16, "ms80" },
  {  17, "ms85" },
  {  18, "ms90" },
  {  19, "ms95" },
  {  20, "ms100" },
  {  21, "ms105" },
  {  22, "ms110" },
  {  23, "ms115" },
  {  24, "ms120" },
  {  25, "ms125" },
  {  26, "ms130" },
  {  27, "ms135" },
  {  28, "ms140" },
  {  29, "ms145" },
  {  30, "ms150" },
  {  31, "ms155" },
  {  32, "ms160" },
  {  33, "ms165" },
  {  34, "ms170" },
  {  35, "ms175" },
  {  36, "ms180" },
  {  37, "ms185" },
  {  38, "ms190" },
  {  39, "ms195" },
  {  40, "ms200" },
  {  41, "ms205" },
  {  42, "ms210" },
  {  43, "ms215" },
  {  44, "ms220" },
  {  45, "ms225" },
  {  46, "ms230" },
  {  47, "ms235" },
  {  48, "ms240" },
  {  49, "ms245" },
  {  50, "ms250" },
  {  51, "ms300" },
  {  52, "ms350" },
  {  53, "ms400" },
  {  54, "ms450" },
  {  55, "ms500" },
  {  56, "ms800" },
  {  57, "ms1000" },
  {  58, "ms1200" },
  {  59, "ms1600" },
  {  60, "ms2000" },
  {  61, "ms2400" },
  {  62, "spare2" },
  {  63, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_StatusProhibit_vals);


static int
dissect_nr_rrc_T_StatusProhibit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     64, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DL_AM_RLC_sequence[] = {
  { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthAM },
  { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly },
  { &hf_nr_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_StatusProhibit },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  mapping->tempDirection = DIRECTION_DOWNLINK;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_AM_RLC, DL_AM_RLC_sequence);




  return offset;
}


static const per_sequence_t T_am_sequence[] = {
  { &hf_nr_rrc_ul_AM_RLC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_AM_RLC },
  { &hf_nr_rrc_dl_AM_RLC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_am, T_am_sequence);

  return offset;
}


static const per_sequence_t UL_UM_RLC_sequence[] = {
  { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthUM },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  mapping->tempDirection = DIRECTION_UPLINK;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UL_UM_RLC, UL_UM_RLC_sequence);



  return offset;
}


static const per_sequence_t DL_UM_RLC_sequence[] = {
  { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthUM },
  { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  mapping->tempDirection = DIRECTION_DOWNLINK;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_UM_RLC, DL_UM_RLC_sequence);



  return offset;
}


static const per_sequence_t T_um_Bi_Directional_sequence[] = {
  { &hf_nr_rrc_ul_UM_RLC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC },
  { &hf_nr_rrc_dl_UM_RLC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence);

  return offset;
}


static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = {
  { &hf_nr_rrc_ul_UM_RLC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence);

  return offset;
}


static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = {
  { &hf_nr_rrc_dl_UM_RLC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence);

  return offset;
}


static const value_string nr_rrc_RLC_Config_vals[] = {
  {   0, "am" },
  {   1, "um-Bi-Directional" },
  {   2, "um-Uni-Directional-UL" },
  {   3, "um-Uni-Directional-DL" },
  { 0, NULL }
};

static const per_choice_t RLC_Config_choice[] = {
  {   0, &hf_nr_rrc_am           , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_am },
  {   1, &hf_nr_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_um_Bi_Directional },
  {   2, &hf_nr_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_um_Uni_Directional_UL },
  {   3, &hf_nr_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_um_Uni_Directional_DL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  guint32 value;
  nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_RLC_Config, RLC_Config_choice,
                                 &value);

  mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE;
  mapping->rlcMode_present = TRUE;


  return offset;
}


static const value_string nr_rrc_T_prioritisedBitRate_vals[] = {
  {   0, "kBps0" },
  {   1, "kBps8" },
  {   2, "kBps16" },
  {   3, "kBps32" },
  {   4, "kBps64" },
  {   5, "kBps128" },
  {   6, "kBps256" },
  {   7, "kBps512" },
  {   8, "kBps1024" },
  {   9, "kBps2048" },
  {  10, "kBps4096" },
  {  11, "kBps8192" },
  {  12, "kBps16384" },
  {  13, "kBps32768" },
  {  14, "kBps65536" },
  {  15, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prioritisedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bucketSizeDuration_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms50" },
  {   4, "ms100" },
  {   5, "ms150" },
  {   6, "ms300" },
  {   7, "ms500" },
  {   8, "ms1000" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bucketSizeDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of[1] = {
  { &hf_nr_rrc_allowedServingCells_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of,
                                                  1, maxNrofServingCells_1, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxPUSCH_Duration_vals[] = {
  {   0, "ms0p02" },
  {   1, "ms0p04" },
  {   2, "ms0p0625" },
  {   3, "ms0p125" },
  {   4, "ms0p25" },
  {   5, "ms0p5" },
  {   6, "ms0p01-v1700" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxPUSCH_Duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredGrantType1Allowed_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredGrantType1Allowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bitRateQueryProhibitTimer_vals[] = {
  {   0, "s0" },
  {   1, "s0dot4" },
  {   2, "s0dot8" },
  {   3, "s1dot6" },
  {   4, "s3" },
  {   5, "s6" },
  {   6, "s12" },
  {   7, "s30" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bitRateQueryProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_allowedPHY_PriorityIndex_r16_vals[] = {
  {   0, "p0" },
  {   1, "p1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_allowedPHY_PriorityIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eag_1_06_sequence[] = {
  { &hf_nr_rrc_allowedCG_List_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16 },
  { &hf_nr_rrc_allowedPHY_PriorityIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_allowedPHY_PriorityIndex_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_06_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxLCG_ID_IAB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxLCG_ID_IAB_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_allowedHARQ_mode_r17_vals[] = {
  {   0, "harqModeA" },
  {   1, "harqModeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_allowedHARQ_mode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eag_2_03_sequence[] = {
  { &hf_nr_rrc_logicalChannelGroupIAB_Ext_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxLCG_ID_IAB_r17 },
  { &hf_nr_rrc_allowedHARQ_mode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_allowedHARQ_mode_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_2_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_2_03_sequence);

  return offset;
}


static const per_sequence_t T_ul_SpecificParameters_sequence[] = {
  { &hf_nr_rrc_priority     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_prioritisedBitRate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate },
  { &hf_nr_rrc_bucketSizeDuration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bucketSizeDuration },
  { &hf_nr_rrc_allowedServingCells, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex },
  { &hf_nr_rrc_allowedSCS_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing },
  { &hf_nr_rrc_maxPUSCH_Duration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxPUSCH_Duration },
  { &hf_nr_rrc_configuredGrantType1Allowed, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredGrantType1Allowed },
  { &hf_nr_rrc_logicalChannelGroup, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxLCG_ID },
  { &hf_nr_rrc_schedulingRequestID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_logicalChannelSR_Mask, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_bitRateQueryProhibitTimer, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_nr_rrc_T_bitRateQueryProhibitTimer },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_06 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_2_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_bitRateMultiplier_r16_vals[] = {
  {   0, "x40" },
  {   1, "x70" },
  {   2, "x100" },
  {   3, "x200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bitRateMultiplier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t LogicalChannelConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_channelAccessPriority_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_bitRateMultiplier_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bitRateMultiplier_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LogicalChannelConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, LogicalChannelConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t LogicalChannelConfig_sequence[] = {
  { &hf_nr_rrc_ul_SpecificParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_SpecificParameters },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence);

  return offset;
}


static const per_sequence_t BH_RLC_ChannelConfig_r16_sequence[] = {
  { &hf_nr_rrc_bh_LogicalChannelIdentity_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BH_LogicalChannelIdentity_r16 },
  { &hf_nr_rrc_bh_RLC_ChannelID_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BH_RLC_ChannelID_r16 },
  { &hf_nr_rrc_reestablishRLC_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reestablishRLC_r16 },
  { &hf_nr_rrc_rlc_Config_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RLC_Config },
  { &hf_nr_rrc_mac_LogicalChannelConfig_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LogicalChannelConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BH_RLC_ChannelConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BH_RLC_ChannelConfig_r16, BH_RLC_ChannelConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_Config_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_Config_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_26     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_Config, T_pdcch_Config_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_Config_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_Config_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_27     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_Config, T_pdsch_Config_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicity_01_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms64" },
  {   5, "ms80" },
  {   6, "ms128" },
  {   7, "ms160" },
  {   8, "ms320" },
  {   9, "ms640" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_periodicity_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_01_vals);


static int
dissect_nr_rrc_T_periodicity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcs_Table_03_vals[] = {
  {   0, "qam64LowSE" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcs_Table_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_SPS_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSPS_Config_1_r16, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdsch_AggregationFactor_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_AggregationFactor_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SPS_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_sps_ConfigIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SPS_ConfigIndex_r16 },
  { &hf_nr_rrc_harq_ProcID_Offset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_periodicityExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_5120 },
  { &hf_nr_rrc_harq_CodebookID_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_pdsch_AggregationFactor_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_AggregationFactor_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SPS_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SPS_Config_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_9_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            9U, 32U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SPS_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_sps_HARQ_Deferral_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_n1PUCCH_AN_PUCCHsSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_ResourceId },
  { &hf_nr_rrc_periodicityExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_40960 },
  { &hf_nr_rrc_nrofHARQ_Processes_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_9_32 },
  { &hf_nr_rrc_harq_ProcID_Offset_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_16_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SPS_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SPS_Config_eag_2_sequence);

  return offset;
}


static const per_sequence_t SPS_Config_sequence[] = {
  { &hf_nr_rrc_periodicity_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_01 },
  { &hf_nr_rrc_nrofHARQ_Processes_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_n1PUCCH_AN   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_ResourceId },
  { &hf_nr_rrc_mcs_Table_03 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcs_Table_03 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_Config_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SPS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SPS_Config, SPS_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_sps_Config_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sps_Config_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_32     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SPS_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sps_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sps_Config, T_sps_Config_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_RadioLinkMonitoringRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofFailureDetectionResources_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_purpose_vals[] = {
  {   0, "beamFailure" },
  {   1, "rlf" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_purpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_detectionResource_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  { 0, NULL }
};

static const per_choice_t T_detectionResource_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_detectionResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_detectionResource, T_detectionResource_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RadioLinkMonitoringRS_sequence[] = {
  { &hf_nr_rrc_radioLinkMonitoringRS_Id, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS_Id },
  { &hf_nr_rrc_purpose      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_purpose },
  { &hf_nr_rrc_detectionResource, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_detectionResource },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RadioLinkMonitoringRS, RadioLinkMonitoringRS_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of[1] = {
  { &hf_nr_rrc_failureDetectionResourcesToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS, SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of,
                                                  1, maxNrofFailureDetectionResources, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id_sequence_of[1] = {
  { &hf_nr_rrc_failureDetectionResourcesToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS_Id },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id, SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id_sequence_of,
                                                  1, maxNrofFailureDetectionResources, FALSE);

  return offset;
}


static const value_string nr_rrc_T_beamFailureInstanceMaxCount_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamFailureInstanceMaxCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_beamFailureDetectionTimer_vals[] = {
  {   0, "pbfd1" },
  {   1, "pbfd2" },
  {   2, "pbfd3" },
  {   3, "pbfd4" },
  {   4, "pbfd5" },
  {   5, "pbfd6" },
  {   6, "pbfd8" },
  {   7, "pbfd10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamFailureDetectionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BeamLinkMonitoringRS_Id_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofFailureDetectionResources_1_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_detectionResource_r17_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  { 0, NULL }
};

static const per_choice_t T_detectionResource_r17_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_detectionResource_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_detectionResource_r17, T_detectionResource_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BeamLinkMonitoringRS_r17_sequence[] = {
  { &hf_nr_rrc_beamLinkMonitoringRS_Id_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamLinkMonitoringRS_Id_r17 },
  { &hf_nr_rrc_detectionResource_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_detectionResource_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamLinkMonitoringRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BeamLinkMonitoringRS_r17, BeamLinkMonitoringRS_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17_sequence_of[1] = {
  { &hf_nr_rrc_bfdResourcesToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamLinkMonitoringRS_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17, SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17_sequence_of,
                                                  1, maxNrofBFDResourcePerSet_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17_sequence_of[1] = {
  { &hf_nr_rrc_bfdResourcesToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamLinkMonitoringRS_Id_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17, SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17_sequence_of,
                                                  1, maxNrofBFDResourcePerSet_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_beamFailureInstanceMaxCount_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamFailureInstanceMaxCount_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_beamFailureDetectionTimer_r17_vals[] = {
  {   0, "pbfd1" },
  {   1, "pbfd2" },
  {   2, "pbfd3" },
  {   3, "pbfd4" },
  {   4, "pbfd5" },
  {   5, "pbfd6" },
  {   6, "pbfd8" },
  {   7, "pbfd10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamFailureDetectionTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BeamFailureDetectionSet_r17_sequence[] = {
  { &hf_nr_rrc_bfdResourcesToAddModList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17 },
  { &hf_nr_rrc_bfdResourcesToReleaseList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17 },
  { &hf_nr_rrc_beamFailureInstanceMaxCount_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamFailureInstanceMaxCount_r17 },
  { &hf_nr_rrc_beamFailureDetectionTimer_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamFailureDetectionTimer_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamFailureDetectionSet_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BeamFailureDetectionSet_r17, BeamFailureDetectionSet_r17_sequence);

  return offset;
}


static const per_sequence_t BeamFailureDetection_r17_sequence[] = {
  { &hf_nr_rrc_failureDetectionSet1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BeamFailureDetectionSet_r17 },
  { &hf_nr_rrc_failureDetectionSet2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BeamFailureDetectionSet_r17 },
  { &hf_nr_rrc_additionalPCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AdditionalPCIIndex_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamFailureDetection_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BeamFailureDetection_r17, BeamFailureDetection_r17_sequence);

  return offset;
}


static const per_sequence_t RadioLinkMonitoringConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_beamFailure_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BeamFailureDetection_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RadioLinkMonitoringConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioLinkMonitoringConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t RadioLinkMonitoringConfig_sequence[] = {
  { &hf_nr_rrc_failureDetectionResourcesToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS },
  { &hf_nr_rrc_failureDetectionResourcesToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id },
  { &hf_nr_rrc_beamFailureInstanceMaxCount, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamFailureInstanceMaxCount },
  { &hf_nr_rrc_beamFailureDetectionTimer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamFailureDetectionTimer },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RadioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RadioLinkMonitoringConfig, RadioLinkMonitoringConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_radioLinkMonitoringConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_radioLinkMonitoringConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_33     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RadioLinkMonitoringConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_radioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_radioLinkMonitoringConfig, T_radioLinkMonitoringConfig_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SPS_ConfigToAddModList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SPS_ConfigToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_Config },
};

static int
dissect_nr_rrc_SPS_ConfigToAddModList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SPS_ConfigToAddModList_r16, SPS_ConfigToAddModList_r16_sequence_of,
                                                  1, maxNrofSPS_Config_r16, FALSE);

  return offset;
}


static const per_sequence_t SPS_ConfigToReleaseList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SPS_ConfigToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_ConfigIndex_r16 },
};

static int
dissect_nr_rrc_SPS_ConfigToReleaseList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SPS_ConfigToReleaseList_r16, SPS_ConfigToReleaseList_r16_sequence_of,
                                                  1, maxNrofSPS_Config_r16, FALSE);

  return offset;
}


static const per_sequence_t SPS_ConfigDeactivationState_r16_sequence_of[1] = {
  { &hf_nr_rrc_SPS_ConfigDeactivationState_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_ConfigIndex_r16 },
};

static int
dissect_nr_rrc_SPS_ConfigDeactivationState_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SPS_ConfigDeactivationState_r16, SPS_ConfigDeactivationState_r16_sequence_of,
                                                  1, maxNrofSPS_Config_r16, FALSE);

  return offset;
}


static const per_sequence_t SPS_ConfigDeactivationStateList_r16_sequence_of[1] = {
  { &hf_nr_rrc_SPS_ConfigDeactivationStateList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_ConfigDeactivationState_r16 },
};

static int
dissect_nr_rrc_SPS_ConfigDeactivationStateList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SPS_ConfigDeactivationStateList_r16, SPS_ConfigDeactivationStateList_r16_sequence_of,
                                                  1, maxNrofSPS_DeactivationState, FALSE);

  return offset;
}


static const value_string nr_rrc_T_beamFailureRecoverySCellConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_beamFailureRecoverySCellConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_34     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BeamFailureRecoveryRSConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_beamFailureRecoverySCellConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_beamFailureRecoverySCellConfig_r16, T_beamFailureRecoverySCellConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_PDCCH_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PDCCH_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_26     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PDCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PDCCH_Config_r16, T_sl_PDCCH_Config_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_V2X_PDCCH_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_V2X_PDCCH_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_26     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_V2X_PDCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_V2X_PDCCH_Config_r16, T_sl_V2X_PDCCH_Config_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BWP_DownlinkDedicated_eag_1_sequence[] = {
  { &hf_nr_rrc_sps_ConfigToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SPS_ConfigToAddModList_r16 },
  { &hf_nr_rrc_sps_ConfigToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SPS_ConfigToReleaseList_r16 },
  { &hf_nr_rrc_sps_ConfigDeactivationStateList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SPS_ConfigDeactivationStateList_r16 },
  { &hf_nr_rrc_beamFailureRecoverySCellConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamFailureRecoverySCellConfig_r16 },
  { &hf_nr_rrc_sl_PDCCH_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PDCCH_Config_r16 },
  { &hf_nr_rrc_sl_V2X_PDCCH_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_V2X_PDCCH_Config_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_DownlinkDedicated_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BWP_DownlinkDedicated_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_maxNrofGapId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     maxNrofGapId_r17, maxNrofGapId_r17, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_beamFailureRecoverySpCellConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_beamFailureRecoverySpCellConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_34     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BeamFailureRecoveryRSConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_beamFailureRecoverySpCellConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_beamFailureRecoverySpCellConfig_r17, T_beamFailureRecoverySpCellConfig_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SPS_ConfigMulticastToAddModList_r17_sequence_of[1] = {
  { &hf_nr_rrc_SPS_ConfigMulticastToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_Config },
};

static int
dissect_nr_rrc_SPS_ConfigMulticastToAddModList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SPS_ConfigMulticastToAddModList_r17, SPS_ConfigMulticastToAddModList_r17_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const per_sequence_t SPS_ConfigMulticastToReleaseList_r17_sequence_of[1] = {
  { &hf_nr_rrc_SPS_ConfigMulticastToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_ConfigIndex_r16 },
};

static int
dissect_nr_rrc_SPS_ConfigMulticastToReleaseList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SPS_ConfigMulticastToReleaseList_r17, SPS_ConfigMulticastToReleaseList_r17_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const per_sequence_t CFR_ConfigMulticast_r17_sequence[] = {
  { &hf_nr_rrc_locationAndBandwidthMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_37949 },
  { &hf_nr_rrc_pdcch_ConfigMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_Config },
  { &hf_nr_rrc_pdsch_ConfigMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDSCH_Config },
  { &hf_nr_rrc_sps_ConfigMulticastToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SPS_ConfigMulticastToAddModList_r17 },
  { &hf_nr_rrc_sps_ConfigMulticastToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SPS_ConfigMulticastToReleaseList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CFR_ConfigMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CFR_ConfigMulticast_r17, CFR_ConfigMulticast_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_cfr_ConfigMulticast_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_cfr_ConfigMulticast_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_35     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CFR_ConfigMulticast_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cfr_ConfigMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cfr_ConfigMulticast_r17, T_cfr_ConfigMulticast_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_DL_PPW_ID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPPW_ID_1_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_scs15_vals[] = {
  {   0, "n4" },
  {   1, "n5" },
  {   2, "n8" },
  {   3, "n10" },
  {   4, "n16" },
  {   5, "n20" },
  {   6, "n32" },
  {   7, "n40" },
  {   8, "n64" },
  {   9, "n80" },
  {  10, "n160" },
  {  11, "n320" },
  {  12, "n640" },
  {  13, "n1280" },
  {  14, "n2560" },
  {  15, "n5120" },
  {  16, "n10240" },
  { 0, NULL }
};

static const per_choice_t T_scs15_choice[] = {
  {   0, &hf_nr_rrc_n4           , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_3 },
  {   1, &hf_nr_rrc_n5           , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_4 },
  {   2, &hf_nr_rrc_n8           , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_7 },
  {   3, &hf_nr_rrc_n10          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_9 },
  {   4, &hf_nr_rrc_n16          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_15 },
  {   5, &hf_nr_rrc_n20          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   6, &hf_nr_rrc_n32          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   7, &hf_nr_rrc_n40          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   8, &hf_nr_rrc_n64          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {   9, &hf_nr_rrc_n80          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {  10, &hf_nr_rrc_n160         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {  11, &hf_nr_rrc_n320         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_n640         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  13, &hf_nr_rrc_n1280        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  14, &hf_nr_rrc_n2560        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  15, &hf_nr_rrc_n5120        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  16, &hf_nr_rrc_n10240       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs15, T_scs15_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scs30_vals[] = {
  {   0, "n8" },
  {   1, "n10" },
  {   2, "n16" },
  {   3, "n20" },
  {   4, "n32" },
  {   5, "n40" },
  {   6, "n64" },
  {   7, "n80" },
  {   8, "n128" },
  {   9, "n160" },
  {  10, "n320" },
  {  11, "n640" },
  {  12, "n1280" },
  {  13, "n2560" },
  {  14, "n5120" },
  {  15, "n10240" },
  {  16, "n20480" },
  { 0, NULL }
};

static const per_choice_t T_scs30_choice[] = {
  {   0, &hf_nr_rrc_n8           , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_7 },
  {   1, &hf_nr_rrc_n10          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_9 },
  {   2, &hf_nr_rrc_n16          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_15 },
  {   3, &hf_nr_rrc_n20          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   4, &hf_nr_rrc_n32          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   5, &hf_nr_rrc_n40          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   6, &hf_nr_rrc_n64          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {   7, &hf_nr_rrc_n80          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   8, &hf_nr_rrc_n128         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_127 },
  {   9, &hf_nr_rrc_n160         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {  10, &hf_nr_rrc_n320         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {  11, &hf_nr_rrc_n640         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  12, &hf_nr_rrc_n1280        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  13, &hf_nr_rrc_n2560        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  14, &hf_nr_rrc_n5120        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  15, &hf_nr_rrc_n10240       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  {  16, &hf_nr_rrc_n20480       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_20479 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs30, T_scs30_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scs60_vals[] = {
  {   0, "n16" },
  {   1, "n20" },
  {   2, "n32" },
  {   3, "n40" },
  {   4, "n64" },
  {   5, "n80" },
  {   6, "n128" },
  {   7, "n160" },
  {   8, "n256" },
  {   9, "n320" },
  {  10, "n640" },
  {  11, "n1280" },
  {  12, "n2560" },
  {  13, "n5120" },
  {  14, "n10240" },
  {  15, "n20480" },
  {  16, "n40960" },
  { 0, NULL }
};

static const per_choice_t T_scs60_choice[] = {
  {   0, &hf_nr_rrc_n16          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_15 },
  {   1, &hf_nr_rrc_n20          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_n32          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   3, &hf_nr_rrc_n40          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_n64          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {   5, &hf_nr_rrc_n80          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   6, &hf_nr_rrc_n128         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_127 },
  {   7, &hf_nr_rrc_n160         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {   8, &hf_nr_rrc_n256         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_255 },
  {   9, &hf_nr_rrc_n320         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {  10, &hf_nr_rrc_n640         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  11, &hf_nr_rrc_n1280        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  12, &hf_nr_rrc_n2560        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  13, &hf_nr_rrc_n5120        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  14, &hf_nr_rrc_n10240       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  {  15, &hf_nr_rrc_n20480       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_20479 },
  {  16, &hf_nr_rrc_n40960       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_40959 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs60, T_scs60_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scs120_vals[] = {
  {   0, "n32" },
  {   1, "n40" },
  {   2, "n64" },
  {   3, "n80" },
  {   4, "n128" },
  {   5, "n160" },
  {   6, "n256" },
  {   7, "n320" },
  {   8, "n512" },
  {   9, "n640" },
  {  10, "n1280" },
  {  11, "n2560" },
  {  12, "n5120" },
  {  13, "n10240" },
  {  14, "n20480" },
  {  15, "n40960" },
  {  16, "n81920" },
  { 0, NULL }
};

static const per_choice_t T_scs120_choice[] = {
  {   0, &hf_nr_rrc_n32          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   1, &hf_nr_rrc_n40          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   2, &hf_nr_rrc_n64          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {   3, &hf_nr_rrc_n80          , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   4, &hf_nr_rrc_n128         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_127 },
  {   5, &hf_nr_rrc_n160         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {   6, &hf_nr_rrc_n256         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_255 },
  {   7, &hf_nr_rrc_n320         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {   8, &hf_nr_rrc_n512         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_511 },
  {   9, &hf_nr_rrc_n640         , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  10, &hf_nr_rrc_n1280        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  11, &hf_nr_rrc_n2560        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  12, &hf_nr_rrc_n5120        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  13, &hf_nr_rrc_n10240       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  {  14, &hf_nr_rrc_n20480       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_20479 },
  {  15, &hf_nr_rrc_n40960       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_40959 },
  {  16, &hf_nr_rrc_n81920       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_81919 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs120(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs120, T_scs120_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_DL_PPW_PeriodicityAndStartSlot_r17_vals[] = {
  {   0, "scs15" },
  {   1, "scs30" },
  {   2, "scs60" },
  {   3, "scs120" },
  { 0, NULL }
};

static const per_choice_t DL_PPW_PeriodicityAndStartSlot_r17_choice[] = {
  {   0, &hf_nr_rrc_scs15        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_scs15 },
  {   1, &hf_nr_rrc_scs30        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_scs30 },
  {   2, &hf_nr_rrc_scs60        , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_scs60 },
  {   3, &hf_nr_rrc_scs120       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_scs120 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_DL_PPW_PeriodicityAndStartSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_DL_PPW_PeriodicityAndStartSlot_r17, DL_PPW_PeriodicityAndStartSlot_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 160U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_type_r17_vals[] = {
  {   0, "type1A" },
  {   1, "type1B" },
  {   2, "type2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_priority_r17_vals[] = {
  {   0, "st1" },
  {   1, "st2" },
  {   2, "st3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_priority_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DL_PPW_PreConfig_r17_sequence[] = {
  { &hf_nr_rrc_dl_PPW_ID_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_PPW_ID_r17 },
  { &hf_nr_rrc_dl_PPW_PeriodicityAndStartSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_PPW_PeriodicityAndStartSlot_r17 },
  { &hf_nr_rrc_length_r17   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_160 },
  { &hf_nr_rrc_type_r17     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type_r17 },
  { &hf_nr_rrc_priority_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_priority_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_PPW_PreConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_PPW_PreConfig_r17, DL_PPW_PreConfig_r17_sequence);

  return offset;
}


static const per_sequence_t DL_PPW_PreConfigToAddModList_r17_sequence_of[1] = {
  { &hf_nr_rrc_DL_PPW_PreConfigToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_PPW_PreConfig_r17 },
};

static int
dissect_nr_rrc_DL_PPW_PreConfigToAddModList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DL_PPW_PreConfigToAddModList_r17, DL_PPW_PreConfigToAddModList_r17_sequence_of,
                                                  1, maxNrofPPW_Config_r17, FALSE);

  return offset;
}


static const per_sequence_t DL_PPW_PreConfigToReleaseList_r17_sequence_of[1] = {
  { &hf_nr_rrc_DL_PPW_PreConfigToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_PPW_ID_r17 },
};

static int
dissect_nr_rrc_DL_PPW_PreConfigToReleaseList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DL_PPW_PreConfigToReleaseList_r17, DL_PPW_PreConfigToReleaseList_r17_sequence_of,
                                                  1, maxNrofPPW_Config_r17, FALSE);

  return offset;
}


static const per_sequence_t BWP_DownlinkDedicated_eag_2_sequence[] = {
  { &hf_nr_rrc_preConfGapStatus_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_maxNrofGapId_r17 },
  { &hf_nr_rrc_beamFailureRecoverySpCellConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamFailureRecoverySpCellConfig_r17 },
  { &hf_nr_rrc_harq_FeedbackEnablingforSPSactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_cfr_ConfigMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cfr_ConfigMulticast_r17 },
  { &hf_nr_rrc_dl_PPW_PreConfigToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DL_PPW_PreConfigToAddModList_r17 },
  { &hf_nr_rrc_dl_PPW_PreConfigToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DL_PPW_PreConfigToReleaseList_r17 },
  { &hf_nr_rrc_nonCellDefiningSSB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NonCellDefiningSSB_r17 },
  { &hf_nr_rrc_servingCellMO_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasObjectId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_DownlinkDedicated_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BWP_DownlinkDedicated_eag_2_sequence);

  return offset;
}


static const per_sequence_t BWP_DownlinkDedicated_sequence[] = {
  { &hf_nr_rrc_pdcch_Config , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_Config },
  { &hf_nr_rrc_pdsch_Config , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_Config },
  { &hf_nr_rrc_sps_Config   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_Config },
  { &hf_nr_rrc_radioLinkMonitoringConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_radioLinkMonitoringConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_DownlinkDedicated_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_DownlinkDedicated_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_DownlinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP_DownlinkDedicated, BWP_DownlinkDedicated_sequence);

  return offset;
}


static const per_sequence_t BWP_Downlink_sequence[] = {
  { &hf_nr_rrc_bwp_Id       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_bwp_Common   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_DownlinkCommon },
  { &hf_nr_rrc_bwp_Dedicated, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_DownlinkDedicated },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP_Downlink, BWP_Downlink_sequence);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPUCCH_ResourceSets_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_resourceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of,
                                                  1, maxNrofPUCCH_ResourcesPerSet, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_4_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            4U, 256U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PUCCH_ResourceSet_sequence[] = {
  { &hf_nr_rrc_pucch_ResourceSetId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
  { &hf_nr_rrc_resourceList , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId },
  { &hf_nr_rrc_maxPayloadSize, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_4_256 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_ResourceSet, PUCCH_ResourceSet_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of[1] = {
  { &hf_nr_rrc_resourceSetToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of,
                                                  1, maxNrofPUCCH_ResourceSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_resourceSetToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of,
                                                  1, maxNrofPUCCH_ResourceSets, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PRB_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_intraSlotFrequencyHopping_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraSlotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_format0_sequence[] = {
  { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
  { &hf_nr_rrc_nrofSymbols  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_format0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_format0, PUCCH_format0_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_4_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            4U, 14U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 10U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PUCCH_format1_sequence[] = {
  { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
  { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
  { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
  { &hf_nr_rrc_timeDomainOCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_format1, PUCCH_format1_sequence);

  return offset;
}


static const per_sequence_t PUCCH_format2_sequence[] = {
  { &hf_nr_rrc_nrofPRBs_01  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_nrofSymbols  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_format2, PUCCH_format2_sequence);

  return offset;
}


static const per_sequence_t PUCCH_format3_sequence[] = {
  { &hf_nr_rrc_nrofPRBs_01  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
  { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_format3, PUCCH_format3_sequence);

  return offset;
}


static const value_string nr_rrc_T_occ_Length_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_occ_Length(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_occ_Index_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_occ_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_format4_sequence[] = {
  { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
  { &hf_nr_rrc_occ_Length   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Length },
  { &hf_nr_rrc_occ_Index    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Index },
  { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_format4, PUCCH_format4_sequence);

  return offset;
}


static const value_string nr_rrc_T_format_vals[] = {
  {   0, "format0" },
  {   1, "format1" },
  {   2, "format2" },
  {   3, "format3" },
  {   4, "format4" },
  { 0, NULL }
};

static const per_choice_t T_format_choice[] = {
  {   0, &hf_nr_rrc_format0      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_format0 },
  {   1, &hf_nr_rrc_format1_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_format1 },
  {   2, &hf_nr_rrc_format2_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_format2 },
  {   3, &hf_nr_rrc_format3_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_format3 },
  {   4, &hf_nr_rrc_format4_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_format4 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format, T_format_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUCCH_Resource_sequence[] = {
  { &hf_nr_rrc_pucch_ResourceId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
  { &hf_nr_rrc_startingPRB  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRB_Id },
  { &hf_nr_rrc_intraSlotFrequencyHopping, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraSlotFrequencyHopping },
  { &hf_nr_rrc_secondHopPRB , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PRB_Id },
  { &hf_nr_rrc_format       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_format },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_Resource, PUCCH_Resource_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of[1] = {
  { &hf_nr_rrc_resourceToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of,
                                                  1, maxNrofPUCCH_Resources, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_resourceToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of,
                                                  1, maxNrofPUCCH_Resources, FALSE);

  return offset;
}


static const value_string nr_rrc_T_interslotFrequencyHopping_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interslotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_additionalDMRS_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_additionalDMRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_PUCCH_MaxCodeRate_vals[] = {
  {   0, "zeroDot08" },
  {   1, "zeroDot15" },
  {   2, "zeroDot25" },
  {   3, "zeroDot35" },
  {   4, "zeroDot45" },
  {   5, "zeroDot60" },
  {   6, "zeroDot80" },
  { 0, NULL }
};


static int
dissect_nr_rrc_PUCCH_MaxCodeRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofSlots_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pi2BPSK_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousHARQ_ACK_CSI_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_FormatConfig_sequence[] = {
  { &hf_nr_rrc_interslotFrequencyHopping, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interslotFrequencyHopping },
  { &hf_nr_rrc_additionalDMRS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_additionalDMRS },
  { &hf_nr_rrc_maxCodeRate  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_MaxCodeRate },
  { &hf_nr_rrc_nrofSlots    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrofSlots },
  { &hf_nr_rrc_pi2BPSK      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pi2BPSK },
  { &hf_nr_rrc_simultaneousHARQ_ACK_CSI, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_FormatConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_FormatConfig, PUCCH_FormatConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_format1_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_format1_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_112    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_FormatConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format1, T_format1_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_format2_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_format2_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_112    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_FormatConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format2, T_format2_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_format3_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_format3_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_112    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_FormatConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format3, T_format3_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_format4_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_format4_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_112    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_FormatConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format4, T_format4_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSR_Resources, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_periodicityAndOffset_vals[] = {
  {   0, "sym2" },
  {   1, "sym6or7" },
  {   2, "sl1" },
  {   3, "sl2" },
  {   4, "sl4" },
  {   5, "sl5" },
  {   6, "sl8" },
  {   7, "sl10" },
  {   8, "sl16" },
  {   9, "sl20" },
  {  10, "sl40" },
  {  11, "sl80" },
  {  12, "sl160" },
  {  13, "sl320" },
  {  14, "sl640" },
  { 0, NULL }
};

static const per_choice_t T_periodicityAndOffset_choice[] = {
  {   0, &hf_nr_rrc_sym2         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_sym6or7      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_sl1          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_sl2          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1 },
  {   4, &hf_nr_rrc_sl4          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_3 },
  {   5, &hf_nr_rrc_sl5          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_4 },
  {   6, &hf_nr_rrc_sl8          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_7 },
  {   7, &hf_nr_rrc_sl10         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   8, &hf_nr_rrc_sl16         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_15 },
  {   9, &hf_nr_rrc_sl20         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {  10, &hf_nr_rrc_sl40         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {  11, &hf_nr_rrc_sl80         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {  12, &hf_nr_rrc_sl160        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {  13, &hf_nr_rrc_sl320        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  {  14, &hf_nr_rrc_sl640        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_639 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_periodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_periodicityAndOffset, T_periodicityAndOffset_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SchedulingRequestResourceConfig_sequence[] = {
  { &hf_nr_rrc_schedulingRequestResourceId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
  { &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_periodicityAndOffset_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_periodicityAndOffset },
  { &hf_nr_rrc_resource_01  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_ResourceId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingRequestResourceConfig, SchedulingRequestResourceConfig_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of[1] = {
  { &hf_nr_rrc_schedulingRequestResourceToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfig },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of,
                                                  1, maxNrofSR_Resources, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of[1] = {
  { &hf_nr_rrc_schedulingRequestResourceToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of,
                                                  1, maxNrofSR_Resources, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const per_sequence_t T_dl_DataToUL_ACK_sequence_of[1] = {
  { &hf_nr_rrc_dl_DataToUL_ACK_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
};

static int
dissect_nr_rrc_T_dl_DataToUL_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_dl_DataToUL_ACK, T_dl_DataToUL_ACK_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSpatialRelationInfos, NULL, FALSE);

  return offset;
}


static const per_sequence_t PUCCH_SRS_sequence[] = {
  { &hf_nr_rrc_resource     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
  { &hf_nr_rrc_uplinkBWP    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_SRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_SRS, PUCCH_SRS_sequence);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_01_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  {   2, "srs" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_01_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  {   2, &hf_nr_rrc_srs          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_SRS },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_01, T_referenceSignal_01_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPUCCH_PathlossReferenceRSs_1, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_P0_PUCCH_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 8U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_closedLoopIndex_vals[] = {
  {   0, "i0" },
  {   1, "i1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_closedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_SpatialRelationInfo_sequence[] = {
  { &hf_nr_rrc_pucch_SpatialRelationInfoId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
  { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_referenceSignal_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_01 },
  { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
  { &hf_nr_rrc_p0_PUCCH_Id  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
  { &hf_nr_rrc_closedLoopIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_closedLoopIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_SpatialRelationInfo, PUCCH_SpatialRelationInfo_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of[1] = {
  { &hf_nr_rrc_spatialRelationInfoToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfo },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of,
                                                  1, maxNrofSpatialRelationInfos, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of[1] = {
  { &hf_nr_rrc_spatialRelationInfoToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of,
                                                  1, maxNrofSpatialRelationInfos, FALSE);

  return offset;
}


static const per_sequence_t P0_PUCCH_sequence[] = {
  { &hf_nr_rrc_p0_PUCCH_Id  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
  { &hf_nr_rrc_p0_PUCCH_Value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M16_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_P0_PUCCH, P0_PUCCH_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of[1] = {
  { &hf_nr_rrc_p0_Set_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH, SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of,
                                                  1, maxNrofPUCCH_P0_PerSet, FALSE);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal, T_referenceSignal_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUCCH_PathlossReferenceRS_sequence[] = {
  { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
  { &hf_nr_rrc_referenceSignal, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_PathlossReferenceRS, PUCCH_PathlossReferenceRS_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of[1] = {
  { &hf_nr_rrc_pathlossReferenceRSs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of,
                                                  1, maxNrofPUCCH_PathlossReferenceRSs, FALSE);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals[] = {
  {   0, "twoStates" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            maxNrofPUCCH_PathlossReferenceRSs, maxNrofPUCCH_PathlossReferenceRSs_1_r16, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_r16_vals[] = {
  {   0, "ssb-Index-r16" },
  {   1, "csi-RS-Index-r16" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_r16_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_r16, T_referenceSignal_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUCCH_PathlossReferenceRS_r16_sequence[] = {
  { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id_v1610 },
  { &hf_nr_rrc_referenceSignal_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_PathlossReferenceRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_PathlossReferenceRS_r16, PUCCH_PathlossReferenceRS_r16_sequence);

  return offset;
}


static const per_sequence_t PathlossReferenceRSs_v1610_sequence_of[1] = {
  { &hf_nr_rrc_PathlossReferenceRSs_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_r16 },
};

static int
dissect_nr_rrc_PathlossReferenceRSs_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PathlossReferenceRSs_v1610, PathlossReferenceRSs_v1610_sequence_of,
                                                  1, maxNrofPUCCH_PathlossReferenceRSsDiff_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pathlossReferenceRSs_v1610_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pathlossReferenceRSs_v1610_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_125    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PathlossReferenceRSs_v1610 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pathlossReferenceRSs_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pathlossReferenceRSs_v1610, T_pathlossReferenceRSs_v1610_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUCCH_PowerControl_eag_1_sequence[] = {
  { &hf_nr_rrc_pathlossReferenceRSs_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pathlossReferenceRSs_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_PowerControl_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUCCH_PowerControl_eag_1_sequence);

  return offset;
}


static const per_sequence_t PUCCH_PowerControl_sequence[] = {
  { &hf_nr_rrc_deltaF_PUCCH_f0, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_deltaF_PUCCH_f1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_deltaF_PUCCH_f2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_deltaF_PUCCH_f3, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_deltaF_PUCCH_f4, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_p0_Set       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH },
  { &hf_nr_rrc_pathlossReferenceRSs, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS },
  { &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PowerControl_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_PowerControl, PUCCH_PowerControl_sequence);

  return offset;
}


static const value_string nr_rrc_T_interlace0_r16_vals[] = {
  {   0, "scs15" },
  {   1, "scs30" },
  { 0, NULL }
};

static const per_choice_t T_interlace0_r16_choice[] = {
  {   0, &hf_nr_rrc_scs15_01     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_scs30_01     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_4 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_interlace0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_interlace0_r16, T_interlace0_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_interlaceAllocation_r16_sequence[] = {
  { &hf_nr_rrc_rb_SetIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 },
  { &hf_nr_rrc_interlace0_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interlace0_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_interlaceAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_interlaceAllocation_r16, T_interlaceAllocation_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_occ_Length_v1610_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_occ_Length_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_occ_Index_v1610_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_occ_Index_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_occ_v1610_sequence[] = {
  { &hf_nr_rrc_occ_Length_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_occ_Length_v1610 },
  { &hf_nr_rrc_occ_Index_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_occ_Index_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_occ_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_occ_v1610, T_occ_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_format_v1610_vals[] = {
  {   0, "interlace1-v1610" },
  {   1, "occ-v1610" },
  { 0, NULL }
};

static const per_choice_t T_format_v1610_choice[] = {
  {   0, &hf_nr_rrc_interlace1_v1610, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   1, &hf_nr_rrc_occ_v1610    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_occ_v1610 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format_v1610, T_format_v1610_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_format_v1700_sequence[] = {
  { &hf_nr_rrc_nrofPRBs_r17 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_format_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_format_v1700, T_format_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_pucch_RepetitionNrofSlots_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_RepetitionNrofSlots_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_ResourceExt_v1610_eag_1_sequence[] = {
  { &hf_nr_rrc_format_v1700 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_format_v1700 },
  { &hf_nr_rrc_pucch_RepetitionNrofSlots_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_RepetitionNrofSlots_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_ResourceExt_v1610_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUCCH_ResourceExt_v1610_eag_1_sequence);

  return offset;
}


static const per_sequence_t PUCCH_ResourceExt_v1610_sequence[] = {
  { &hf_nr_rrc_interlaceAllocation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_interlaceAllocation_r16 },
  { &hf_nr_rrc_format_v1610 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_format_v1610 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceExt_v1610_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_ResourceExt_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_ResourceExt_v1610, PUCCH_ResourceExt_v1610_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610_sequence_of[1] = {
  { &hf_nr_rrc_resourceToAddModListExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceExt_v1610 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610_sequence_of,
                                                  1, maxNrofPUCCH_Resources, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -1, 15U, NULL, FALSE);

  return offset;
}


static const per_sequence_t DL_DataToUL_ACK_r16_sequence_of[1] = {
  { &hf_nr_rrc_DL_DataToUL_ACK_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M1_15 },
};

static int
dissect_nr_rrc_DL_DataToUL_ACK_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DL_DataToUL_ACK_r16, DL_DataToUL_ACK_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_DataToUL_ACK_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dl_DataToUL_ACK_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_113    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DL_DataToUL_ACK_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_DataToUL_ACK_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_DataToUL_ACK_r16, T_dl_DataToUL_ACK_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UL_AccessConfigListDCI_1_1_r16_sequence_of[1] = {
  { &hf_nr_rrc_UL_AccessConfigListDCI_1_1_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
};

static int
dissect_nr_rrc_UL_AccessConfigListDCI_1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UL_AccessConfigListDCI_1_1_r16, UL_AccessConfigListDCI_1_1_r16_sequence_of,
                                                  1, 16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ul_AccessConfigListDCI_1_1_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_AccessConfigListDCI_1_1_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_114    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_AccessConfigListDCI_1_1_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_AccessConfigListDCI_1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_AccessConfigListDCI_1_1_r16, T_ul_AccessConfigListDCI_1_1_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_normalCP_r16_vals[] = {
  {   0, "n2" },
  {   1, "n7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_normalCP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedCP_r16_vals[] = {
  {   0, "n2" },
  {   1, "n6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_subslotLengthForPUCCH_r16_vals[] = {
  {   0, "normalCP-r16" },
  {   1, "extendedCP-r16" },
  { 0, NULL }
};

static const per_choice_t T_subslotLengthForPUCCH_r16_choice[] = {
  {   0, &hf_nr_rrc_normalCP_r16 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_normalCP_r16 },
  {   1, &hf_nr_rrc_extendedCP_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_extendedCP_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_subslotLengthForPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_subslotLengthForPUCCH_r16, T_subslotLengthForPUCCH_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DL_DataToUL_ACK_DCI_1_2_r16_sequence_of[1] = {
  { &hf_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
};

static int
dissect_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r16, DL_DataToUL_ACK_DCI_1_2_r16_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dl_DataToUL_ACK_DCI_1_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_115    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r16, T_dl_DataToUL_ACK_DCI_1_2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_UplinkTransformPrecodingPUCCH_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_UplinkTransformPrecodingPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo_sequence_of[1] = {
  { &hf_nr_rrc_spatialRelationInfoToAddModListSizeExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfo },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo_sequence_of,
                                                  1, maxNrofSpatialRelationInfosDiff_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId_sequence_of[1] = {
  { &hf_nr_rrc_spatialRelationInfoToReleaseListSizeExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId_sequence_of,
                                                  1, maxNrofSpatialRelationInfosDiff_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_SpatialRelationInfoId_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            maxNrofSpatialRelationInfos_plus_1, maxNrofSpatialRelationInfos_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t PUCCH_SpatialRelationInfoExt_r16_sequence[] = {
  { &hf_nr_rrc_pucch_SpatialRelationInfoId_v1610, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_SpatialRelationInfoId_v1610 },
  { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_v1610, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_SpatialRelationInfoExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_SpatialRelationInfoExt_r16, PUCCH_SpatialRelationInfoExt_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16_sequence_of[1] = {
  { &hf_nr_rrc_spatialRelationInfoToAddModListExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoExt_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16_sequence_of,
                                                  1, maxNrofSpatialRelationInfos_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_SpatialRelationInfoId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSpatialRelationInfos_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16_sequence_of[1] = {
  { &hf_nr_rrc_spatialRelationInfoToReleaseListExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16_sequence_of,
                                                  1, maxNrofSpatialRelationInfos_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_ResourceGroupId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPUCCH_ResourceGroups_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_resourcePerGroupList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId_sequence_of,
                                                  1, maxNrofPUCCH_ResourcesPerGroup_r16, FALSE);

  return offset;
}


static const per_sequence_t PUCCH_ResourceGroup_r16_sequence[] = {
  { &hf_nr_rrc_pucch_ResourceGroupId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceGroupId_r16 },
  { &hf_nr_rrc_resourcePerGroupList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_ResourceGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_ResourceGroup_r16, PUCCH_ResourceGroup_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16_sequence_of[1] = {
  { &hf_nr_rrc_resourceGroupToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceGroup_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16_sequence_of,
                                                  1, maxNrofPUCCH_ResourceGroups_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16_sequence_of[1] = {
  { &hf_nr_rrc_resourceGroupToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceGroupId_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16_sequence_of,
                                                  1, maxNrofPUCCH_ResourceGroups_r16, FALSE);

  return offset;
}


static const per_sequence_t SPS_PUCCH_AN_r16_sequence[] = {
  { &hf_nr_rrc_sps_PUCCH_AN_ResourceID_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
  { &hf_nr_rrc_maxPayloadSize_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_4_256 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SPS_PUCCH_AN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SPS_PUCCH_AN_r16, SPS_PUCCH_AN_r16_sequence);

  return offset;
}


static const per_sequence_t SPS_PUCCH_AN_List_r16_sequence_of[1] = {
  { &hf_nr_rrc_SPS_PUCCH_AN_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_PUCCH_AN_r16 },
};

static int
dissect_nr_rrc_SPS_PUCCH_AN_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SPS_PUCCH_AN_List_r16, SPS_PUCCH_AN_List_r16_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sps_PUCCH_AN_List_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sps_PUCCH_AN_List_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_116    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SPS_PUCCH_AN_List_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sps_PUCCH_AN_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sps_PUCCH_AN_List_r16, T_sps_PUCCH_AN_List_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_phy_PriorityIndex_r16_01_vals[] = {
  {   0, "p0" },
  {   1, "p1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phy_PriorityIndex_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SchedulingRequestResourceConfigExt_v1610_sequence[] = {
  { &hf_nr_rrc_phy_PriorityIndex_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_phy_PriorityIndex_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingRequestResourceConfigExt_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingRequestResourceConfigExt_v1610, SchedulingRequestResourceConfigExt_v1610_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610_sequence_of[1] = {
  { &hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfigExt_v1610 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610_sequence_of,
                                                  1, maxNrofSR_Resources, FALSE);

  return offset;
}


static const per_sequence_t PUCCH_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_resourceToAddModListExt_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610 },
  { &hf_nr_rrc_dl_DataToUL_ACK_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DataToUL_ACK_r16 },
  { &hf_nr_rrc_ul_AccessConfigListDCI_1_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_AccessConfigListDCI_1_1_r16 },
  { &hf_nr_rrc_subslotLengthForPUCCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_subslotLengthForPUCCH_r16 },
  { &hf_nr_rrc_dl_DataToUL_ACK_DCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r16 },
  { &hf_nr_rrc_numberOfBitsForPUCCH_ResourceIndicatorDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_dmrs_UplinkTransformPrecodingPUCCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_UplinkTransformPrecodingPUCCH_r16 },
  { &hf_nr_rrc_spatialRelationInfoToAddModListSizeExt_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo },
  { &hf_nr_rrc_spatialRelationInfoToReleaseListSizeExt_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId },
  { &hf_nr_rrc_spatialRelationInfoToAddModListExt_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16 },
  { &hf_nr_rrc_spatialRelationInfoToReleaseListExt_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16 },
  { &hf_nr_rrc_resourceGroupToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16 },
  { &hf_nr_rrc_resourceGroupToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16 },
  { &hf_nr_rrc_sps_PUCCH_AN_List_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_PUCCH_AN_List_r16 },
  { &hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUCCH_Config_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_format0_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_format0_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_112    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_FormatConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format0_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format0_r17, T_format0_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUCCH_FormatConfigExt_r17_sequence[] = {
  { &hf_nr_rrc_maxCodeRateLP_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_MaxCodeRate },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_FormatConfigExt_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_FormatConfigExt_r17, PUCCH_FormatConfigExt_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_format2Ext_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_format2Ext_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_117    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_FormatConfigExt_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format2Ext_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format2Ext_r17, T_format2Ext_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_format3Ext_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_format3Ext_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_117    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_FormatConfigExt_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format3Ext_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format3Ext_r17, T_format3Ext_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_format4Ext_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_format4Ext_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_117    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_FormatConfigExt_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_format4Ext_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_format4Ext_r17, T_format4Ext_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UL_AccessConfigListDCI_1_2_r17_sequence_of[1] = {
  { &hf_nr_rrc_UL_AccessConfigListDCI_1_2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
};

static int
dissect_nr_rrc_UL_AccessConfigListDCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UL_AccessConfigListDCI_1_2_r17, UL_AccessConfigListDCI_1_2_r17_sequence_of,
                                                  1, 16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ul_AccessConfigListDCI_1_2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_AccessConfigListDCI_1_2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_118    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_AccessConfigListDCI_1_2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_AccessConfigListDCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_AccessConfigListDCI_1_2_r17, T_ul_AccessConfigListDCI_1_2_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mappingPattern_r17_01_vals[] = {
  {   0, "cyclicMapping" },
  {   1, "sequentialMapping" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mappingPattern_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_PowerControlSetInfoId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofPowerControlSetInfos_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pucch_ClosedLoopIndex_r17_vals[] = {
  {   0, "i0" },
  {   1, "i1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_ClosedLoopIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPUCCH_PathlossReferenceRSs_1_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t PUCCH_PowerControlSetInfo_r17_sequence[] = {
  { &hf_nr_rrc_pucch_PowerControlSetInfoId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PowerControlSetInfoId_r17 },
  { &hf_nr_rrc_p0_PUCCH_Id_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
  { &hf_nr_rrc_pucch_ClosedLoopIndex_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_ClosedLoopIndex_r17 },
  { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_PowerControlSetInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_PowerControlSetInfo_r17, PUCCH_PowerControlSetInfo_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17_sequence_of[1] = {
  { &hf_nr_rrc_powerControlSetInfoToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PowerControlSetInfo_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17, SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17_sequence_of,
                                                  1, maxNrofPowerControlSetInfos_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17_sequence_of[1] = {
  { &hf_nr_rrc_powerControlSetInfoToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PowerControlSetInfoId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17, SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17_sequence_of,
                                                  1, maxNrofPowerControlSetInfos_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_secondTPCFieldDCI_1_1_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_secondTPCFieldDCI_1_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_secondTPCFieldDCI_1_2_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_secondTPCFieldDCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M1_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -1, 127U, NULL, FALSE);

  return offset;
}


static const per_sequence_t DL_DataToUL_ACK_r17_sequence_of[1] = {
  { &hf_nr_rrc_DL_DataToUL_ACK_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M1_127 },
};

static int
dissect_nr_rrc_DL_DataToUL_ACK_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DL_DataToUL_ACK_r17, DL_DataToUL_ACK_r17_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_DataToUL_ACK_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dl_DataToUL_ACK_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_119    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DL_DataToUL_ACK_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_DataToUL_ACK_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_DataToUL_ACK_r17, T_dl_DataToUL_ACK_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DL_DataToUL_ACK_DCI_1_2_r17_sequence_of[1] = {
  { &hf_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 },
};

static int
dissect_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r17, DL_DataToUL_ACK_DCI_1_2_r17_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dl_DataToUL_ACK_DCI_1_2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_120    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r17, T_dl_DataToUL_ACK_DCI_1_2_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UL_AccessConfigListDCI_1_1_r17_sequence_of[1] = {
  { &hf_nr_rrc_UL_AccessConfigListDCI_1_1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2 },
};

static int
dissect_nr_rrc_UL_AccessConfigListDCI_1_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_UL_AccessConfigListDCI_1_1_r17, UL_AccessConfigListDCI_1_1_r17_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ul_AccessConfigListDCI_1_1_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_ul_AccessConfigListDCI_1_1_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_121    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UL_AccessConfigListDCI_1_1_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_AccessConfigListDCI_1_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_AccessConfigListDCI_1_1_r17, T_ul_AccessConfigListDCI_1_1_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicityAndOffset_r17_vals[] = {
  {   0, "sl1280" },
  {   1, "sl2560" },
  {   2, "sl5120" },
  { 0, NULL }
};

static const per_choice_t T_periodicityAndOffset_r17_choice[] = {
  {   0, &hf_nr_rrc_sl1280       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_1279 },
  {   1, &hf_nr_rrc_sl2560       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_2559 },
  {   2, &hf_nr_rrc_sl5120       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_5119 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_periodicityAndOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_periodicityAndOffset_r17, T_periodicityAndOffset_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SchedulingRequestResourceConfigExt_v1700_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_periodicityAndOffset_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingRequestResourceConfigExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingRequestResourceConfigExt_v1700, SchedulingRequestResourceConfigExt_v1700_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700_sequence_of[1] = {
  { &hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfigExt_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700_sequence_of,
                                                  1, maxNrofSR_Resources, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pucch_DMRS_Bundling_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_DMRS_Bundling_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 8U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pucch_WindowRestart_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_WindowRestart_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_FrequencyHoppingInterval_r17_vals[] = {
  {   0, "s2" },
  {   1, "s4" },
  {   2, "s5" },
  {   3, "s10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_FrequencyHoppingInterval_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DMRS_BundlingPUCCH_Config_r17_sequence[] = {
  { &hf_nr_rrc_pucch_DMRS_Bundling_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_DMRS_Bundling_r17 },
  { &hf_nr_rrc_pucch_TimeDomainWindowLength_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_8 },
  { &hf_nr_rrc_pucch_WindowRestart_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_WindowRestart_r17 },
  { &hf_nr_rrc_pucch_FrequencyHoppingInterval_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_FrequencyHoppingInterval_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DMRS_BundlingPUCCH_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DMRS_BundlingPUCCH_Config_r17, DMRS_BundlingPUCCH_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUCCH_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dmrs_BundlingPUCCH_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_122    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DMRS_BundlingPUCCH_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dmrs_BundlingPUCCH_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dmrs_BundlingPUCCH_Config_r17, T_dmrs_BundlingPUCCH_Config_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DL_DataToUL_ACK_v1700_sequence_of[1] = {
  { &hf_nr_rrc_DL_DataToUL_ACK_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_16_31 },
};

static int
dissect_nr_rrc_DL_DataToUL_ACK_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DL_DataToUL_ACK_v1700, DL_DataToUL_ACK_v1700_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_DataToUL_ACK_v1700_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dl_DataToUL_ACK_v1700_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_123    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DL_DataToUL_ACK_v1700 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_DataToUL_ACK_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_DataToUL_ACK_v1700, T_dl_DataToUL_ACK_v1700_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DL_DataToUL_ACK_MulticastDCI_Format4_1_r17_sequence_of[1] = {
  { &hf_nr_rrc_DL_DataToUL_ACK_MulticastDCI_Format4_1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
};

static int
dissect_nr_rrc_DL_DataToUL_ACK_MulticastDCI_Format4_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_DL_DataToUL_ACK_MulticastDCI_Format4_1_r17, DL_DataToUL_ACK_MulticastDCI_Format4_1_r17_sequence_of,
                                                  1, 8, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_124    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DL_DataToUL_ACK_MulticastDCI_Format4_1_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17, T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sps_PUCCH_AN_ListMulticast_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sps_PUCCH_AN_ListMulticast_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_116    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SPS_PUCCH_AN_List_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sps_PUCCH_AN_ListMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sps_PUCCH_AN_ListMulticast_r17, T_sps_PUCCH_AN_ListMulticast_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUCCH_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_format0_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_format0_r17 },
  { &hf_nr_rrc_format2Ext_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_format2Ext_r17 },
  { &hf_nr_rrc_format3Ext_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_format3Ext_r17 },
  { &hf_nr_rrc_format4Ext_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_format4Ext_r17 },
  { &hf_nr_rrc_ul_AccessConfigListDCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_AccessConfigListDCI_1_2_r17 },
  { &hf_nr_rrc_mappingPattern_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mappingPattern_r17_01 },
  { &hf_nr_rrc_powerControlSetInfoToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17 },
  { &hf_nr_rrc_powerControlSetInfoToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17 },
  { &hf_nr_rrc_secondTPCFieldDCI_1_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_secondTPCFieldDCI_1_1_r17 },
  { &hf_nr_rrc_secondTPCFieldDCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_secondTPCFieldDCI_1_2_r17 },
  { &hf_nr_rrc_dl_DataToUL_ACK_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DataToUL_ACK_r17 },
  { &hf_nr_rrc_dl_DataToUL_ACK_DCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r17 },
  { &hf_nr_rrc_ul_AccessConfigListDCI_1_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_AccessConfigListDCI_1_1_r17 },
  { &hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700 },
  { &hf_nr_rrc_dmrs_BundlingPUCCH_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUCCH_Config_r17 },
  { &hf_nr_rrc_dl_DataToUL_ACK_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DataToUL_ACK_v1700 },
  { &hf_nr_rrc_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17 },
  { &hf_nr_rrc_sps_PUCCH_AN_ListMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_PUCCH_AN_ListMulticast_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUCCH_Config_eag_2_sequence);

  return offset;
}


static const per_sequence_t PUCCH_Config_sequence[] = {
  { &hf_nr_rrc_resourceSetToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet },
  { &hf_nr_rrc_resourceSetToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId },
  { &hf_nr_rrc_resourceToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource },
  { &hf_nr_rrc_resourceToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId },
  { &hf_nr_rrc_format1      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_format1 },
  { &hf_nr_rrc_format2      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_format2 },
  { &hf_nr_rrc_format3      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_format3 },
  { &hf_nr_rrc_format4      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_format4 },
  { &hf_nr_rrc_schedulingRequestResourceToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig },
  { &hf_nr_rrc_schedulingRequestResourceToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId },
  { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId },
  { &hf_nr_rrc_dl_DataToUL_ACK, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DataToUL_ACK },
  { &hf_nr_rrc_spatialRelationInfoToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo },
  { &hf_nr_rrc_spatialRelationInfoToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId },
  { &hf_nr_rrc_pucch_PowerControl, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_PowerControl },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Config_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_Config, PUCCH_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_pucch_Config_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pucch_Config_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_41     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pucch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pucch_Config, T_pucch_Config_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_Config_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_Config_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_28     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_Config, T_pusch_Config_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredGrantConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_configuredGrantConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_42     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ConfiguredGrantConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_configuredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_configuredGrantConfig, T_configuredGrantConfig_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSRS_ResourceSets_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_srs_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of,
                                                  1, maxNrofSRS_ResourceSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_srs_ResourceIdList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of,
                                                  1, maxNrofSRS_ResourcesPerSet, FALSE);

  return offset;
}


static const per_sequence_t T_aperiodicSRS_ResourceTriggerList_sequence_of[1] = {
  { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 },
};

static int
dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList, T_aperiodicSRS_ResourceTriggerList_sequence_of,
                                                  1, maxNrofSRS_TriggerStates_2, FALSE);

  return offset;
}


static const per_sequence_t T_eag_1_08_sequence[] = {
  { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eag_1_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_08_sequence);

  return offset;
}


static const per_sequence_t T_aperiodic_01_sequence[] = {
  { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 },
  { &hf_nr_rrc_csi_RS_01    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { &hf_nr_rrc_slotOffset   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_08 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_aperiodic_01, T_aperiodic_01_sequence);

  return offset;
}


static const per_sequence_t T_semi_persistent_sequence[] = {
  { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semi_persistent, T_semi_persistent_sequence);

  return offset;
}


static const per_sequence_t T_periodic_01_sequence[] = {
  { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_periodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_periodic_01, T_periodic_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_resourceType_01_vals[] = {
  {   0, "aperiodic" },
  {   1, "semi-persistent" },
  {   2, "periodic" },
  { 0, NULL }
};

static const per_choice_t T_resourceType_01_choice[] = {
  {   0, &hf_nr_rrc_aperiodic_01 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_aperiodic_01 },
  {   1, &hf_nr_rrc_semi_persistent, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_semi_persistent },
  {   2, &hf_nr_rrc_periodic_01  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_periodic_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_resourceType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_resourceType_01, T_resourceType_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_usage_vals[] = {
  {   0, "beamManagement" },
  {   1, "codebook" },
  {   2, "nonCodebook" },
  {   3, "antennaSwitching" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_PathlossReferenceRS_Config_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  { 0, NULL }
};

static const per_choice_t PathlossReferenceRS_Config_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_PathlossReferenceRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_PathlossReferenceRS_Config, PathlossReferenceRS_Config_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_PowerControlAdjustmentStates_vals[] = {
  {   0, "sameAsFci2" },
  {   1, "separateClosedLoop" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_PowerControlAdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_SRS_PathlossReferenceRS_Id_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSRS_PathlossReferenceRS_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t PathlossReferenceRS_r16_sequence[] = {
  { &hf_nr_rrc_srs_PathlossReferenceRS_Id_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PathlossReferenceRS_Id_r16 },
  { &hf_nr_rrc_pathlossReferenceRS_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PathlossReferenceRS_Config },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PathlossReferenceRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PathlossReferenceRS_r16, PathlossReferenceRS_r16_sequence);

  return offset;
}


static const per_sequence_t PathlossReferenceRSList_r16_sequence_of[1] = {
  { &hf_nr_rrc_PathlossReferenceRSList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PathlossReferenceRS_r16 },
};

static int
dissect_nr_rrc_PathlossReferenceRSList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PathlossReferenceRSList_r16, PathlossReferenceRSList_r16_sequence_of,
                                                  1, maxNrofSRS_PathlossReferenceRS_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pathlossReferenceRSList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pathlossReferenceRSList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_167    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PathlossReferenceRSList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pathlossReferenceRSList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pathlossReferenceRSList_r16, T_pathlossReferenceRSList_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SRS_ResourceSet_eag_1_sequence[] = {
  { &hf_nr_rrc_pathlossReferenceRSList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pathlossReferenceRSList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_ResourceSet_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_ResourceSet_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_usagePDC_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_usagePDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_AvailableSlotOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17_sequence_of[1] = {
  { &hf_nr_rrc_availableSlotOffsetList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailableSlotOffset_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17, SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const value_string nr_rrc_T_followUnifiedTCI_StateSRS_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_followUnifiedTCI_StateSRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_ResourceSet_eag_2_sequence[] = {
  { &hf_nr_rrc_usagePDC_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_usagePDC_r17 },
  { &hf_nr_rrc_availableSlotOffsetList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17 },
  { &hf_nr_rrc_followUnifiedTCI_StateSRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_followUnifiedTCI_StateSRS_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_ResourceSet_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_ResourceSet_eag_2_sequence);

  return offset;
}


static const per_sequence_t SRS_ResourceSet_sequence[] = {
  { &hf_nr_rrc_srs_ResourceSetId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
  { &hf_nr_rrc_srs_ResourceIdList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId },
  { &hf_nr_rrc_resourceType_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_01 },
  { &hf_nr_rrc_usage        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_usage },
  { &hf_nr_rrc_alpha        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Alpha },
  { &hf_nr_rrc_p0_01        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M202_24 },
  { &hf_nr_rrc_pathlossReferenceRS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PathlossReferenceRS_Config },
  { &hf_nr_rrc_srs_PowerControlAdjustmentStates, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_PowerControlAdjustmentStates },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_ResourceSet, SRS_ResourceSet_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of[1] = {
  { &hf_nr_rrc_srs_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of,
                                                  1, maxNrofSRS_ResourceSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_srs_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of,
                                                  1, maxNrofSRS_Resources, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of[1] = {
  { &hf_nr_rrc_srs_ResourceToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of,
                                                  1, maxNrofSRS_Resources, FALSE);

  return offset;
}


static const value_string nr_rrc_T_tpc_Accumulation_01_vals[] = {
  {   0, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tpc_Accumulation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_srs_RequestDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_srs_RequestDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_srs_ResourceSetToAddModListDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet },
  { &hf_nr_rrc_srs_ResourceSetToReleaseListDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId },
  { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16 },
  { &hf_nr_rrc_srs_PosResourceSetToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16 },
  { &hf_nr_rrc_srs_PosResourceToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 },
  { &hf_nr_rrc_srs_PosResourceToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_Config_eag_1_sequence);

  return offset;
}


static const per_sequence_t SRS_Config_sequence[] = {
  { &hf_nr_rrc_srs_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId },
  { &hf_nr_rrc_srs_ResourceSetToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet },
  { &hf_nr_rrc_srs_ResourceToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId },
  { &hf_nr_rrc_srs_ResourceToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource },
  { &hf_nr_rrc_tpc_Accumulation_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tpc_Accumulation_01 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Config_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_Config, SRS_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_srs_Config_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_srs_Config_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_43     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_srs_Config, T_srs_Config_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_beamFailureRecoveryConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_44     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BeamFailureRecoveryConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_beamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_beamFailureRecoveryConfig, T_beamFailureRecoveryConfig_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_PUCCH_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PUCCH_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_41     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PUCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PUCCH_Config_r16, T_sl_PUCCH_Config_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 28U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_useInterlacePUCCH_PUSCH_r16_01_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_useInterlacePUCCH_PUSCH_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_ConfigurationList_r16_sequence_of[1] = {
  { &hf_nr_rrc_PUCCH_ConfigurationList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Config },
};

static int
dissect_nr_rrc_PUCCH_ConfigurationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PUCCH_ConfigurationList_r16, PUCCH_ConfigurationList_r16_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pucch_ConfigurationList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pucch_ConfigurationList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_45     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_ConfigurationList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pucch_ConfigurationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pucch_ConfigurationList_r16, T_pucch_ConfigurationList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_lbt_FailureInstanceMaxCount_r16_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n64" },
  {   5, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lbt_FailureInstanceMaxCount_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lbt_FailureDetectionTimer_r16_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms40" },
  {   3, "ms80" },
  {   4, "ms160" },
  {   5, "ms320" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lbt_FailureDetectionTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t LBT_FailureRecoveryConfig_r16_sequence[] = {
  { &hf_nr_rrc_lbt_FailureInstanceMaxCount_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_lbt_FailureInstanceMaxCount_r16 },
  { &hf_nr_rrc_lbt_FailureDetectionTimer_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_lbt_FailureDetectionTimer_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LBT_FailureRecoveryConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LBT_FailureRecoveryConfig_r16, LBT_FailureRecoveryConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_lbt_FailureRecoveryConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_lbt_FailureRecoveryConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_46     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LBT_FailureRecoveryConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_lbt_FailureRecoveryConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_lbt_FailureRecoveryConfig_r16, T_lbt_FailureRecoveryConfig_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ConfiguredGrantConfigType2DeactivationState_r16_sequence_of[1] = {
  { &hf_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfigIndex_r16 },
};

static int
dissect_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16, ConfiguredGrantConfigType2DeactivationState_r16_sequence_of,
                                                  1, maxNrofConfiguredGrantConfig_r16, FALSE);

  return offset;
}


static const per_sequence_t ConfiguredGrantConfigType2DeactivationStateList_r16_sequence_of[1] = {
  { &hf_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16 },
};

static int
dissect_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16, ConfiguredGrantConfigType2DeactivationStateList_r16_sequence_of,
                                                  1, maxNrofCG_Type2DeactivationState, FALSE);

  return offset;
}


static const per_sequence_t BWP_UplinkDedicated_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_PUCCH_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PUCCH_Config_r16 },
  { &hf_nr_rrc_cp_ExtensionC2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_28 },
  { &hf_nr_rrc_cp_ExtensionC3_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_28 },
  { &hf_nr_rrc_useInterlacePUCCH_PUSCH_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_useInterlacePUCCH_PUSCH_r16_01 },
  { &hf_nr_rrc_pucch_ConfigurationList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_ConfigurationList_r16 },
  { &hf_nr_rrc_lbt_FailureRecoveryConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lbt_FailureRecoveryConfig_r16 },
  { &hf_nr_rrc_configuredGrantConfigToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfiguredGrantConfigToAddModList_r16 },
  { &hf_nr_rrc_configuredGrantConfigToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfiguredGrantConfigToReleaseList_r16 },
  { &hf_nr_rrc_configuredGrantConfigType2DeactivationStateList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkDedicated_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BWP_UplinkDedicated_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_r17_01_vals[] = {
  {   0, "ssb-Index-r17" },
  {   1, "csi-RS-Index-r17" },
  {   2, "srs-r17" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_r17_01_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  {   2, &hf_nr_rrc_srs_r17      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_r17_01, T_referenceSignal_r17_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t TCI_UL_State_r17_sequence[] = {
  { &hf_nr_rrc_tci_UL_StateId_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_UL_StateId_r17 },
  { &hf_nr_rrc_servingCellId_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_bwp_Id_r17   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_referenceSignal_r17_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_r17_01 },
  { &hf_nr_rrc_additionalPCI_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_AdditionalPCIIndex_r17 },
  { &hf_nr_rrc_ul_powerControl_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_Uplink_powerControlId_r17 },
  { &hf_nr_rrc_pathlossReferenceRS_Id_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PathlossReferenceRS_Id_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TCI_UL_State_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TCI_UL_State_r17, TCI_UL_State_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17_sequence_of[1] = {
  { &hf_nr_rrc_ul_TCI_ToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_UL_State_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17, SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17_sequence_of,
                                                  1, maxUL_TCI_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17_sequence_of[1] = {
  { &hf_nr_rrc_ul_TCI_ToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_UL_StateId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17, SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17_sequence_of,
                                                  1, maxUL_TCI_r17, FALSE);

  return offset;
}


static const per_sequence_t T_explicitlist_sequence[] = {
  { &hf_nr_rrc_ul_TCI_ToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17 },
  { &hf_nr_rrc_ul_TCI_ToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_explicitlist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_explicitlist, T_explicitlist_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_TCI_StateList_r17_vals[] = {
  {   0, "explicitlist" },
  {   1, "unifiedTCI-StateRef-r17" },
  { 0, NULL }
};

static const per_choice_t T_ul_TCI_StateList_r17_choice[] = {
  {   0, &hf_nr_rrc_explicitlist , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_explicitlist },
  {   1, &hf_nr_rrc_unifiedTCI_StateRef_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ServingCellAndBWP_Id_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_TCI_StateList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ul_TCI_StateList_r17, T_ul_TCI_StateList_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_ConfigurationListMulticast1_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pucch_ConfigurationListMulticast1_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_45     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_ConfigurationList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pucch_ConfigurationListMulticast1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pucch_ConfigurationListMulticast1_r17, T_pucch_ConfigurationListMulticast1_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_ConfigurationListMulticast2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pucch_ConfigurationListMulticast2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_45     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_ConfigurationList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pucch_ConfigurationListMulticast2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pucch_ConfigurationListMulticast2_r17, T_pucch_ConfigurationListMulticast2_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BWP_UplinkDedicated_eag_2_sequence[] = {
  { &hf_nr_rrc_ul_TCI_StateList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_TCI_StateList_r17 },
  { &hf_nr_rrc_ul_powerControl_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Uplink_powerControlId_r17 },
  { &hf_nr_rrc_pucch_ConfigurationListMulticast1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_ConfigurationListMulticast1_r17 },
  { &hf_nr_rrc_pucch_ConfigurationListMulticast2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_ConfigurationListMulticast2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkDedicated_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BWP_UplinkDedicated_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_pucch_ConfigMulticast1_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pucch_ConfigMulticast1_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_41     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pucch_ConfigMulticast1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pucch_ConfigMulticast1_r17, T_pucch_ConfigMulticast1_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_ConfigMulticast2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pucch_ConfigMulticast2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_41     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pucch_ConfigMulticast2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pucch_ConfigMulticast2_r17, T_pucch_ConfigMulticast2_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BWP_UplinkDedicated_eag_3_sequence[] = {
  { &hf_nr_rrc_pucch_ConfigMulticast1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_ConfigMulticast1_r17 },
  { &hf_nr_rrc_pucch_ConfigMulticast2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_ConfigMulticast2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkDedicated_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BWP_UplinkDedicated_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_referenceSignal_r17_vals[] = {
  {   0, "ssb-Index" },
  {   1, "csi-RS-Index" },
  { 0, NULL }
};

static const per_choice_t T_referenceSignal_r17_choice[] = {
  {   0, &hf_nr_rrc_ssb_Index    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SSB_Index },
  {   1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_referenceSignal_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_referenceSignal_r17, T_referenceSignal_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PathlossReferenceRS_r17_sequence[] = {
  { &hf_nr_rrc_pathlossReferenceRS_Id_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PathlossReferenceRS_Id_r17 },
  { &hf_nr_rrc_referenceSignal_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_r17 },
  { &hf_nr_rrc_additionalPCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AdditionalPCIIndex_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PathlossReferenceRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PathlossReferenceRS_r17, PathlossReferenceRS_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17_sequence_of[1] = {
  { &hf_nr_rrc_pathlossReferenceRSToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PathlossReferenceRS_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17, SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17_sequence_of,
                                                  1, maxNrofPathlossReferenceRSs_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17_sequence_of[1] = {
  { &hf_nr_rrc_pathlossReferenceRSToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PathlossReferenceRS_Id_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17, SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17_sequence_of,
                                                  1, maxNrofPathlossReferenceRSs_r17, FALSE);

  return offset;
}


static const per_sequence_t BWP_UplinkDedicated_eag_4_sequence[] = {
  { &hf_nr_rrc_pathlossReferenceRSToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17 },
  { &hf_nr_rrc_pathlossReferenceRSToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkDedicated_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BWP_UplinkDedicated_eag_4_sequence);

  return offset;
}


static const per_sequence_t BWP_UplinkDedicated_sequence[] = {
  { &hf_nr_rrc_pucch_Config , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_Config },
  { &hf_nr_rrc_pusch_Config , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_Config },
  { &hf_nr_rrc_configuredGrantConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredGrantConfig },
  { &hf_nr_rrc_srs_Config   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_Config },
  { &hf_nr_rrc_beamFailureRecoveryConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamFailureRecoveryConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkDedicated_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkDedicated_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkDedicated_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkDedicated_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_UplinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP_UplinkDedicated, BWP_UplinkDedicated_sequence);

  return offset;
}


static const per_sequence_t BWP_Uplink_sequence[] = {
  { &hf_nr_rrc_bwp_Id       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_bwp_Common_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_UplinkCommon },
  { &hf_nr_rrc_bwp_Dedicated_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_UplinkDedicated },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BWP_Uplink, BWP_Uplink_sequence);

  return offset;
}


static const value_string nr_rrc_T_servedRadioBearer_vals[] = {
  {   0, "srb-Identity" },
  {   1, "drb-Identity" },
  { 0, NULL }
};

static const per_choice_t T_servedRadioBearer_choice[] = {
  {   0, &hf_nr_rrc_srb_Identity , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRB_Identity },
  {   1, &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DRB_Identity },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_servedRadioBearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_servedRadioBearer, T_servedRadioBearer_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_reestablishRLC_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reestablishRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_StatusProhibit_v1610_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms3" },
  {   3, "ms4" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_StatusProhibit_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DL_AM_RLC_v1610_sequence[] = {
  { &hf_nr_rrc_t_StatusProhibit_v1610, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_StatusProhibit_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_AM_RLC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_AM_RLC_v1610, DL_AM_RLC_v1610_sequence);

  return offset;
}


static const per_sequence_t RLC_Config_v1610_sequence[] = {
  { &hf_nr_rrc_dl_AM_RLC_v1610, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_Config_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RLC_Config_v1610, RLC_Config_v1610_sequence);

  return offset;
}


static const per_sequence_t RLC_BearerConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_rlc_Config_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RLC_Config_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_BearerConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RLC_BearerConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_ReassemblyExt_r17_vals[] = {
  {   0, "ms210" },
  {   1, "ms220" },
  {   2, "ms340" },
  {   3, "ms350" },
  {   4, "ms550" },
  {   5, "ms1100" },
  {   6, "ms1650" },
  {   7, "ms2200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ReassemblyExt_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DL_AM_RLC_v1700_sequence[] = {
  { &hf_nr_rrc_t_ReassemblyExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ReassemblyExt_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_AM_RLC_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_AM_RLC_v1700, DL_AM_RLC_v1700_sequence);

  return offset;
}


static const per_sequence_t DL_UM_RLC_v1700_sequence[] = {
  { &hf_nr_rrc_t_ReassemblyExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ReassemblyExt_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DL_UM_RLC_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DL_UM_RLC_v1700, DL_UM_RLC_v1700_sequence);

  return offset;
}


static const per_sequence_t RLC_Config_v1700_sequence[] = {
  { &hf_nr_rrc_dl_AM_RLC_v1700, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC_v1700 },
  { &hf_nr_rrc_dl_UM_RLC_v1700, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_Config_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RLC_Config_v1700, RLC_Config_v1700_sequence);

  return offset;
}



static int
dissect_nr_rrc_LogicalChannelIdentityExt_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            320U, 65855U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_isPTM_Entity_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_isPTM_Entity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MulticastRLC_BearerConfig_r17_sequence[] = {
  { &hf_nr_rrc_servedMBS_RadioBearer_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRB_Identity_r17 },
  { &hf_nr_rrc_isPTM_Entity_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_isPTM_Entity_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MulticastRLC_BearerConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MulticastRLC_BearerConfig_r17, MulticastRLC_BearerConfig_r17_sequence);

  return offset;
}


static const per_sequence_t RLC_BearerConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_rlc_Config_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RLC_Config_v1700 },
  { &hf_nr_rrc_logicalChannelIdentityExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LogicalChannelIdentityExt_r17 },
  { &hf_nr_rrc_multicastRLC_BearerConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MulticastRLC_BearerConfig_r17 },
  { &hf_nr_rrc_servedRadioBearerSRB4_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRB_Identity_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_BearerConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RLC_BearerConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t RLC_BearerConfig_sequence[] = {
  { &hf_nr_rrc_logicalChannelIdentity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
  { &hf_nr_rrc_servedRadioBearer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_servedRadioBearer },
  { &hf_nr_rrc_reestablishRLC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reestablishRLC },
  { &hf_nr_rrc_rlc_Config   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RLC_Config },
  { &hf_nr_rrc_mac_LogicalChannelConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LogicalChannelConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_BearerConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_BearerConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_BearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  struct mac_nr_info *p_mac_nr_info;
  /* Get the struct and clear it out */
  nr_drb_mac_rlc_mapping_t *drb_mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
  memset(drb_mapping, 0, sizeof(nr_drb_mac_rlc_mapping_t));
  drb_mapping->active = TRUE;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RLC_BearerConfig, RLC_BearerConfig_sequence);

  /* Need UE identifier */
  p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
  if (p_mac_nr_info && drb_mapping->drbid) {
    drb_mapping->ueid = p_mac_nr_info->ueid;
    /* Tell MAC about this mapping */
    set_mac_nr_bearer_mapping(drb_mapping);
  }
  drb_mapping->active = FALSE;


  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig_sequence_of[1] = {
  { &hf_nr_rrc_rlc_BearerToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_BearerConfig },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig, SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig_sequence_of,
                                                  1, maxLC_ID, FALSE);

  return offset;
}


static const value_string nr_rrc_T_drx_Config_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_drx_Config_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_59     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DRX_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_Config, T_drx_Config_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sr_ProhibitTimer_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms4" },
  {   3, "ms8" },
  {   4, "ms16" },
  {   5, "ms32" },
  {   6, "ms64" },
  {   7, "ms128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sr_TransMax_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n64" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sr_TransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SchedulingRequestToAddMod_sequence[] = {
  { &hf_nr_rrc_schedulingRequestId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_sr_ProhibitTimer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sr_ProhibitTimer },
  { &hf_nr_rrc_sr_TransMax  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sr_TransMax },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingRequestToAddMod, SchedulingRequestToAddMod_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of[1] = {
  { &hf_nr_rrc_schedulingRequestToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestToAddMod },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of,
                                                  1, maxNrofSR_ConfigPerCellGroup, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of[1] = {
  { &hf_nr_rrc_schedulingRequestToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of,
                                                  1, maxNrofSR_ConfigPerCellGroup, FALSE);

  return offset;
}


static const per_sequence_t SchedulingRequestConfig_sequence[] = {
  { &hf_nr_rrc_schedulingRequestToAddModList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod },
  { &hf_nr_rrc_schedulingRequestToReleaseList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingRequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingRequestConfig, SchedulingRequestConfig_sequence);

  return offset;
}



static int
dissect_nr_rrc_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofTAGs_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id_sequence_of[1] = {
  { &hf_nr_rrc_tag_ToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id_sequence_of,
                                                  1, maxNrofTAGs, FALSE);

  return offset;
}


static const per_sequence_t TAG_sequence[] = {
  { &hf_nr_rrc_tag_Id       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
  { &hf_nr_rrc_timeAlignmentTimer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TAG, TAG_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_sequence_of[1] = {
  { &hf_nr_rrc_tag_ToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_sequence_of,
                                                  1, maxNrofTAGs, FALSE);

  return offset;
}


static const per_sequence_t TAG_Config_sequence[] = {
  { &hf_nr_rrc_tag_ToReleaseList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id },
  { &hf_nr_rrc_tag_ToAddModList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TAG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TAG_Config, TAG_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_phr_PeriodicTimer_vals[] = {
  {   0, "sf10" },
  {   1, "sf20" },
  {   2, "sf50" },
  {   3, "sf100" },
  {   4, "sf200" },
  {   5, "sf500" },
  {   6, "sf1000" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phr_PeriodicTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_phr_ProhibitTimer_vals[] = {
  {   0, "sf0" },
  {   1, "sf10" },
  {   2, "sf20" },
  {   3, "sf50" },
  {   4, "sf100" },
  {   5, "sf200" },
  {   6, "sf500" },
  {   7, "sf1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_phr_Tx_PowerFactorChange_vals[] = {
  {   0, "dB1" },
  {   1, "dB3" },
  {   2, "dB6" },
  {   3, "infinity" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phr_Tx_PowerFactorChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_phr_ModeOtherCG_vals[] = {
  {   0, "real" },
  {   1, "virtual" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phr_ModeOtherCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mpe_ProhibitTimer_r16_vals[] = {
  {   0, "sf0" },
  {   1, "sf10" },
  {   2, "sf20" },
  {   3, "sf50" },
  {   4, "sf100" },
  {   5, "sf200" },
  {   6, "sf500" },
  {   7, "sf1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mpe_ProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mpe_Threshold_r16_vals[] = {
  {   0, "dB3" },
  {   1, "dB6" },
  {   2, "dB9" },
  {   3, "dB12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mpe_Threshold_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MPE_Config_FR2_r16_sequence[] = {
  { &hf_nr_rrc_mpe_ProhibitTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mpe_ProhibitTimer_r16 },
  { &hf_nr_rrc_mpe_Threshold_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mpe_Threshold_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MPE_Config_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MPE_Config_FR2_r16, MPE_Config_FR2_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_mpe_Reporting_FR2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_mpe_Reporting_FR2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_100    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MPE_Config_FR2_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_mpe_Reporting_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_mpe_Reporting_FR2_r16, T_mpe_Reporting_FR2_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PHR_Config_eag_1_sequence[] = {
  { &hf_nr_rrc_mpe_Reporting_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mpe_Reporting_FR2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PHR_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PHR_Config_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_mpe_ProhibitTimer_r17_vals[] = {
  {   0, "sf0" },
  {   1, "sf10" },
  {   2, "sf20" },
  {   3, "sf50" },
  {   4, "sf100" },
  {   5, "sf200" },
  {   6, "sf500" },
  {   7, "sf1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mpe_ProhibitTimer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mpe_Threshold_r17_vals[] = {
  {   0, "dB3" },
  {   1, "dB6" },
  {   2, "dB9" },
  {   3, "dB12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mpe_Threshold_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MPE_Config_FR2_r17_sequence[] = {
  { &hf_nr_rrc_mpe_ProhibitTimer_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mpe_ProhibitTimer_r17 },
  { &hf_nr_rrc_mpe_Threshold_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mpe_Threshold_r17 },
  { &hf_nr_rrc_numberOfN_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MPE_Config_FR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MPE_Config_FR2_r17, MPE_Config_FR2_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mpe_Reporting_FR2_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_mpe_Reporting_FR2_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_101    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MPE_Config_FR2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_mpe_Reporting_FR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_mpe_Reporting_FR2_r17, T_mpe_Reporting_FR2_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPHRMode_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPHRMode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PHR_Config_eag_2_sequence[] = {
  { &hf_nr_rrc_mpe_Reporting_FR2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mpe_Reporting_FR2_r17 },
  { &hf_nr_rrc_twoPHRMode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPHRMode_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PHR_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PHR_Config_eag_2_sequence);

  return offset;
}


static const per_sequence_t PHR_Config_sequence[] = {
  { &hf_nr_rrc_phr_PeriodicTimer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_PeriodicTimer },
  { &hf_nr_rrc_phr_ProhibitTimer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ProhibitTimer },
  { &hf_nr_rrc_phr_Tx_PowerFactorChange, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_Tx_PowerFactorChange },
  { &hf_nr_rrc_multiplePHR  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_pHR_Config_dummy, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_phr_Type2OtherCell, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_phr_ModeOtherCG, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ModeOtherCG },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PHR_Config_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PHR_Config_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PHR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PHR_Config, PHR_Config_sequence);

  return offset;
}


static const value_string nr_rrc_T_phr_Config_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_phr_Config_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_60     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PHR_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_phr_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_phr_Config, T_phr_Config_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_DataInactivityTimer_vals[] = {
  {   0, "s1" },
  {   1, "s2" },
  {   2, "s3" },
  {   3, "s5" },
  {   4, "s7" },
  {   5, "s10" },
  {   6, "s15" },
  {   7, "s20" },
  {   8, "s40" },
  {   9, "s50" },
  {  10, "s60" },
  {  11, "s80" },
  {  12, "s100" },
  {  13, "s120" },
  {  14, "s150" },
  {  15, "s180" },
  { 0, NULL }
};


static int
dissect_nr_rrc_DataInactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dataInactivityTimer_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dataInactivityTimer_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_61     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DataInactivityTimer },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dataInactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dataInactivityTimer, T_dataInactivityTimer_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MAC_CellGroupConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_csi_Mask     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_dataInactivityTimer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dataInactivityTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_CellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_usePreBSR_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_usePreBSR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lch_BasedPrioritization_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lch_BasedPrioritization_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_milliSeconds_02_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms3" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms6" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms30" },
  {  10, "ms40" },
  {  11, "ms50" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms200" },
  {  16, "ms300" },
  {  17, "ms400" },
  {  18, "ms500" },
  {  19, "ms600" },
  {  20, "ms800" },
  {  21, "ms1000" },
  {  22, "ms1200" },
  {  23, "ms1600" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_milliSeconds_02_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_02_vals);


static int
dissect_nr_rrc_T_milliSeconds_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_onDurationTimer_r16_vals[] = {
  {   0, "subMilliSeconds" },
  {   1, "milliSeconds" },
  { 0, NULL }
};

static const per_choice_t T_drx_onDurationTimer_r16_choice[] = {
  {   0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_31 },
  {   1, &hf_nr_rrc_milliSeconds_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_milliSeconds_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_onDurationTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_onDurationTimer_r16, T_drx_onDurationTimer_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_InactivityTimer_r16_vals[] = {
  {   0, "ms0" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms6" },
  {   7, "ms8" },
  {   8, "ms10" },
  {   9, "ms20" },
  {  10, "ms30" },
  {  11, "ms40" },
  {  12, "ms50" },
  {  13, "ms60" },
  {  14, "ms80" },
  {  15, "ms100" },
  {  16, "ms200" },
  {  17, "ms300" },
  {  18, "ms500" },
  {  19, "ms750" },
  {  20, "ms1280" },
  {  21, "ms1920" },
  {  22, "ms2560" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_drx_InactivityTimer_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_InactivityTimer_r16_vals);


static int
dissect_nr_rrc_T_drx_InactivityTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DRX_ConfigSecondaryGroup_r16_sequence[] = {
  { &hf_nr_rrc_drx_onDurationTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer_r16 },
  { &hf_nr_rrc_drx_InactivityTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimer_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_ConfigSecondaryGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_ConfigSecondaryGroup_r16, DRX_ConfigSecondaryGroup_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_drx_ConfigSecondaryGroup_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_drx_ConfigSecondaryGroup_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_62     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DRX_ConfigSecondaryGroup_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_ConfigSecondaryGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_ConfigSecondaryGroup_r16, T_drx_ConfigSecondaryGroup_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MAC_CellGroupConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_usePreBSR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_usePreBSR_r16 },
  { &hf_nr_rrc_schedulingRequestID_LBT_SCell_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_lch_BasedPrioritization_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lch_BasedPrioritization_r16 },
  { &hf_nr_rrc_schedulingRequestID_BFR_SCell_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_drx_ConfigSecondaryGroup_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_ConfigSecondaryGroup_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_CellGroupConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_enhancedSkipUplinkTxDynamic_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedSkipUplinkTxDynamic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enhancedSkipUplinkTxConfigured_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedSkipUplinkTxConfigured_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_CellGroupConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_enhancedSkipUplinkTxDynamic_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedSkipUplinkTxDynamic_r16 },
  { &hf_nr_rrc_enhancedSkipUplinkTxConfigured_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedSkipUplinkTxConfigured_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_CellGroupConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_intraCG_Prioritization_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraCG_Prioritization_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_RetransmissionTimerSL_r17_vals[] = {
  {   0, "sl0" },
  {   1, "sl1" },
  {   2, "sl2" },
  {   3, "sl4" },
  {   4, "sl6" },
  {   5, "sl8" },
  {   6, "sl16" },
  {   7, "sl24" },
  {   8, "sl33" },
  {   9, "sl40" },
  {  10, "sl64" },
  {  11, "sl80" },
  {  12, "sl96" },
  {  13, "sl112" },
  {  14, "sl128" },
  {  15, "sl160" },
  {  16, "sl320" },
  {  17, "spare15" },
  {  18, "spare14" },
  {  19, "spare13" },
  {  20, "spare12" },
  {  21, "spare11" },
  {  22, "spare10" },
  {  23, "spare9" },
  {  24, "spare8" },
  {  25, "spare7" },
  {  26, "spare6" },
  {  27, "spare5" },
  {  28, "spare4" },
  {  29, "spare3" },
  {  30, "spare2" },
  {  31, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_RetransmissionTimerSL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DRX_ConfigSL_r17_sequence[] = {
  { &hf_nr_rrc_drx_HARQ_RTT_TimerSL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
  { &hf_nr_rrc_drx_RetransmissionTimerSL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerSL_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_ConfigSL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_ConfigSL_r17, DRX_ConfigSL_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_drx_ConfigSL_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_drx_ConfigSL_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_63     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DRX_ConfigSL_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_ConfigSL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_ConfigSL_r17, T_drx_ConfigSL_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_448(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 448U, NULL, FALSE);

  return offset;
}


static const per_sequence_t DRX_ConfigExt_v1700_sequence[] = {
  { &hf_nr_rrc_drx_HARQ_RTT_TimerDL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_448 },
  { &hf_nr_rrc_drx_HARQ_RTT_TimerUL_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_448 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DRX_ConfigExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DRX_ConfigExt_v1700, DRX_ConfigExt_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_drx_ConfigExt_v1700_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_drx_ConfigExt_v1700_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_64     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DRX_ConfigExt_v1700 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_ConfigExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_ConfigExt_v1700, T_drx_ConfigExt_v1700_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sr_ProhibitTimer_v1700_vals[] = {
  {   0, "ms192" },
  {   1, "ms256" },
  {   2, "ms320" },
  {   3, "ms384" },
  {   4, "ms448" },
  {   5, "ms512" },
  {   6, "ms576" },
  {   7, "ms640" },
  {   8, "ms1082" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sr_ProhibitTimer_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SchedulingRequestToAddModExt_v1700_sequence[] = {
  { &hf_nr_rrc_sr_ProhibitTimer_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sr_ProhibitTimer_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingRequestToAddModExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingRequestToAddModExt_v1700, SchedulingRequestToAddModExt_v1700_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700_sequence_of[1] = {
  { &hf_nr_rrc_schedulingRequestToAddModListExt_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestToAddModExt_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700_sequence_of,
                                                  1, maxNrofSR_ConfigPerCellGroup, FALSE);

  return offset;
}


static const per_sequence_t SchedulingRequestConfig_v1700_sequence[] = {
  { &hf_nr_rrc_schedulingRequestToAddModListExt_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SchedulingRequestConfig_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SchedulingRequestConfig_v1700, SchedulingRequestConfig_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_offsetThresholdTA_r17_vals[] = {
  {   0, "ms0dot5" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  {   6, "ms6" },
  {   7, "ms7" },
  {   8, "ms8" },
  {   9, "ms9" },
  {  10, "ms10" },
  {  11, "ms11" },
  {  12, "ms12" },
  {  13, "ms13" },
  {  14, "ms14" },
  {  15, "ms15" },
  {  16, "spare13" },
  {  17, "spare12" },
  {  18, "spare11" },
  {  19, "spare10" },
  {  20, "spare9" },
  {  21, "spare8" },
  {  22, "spare7" },
  {  23, "spare6" },
  {  24, "spare5" },
  {  25, "spare4" },
  {  26, "spare3" },
  {  27, "spare2" },
  {  28, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_offsetThresholdTA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     29, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_timingAdvanceSR_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timingAdvanceSR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t TAR_Config_r17_sequence[] = {
  { &hf_nr_rrc_offsetThresholdTA_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_offsetThresholdTA_r17 },
  { &hf_nr_rrc_timingAdvanceSR_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_timingAdvanceSR_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TAR_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TAR_Config_r17, TAR_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_tar_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_tar_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_65     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_TAR_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_tar_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_tar_Config_r17, T_tar_Config_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_MBS_RNTI_SpecificConfigId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxG_RNTI_1_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_groupCommon_RNTI_r17_vals[] = {
  {   0, "g-RNTI" },
  {   1, "g-CS-RNTI" },
  { 0, NULL }
};

static const per_choice_t T_groupCommon_RNTI_r17_choice[] = {
  {   0, &hf_nr_rrc_g_RNTI       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RNTI_Value },
  {   1, &hf_nr_rrc_g_CS_RNTI    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RNTI_Value },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_groupCommon_RNTI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_groupCommon_RNTI_r17, T_groupCommon_RNTI_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_ConfigPTM_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_drx_ConfigPTM_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_66     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DRX_ConfigPTM_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_ConfigPTM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_drx_ConfigPTM_r17, T_drx_ConfigPTM_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_FeedbackEnablerMulticast_r17_vals[] = {
  {   0, "dci-enabler" },
  {   1, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_FeedbackEnablerMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_FeedbackOptionMulticast_r17_vals[] = {
  {   0, "ack-nack" },
  {   1, "nack-only" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_FeedbackOptionMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_AggregationFactor_r17_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_AggregationFactor_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MBS_RNTI_SpecificConfig_r17_sequence[] = {
  { &hf_nr_rrc_mbs_RNTI_SpecificConfigId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_RNTI_SpecificConfigId_r17 },
  { &hf_nr_rrc_groupCommon_RNTI_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupCommon_RNTI_r17 },
  { &hf_nr_rrc_drx_ConfigPTM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_ConfigPTM_r17 },
  { &hf_nr_rrc_harq_FeedbackEnablerMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harq_FeedbackEnablerMulticast_r17 },
  { &hf_nr_rrc_harq_FeedbackOptionMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harq_FeedbackOptionMulticast_r17 },
  { &hf_nr_rrc_pdsch_AggregationFactor_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_AggregationFactor_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBS_RNTI_SpecificConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBS_RNTI_SpecificConfig_r17, MBS_RNTI_SpecificConfig_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17_sequence_of[1] = {
  { &hf_nr_rrc_g_RNTI_ConfigToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_RNTI_SpecificConfig_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17, SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17_sequence_of,
                                                  1, maxG_RNTI_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17_sequence_of[1] = {
  { &hf_nr_rrc_g_RNTI_ConfigToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_RNTI_SpecificConfigId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17, SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17_sequence_of,
                                                  1, maxG_RNTI_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17_sequence_of[1] = {
  { &hf_nr_rrc_g_CS_RNTI_ConfigToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_RNTI_SpecificConfig_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17, SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17_sequence_of,
                                                  1, maxG_CS_RNTI_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17_sequence_of[1] = {
  { &hf_nr_rrc_g_CS_RNTI_ConfigToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_RNTI_SpecificConfigId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17, SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17_sequence_of,
                                                  1, maxG_CS_RNTI_r17, FALSE);

  return offset;
}


static const per_sequence_t MAC_CellGroupConfig_eag_4_sequence[] = {
  { &hf_nr_rrc_intraCG_Prioritization_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraCG_Prioritization_r17 },
  { &hf_nr_rrc_drx_ConfigSL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_ConfigSL_r17 },
  { &hf_nr_rrc_drx_ConfigExt_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_ConfigExt_v1700 },
  { &hf_nr_rrc_schedulingRequestID_BFR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_schedulingRequestID_BFR2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_schedulingRequestConfig_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestConfig_v1700 },
  { &hf_nr_rrc_tar_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tar_Config_r17 },
  { &hf_nr_rrc_g_RNTI_ConfigToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17 },
  { &hf_nr_rrc_g_RNTI_ConfigToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17 },
  { &hf_nr_rrc_g_CS_RNTI_ConfigToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17 },
  { &hf_nr_rrc_g_CS_RNTI_ConfigToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17 },
  { &hf_nr_rrc_allowCSI_SRS_Tx_MulticastDRX_Active_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_CellGroupConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_drx_LastTransmissionUL_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_LastTransmissionUL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_CellGroupConfig_eag_5_sequence[] = {
  { &hf_nr_rrc_schedulingRequestID_PosMG_Request_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestId },
  { &hf_nr_rrc_drx_LastTransmissionUL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_LastTransmissionUL_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_CellGroupConfig_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_5_sequence);

  return offset;
}


static const value_string nr_rrc_T_posMG_Request_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_posMG_Request_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_CellGroupConfig_eag_6_sequence[] = {
  { &hf_nr_rrc_posMG_Request_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_posMG_Request_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_CellGroupConfig_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_6_sequence);

  return offset;
}


static const per_sequence_t MAC_CellGroupConfig_sequence[] = {
  { &hf_nr_rrc_drx_Config   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_Config },
  { &hf_nr_rrc_schedulingRequestConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SchedulingRequestConfig },
  { &hf_nr_rrc_bsr_Config   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BSR_Config },
  { &hf_nr_rrc_tag_Config   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TAG_Config },
  { &hf_nr_rrc_phr_Config   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_phr_Config },
  { &hf_nr_rrc_mAC_CellGroupConfig_skipUplinkTxDynamic, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_CellGroupConfig, MAC_CellGroupConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_Codebook_vals[] = {
  {   0, "semiStatic" },
  {   1, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cs_RNTI_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_cs_RNTI_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_102    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RNTI_Value },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_cs_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_cs_RNTI, T_cs_RNTI_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_mcs_C_RNTI   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_p_UE_FR1     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_xScale_vals[] = {
  {   0, "dB0" },
  {   1, "dB6" },
  {   2, "spare2" },
  {   3, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_xScale(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_xScale       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_xScale },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_2_sequence);

  return offset;
}



static int
dissect_nr_rrc_PDCCH_BlindDetection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 15U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdcch_BlindDetection_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_BlindDetection_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_103    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_BlindDetection },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_BlindDetection, T_pdcch_BlindDetection_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetection, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetection },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_3_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_120(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 120U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxDCI_2_6_Size_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxDCI_2_6_Size_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxDCI_2_6_Size_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxDCI_2_6_Size_1_r16, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ps_WakeUp_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ps_WakeUp_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ps_TransmitPeriodicL1_RSRP_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ps_TransmitPeriodicL1_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ps_TransmitOtherPeriodicCSI_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ps_TransmitOtherPeriodicCSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DCP_Config_r16_sequence[] = {
  { &hf_nr_rrc_ps_RNTI_r16  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_ps_Offset_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_120 },
  { &hf_nr_rrc_sizeDCI_2_6_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxDCI_2_6_Size_r16 },
  { &hf_nr_rrc_ps_PositionDCI_2_6_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxDCI_2_6_Size_1_r16 },
  { &hf_nr_rrc_ps_WakeUp_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ps_WakeUp_r16 },
  { &hf_nr_rrc_ps_TransmitPeriodicL1_RSRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ps_TransmitPeriodicL1_RSRP_r16 },
  { &hf_nr_rrc_ps_TransmitOtherPeriodicCSI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ps_TransmitOtherPeriodicCSI_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DCP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DCP_Config_r16, DCP_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_dcp_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dcp_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_104    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DCP_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dcp_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dcp_Config_r16, T_dcp_Config_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16_vals[] = {
  {   0, "semiStatic" },
  {   1, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrdc_PCmode_FR1_r16_vals[] = {
  {   0, "semi-static-mode1" },
  {   1, "semi-static-mode2" },
  {   2, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrdc_PCmode_FR1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrdc_PCmode_FR2_r16_vals[] = {
  {   0, "semi-static-mode1" },
  {   1, "semi-static-mode2" },
  {   2, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrdc_PCmode_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_Codebook_r16_vals[] = {
  {   0, "enhancedDynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nfi_TotalDAI_Included_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nfi_TotalDAI_Included_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_TotalDAI_Included_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_TotalDAI_Included_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedback_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedback_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_downlinkAssignmentIndexDCI_0_2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_downlinkAssignmentIndexDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_downlinkAssignmentIndexDCI_1_2_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_downlinkAssignmentIndexDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item_vals[] = {
  {   0, "semiStatic" },
  {   1, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDSCH_HARQ_ACK_CodebookList_r16_sequence_of[1] = {
  { &hf_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item },
};

static int
dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16, PDSCH_HARQ_ACK_CodebookList_r16_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_HARQ_ACK_CodebookList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_105    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16, T_pdsch_HARQ_ACK_CodebookList_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ackNackFeedbackMode_r16_vals[] = {
  {   0, "joint" },
  {   1, "separate" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ackNackFeedbackMode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionCA_CombIndicator_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16, PDCCH_BlindDetectionCA_CombIndicator_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_BlindDetectionCA_CombIndicator_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_106    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16, T_pdcch_BlindDetectionCA_CombIndicator_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_PDCCH_BlindDetection2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 15U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdcch_BlindDetection2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_BlindDetection2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_107    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_BlindDetection2_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetection2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_BlindDetection2_r16, T_pdcch_BlindDetection2_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_PDCCH_BlindDetection3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 15U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdcch_BlindDetection3_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_BlindDetection3_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_108    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_BlindDetection3_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetection3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_BlindDetection3_r16, T_pdcch_BlindDetection3_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_bdFactorR_r16_vals[] = {
  {   0, "n1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bdFactorR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_eag_4_sequence[] = {
  { &hf_nr_rrc_dcp_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dcp_Config_r16 },
  { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16 },
  { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16 },
  { &hf_nr_rrc_p_NR_FR2_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_p_UE_FR2_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_nrdc_PCmode_FR1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrdc_PCmode_FR1_r16 },
  { &hf_nr_rrc_nrdc_PCmode_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrdc_PCmode_FR2_r16 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook_r16 },
  { &hf_nr_rrc_nfi_TotalDAI_Included_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nfi_TotalDAI_Included_r16 },
  { &hf_nr_rrc_ul_TotalDAI_Included_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_TotalDAI_Included_r16 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedback_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedback_r16 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16 },
  { &hf_nr_rrc_downlinkAssignmentIndexDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_downlinkAssignmentIndexDCI_0_2_r16 },
  { &hf_nr_rrc_downlinkAssignmentIndexDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_downlinkAssignmentIndexDCI_1_2_r16 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_CodebookList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16 },
  { &hf_nr_rrc_ackNackFeedbackMode_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ackNackFeedbackMode_r16 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16 },
  { &hf_nr_rrc_pdcch_BlindDetection2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetection2_r16 },
  { &hf_nr_rrc_pdcch_BlindDetection3_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetection3_r16 },
  { &hf_nr_rrc_bdFactorR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bdFactorR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_4_sequence);

  return offset;
}



static int
dissect_nr_rrc_PDSCH_HARQ_ACK_EnhType3Index_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofEnhType3HARQ_ACK_1_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_perCC_sequence_of[1] = {
  { &hf_nr_rrc_perCC_item   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
};

static int
dissect_nr_rrc_T_perCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_perCC, T_perCC_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t T_perHARQ_sequence_of[1] = {
  { &hf_nr_rrc_perHARQ_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 },
};

static int
dissect_nr_rrc_T_perHARQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_perHARQ, T_perHARQ_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const value_string nr_rrc_T_applicable_r17_vals[] = {
  {   0, "perCC" },
  {   1, "perHARQ" },
  { 0, NULL }
};

static const per_choice_t T_applicable_r17_choice[] = {
  {   0, &hf_nr_rrc_perCC        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_perCC },
  {   1, &hf_nr_rrc_perHARQ      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_perHARQ },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_applicable_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_applicable_r17, T_applicable_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_EnhType3NDI_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3NDI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_EnhType3CBG_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3CBG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_perHARQ_Ext_r17_sequence_of[1] = {
  { &hf_nr_rrc_perHARQ_Ext_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_32 },
};

static int
dissect_nr_rrc_T_perHARQ_Ext_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_perHARQ_Ext_r17, T_perHARQ_Ext_r17_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t PDSCH_HARQ_ACK_EnhType3_r17_eag_1_sequence[] = {
  { &hf_nr_rrc_perHARQ_Ext_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_perHARQ_Ext_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_HARQ_ACK_EnhType3_r17_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_HARQ_ACK_EnhType3_r17_eag_1_sequence);

  return offset;
}


static const per_sequence_t PDSCH_HARQ_ACK_EnhType3_r17_sequence[] = {
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3Index_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_HARQ_ACK_EnhType3Index_r17 },
  { &hf_nr_rrc_applicable_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_applicable_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3NDI_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3NDI_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3CBG_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3CBG_r17 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_HARQ_ACK_EnhType3_r17_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_HARQ_ACK_EnhType3_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_HARQ_ACK_EnhType3_r17, PDSCH_HARQ_ACK_EnhType3_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17_sequence_of[1] = {
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_HARQ_ACK_EnhType3_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17, SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17_sequence_of,
                                                  1, maxNrofEnhType3HARQ_ACK_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17_sequence_of[1] = {
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_HARQ_ACK_EnhType3Index_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17, SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17_sequence_of,
                                                  1, maxNrofEnhType3HARQ_ACK_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_Field_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_Field_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_Retx_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_Retx_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 31U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pucch_sSCellDyn_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_sSCellDyn_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_sSCellDynSecondaryPUCCHgroup_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_sSCellDynSecondaryPUCCHgroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pucch_sSCellPattern_r17_sequence_of[1] = {
  { &hf_nr_rrc_pucch_sSCellPattern_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
};

static int
dissect_nr_rrc_T_pucch_sSCellPattern_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_pucch_sSCellPattern_r17, T_pucch_sSCellPattern_r17_sequence_of,
                                                  1, maxNrofSlots, FALSE);

  return offset;
}


static const per_sequence_t T_pucch_sSCellPatternSecondaryPUCCHgroup_r17_sequence_of[1] = {
  { &hf_nr_rrc_pucch_sSCellPatternSecondaryPUCCHgroup_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
};

static int
dissect_nr_rrc_T_pucch_sSCellPatternSecondaryPUCCHgroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_pucch_sSCellPatternSecondaryPUCCHgroup_r17, T_pucch_sSCellPatternSecondaryPUCCHgroup_r17_sequence_of,
                                                  1, maxNrofSlots, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uci_MuxWithDiffPrio_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uci_MuxWithDiffPrio_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousPUCCH_PUSCH_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousPUCCH_PUSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prioLowDG_HighCG_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prioLowDG_HighCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prioHighDG_LowCG_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prioHighDG_LowCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoQCLTypeDforPDCCHRepetition_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoQCLTypeDforPDCCHRepetition_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_HARQ_ACK_CodebookListMulticast_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_HARQ_ACK_CodebookListMulticast_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_105    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_HARQ_ACK_CodebookListMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_HARQ_ACK_CodebookListMulticast_r17, T_pdsch_HARQ_ACK_CodebookListMulticast_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_type1CodebookGenerationMode_r17_vals[] = {
  {   0, "mode1" },
  {   1, "mode2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1CodebookGenerationMode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MulticastConfig_r17_sequence[] = {
  { &hf_nr_rrc_pdsch_HARQ_ACK_CodebookListMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_CodebookListMulticast_r17 },
  { &hf_nr_rrc_type1CodebookGenerationMode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1CodebookGenerationMode_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MulticastConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MulticastConfig_r17, MulticastConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_multicastConfig_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_multicastConfig_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_109    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MulticastConfig_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_multicastConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_multicastConfig_r17, T_multicastConfig_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionCA_CombIndicator_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA3_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r17, PDCCH_BlindDetectionCA_CombIndicator_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_BlindDetectionCA_CombIndicator_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_110    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r17, T_pdcch_BlindDetectionCA_CombIndicator_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_eag_5_sequence[] = {
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_Field_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_Field_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_Retx_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_Retx_r17 },
  { &hf_nr_rrc_pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17 },
  { &hf_nr_rrc_pucch_sSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SCellIndex },
  { &hf_nr_rrc_pucch_sSCellSecondaryPUCCHgroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SCellIndex },
  { &hf_nr_rrc_pucch_sSCellDyn_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_sSCellDyn_r17 },
  { &hf_nr_rrc_pucch_sSCellDynSecondaryPUCCHgroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_sSCellDynSecondaryPUCCHgroup_r17 },
  { &hf_nr_rrc_pucch_sSCellPattern_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_sSCellPattern_r17 },
  { &hf_nr_rrc_pucch_sSCellPatternSecondaryPUCCHgroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_sSCellPatternSecondaryPUCCHgroup_r17 },
  { &hf_nr_rrc_uci_MuxWithDiffPrio_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uci_MuxWithDiffPrio_r17 },
  { &hf_nr_rrc_uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17 },
  { &hf_nr_rrc_simultaneousPUCCH_PUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousPUCCH_PUSCH_r17 },
  { &hf_nr_rrc_simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17 },
  { &hf_nr_rrc_prioLowDG_HighCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prioLowDG_HighCG_r17 },
  { &hf_nr_rrc_prioHighDG_LowCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prioHighDG_LowCG_r17 },
  { &hf_nr_rrc_twoQCLTypeDforPDCCHRepetition_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoQCLTypeDforPDCCHRepetition_r17 },
  { &hf_nr_rrc_multicastConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multicastConfig_r17 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_5_sequence);

  return offset;
}


static const value_string nr_rrc_T_simultaneousSR_PUSCH_diffPUCCH_Groups_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousSR_PUSCH_diffPUCCH_Groups_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_eag_6_sequence[] = {
  { &hf_nr_rrc_simultaneousSR_PUSCH_diffPUCCH_Groups_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousSR_PUSCH_diffPUCCH_Groups_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_6_sequence);

  return offset;
}


static const value_string nr_rrc_T_intraBandNC_PRACH_simulTx_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraBandNC_PRACH_simulTx_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_eag_7_sequence[] = {
  { &hf_nr_rrc_intraBandNC_PRACH_simulTx_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraBandNC_PRACH_simulTx_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_7_sequence);

  return offset;
}



static int
dissect_nr_rrc_PDCCH_BlindDetection4_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 15U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdcch_BlindDetection4_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_BlindDetection4_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_111    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_BlindDetection4_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetection4_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_BlindDetection4_r17, T_pdcch_BlindDetection4_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_eag_8_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetection4_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetection4_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_8_sequence);

  return offset;
}


static const per_sequence_t PhysicalCellGroupConfig_sequence[] = {
  { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH },
  { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH },
  { &hf_nr_rrc_p_NR_FR1     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook },
  { &hf_nr_rrc_tpc_SRS_RNTI , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_tpc_PUCCH_RNTI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_tpc_PUSCH_RNTI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_sp_CSI_RNTI  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_cs_RNTI      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cs_RNTI },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_6 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_7 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PhysicalCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PhysicalCellGroupConfig, PhysicalCellGroupConfig_sequence);

  return offset;
}


static const per_sequence_t FrequencyInfoDL_sequence[] = {
  { &hf_nr_rrc_absoluteFrequencySSB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiFrequencyBandListNR },
  { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FrequencyInfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FrequencyInfoDL, FrequencyInfoDL_sequence);

  return offset;
}


static const per_sequence_t DownlinkConfigCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_initialDownlinkBWP_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_DownlinkCommon },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DownlinkConfigCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, DownlinkConfigCommon_eag_1_sequence);

  return offset;
}


static const per_sequence_t DownlinkConfigCommon_sequence[] = {
  { &hf_nr_rrc_frequencyInfoDL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FrequencyInfoDL },
  { &hf_nr_rrc_initialDownlinkBWP, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_DownlinkCommon },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_DownlinkConfigCommon_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DownlinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DownlinkConfigCommon, DownlinkConfigCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_frequencyShift7p5khz_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_frequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FrequencyInfoUL_sequence[] = {
  { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MultiFrequencyBandListNR },
  { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ARFCN_ValueNR },
  { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
  { &hf_nr_rrc_additionalSpectrumEmission, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_AdditionalSpectrumEmission },
  { &hf_nr_rrc_p_Max        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_frequencyShift7p5khz, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_frequencyShift7p5khz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FrequencyInfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FrequencyInfoUL, FrequencyInfoUL_sequence);

  return offset;
}


static const per_sequence_t UplinkConfigCommon_sequence[] = {
  { &hf_nr_rrc_frequencyInfoUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FrequencyInfoUL },
  { &hf_nr_rrc_initialUplinkBWP_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_UplinkCommon },
  { &hf_nr_rrc_uplinkConfigCommon_dummy, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkConfigCommon, UplinkConfigCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_n_TimingAdvanceOffset_vals[] = {
  {   0, "n0" },
  {   1, "n25600" },
  {   2, "n39936" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_n_TimingAdvanceOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_PositionsInBurst_vals[] = {
  {   0, "shortBitmap" },
  {   1, "mediumBitmap" },
  {   2, "longBitmap" },
  { 0, NULL }
};

static const per_choice_t T_ssb_PositionsInBurst_choice[] = {
  {   0, &hf_nr_rrc_shortBitmap  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   2, &hf_nr_rrc_longBitmap   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ssb_PositionsInBurst, T_ssb_PositionsInBurst_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_periodicityServingCell_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms40" },
  {   4, "ms80" },
  {   5, "ms160" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_periodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_TypeA_Position_01_vals[] = {
  {   0, "pos2" },
  {   1, "pos3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_TypeA_Position_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lte_CRS_ToMatchAround_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_lte_CRS_ToMatchAround_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_153    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RateMatchPatternLTE_CRS },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_lte_CRS_ToMatchAround_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_lte_CRS_ToMatchAround_01, T_lte_CRS_ToMatchAround_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_channelAccessMode_r16_vals[] = {
  {   0, "dynamic" },
  {   1, "semiStatic" },
  { 0, NULL }
};

static const per_choice_t T_channelAccessMode_r16_choice[] = {
  {   0, &hf_nr_rrc_dynamic_02   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_semiStatic_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SemiStaticChannelAccessConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelAccessMode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelAccessMode_r16, T_channelAccessMode_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_discoveryBurstWindowLength_r16_vals[] = {
  {   0, "ms0dot5" },
  {   1, "ms1" },
  {   2, "ms2" },
  {   3, "ms3" },
  {   4, "ms4" },
  {   5, "ms5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_discoveryBurstWindowLength_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServingCellConfigCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_channelAccessMode_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelAccessMode_r16 },
  { &hf_nr_rrc_discoveryBurstWindowLength_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_discoveryBurstWindowLength_r16 },
  { &hf_nr_rrc_ssb_PositionQCL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 },
  { &hf_nr_rrc_highSpeedConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_HighSpeedConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfigCommon_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_highSpeedMeasCA_Scell_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedMeasCA_Scell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_highSpeedMeasInterFreq_r17_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedMeasInterFreq_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_highSpeedDemodCA_Scell_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_highSpeedDemodCA_Scell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t HighSpeedConfig_v1700_sequence[] = {
  { &hf_nr_rrc_highSpeedMeasCA_Scell_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedMeasCA_Scell_r17 },
  { &hf_nr_rrc_highSpeedMeasInterFreq_r17_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedMeasInterFreq_r17_01 },
  { &hf_nr_rrc_highSpeedDemodCA_Scell_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_highSpeedDemodCA_Scell_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HighSpeedConfig_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HighSpeedConfig_v1700, HighSpeedConfig_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelAccessMode2_r17_03_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_channelAccessMode2_r17_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_discoveryBurstWindowLength_r17_vals[] = {
  {   0, "ms0dot125" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  {   3, "ms0dot75" },
  {   4, "ms1" },
  {   5, "ms1dot25" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_discoveryBurstWindowLength_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UplinkConfigCommon_v1700_sequence[] = {
  { &hf_nr_rrc_initialUplinkBWP_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_UplinkCommon },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkConfigCommon_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkConfigCommon_v1700, UplinkConfigCommon_v1700_sequence);

  return offset;
}


static const per_sequence_t ServingCellConfigCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_highSpeedConfig_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_HighSpeedConfig_v1700 },
  { &hf_nr_rrc_channelAccessMode2_r17_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelAccessMode2_r17_03 },
  { &hf_nr_rrc_discoveryBurstWindowLength_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_discoveryBurstWindowLength_r17 },
  { &hf_nr_rrc_ssb_PositionQCL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_PositionQCL_Relation_r17 },
  { &hf_nr_rrc_highSpeedConfigFR2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_HighSpeedConfigFR2_r17 },
  { &hf_nr_rrc_uplinkConfigCommon_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkConfigCommon_v1700 },
  { &hf_nr_rrc_ntn_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NTN_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfigCommon_eag_2_sequence);

  return offset;
}


static const per_sequence_t T_featurePriorities_r17_01_sequence[] = {
  { &hf_nr_rrc_redCapPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeaturePriority_r17 },
  { &hf_nr_rrc_slicingPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeaturePriority_r17 },
  { &hf_nr_rrc_msg3_Repetitions_Priority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeaturePriority_r17 },
  { &hf_nr_rrc_sdt_Priority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeaturePriority_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_featurePriorities_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_featurePriorities_r17_01, T_featurePriorities_r17_01_sequence);

  return offset;
}


static const per_sequence_t ServingCellConfigCommon_eag_3_sequence[] = {
  { &hf_nr_rrc_featurePriorities_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featurePriorities_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommon_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfigCommon_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_ra_ChannelAccess_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_ChannelAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServingCellConfigCommon_eag_4_sequence[] = {
  { &hf_nr_rrc_ra_ChannelAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_ChannelAccess_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommon_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfigCommon_eag_4_sequence);

  return offset;
}


static const per_sequence_t ServingCellConfigCommon_sequence[] = {
  { &hf_nr_rrc_physCellId   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_downlinkConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_DownlinkConfigCommon },
  { &hf_nr_rrc_uplinkConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkConfigCommon },
  { &hf_nr_rrc_supplementaryUplinkConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkConfigCommon },
  { &hf_nr_rrc_n_TimingAdvanceOffset, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_n_TimingAdvanceOffset },
  { &hf_nr_rrc_ssb_PositionsInBurst, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_PositionsInBurst },
  { &hf_nr_rrc_ssb_periodicityServingCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_periodicityServingCell },
  { &hf_nr_rrc_dmrs_TypeA_Position_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position_01 },
  { &hf_nr_rrc_lte_CRS_ToMatchAround_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_lte_CRS_ToMatchAround_01 },
  { &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
  { &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
  { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
  { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommon_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommon_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommon_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ServingCellConfigCommon, ServingCellConfigCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_t304_vals[] = {
  {   0, "ms50" },
  {   1, "ms100" },
  {   2, "ms150" },
  {   3, "ms200" },
  {   4, "ms500" },
  {   5, "ms1000" },
  {   6, "ms2000" },
  {   7, "ms10000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t304(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_perRACH_Occasion_01_vals[] = {
  {   0, "oneEighth" },
  {   1, "oneFourth" },
  {   2, "oneHalf" },
  {   3, "one" },
  {   4, "two" },
  {   5, "four" },
  {   6, "eight" },
  {   7, "sixteen" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_perRACH_Occasion_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_occasions_sequence[] = {
  { &hf_nr_rrc_rach_ConfigGeneric, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric },
  { &hf_nr_rrc_ssb_perRACH_Occasion_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_perRACH_Occasion_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_occasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_occasions, T_occasions_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_3071(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3071U, NULL, FALSE);

  return offset;
}


static const per_sequence_t CFRA_SSB_Resource_eag_1_sequence[] = {
  { &hf_nr_rrc_msgA_PUSCH_Resource_Index_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3071 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CFRA_SSB_Resource_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CFRA_SSB_Resource_eag_1_sequence);

  return offset;
}


static const per_sequence_t CFRA_SSB_Resource_sequence[] = {
  { &hf_nr_rrc_ssb_01       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
  { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_SSB_Resource_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CFRA_SSB_Resource, CFRA_SSB_Resource_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource_sequence_of[1] = {
  { &hf_nr_rrc_ssb_ResourceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_SSB_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource, SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource_sequence_of,
                                                  1, maxRA_SSB_Resources, FALSE);

  return offset;
}


static const per_sequence_t T_ssb_sequence[] = {
  { &hf_nr_rrc_ssb_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource },
  { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ssb, T_ssb_sequence);

  return offset;
}


static const per_sequence_t T_ra_OccasionList_01_sequence_of[1] = {
  { &hf_nr_rrc_ra_OccasionList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1 },
};

static int
dissect_nr_rrc_T_ra_OccasionList_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_ra_OccasionList_01, T_ra_OccasionList_01_sequence_of,
                                                  1, maxRA_OccasionsPerCSIRS, FALSE);

  return offset;
}


static const per_sequence_t CFRA_CSIRS_Resource_sequence[] = {
  { &hf_nr_rrc_csi_RS_02    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
  { &hf_nr_rrc_ra_OccasionList_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_OccasionList_01 },
  { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CFRA_CSIRS_Resource, CFRA_CSIRS_Resource_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource_sequence_of[1] = {
  { &hf_nr_rrc_csirs_ResourceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_CSIRS_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource, SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource_sequence_of,
                                                  1, maxRA_CSIRS_Resources, FALSE);

  return offset;
}


static const per_sequence_t T_csirs_sequence[] = {
  { &hf_nr_rrc_csirs_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource },
  { &hf_nr_rrc_rsrp_ThresholdCSI_RS, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRP_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_csirs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_csirs, T_csirs_sequence);

  return offset;
}


static const value_string nr_rrc_T_resources_vals[] = {
  {   0, "ssb" },
  {   1, "csirs" },
  { 0, NULL }
};

static const per_choice_t T_resources_choice[] = {
  {   0, &hf_nr_rrc_ssb_02       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_ssb },
  {   1, &hf_nr_rrc_csirs        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_csirs },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_resources, T_resources_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CFRA_eag_1_sequence[] = {
  { &hf_nr_rrc_totalNumberOfRA_Preambles, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_63 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CFRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CFRA_eag_1_sequence);

  return offset;
}


static const per_sequence_t CFRA_sequence[] = {
  { &hf_nr_rrc_occasions    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_occasions },
  { &hf_nr_rrc_resources    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resources },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CFRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CFRA, CFRA_sequence);

  return offset;
}


static const value_string nr_rrc_T_ssb_PerRACH_OccasionTwoStepRA_r16_vals[] = {
  {   0, "oneEighth" },
  {   1, "oneFourth" },
  {   2, "oneHalf" },
  {   3, "one" },
  {   4, "two" },
  {   5, "four" },
  {   6, "eight" },
  {   7, "sixteen" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_PerRACH_OccasionTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_occasionsTwoStepRA_r16_sequence[] = {
  { &hf_nr_rrc_rach_ConfigGenericTwoStepRA_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGenericTwoStepRA_r16 },
  { &hf_nr_rrc_ssb_PerRACH_OccasionTwoStepRA_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PerRACH_OccasionTwoStepRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_occasionsTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_occasionsTwoStepRA_r16, T_occasionsTwoStepRA_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_msgA_TransMax_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n10" },
  {   6, "n20" },
  {   7, "n50" },
  {   8, "n100" },
  {   9, "n200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_TransMax_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_resourcesTwoStep_r16_sequence[] = {
  { &hf_nr_rrc_ssb_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource },
  { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_resourcesTwoStep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_resourcesTwoStep_r16, T_resourcesTwoStep_r16_sequence);

  return offset;
}


static const per_sequence_t CFRA_TwoStep_r16_sequence[] = {
  { &hf_nr_rrc_occasionsTwoStepRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_occasionsTwoStepRA_r16 },
  { &hf_nr_rrc_msgA_CFRA_PUSCH_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MsgA_PUSCH_Resource_r16 },
  { &hf_nr_rrc_msgA_TransMax_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_TransMax_r16_01 },
  { &hf_nr_rrc_resourcesTwoStep_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourcesTwoStep_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CFRA_TwoStep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CFRA_TwoStep_r16, CFRA_TwoStep_r16_sequence);

  return offset;
}


static const per_sequence_t RACH_ConfigDedicated_eag_1_sequence[] = {
  { &hf_nr_rrc_ra_PrioritizationTwoStep_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RA_Prioritization },
  { &hf_nr_rrc_cfra_TwoStep_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CFRA_TwoStep_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigDedicated_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RACH_ConfigDedicated_eag_1_sequence);

  return offset;
}


static const per_sequence_t RACH_ConfigDedicated_sequence[] = {
  { &hf_nr_rrc_cfra         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CFRA },
  { &hf_nr_rrc_ra_Prioritization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RA_Prioritization },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigDedicated_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RACH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RACH_ConfigDedicated, RACH_ConfigDedicated_sequence);

  return offset;
}


static const value_string nr_rrc_T_rach_ConfigDedicated_vals[] = {
  {   0, "uplink" },
  {   1, "supplementaryUplink" },
  { 0, NULL }
};

static const per_choice_t T_rach_ConfigDedicated_choice[] = {
  {   0, &hf_nr_rrc_uplink       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RACH_ConfigDedicated },
  {   1, &hf_nr_rrc_supplementaryUplink, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RACH_ConfigDedicated },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_rach_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_rach_ConfigDedicated, T_rach_ConfigDedicated_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ReconfigurationWithSync_eag_1_sequence[] = {
  { &hf_nr_rrc_smtc         , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReconfigurationWithSync_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReconfigurationWithSync_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_01_vals[] = {
  {   0, "semi-static-mode1" },
  {   1, "semi-static-mode2" },
  {   2, "dynamic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DAPS_UplinkPowerConfig_r16_sequence[] = {
  { &hf_nr_rrc_p_DAPS_Source_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_p_DAPS_Target_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P_Max },
  { &hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DAPS_UplinkPowerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DAPS_UplinkPowerConfig_r16, DAPS_UplinkPowerConfig_r16_sequence);

  return offset;
}


static const per_sequence_t ReconfigurationWithSync_eag_2_sequence[] = {
  { &hf_nr_rrc_daps_UplinkPowerConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DAPS_UplinkPowerConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReconfigurationWithSync_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReconfigurationWithSync_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_t420_r17_vals[] = {
  {   0, "ms50" },
  {   1, "ms100" },
  {   2, "ms150" },
  {   3, "ms200" },
  {   4, "ms500" },
  {   5, "ms1000" },
  {   6, "ms2000" },
  {   7, "ms10000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t420_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PathSwitchConfig_r17_sequence[] = {
  { &hf_nr_rrc_targetRelayUE_Identity_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_SourceIdentity_r17 },
  { &hf_nr_rrc_t420_r17     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t420_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PathSwitchConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PathSwitchConfig_r17, SL_PathSwitchConfig_r17_sequence);

  return offset;
}


static const per_sequence_t ReconfigurationWithSync_eag_3_sequence[] = {
  { &hf_nr_rrc_sl_PathSwitchConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PathSwitchConfig_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReconfigurationWithSync_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReconfigurationWithSync_eag_3_sequence);

  return offset;
}


static const per_sequence_t ReconfigurationWithSync_sequence[] = {
  { &hf_nr_rrc_spCellConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServingCellConfigCommon },
  { &hf_nr_rrc_newUE_Identity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_t304         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t304 },
  { &hf_nr_rrc_rach_ConfigDedicated, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rach_ConfigDedicated },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReconfigurationWithSync_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReconfigurationWithSync_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReconfigurationWithSync_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ReconfigurationWithSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ReconfigurationWithSync, ReconfigurationWithSync_sequence);

  return offset;
}


static const value_string nr_rrc_T_t310_vals[] = {
  {   0, "ms0" },
  {   1, "ms50" },
  {   2, "ms100" },
  {   3, "ms200" },
  {   4, "ms500" },
  {   5, "ms1000" },
  {   6, "ms2000" },
  {   7, "ms4000" },
  {   8, "ms6000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t310(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     9, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_n310_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n6" },
  {   5, "n8" },
  {   6, "n10" },
  {   7, "n20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_n310(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_n311_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_n311(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t311_vals[] = {
  {   0, "ms1000" },
  {   1, "ms3000" },
  {   2, "ms5000" },
  {   3, "ms10000" },
  {   4, "ms15000" },
  {   5, "ms20000" },
  {   6, "ms30000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t311(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RLF_TimersAndConstants_eag_1_sequence[] = {
  { &hf_nr_rrc_t311         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t311 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLF_TimersAndConstants_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RLF_TimersAndConstants_eag_1_sequence);

  return offset;
}


static const per_sequence_t RLF_TimersAndConstants_sequence[] = {
  { &hf_nr_rrc_t310         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t310 },
  { &hf_nr_rrc_n310         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n310 },
  { &hf_nr_rrc_n311         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n311 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLF_TimersAndConstants_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLF_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RLF_TimersAndConstants, RLF_TimersAndConstants_sequence);

  return offset;
}


static const value_string nr_rrc_T_rlf_TimersAndConstants_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_rlf_TimersAndConstants_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_47     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RLF_TimersAndConstants },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_rlf_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_rlf_TimersAndConstants, T_rlf_TimersAndConstants_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_rlmInSyncOutOfSyncThreshold_vals[] = {
  {   0, "n1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlmInSyncOutOfSyncThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_TDD_UL_DL_SlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSlots_1, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSymbols_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_explicit_sequence[] = {
  { &hf_nr_rrc_nrofDownlinkSymbols_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
  { &hf_nr_rrc_nrofUplinkSymbols_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_explicit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_explicit, T_explicit_sequence);

  return offset;
}


static const value_string nr_rrc_T_symbols_vals[] = {
  {   0, "allDownlink" },
  {   1, "allUplink" },
  {   2, "explicit" },
  { 0, NULL }
};

static const per_choice_t T_symbols_choice[] = {
  {   0, &hf_nr_rrc_allDownlink  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_allUplink    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_explicit     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_explicit },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_symbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_symbols, T_symbols_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t TDD_UL_DL_SlotConfig_sequence[] = {
  { &hf_nr_rrc_slotIndex    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex },
  { &hf_nr_rrc_symbols      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbols },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TDD_UL_DL_SlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TDD_UL_DL_SlotConfig, TDD_UL_DL_SlotConfig_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_sequence_of[1] = {
  { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotConfig },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_sequence_of,
                                                  1, maxNrofSlots, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex_sequence_of[1] = {
  { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex_sequence_of,
                                                  1, maxNrofSlots, FALSE);

  return offset;
}


static const per_sequence_t TDD_UL_DL_ConfigDedicated_sequence[] = {
  { &hf_nr_rrc_slotSpecificConfigurationsToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig },
  { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TDD_UL_DL_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TDD_UL_DL_ConfigDedicated, TDD_UL_DL_ConfigDedicated_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id_sequence_of[1] = {
  { &hf_nr_rrc_downlinkBWP_ToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id_sequence_of,
                                                  1, maxNrofBWPs, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink_sequence_of[1] = {
  { &hf_nr_rrc_downlinkBWP_ToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Downlink },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink_sequence_of,
                                                  1, maxNrofBWPs, FALSE);

  return offset;
}


static const value_string nr_rrc_T_bwp_InactivityTimer_vals[] = {
  {   0, "ms2" },
  {   1, "ms3" },
  {   2, "ms4" },
  {   3, "ms5" },
  {   4, "ms6" },
  {   5, "ms8" },
  {   6, "ms10" },
  {   7, "ms20" },
  {   8, "ms30" },
  {   9, "ms40" },
  {  10, "ms50" },
  {  11, "ms60" },
  {  12, "ms80" },
  {  13, "ms100" },
  {  14, "ms200" },
  {  15, "ms300" },
  {  16, "ms500" },
  {  17, "ms750" },
  {  18, "ms1280" },
  {  19, "ms1920" },
  {  20, "ms2560" },
  {  21, "spare10" },
  {  22, "spare9" },
  {  23, "spare8" },
  {  24, "spare7" },
  {  25, "spare6" },
  {  26, "spare5" },
  {  27, "spare4" },
  {  28, "spare3" },
  {  29, "spare2" },
  {  30, "spare1" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_bwp_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_bwp_InactivityTimer_vals);


static int
dissect_nr_rrc_T_bwp_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     31, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink_sequence_of[1] = {
  { &hf_nr_rrc_uplinkBWP_ToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Uplink },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink_sequence_of,
                                                  1, maxNrofBWPs, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUSCH_CodeBlockGroupTransmission_sequence[] = {
  { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_CodeBlockGroupTransmission, PUSCH_CodeBlockGroupTransmission_sequence);

  return offset;
}


static const value_string nr_rrc_T_codeBlockGroupTransmission_01_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_codeBlockGroupTransmission_01_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_142    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_codeBlockGroupTransmission_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_codeBlockGroupTransmission_01, T_codeBlockGroupTransmission_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_rateMatching_vals[] = {
  {   0, "limitedBufferRM" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rateMatching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_xOverhead_01_vals[] = {
  {   0, "xoh6" },
  {   1, "xoh12" },
  {   2, "xoh18" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_xOverhead_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUSCH_ServingCellConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_maxMIMO_Layers_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_processingType2Enabled, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_ServingCellConfig_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_MaxMIMO_LayersDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 4U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxMIMO_LayersDCI_0_2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_maxMIMO_LayersDCI_0_2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_143    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MaxMIMO_LayersDCI_0_2_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_maxMIMO_LayersDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_maxMIMO_LayersDCI_0_2_r16, T_maxMIMO_LayersDCI_0_2_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUSCH_ServingCellConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_maxMIMO_LayersDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxMIMO_LayersDCI_0_2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_ServingCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_ServingCellConfig_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_nrofHARQ_ProcessesForPUSCH_r17_vals[] = {
  {   0, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofHARQ_ProcessesForPUSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_UplinkHARQ_mode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkHARQ_mode_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_uplinkHARQ_mode_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_144    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UplinkHARQ_mode_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uplinkHARQ_mode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uplinkHARQ_mode_r17, T_uplinkHARQ_mode_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUSCH_ServingCellConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_nrofHARQ_ProcessesForPUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrofHARQ_ProcessesForPUSCH_r17 },
  { &hf_nr_rrc_uplinkHARQ_mode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkHARQ_mode_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_ServingCellConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_ServingCellConfig_eag_3_sequence);

  return offset;
}


static const per_sequence_t PUSCH_ServingCellConfig_sequence[] = {
  { &hf_nr_rrc_codeBlockGroupTransmission_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_codeBlockGroupTransmission_01 },
  { &hf_nr_rrc_rateMatching , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rateMatching },
  { &hf_nr_rrc_xOverhead_01 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_xOverhead_01 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_ServingCellConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_ServingCellConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_ServingCellConfig_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUSCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUSCH_ServingCellConfig, PUSCH_ServingCellConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_pusch_ServingCellConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pusch_ServingCellConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_162    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PUSCH_ServingCellConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pusch_ServingCellConfig, T_pusch_ServingCellConfig_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_SwitchFromCarrier_vals[] = {
  {   0, "sUL" },
  {   1, "nUL" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_SwitchFromCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_CC_SetIndex_sequence[] = {
  { &hf_nr_rrc_cc_SetIndex  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_cc_IndexInOneCC_Set, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_CC_SetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_CC_SetIndex, SRS_CC_SetIndex_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex_sequence_of[1] = {
  { &hf_nr_rrc_srs_CC_SetIndexlist_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_CC_SetIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex, SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const per_sequence_t SRS_TPC_PDCCH_Config_sequence[] = {
  { &hf_nr_rrc_srs_CC_SetIndexlist, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_TPC_PDCCH_Config, SRS_TPC_PDCCH_Config_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config_sequence_of[1] = {
  { &hf_nr_rrc_typeA_item   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_TPC_PDCCH_Config },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config, SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config_sequence_of,
                                                  1, 32, FALSE);

  return offset;
}


static const value_string nr_rrc_T_srs_TPC_PDCCH_Group_vals[] = {
  {   0, "typeA" },
  {   1, "typeB" },
  { 0, NULL }
};

static const per_choice_t T_srs_TPC_PDCCH_Group_choice[] = {
  {   0, &hf_nr_rrc_typeA        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config },
  {   1, &hf_nr_rrc_typeB        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_TPC_PDCCH_Config },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_TPC_PDCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_srs_TPC_PDCCH_Group, T_srs_TPC_PDCCH_Group_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex_sequence_of[1] = {
  { &hf_nr_rrc_servCellIndexList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t SRS_CarrierSwitching_sequence[] = {
  { &hf_nr_rrc_srs_SwitchFromServCellIndex, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { &hf_nr_rrc_srs_SwitchFromCarrier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_srs_SwitchFromCarrier },
  { &hf_nr_rrc_srs_TPC_PDCCH_Group, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_TPC_PDCCH_Group },
  { &hf_nr_rrc_monitoringCells, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_CarrierSwitching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_CarrierSwitching, SRS_CarrierSwitching_sequence);

  return offset;
}


static const value_string nr_rrc_T_carrierSwitching_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_carrierSwitching_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_163    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SRS_CarrierSwitching },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_carrierSwitching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_carrierSwitching, T_carrierSwitching_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UplinkConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_powerBoostPi2BPSK, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_uplinkChannelBW_PerSCS_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UplinkConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_enablePL_RS_UpdateForPUSCH_SRS_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enablePL_RS_UpdateForPUSCH_SRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enableDefaultBeamPL_ForPUSCH0_0_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableDefaultBeamPL_ForPUSCH0_0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enableDefaultBeamPL_ForPUCCH_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableDefaultBeamPL_ForPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enableDefaultBeamPL_ForSRS_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableDefaultBeamPL_ForSRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitchingCarrier_r16_vals[] = {
  {   0, "carrier1" },
  {   1, "carrier2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitchingCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UplinkTxSwitching_r16_sequence[] = {
  { &hf_nr_rrc_uplinkTxSwitchingPeriodLocation_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_uplinkTxSwitchingCarrier_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkTxSwitchingCarrier_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkTxSwitching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkTxSwitching_r16, UplinkTxSwitching_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitching_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_uplinkTxSwitching_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_164    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UplinkTxSwitching_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_uplinkTxSwitching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_uplinkTxSwitching_r16, T_uplinkTxSwitching_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_mpr_PowerBoost_FR2_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mpr_PowerBoost_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UplinkConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_enablePL_RS_UpdateForPUSCH_SRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enablePL_RS_UpdateForPUSCH_SRS_r16 },
  { &hf_nr_rrc_enableDefaultBeamPL_ForPUSCH0_0_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableDefaultBeamPL_ForPUSCH0_0_r16 },
  { &hf_nr_rrc_enableDefaultBeamPL_ForPUCCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableDefaultBeamPL_ForPUCCH_r16 },
  { &hf_nr_rrc_enableDefaultBeamPL_ForSRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableDefaultBeamPL_ForSRS_r16 },
  { &hf_nr_rrc_uplinkTxSwitching_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitching_r16 },
  { &hf_nr_rrc_mpr_PowerBoost_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mpr_PowerBoost_FR2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UplinkConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t UplinkConfig_sequence[] = {
  { &hf_nr_rrc_initialUplinkBWP, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_UplinkDedicated },
  { &hf_nr_rrc_uplinkBWP_ToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id },
  { &hf_nr_rrc_uplinkBWP_ToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink },
  { &hf_nr_rrc_firstActiveUplinkBWP_Id, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_pusch_ServingCellConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_ServingCellConfig },
  { &hf_nr_rrc_carrierSwitching, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_carrierSwitching },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkConfig, UplinkConfig_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxSFI_DCI_PayloadSize, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SlotFormatCombinationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofSlotFormatCombinationsPerSet_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_slotFormats_sequence_of[1] = {
  { &hf_nr_rrc_slotFormats_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
};

static int
dissect_nr_rrc_T_slotFormats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_slotFormats, T_slotFormats_sequence_of,
                                                  1, maxNrofSlotFormatsPerCombination, FALSE);

  return offset;
}


static const per_sequence_t SlotFormatCombination_sequence[] = {
  { &hf_nr_rrc_slotFormatCombinationId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationId },
  { &hf_nr_rrc_slotFormats  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotFormats },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SlotFormatCombination, SlotFormatCombination_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination_sequence_of[1] = {
  { &hf_nr_rrc_slotFormatCombinations_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombination },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination, SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination_sequence_of,
                                                  1, maxNrofSlotFormatCombinationsPerSet, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxSFI_DCI_PayloadSize_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_enableConfiguredUL_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableConfiguredUL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SlotFormatCombinationsPerCell_eag_1_sequence[] = {
  { &hf_nr_rrc_enableConfiguredUL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableConfiguredUL_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotFormatCombinationsPerCell_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SlotFormatCombinationsPerCell_eag_1_sequence);

  return offset;
}


static const per_sequence_t SlotFormatCombinationsPerCell_sequence[] = {
  { &hf_nr_rrc_servingCellId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_subcarrierSpacing2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_slotFormatCombinations, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination },
  { &hf_nr_rrc_positionInDCI_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationsPerCell_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SlotFormatCombinationsPerCell, SlotFormatCombinationsPerCell_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell_sequence_of[1] = {
  { &hf_nr_rrc_slotFormatCombToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationsPerCell },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell_sequence_of,
                                                  1, maxNrofAggregatedCellsPerCellGroup, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex_sequence_of[1] = {
  { &hf_nr_rrc_slotFormatCombToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex_sequence_of,
                                                  1, maxNrofAggregatedCellsPerCellGroup, FALSE);

  return offset;
}


static const per_sequence_t AvailableRB_SetsPerCell_r16_sequence[] = {
  { &hf_nr_rrc_servingCellId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_positionInDCI_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AvailableRB_SetsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AvailableRB_SetsPerCell_r16, AvailableRB_SetsPerCell_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16_sequence_of[1] = {
  { &hf_nr_rrc_availableRB_SetsToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailableRB_SetsPerCell_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16_sequence_of,
                                                  1, maxNrofAggregatedCellsPerCellGroup, FALSE);

  return offset;
}


static const per_sequence_t SearchSpaceSwitchTrigger_r16_sequence[] = {
  { &hf_nr_rrc_servingCellId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_positionInDCI_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SearchSpaceSwitchTrigger_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SearchSpaceSwitchTrigger_r16, SearchSpaceSwitchTrigger_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16_sequence_of[1] = {
  { &hf_nr_rrc_switchTriggerToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceSwitchTrigger_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16, SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_ServCellIndex_sequence_of[1] = {
  { &hf_nr_rrc_switchTriggerToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex, SEQUENCE_SIZE_1_4_OF_ServCellIndex_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CO_Duration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1120U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_64_OF_CO_Duration_r16_sequence_of[1] = {
  { &hf_nr_rrc_co_DurationList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CO_Duration_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16, SEQUENCE_SIZE_1_64_OF_CO_Duration_r16_sequence_of,
                                                  1, 64, FALSE);

  return offset;
}


static const per_sequence_t CO_DurationsPerCell_r16_sequence[] = {
  { &hf_nr_rrc_servingCellId_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_positionInDCI_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 },
  { &hf_nr_rrc_subcarrierSpacing_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_co_DurationList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CO_DurationsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CO_DurationsPerCell_r16, CO_DurationsPerCell_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16_sequence_of[1] = {
  { &hf_nr_rrc_co_DurationsPerCellToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CO_DurationsPerCell_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16_sequence_of,
                                                  1, maxNrofAggregatedCellsPerCellGroup, FALSE);

  return offset;
}


static const per_sequence_t SlotFormatIndicator_eag_1_sequence[] = {
  { &hf_nr_rrc_availableRB_SetsToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16 },
  { &hf_nr_rrc_availableRB_SetsToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex },
  { &hf_nr_rrc_switchTriggerToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16 },
  { &hf_nr_rrc_switchTriggerToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex },
  { &hf_nr_rrc_co_DurationsPerCellToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16 },
  { &hf_nr_rrc_co_DurationsPerCellToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotFormatIndicator_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SlotFormatIndicator_eag_1_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16_sequence_of[1] = {
  { &hf_nr_rrc_switchTriggerToAddModListSizeExt_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceSwitchTrigger_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16_sequence_of,
                                                  1, maxNrofAggregatedCellsPerCellGroupMinus4_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex_sequence_of[1] = {
  { &hf_nr_rrc_switchTriggerToReleaseListSizeExt_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex_sequence_of,
                                                  1, maxNrofAggregatedCellsPerCellGroupMinus4_r16, FALSE);

  return offset;
}


static const per_sequence_t SlotFormatIndicator_eag_2_sequence[] = {
  { &hf_nr_rrc_switchTriggerToAddModListSizeExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16 },
  { &hf_nr_rrc_switchTriggerToReleaseListSizeExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotFormatIndicator_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SlotFormatIndicator_eag_2_sequence);

  return offset;
}



static int
dissect_nr_rrc_CO_Duration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4480U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_64_OF_CO_Duration_r17_sequence_of[1] = {
  { &hf_nr_rrc_co_DurationList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CO_Duration_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r17, SEQUENCE_SIZE_1_64_OF_CO_Duration_r17_sequence_of,
                                                  1, 64, FALSE);

  return offset;
}


static const per_sequence_t CO_DurationsPerCell_r17_sequence[] = {
  { &hf_nr_rrc_servingCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_positionInDCI_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 },
  { &hf_nr_rrc_subcarrierSpacing_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_co_DurationList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CO_DurationsPerCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CO_DurationsPerCell_r17, CO_DurationsPerCell_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17_sequence_of[1] = {
  { &hf_nr_rrc_co_DurationsPerCellToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CO_DurationsPerCell_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17_sequence_of,
                                                  1, maxNrofAggregatedCellsPerCellGroup, FALSE);

  return offset;
}


static const per_sequence_t SlotFormatIndicator_eag_3_sequence[] = {
  { &hf_nr_rrc_co_DurationsPerCellToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotFormatIndicator_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SlotFormatIndicator_eag_3_sequence);

  return offset;
}


static const per_sequence_t SlotFormatIndicator_sequence[] = {
  { &hf_nr_rrc_sfi_RNTI     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
  { &hf_nr_rrc_dci_PayloadSize_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize },
  { &hf_nr_rrc_slotFormatCombToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell },
  { &hf_nr_rrc_slotFormatCombToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatIndicator_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatIndicator_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatIndicator_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SlotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SlotFormatIndicator, SlotFormatIndicator_sequence);

  return offset;
}


static const value_string nr_rrc_T_slotFormatIndicator_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_slotFormatIndicator_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_80     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SlotFormatIndicator },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_slotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_slotFormatIndicator, T_slotFormatIndicator_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_availabilityIndicator_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_availabilityIndicator_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_81     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_AvailabilityIndicator_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_availabilityIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_availabilityIndicator_r16, T_availabilityIndicator_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 80U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_ServingCellConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_availabilityIndicator_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_availabilityIndicator_r16 },
  { &hf_nr_rrc_searchSpaceSwitchTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_80 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_ServingCellConfig_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_81_1280(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            81U, 1280U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_ServingCellConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_searchSpaceSwitchTimer_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_81_1280 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ServingCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_ServingCellConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t PDCCH_ServingCellConfig_sequence[] = {
  { &hf_nr_rrc_slotFormatIndicator, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_slotFormatIndicator },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ServingCellConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ServingCellConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_ServingCellConfig, PDCCH_ServingCellConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_ServingCellConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_ServingCellConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_150    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_ServingCellConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_ServingCellConfig, T_pdcch_ServingCellConfig_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDSCH_CodeBlockGroupTransmission_sequence[] = {
  { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock },
  { &hf_nr_rrc_codeBlockGroupFlushIndicator, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_CodeBlockGroupTransmission, PDSCH_CodeBlockGroupTransmission_sequence);

  return offset;
}


static const value_string nr_rrc_T_codeBlockGroupTransmission_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_codeBlockGroupTransmission_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_97     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_codeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_codeBlockGroupTransmission, T_codeBlockGroupTransmission_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_xOverhead_vals[] = {
  {   0, "xOh6" },
  {   1, "xOh12" },
  {   2, "xOh18" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_xOverhead(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofHARQ_ProcessesForPDSCH_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n10" },
  {   4, "n12" },
  {   5, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDSCH_ServingCellConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_maxMIMO_Layers, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_processingType2Enabled, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_ServingCellConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t PDSCH_CodeBlockGroupTransmissionList_r16_sequence_of[1] = {
  { &hf_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission },
};

static int
dissect_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16, PDSCH_CodeBlockGroupTransmissionList_r16_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_CodeBlockGroupTransmissionList_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_98     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16, T_pdsch_CodeBlockGroupTransmissionList_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDSCH_ServingCellConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_pdsch_CodeBlockGroupTransmissionList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_ServingCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_ServingCellConfig_eag_2_sequence);

  return offset;
}



static int
dissect_nr_rrc_DownlinkHARQ_FeedbackDisabled_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_downlinkHARQ_FeedbackDisabled_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_downlinkHARQ_FeedbackDisabled_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_99     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DownlinkHARQ_FeedbackDisabled_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_downlinkHARQ_FeedbackDisabled_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_downlinkHARQ_FeedbackDisabled_r17, T_downlinkHARQ_FeedbackDisabled_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofHARQ_ProcessesForPDSCH_v1700_vals[] = {
  {   0, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDSCH_ServingCellConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_downlinkHARQ_FeedbackDisabled_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_downlinkHARQ_FeedbackDisabled_r17 },
  { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_ServingCellConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_ServingCellConfig_eag_3_sequence);

  return offset;
}


static const per_sequence_t PDSCH_ServingCellConfig_sequence[] = {
  { &hf_nr_rrc_codeBlockGroupTransmission, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_codeBlockGroupTransmission },
  { &hf_nr_rrc_xOverhead    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_xOverhead },
  { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH },
  { &hf_nr_rrc_pucch_Cell   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_ServingCellConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_ServingCellConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_ServingCellConfig_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDSCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDSCH_ServingCellConfig, PDSCH_ServingCellConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdsch_ServingCellConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_pdsch_ServingCellConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_151    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDSCH_ServingCellConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdsch_ServingCellConfig, T_pdsch_ServingCellConfig_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M8_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -8, 15U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_powerControlOffsetSS_vals[] = {
  {   0, "db-3" },
  {   1, "db0" },
  {   2, "db3" },
  {   3, "db6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerControlOffsetSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_ScramblingId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, FALSE);

  return offset;
}


static const per_sequence_t NZP_CSI_RS_Resource_sequence[] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
  { &hf_nr_rrc_resourceMapping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceMapping },
  { &hf_nr_rrc_powerControlOffset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M8_15 },
  { &hf_nr_rrc_powerControlOffsetSS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerControlOffsetSS },
  { &hf_nr_rrc_scramblingID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ScramblingId },
  { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
  { &hf_nr_rrc_qcl_InfoPeriodicCSI_RS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TCI_StateId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NZP_CSI_RS_Resource, NZP_CSI_RS_Resource_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource_sequence_of[1] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource_sequence_of,
                                                  1, maxNrofNZP_CSI_RS_Resources, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId_sequence_of,
                                                  1, maxNrofNZP_CSI_RS_Resources, FALSE);

  return offset;
}



static int
dissect_nr_rrc_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofNZP_CSI_RS_ResourceSets_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_nzp_CSI_RS_Resources_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId_sequence_of,
                                                  1, maxNrofNZP_CSI_RS_ResourcesPerSet, FALSE);

  return offset;
}


static const value_string nr_rrc_T_repetition_vals[] = {
  {   0, "on" },
  {   1, "off" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_trs_Info_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_trs_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NZP_CSI_RS_ResourceSet_eag_1_sequence[] = {
  { &hf_nr_rrc_aperiodicTriggeringOffset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NZP_CSI_RS_ResourceSet_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NZP_CSI_RS_ResourceSet_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdc_Info_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdc_Info_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NZP_CSI_RS_Pairing_r17_sequence[] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceId1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
  { &hf_nr_rrc_nzp_CSI_RS_ResourceId2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NZP_CSI_RS_Pairing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NZP_CSI_RS_Pairing_r17, NZP_CSI_RS_Pairing_r17_sequence);

  return offset;
}


static const per_sequence_t CMRGroupingAndPairing_r17_sequence[] = {
  { &hf_nr_rrc_nrofResourcesGroup1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
  { &hf_nr_rrc_pair1OfNZP_CSI_RS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NZP_CSI_RS_Pairing_r17 },
  { &hf_nr_rrc_pair2OfNZP_CSI_RS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NZP_CSI_RS_Pairing_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CMRGroupingAndPairing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CMRGroupingAndPairing_r17, CMRGroupingAndPairing_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_124(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 124U, NULL, FALSE);

  return offset;
}


static const per_sequence_t NZP_CSI_RS_ResourceSet_eag_2_sequence[] = {
  { &hf_nr_rrc_pdc_Info_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdc_Info_r17 },
  { &hf_nr_rrc_cmrGroupingAndPairing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CMRGroupingAndPairing_r17 },
  { &hf_nr_rrc_aperiodicTriggeringOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_124 },
  { &hf_nr_rrc_aperiodicTriggeringOffsetL2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_31 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NZP_CSI_RS_ResourceSet_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NZP_CSI_RS_ResourceSet_eag_2_sequence);

  return offset;
}


static const per_sequence_t NZP_CSI_RS_ResourceSet_sequence[] = {
  { &hf_nr_rrc_nzp_CSI_ResourceSetId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
  { &hf_nr_rrc_nzp_CSI_RS_Resources, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId },
  { &hf_nr_rrc_repetition   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_repetition },
  { &hf_nr_rrc_aperiodicTriggeringOffset, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_6 },
  { &hf_nr_rrc_trs_Info     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_trs_Info },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSet_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSet_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NZP_CSI_RS_ResourceSet, NZP_CSI_RS_ResourceSet_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet_sequence_of[1] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet_sequence_of,
                                                  1, maxNrofNZP_CSI_RS_ResourceSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId_sequence_of,
                                                  1, maxNrofNZP_CSI_RS_ResourceSets, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCSI_IM_Resources_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_subcarrierLocation_p0_vals[] = {
  {   0, "s0" },
  {   1, "s2" },
  {   2, "s4" },
  {   3, "s6" },
  {   4, "s8" },
  {   5, "s10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_subcarrierLocation_p0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 12U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_pattern0_sequence[] = {
  { &hf_nr_rrc_subcarrierLocation_p0, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subcarrierLocation_p0 },
  { &hf_nr_rrc_symbolLocation_p0, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_12 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pattern0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pattern0, T_pattern0_sequence);

  return offset;
}


static const value_string nr_rrc_T_subcarrierLocation_p1_vals[] = {
  {   0, "s0" },
  {   1, "s4" },
  {   2, "s8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_subcarrierLocation_p1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pattern1_sequence[] = {
  { &hf_nr_rrc_subcarrierLocation_p1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subcarrierLocation_p1 },
  { &hf_nr_rrc_symbolLocation_p1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pattern1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pattern1, T_pattern1_sequence);

  return offset;
}


static const value_string nr_rrc_T_csi_IM_ResourceElementPattern_vals[] = {
  {   0, "pattern0" },
  {   1, "pattern1" },
  { 0, NULL }
};

static const per_choice_t T_csi_IM_ResourceElementPattern_choice[] = {
  {   0, &hf_nr_rrc_pattern0     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_pattern0 },
  {   1, &hf_nr_rrc_pattern1     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_pattern1 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_IM_ResourceElementPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_csi_IM_ResourceElementPattern, T_csi_IM_ResourceElementPattern_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CSI_IM_Resource_sequence[] = {
  { &hf_nr_rrc_csi_IM_ResourceId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
  { &hf_nr_rrc_csi_IM_ResourceElementPattern, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_IM_ResourceElementPattern },
  { &hf_nr_rrc_freqBand     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_FrequencyOccupation },
  { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_IM_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_IM_Resource, CSI_IM_Resource_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource_sequence_of[1] = {
  { &hf_nr_rrc_csi_IM_ResourceToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource, SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource_sequence_of,
                                                  1, maxNrofCSI_IM_Resources, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_csi_IM_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId, SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId_sequence_of,
                                                  1, maxNrofCSI_IM_Resources, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCSI_IM_ResourceSets_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId_sequence_of[1] = {
  { &hf_nr_rrc_csi_IM_Resources_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId_sequence_of,
                                                  1, maxNrofCSI_IM_ResourcesPerSet, FALSE);

  return offset;
}


static const per_sequence_t CSI_IM_ResourceSet_sequence[] = {
  { &hf_nr_rrc_csi_IM_ResourceSetId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
  { &hf_nr_rrc_csi_IM_Resources, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_IM_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_IM_ResourceSet, CSI_IM_ResourceSet_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet_sequence_of[1] = {
  { &hf_nr_rrc_csi_IM_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet_sequence_of,
                                                  1, maxNrofCSI_IM_ResourceSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId_sequence_of,
                                                  1, maxNrofCSI_IM_ResourceSets, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCSI_SSB_ResourceSets_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index_sequence_of[1] = {
  { &hf_nr_rrc_csi_SSB_ResourceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index_sequence_of,
                                                  1, maxNrofCSI_SSB_ResourcePerSet, FALSE);

  return offset;
}



static int
dissect_nr_rrc_ServingAdditionalPCIIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofAdditionalPCI_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17_sequence_of[1] = {
  { &hf_nr_rrc_servingAdditionalPCIList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingAdditionalPCIIndex_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17_sequence_of,
                                                  1, maxNrofCSI_SSB_ResourcePerSet, FALSE);

  return offset;
}


static const per_sequence_t CSI_SSB_ResourceSet_eag_1_sequence[] = {
  { &hf_nr_rrc_servingAdditionalPCIList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_SSB_ResourceSet_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_SSB_ResourceSet_eag_1_sequence);

  return offset;
}


static const per_sequence_t CSI_SSB_ResourceSet_sequence[] = {
  { &hf_nr_rrc_csi_SSB_ResourceSetId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
  { &hf_nr_rrc_csi_SSB_ResourceList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSet_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_SSB_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_SSB_ResourceSet, CSI_SSB_ResourceSet_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet_sequence_of[1] = {
  { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSet },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet_sequence_of,
                                                  1, maxNrofCSI_SSB_ResourceSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_csi_SSB_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId_sequence_of,
                                                  1, maxNrofCSI_SSB_ResourceSets, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCSI_ResourceConfigurations_1, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId_sequence_of,
                                                  1, maxNrofNZP_CSI_RS_ResourceSetsPerConfig, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_csi_SSB_ResourceSetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId_sequence_of,
                                                  1, maxNrofCSI_SSB_ResourceSetsPerConfig, FALSE);

  return offset;
}


static const per_sequence_t T_nzp_CSI_RS_SSB_sequence[] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId },
  { &hf_nr_rrc_csi_SSB_ResourceSetList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nzp_CSI_RS_SSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nzp_CSI_RS_SSB, T_nzp_CSI_RS_SSB_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId_sequence_of[1] = {
  { &hf_nr_rrc_csi_IM_ResourceSetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId_sequence_of,
                                                  1, maxNrofCSI_IM_ResourceSetsPerConfig, FALSE);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_ResourceSetList_vals[] = {
  {   0, "nzp-CSI-RS-SSB" },
  {   1, "csi-IM-ResourceSetList" },
  { 0, NULL }
};

static const per_choice_t T_csi_RS_ResourceSetList_choice[] = {
  {   0, &hf_nr_rrc_nzp_CSI_RS_SSB, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nzp_CSI_RS_SSB },
  {   1, &hf_nr_rrc_csi_IM_ResourceSetList, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_RS_ResourceSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_csi_RS_ResourceSetList, T_csi_RS_ResourceSetList_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_resourceType_vals[] = {
  {   0, "aperiodic" },
  {   1, "semiPersistent" },
  {   2, "periodic" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CSI_ResourceConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_csi_SSB_ResourceSetListExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_SSB_ResourceSetId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ResourceConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ResourceConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t CSI_ResourceConfig_sequence[] = {
  { &hf_nr_rrc_csi_ResourceConfigId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
  { &hf_nr_rrc_csi_RS_ResourceSetList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_ResourceSetList },
  { &hf_nr_rrc_bwp_Id       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_resourceType , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_ResourceConfig, CSI_ResourceConfig_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of[1] = {
  { &hf_nr_rrc_csi_ResourceConfigToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfig },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of,
                                                  1, maxNrofCSI_ResourceConfigurations, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId_sequence_of[1] = {
  { &hf_nr_rrc_csi_ResourceConfigToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId_sequence_of,
                                                  1, maxNrofCSI_ResourceConfigurations, FALSE);

  return offset;
}



static int
dissect_nr_rrc_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCSI_ReportConfigurations_1, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_CSI_ReportPeriodicityAndOffset_vals[] = {
  {   0, "slots4" },
  {   1, "slots5" },
  {   2, "slots8" },
  {   3, "slots10" },
  {   4, "slots16" },
  {   5, "slots20" },
  {   6, "slots40" },
  {   7, "slots80" },
  {   8, "slots160" },
  {   9, "slots320" },
  { 0, NULL }
};

static const per_choice_t CSI_ReportPeriodicityAndOffset_choice[] = {
  {   0, &hf_nr_rrc_slots4       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_3 },
  {   1, &hf_nr_rrc_slots5       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_4 },
  {   2, &hf_nr_rrc_slots8       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_7 },
  {   3, &hf_nr_rrc_slots10      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_9 },
  {   4, &hf_nr_rrc_slots16      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_15 },
  {   5, &hf_nr_rrc_slots20      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_19 },
  {   6, &hf_nr_rrc_slots40      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_39 },
  {   7, &hf_nr_rrc_slots80      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_79 },
  {   8, &hf_nr_rrc_slots160     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_159 },
  {   9, &hf_nr_rrc_slots320     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_319 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_CSI_ReportPeriodicityAndOffset, CSI_ReportPeriodicityAndOffset_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PUCCH_CSI_Resource_sequence[] = {
  { &hf_nr_rrc_uplinkBandwidthPartId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_pucch_Resource, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_CSI_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_CSI_Resource, PUCCH_CSI_Resource_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource_sequence_of[1] = {
  { &hf_nr_rrc_pucch_CSI_ResourceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_CSI_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource, SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource_sequence_of,
                                                  1, maxNrofBWPs, FALSE);

  return offset;
}


static const per_sequence_t T_periodic_sequence[] = {
  { &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportPeriodicityAndOffset },
  { &hf_nr_rrc_pucch_CSI_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_periodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_periodic, T_periodic_sequence);

  return offset;
}


static const per_sequence_t T_semiPersistentOnPUCCH_sequence[] = {
  { &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportPeriodicityAndOffset },
  { &hf_nr_rrc_pucch_CSI_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semiPersistentOnPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semiPersistentOnPUCCH, T_semiPersistentOnPUCCH_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportSlotConfig_vals[] = {
  {   0, "sl5" },
  {   1, "sl10" },
  {   2, "sl20" },
  {   3, "sl40" },
  {   4, "sl80" },
  {   5, "sl160" },
  {   6, "sl320" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportSlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetList_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetList, T_reportSlotOffsetList_sequence_of,
                                                  1, maxNrofUL_Allocations, FALSE);

  return offset;
}


static const per_sequence_t T_semiPersistentOnPUSCH_sequence[] = {
  { &hf_nr_rrc_reportSlotConfig_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig },
  { &hf_nr_rrc_reportSlotOffsetList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotOffsetList },
  { &hf_nr_rrc_p0alpha      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semiPersistentOnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semiPersistentOnPUSCH, T_semiPersistentOnPUSCH_sequence);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetList_01_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetList_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetList_01, T_reportSlotOffsetList_01_sequence_of,
                                                  1, maxNrofUL_Allocations, FALSE);

  return offset;
}


static const per_sequence_t T_aperiodic_sequence[] = {
  { &hf_nr_rrc_reportSlotOffsetList_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotOffsetList_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_aperiodic, T_aperiodic_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportConfigType_vals[] = {
  {   0, "periodic" },
  {   1, "semiPersistentOnPUCCH" },
  {   2, "semiPersistentOnPUSCH" },
  {   3, "aperiodic" },
  { 0, NULL }
};

static const per_choice_t T_reportConfigType_choice[] = {
  {   0, &hf_nr_rrc_periodic     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_periodic },
  {   1, &hf_nr_rrc_semiPersistentOnPUCCH, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_semiPersistentOnPUCCH },
  {   2, &hf_nr_rrc_semiPersistentOnPUSCH, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_semiPersistentOnPUSCH },
  {   3, &hf_nr_rrc_aperiodic    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_aperiodic },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportConfigType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportConfigType, T_reportConfigType_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_BundleSizeForCSI_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_BundleSizeForCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_cri_RI_i1_CQI_sequence[] = {
  { &hf_nr_rrc_pdsch_BundleSizeForCSI, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_BundleSizeForCSI },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cri_RI_i1_CQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cri_RI_i1_CQI, T_cri_RI_i1_CQI_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportQuantity_vals[] = {
  {   0, "none" },
  {   1, "cri-RI-PMI-CQI" },
  {   2, "cri-RI-i1" },
  {   3, "cri-RI-i1-CQI" },
  {   4, "cri-RI-CQI" },
  {   5, "cri-RSRP" },
  {   6, "ssb-Index-RSRP" },
  {   7, "cri-RI-LI-PMI-CQI" },
  { 0, NULL }
};

static const per_choice_t T_reportQuantity_choice[] = {
  {   0, &hf_nr_rrc_none         , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_cri_RI_PMI_CQI, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_cri_RI_i1    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_cri_RI_i1_CQI, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_cri_RI_i1_CQI },
  {   4, &hf_nr_rrc_cri_RI_CQI   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   5, &hf_nr_rrc_cri_RSRP     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   6, &hf_nr_rrc_ssb_Index_RSRP, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   7, &hf_nr_rrc_cri_RI_LI_PMI_CQI, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportQuantity, T_reportQuantity_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_cqi_FormatIndicator_vals[] = {
  {   0, "widebandCQI" },
  {   1, "subbandCQI" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cqi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pmi_FormatIndicator_vals[] = {
  {   0, "widebandPMI" },
  {   1, "subbandPMI" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pmi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     13, 13, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     15, 15, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     17, 17, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     19, 19, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_ReportingBand_vals[] = {
  {   0, "subbands3" },
  {   1, "subbands4" },
  {   2, "subbands5" },
  {   3, "subbands6" },
  {   4, "subbands7" },
  {   5, "subbands8" },
  {   6, "subbands9" },
  {   7, "subbands10" },
  {   8, "subbands11" },
  {   9, "subbands12" },
  {  10, "subbands13" },
  {  11, "subbands14" },
  {  12, "subbands15" },
  {  13, "subbands16" },
  {  14, "subbands17" },
  {  15, "subbands18" },
  {  16, "subbands19-v1530" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_csi_ReportingBand_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_csi_ReportingBand_vals);

static const per_choice_t T_csi_ReportingBand_choice[] = {
  {   0, &hf_nr_rrc_subbands3    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_3 },
  {   1, &hf_nr_rrc_subbands4    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   2, &hf_nr_rrc_subbands5    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_5 },
  {   3, &hf_nr_rrc_subbands6    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_6 },
  {   4, &hf_nr_rrc_subbands7    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_7 },
  {   5, &hf_nr_rrc_subbands8    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   6, &hf_nr_rrc_subbands9    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_9 },
  {   7, &hf_nr_rrc_subbands10   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  {   8, &hf_nr_rrc_subbands11   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_11 },
  {   9, &hf_nr_rrc_subbands12   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_12 },
  {  10, &hf_nr_rrc_subbands13   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_13 },
  {  11, &hf_nr_rrc_subbands14   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_14 },
  {  12, &hf_nr_rrc_subbands15   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_15 },
  {  13, &hf_nr_rrc_subbands16   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  {  14, &hf_nr_rrc_subbands17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_17 },
  {  15, &hf_nr_rrc_subbands18   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_BIT_STRING_SIZE_18 },
  {  16, &hf_nr_rrc_subbands19_v1530, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_BIT_STRING_SIZE_19 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_ReportingBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_csi_ReportingBand, T_csi_ReportingBand_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_reportFreqConfiguration_sequence[] = {
  { &hf_nr_rrc_cqi_FormatIndicator, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cqi_FormatIndicator },
  { &hf_nr_rrc_pmi_FormatIndicator, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pmi_FormatIndicator },
  { &hf_nr_rrc_csi_ReportingBand, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_ReportingBand },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_reportFreqConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_reportFreqConfiguration, T_reportFreqConfiguration_sequence);

  return offset;
}


static const value_string nr_rrc_T_timeRestrictionForChannelMeasurements_vals[] = {
  {   0, "configured" },
  {   1, "notConfigured" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeRestrictionForChannelMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_timeRestrictionForInterferenceMeasurements_vals[] = {
  {   0, "configured" },
  {   1, "notConfigured" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeRestrictionForInterferenceMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_two_sequence[] = {
  { &hf_nr_rrc_twoTX_CodebookSubsetRestriction, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_two(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_two, T_two_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     192, 192, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_n1_n2_vals[] = {
  {   0, "two-one-TypeI-SinglePanel-Restriction" },
  {   1, "two-two-TypeI-SinglePanel-Restriction" },
  {   2, "four-one-TypeI-SinglePanel-Restriction" },
  {   3, "three-two-TypeI-SinglePanel-Restriction" },
  {   4, "six-one-TypeI-SinglePanel-Restriction" },
  {   5, "four-two-TypeI-SinglePanel-Restriction" },
  {   6, "eight-one-TypeI-SinglePanel-Restriction" },
  {   7, "four-three-TypeI-SinglePanel-Restriction" },
  {   8, "six-two-TypeI-SinglePanel-Restriction" },
  {   9, "twelve-one-TypeI-SinglePanel-Restriction" },
  {  10, "four-four-TypeI-SinglePanel-Restriction" },
  {  11, "eight-two-TypeI-SinglePanel-Restriction" },
  {  12, "sixteen-one-TypeI-SinglePanel-Restriction" },
  { 0, NULL }
};

static const per_choice_t T_n1_n2_choice[] = {
  {   0, &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   1, &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  {   2, &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  {   3, &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_96 },
  {   4, &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_24 },
  {   5, &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_128 },
  {   6, &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  {   7, &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_192 },
  {   8, &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_192 },
  {   9, &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_48 },
  {  10, &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_256 },
  {  11, &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_256 },
  {  12, &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_n1_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_n1_n2, T_n1_n2_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_moreThanTwo_sequence[] = {
  { &hf_nr_rrc_n1_n2        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2 },
  { &hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_moreThanTwo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_moreThanTwo, T_moreThanTwo_sequence);

  return offset;
}


static const value_string nr_rrc_T_nrOfAntennaPorts_vals[] = {
  {   0, "two" },
  {   1, "moreThanTwo" },
  { 0, NULL }
};

static const per_choice_t T_nrOfAntennaPorts_choice[] = {
  {   0, &hf_nr_rrc_two          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_two },
  {   1, &hf_nr_rrc_moreThanTwo  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_moreThanTwo },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nrOfAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nrOfAntennaPorts, T_nrOfAntennaPorts_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_typeI_SinglePanel_sequence[] = {
  { &hf_nr_rrc_nrOfAntennaPorts, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrOfAntennaPorts },
  { &hf_nr_rrc_typeI_SinglePanel_ri_Restriction, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeI_SinglePanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeI_SinglePanel, T_typeI_SinglePanel_sequence);

  return offset;
}


static const value_string nr_rrc_T_ng_n1_n2_vals[] = {
  {   0, "two-two-one-TypeI-MultiPanel-Restriction" },
  {   1, "two-four-one-TypeI-MultiPanel-Restriction" },
  {   2, "four-two-one-TypeI-MultiPanel-Restriction" },
  {   3, "two-two-two-TypeI-MultiPanel-Restriction" },
  {   4, "two-eight-one-TypeI-MultiPanel-Restriction" },
  {   5, "four-four-one-TypeI-MultiPanel-Restriction" },
  {   6, "two-four-two-TypeI-MultiPanel-Restriction" },
  {   7, "four-two-two-TypeI-MultiPanel-Restriction" },
  { 0, NULL }
};

static const per_choice_t T_ng_n1_n2_choice[] = {
  {   0, &hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   1, &hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  {   2, &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   3, &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  {   4, &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  {   5, &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  {   6, &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_128 },
  {   7, &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ng_n1_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ng_n1_n2, T_ng_n1_n2_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_typeI_MultiPanel_sequence[] = {
  { &hf_nr_rrc_ng_n1_n2     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ng_n1_n2 },
  { &hf_nr_rrc_ri_Restriction, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeI_MultiPanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeI_MultiPanel, T_typeI_MultiPanel_sequence);

  return offset;
}


static const value_string nr_rrc_T_subType_vals[] = {
  {   0, "typeI-SinglePanel" },
  {   1, "typeI-MultiPanel" },
  { 0, NULL }
};

static const per_choice_t T_subType_choice[] = {
  {   0, &hf_nr_rrc_typeI_SinglePanel, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_typeI_SinglePanel },
  {   1, &hf_nr_rrc_typeI_MultiPanel, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_typeI_MultiPanel },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_subType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_subType, T_subType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_type1_01_sequence[] = {
  { &hf_nr_rrc_subType      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType },
  { &hf_nr_rrc_codebookMode , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1_01, T_type1_01_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     43, 43, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     59, 59, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_75(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     75, 75, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_107(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     107, 107, FALSE, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_139(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     139, 139, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_n1_n2_codebookSubsetRestriction_vals[] = {
  {   0, "two-one" },
  {   1, "two-two" },
  {   2, "four-one" },
  {   3, "three-two" },
  {   4, "six-one" },
  {   5, "four-two" },
  {   6, "eight-one" },
  {   7, "four-three" },
  {   8, "six-two" },
  {   9, "twelve-one" },
  {  10, "four-four" },
  {  11, "eight-two" },
  {  12, "sixteen-one" },
  { 0, NULL }
};

static const per_choice_t T_n1_n2_codebookSubsetRestriction_choice[] = {
  {   0, &hf_nr_rrc_two_one      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  {   1, &hf_nr_rrc_two_two      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_43 },
  {   2, &hf_nr_rrc_four_one     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  {   3, &hf_nr_rrc_three_two    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_59 },
  {   4, &hf_nr_rrc_six_one      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_48 },
  {   5, &hf_nr_rrc_four_two     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_75 },
  {   6, &hf_nr_rrc_eight_one    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  {   7, &hf_nr_rrc_four_three   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_107 },
  {   8, &hf_nr_rrc_six_two      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_107 },
  {   9, &hf_nr_rrc_twelve_one   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_96 },
  {  10, &hf_nr_rrc_four_four    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_139 },
  {  11, &hf_nr_rrc_eight_two    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_139 },
  {  12, &hf_nr_rrc_sixteen_one  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_128 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_n1_n2_codebookSubsetRestriction, T_n1_n2_codebookSubsetRestriction_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_typeII_sequence[] = {
  { &hf_nr_rrc_n1_n2_codebookSubsetRestriction, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction },
  { &hf_nr_rrc_typeII_RI_Restriction, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeII(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeII, T_typeII_sequence);

  return offset;
}


static const value_string nr_rrc_T_portSelectionSamplingSize_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_portSelectionSamplingSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_typeII_PortSelection_sequence[] = {
  { &hf_nr_rrc_portSelectionSamplingSize, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_portSelectionSamplingSize },
  { &hf_nr_rrc_typeII_PortSelectionRI_Restriction, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeII_PortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeII_PortSelection, T_typeII_PortSelection_sequence);

  return offset;
}


static const value_string nr_rrc_T_subType_01_vals[] = {
  {   0, "typeII" },
  {   1, "typeII-PortSelection" },
  { 0, NULL }
};

static const per_choice_t T_subType_01_choice[] = {
  {   0, &hf_nr_rrc_typeII       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_typeII },
  {   1, &hf_nr_rrc_typeII_PortSelection, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_typeII_PortSelection },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_subType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_subType_01, T_subType_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_phaseAlphabetSize_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phaseAlphabetSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_numberOfBeams_vals[] = {
  {   0, "two" },
  {   1, "three" },
  {   2, "four" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_numberOfBeams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_type2_sequence[] = {
  { &hf_nr_rrc_subType_01   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType_01 },
  { &hf_nr_rrc_phaseAlphabetSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phaseAlphabetSize },
  { &hf_nr_rrc_subbandAmplitude, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_numberOfBeams, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numberOfBeams },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type2, T_type2_sequence);

  return offset;
}


static const value_string nr_rrc_T_codebookType_vals[] = {
  {   0, "type1" },
  {   1, "type2" },
  { 0, NULL }
};

static const per_choice_t T_codebookType_choice[] = {
  {   0, &hf_nr_rrc_type1_01     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type1_01 },
  {   1, &hf_nr_rrc_type2        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type2 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_codebookType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_codebookType, T_codebookType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CodebookConfig_sequence[] = {
  { &hf_nr_rrc_codebookType , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookConfig, CodebookConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_cSI_ReportConfig_dummy_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cSI_ReportConfig_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofReportedRS_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofReportedRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_disabled_sequence[] = {
  { &hf_nr_rrc_nrofReportedRS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrofReportedRS },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_disabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_disabled, T_disabled_sequence);

  return offset;
}


static const value_string nr_rrc_T_groupBasedBeamReporting_vals[] = {
  {   0, "enabled" },
  {   1, "disabled" },
  { 0, NULL }
};

static const per_choice_t T_groupBasedBeamReporting_choice[] = {
  {   0, &hf_nr_rrc_enabled      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_disabled     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_disabled },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_groupBasedBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_groupBasedBeamReporting, T_groupBasedBeamReporting_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_cqi_Table_vals[] = {
  {   0, "table1" },
  {   1, "table2" },
  {   2, "table3" },
  {   3, "table4-r17" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cqi_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_subbandSize_vals[] = {
  {   0, "value1" },
  {   1, "value2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_subbandSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex8_sequence_of[1] = {
  { &hf_nr_rrc_rank2_8_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8, SEQUENCE_SIZE_2_OF_PortIndex8_sequence_of,
                                                  2, 2, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_3_OF_PortIndex8_sequence_of[1] = {
  { &hf_nr_rrc_rank3_8_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8, SEQUENCE_SIZE_3_OF_PortIndex8_sequence_of,
                                                  3, 3, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_4_OF_PortIndex8_sequence_of[1] = {
  { &hf_nr_rrc_rank4_8_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8, SEQUENCE_SIZE_4_OF_PortIndex8_sequence_of,
                                                  4, 4, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_5_OF_PortIndex8_sequence_of[1] = {
  { &hf_nr_rrc_rank5_8_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8, SEQUENCE_SIZE_5_OF_PortIndex8_sequence_of,
                                                  5, 5, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_6_OF_PortIndex8_sequence_of[1] = {
  { &hf_nr_rrc_rank6_8_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8, SEQUENCE_SIZE_6_OF_PortIndex8_sequence_of,
                                                  6, 6, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_7_OF_PortIndex8_sequence_of[1] = {
  { &hf_nr_rrc_rank7_8_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8, SEQUENCE_SIZE_7_OF_PortIndex8_sequence_of,
                                                  7, 7, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_8_OF_PortIndex8_sequence_of[1] = {
  { &hf_nr_rrc_rank8_8_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8, SEQUENCE_SIZE_8_OF_PortIndex8_sequence_of,
                                                  8, 8, FALSE);

  return offset;
}


static const per_sequence_t T_portIndex8_sequence[] = {
  { &hf_nr_rrc_rank1_8      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PortIndex8 },
  { &hf_nr_rrc_rank2_8      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8 },
  { &hf_nr_rrc_rank3_8      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8 },
  { &hf_nr_rrc_rank4_8      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8 },
  { &hf_nr_rrc_rank5_8      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8 },
  { &hf_nr_rrc_rank6_8      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8 },
  { &hf_nr_rrc_rank7_8      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8 },
  { &hf_nr_rrc_rank8_8      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_portIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_portIndex8, T_portIndex8_sequence);

  return offset;
}



static int
dissect_nr_rrc_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex4_sequence_of[1] = {
  { &hf_nr_rrc_rank2_4_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4, SEQUENCE_SIZE_2_OF_PortIndex4_sequence_of,
                                                  2, 2, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_3_OF_PortIndex4_sequence_of[1] = {
  { &hf_nr_rrc_rank3_4_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4, SEQUENCE_SIZE_3_OF_PortIndex4_sequence_of,
                                                  3, 3, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_4_OF_PortIndex4_sequence_of[1] = {
  { &hf_nr_rrc_rank4_4_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4, SEQUENCE_SIZE_4_OF_PortIndex4_sequence_of,
                                                  4, 4, FALSE);

  return offset;
}


static const per_sequence_t T_portIndex4_sequence[] = {
  { &hf_nr_rrc_rank1_4      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PortIndex4 },
  { &hf_nr_rrc_rank2_4      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4 },
  { &hf_nr_rrc_rank3_4      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4 },
  { &hf_nr_rrc_rank4_4      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_portIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_portIndex4, T_portIndex4_sequence);

  return offset;
}



static int
dissect_nr_rrc_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex2_sequence_of[1] = {
  { &hf_nr_rrc_rank2_2_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex2 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2, SEQUENCE_SIZE_2_OF_PortIndex2_sequence_of,
                                                  2, 2, FALSE);

  return offset;
}


static const per_sequence_t T_portIndex2_sequence[] = {
  { &hf_nr_rrc_rank1_2      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PortIndex2 },
  { &hf_nr_rrc_rank2_2      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_portIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_portIndex2, T_portIndex2_sequence);

  return offset;
}


static const value_string nr_rrc_PortIndexFor8Ranks_vals[] = {
  {   0, "portIndex8" },
  {   1, "portIndex4" },
  {   2, "portIndex2" },
  {   3, "portIndex1" },
  { 0, NULL }
};

static const per_choice_t PortIndexFor8Ranks_choice[] = {
  {   0, &hf_nr_rrc_portIndex8   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_portIndex8 },
  {   1, &hf_nr_rrc_portIndex4   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_portIndex4 },
  {   2, &hf_nr_rrc_portIndex2   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_portIndex2 },
  {   3, &hf_nr_rrc_portIndex1   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_PortIndexFor8Ranks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_PortIndexFor8Ranks, PortIndexFor8Ranks_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks_sequence_of[1] = {
  { &hf_nr_rrc_non_PMI_PortIndication_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndexFor8Ranks },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks_sequence_of,
                                                  1, maxNrofNZP_CSI_RS_ResourcesPerConfig, FALSE);

  return offset;
}


static const value_string nr_rrc_T_reportSlotConfig_v1530_vals[] = {
  {   0, "sl4" },
  {   1, "sl8" },
  {   2, "sl16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportSlotConfig_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_semiPersistentOnPUSCH_v1530_sequence[] = {
  { &hf_nr_rrc_reportSlotConfig_v1530, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig_v1530 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semiPersistentOnPUSCH_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semiPersistentOnPUSCH_v1530, T_semiPersistentOnPUSCH_v1530_sequence);

  return offset;
}


static const per_sequence_t CSI_ReportConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_semiPersistentOnPUSCH_v1530, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiPersistentOnPUSCH_v1530 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ReportConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetListDCI_0_2_r16_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16, T_reportSlotOffsetListDCI_0_2_r16_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetListDCI_0_1_r16_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16, T_reportSlotOffsetListDCI_0_1_r16_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_semiPersistentOnPUSCH_v1610_sequence[] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16 },
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semiPersistentOnPUSCH_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semiPersistentOnPUSCH_v1610, T_semiPersistentOnPUSCH_v1610_sequence);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetListDCI_0_2_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16_01, T_reportSlotOffsetListDCI_0_2_r16_01_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetListDCI_0_1_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16_01, T_reportSlotOffsetListDCI_0_1_r16_01_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_aperiodic_v1610_sequence[] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16_01 },
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodic_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_aperiodic_v1610, T_aperiodic_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportQuantity_r16_vals[] = {
  {   0, "cri-SINR-r16" },
  {   1, "ssb-Index-SINR-r16" },
  { 0, NULL }
};

static const per_choice_t T_reportQuantity_r16_choice[] = {
  {   0, &hf_nr_rrc_cri_SINR_r16 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_ssb_Index_SINR_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportQuantity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportQuantity_r16, T_reportQuantity_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_n1_n2_codebookSubsetRestriction_r16_vals[] = {
  {   0, "two-one" },
  {   1, "two-two" },
  {   2, "four-one" },
  {   3, "three-two" },
  {   4, "six-one" },
  {   5, "four-two" },
  {   6, "eight-one" },
  {   7, "four-three" },
  {   8, "six-two" },
  {   9, "twelve-one" },
  {  10, "four-four" },
  {  11, "eight-two" },
  {  12, "sixteen-one" },
  { 0, NULL }
};

static const per_choice_t T_n1_n2_codebookSubsetRestriction_r16_choice[] = {
  {   0, &hf_nr_rrc_two_one      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  {   1, &hf_nr_rrc_two_two      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_43 },
  {   2, &hf_nr_rrc_four_one     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  {   3, &hf_nr_rrc_three_two    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_59 },
  {   4, &hf_nr_rrc_six_one      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_48 },
  {   5, &hf_nr_rrc_four_two     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_75 },
  {   6, &hf_nr_rrc_eight_one    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  {   7, &hf_nr_rrc_four_three   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_107 },
  {   8, &hf_nr_rrc_six_two      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_107 },
  {   9, &hf_nr_rrc_twelve_one   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_96 },
  {  10, &hf_nr_rrc_four_four    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_139 },
  {  11, &hf_nr_rrc_eight_two    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_139 },
  {  12, &hf_nr_rrc_sixteen_one  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_128 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16, T_n1_n2_codebookSubsetRestriction_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_typeII_r16_sequence[] = {
  { &hf_nr_rrc_n1_n2_codebookSubsetRestriction_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16 },
  { &hf_nr_rrc_typeII_RI_Restriction_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeII_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeII_r16, T_typeII_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_portSelectionSamplingSize_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_portSelectionSamplingSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_typeII_PortSelection_r16_sequence[] = {
  { &hf_nr_rrc_portSelectionSamplingSize_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_portSelectionSamplingSize_r16 },
  { &hf_nr_rrc_typeII_PortSelectionRI_Restriction_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeII_PortSelection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeII_PortSelection_r16, T_typeII_PortSelection_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_subType_02_vals[] = {
  {   0, "typeII-r16" },
  {   1, "typeII-PortSelection-r16" },
  { 0, NULL }
};

static const per_choice_t T_subType_02_choice[] = {
  {   0, &hf_nr_rrc_typeII_r16   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_typeII_r16 },
  {   1, &hf_nr_rrc_typeII_PortSelection_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_typeII_PortSelection_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_subType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_subType_02, T_subType_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_type2_01_sequence[] = {
  { &hf_nr_rrc_subType_02   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType_02 },
  { &hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_paramCombination_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type2_01, T_type2_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_codebookType_01_vals[] = {
  {   0, "type2" },
  { 0, NULL }
};

static const per_choice_t T_codebookType_01_choice[] = {
  {   0, &hf_nr_rrc_type2_01     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type2_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_codebookType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_codebookType_01, T_codebookType_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CodebookConfig_r16_sequence[] = {
  { &hf_nr_rrc_codebookType_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookConfig_r16, CodebookConfig_r16_sequence);

  return offset;
}


static const per_sequence_t CSI_ReportConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_semiPersistentOnPUSCH_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiPersistentOnPUSCH_v1610 },
  { &hf_nr_rrc_aperiodic_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodic_v1610 },
  { &hf_nr_rrc_reportQuantity_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportQuantity_r16 },
  { &hf_nr_rrc_codebookConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ReportConfig_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_cqi_BitsPerSubband_r17_vals[] = {
  {   0, "bits4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cqi_BitsPerSubband_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofReportedGroups_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofReportedGroups_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_groupBasedBeamReporting_v1710_sequence[] = {
  { &hf_nr_rrc_nrofReportedGroups_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofReportedGroups_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_groupBasedBeamReporting_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_groupBasedBeamReporting_v1710, T_groupBasedBeamReporting_v1710_sequence);

  return offset;
}


static const per_sequence_t T_two_01_sequence[] = {
  { &hf_nr_rrc_twoTX_CodebookSubsetRestriction1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_two_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_two_01, T_two_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_n1_n2_01_vals[] = {
  {   0, "two-one-TypeI-SinglePanel-Restriction1-r17" },
  {   1, "two-two-TypeI-SinglePanel-Restriction1-r17" },
  {   2, "four-one-TypeI-SinglePanel-Restriction1-r17" },
  {   3, "three-two-TypeI-SinglePanel-Restriction1-r17" },
  {   4, "six-one-TypeI-SinglePanel-Restriction1-r17" },
  {   5, "four-two-TypeI-SinglePanel-Restriction1-r17" },
  {   6, "eight-one-TypeI-SinglePanel-Restriction1-r17" },
  {   7, "four-three-TypeI-SinglePanel-Restriction1-r17" },
  {   8, "six-two-TypeI-SinglePanel-Restriction1-r17" },
  {   9, "twelve-one-TypeI-SinglePanel-Restriction1-r17" },
  {  10, "four-four-TypeI-SinglePanel-Restriction1-r17" },
  {  11, "eight-two-TypeI-SinglePanel-Restriction1-r17" },
  {  12, "sixteen-one-TypeI-SinglePanel-Restriction1-r17" },
  { 0, NULL }
};

static const per_choice_t T_n1_n2_01_choice[] = {
  {   0, &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   1, &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  {   2, &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  {   3, &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_96 },
  {   4, &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_24 },
  {   5, &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_128 },
  {   6, &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  {   7, &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_192 },
  {   8, &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_192 },
  {   9, &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_48 },
  {  10, &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_256 },
  {  11, &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_256 },
  {  12, &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_n1_n2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_n1_n2_01, T_n1_n2_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_moreThanTwo_01_sequence[] = {
  { &hf_nr_rrc_n1_n2_01     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_moreThanTwo_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_moreThanTwo_01, T_moreThanTwo_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_nrOfAntennaPorts_01_vals[] = {
  {   0, "two" },
  {   1, "moreThanTwo" },
  { 0, NULL }
};

static const per_choice_t T_nrOfAntennaPorts_01_choice[] = {
  {   0, &hf_nr_rrc_two_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_two_01 },
  {   1, &hf_nr_rrc_moreThanTwo_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_moreThanTwo_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nrOfAntennaPorts_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nrOfAntennaPorts_01, T_nrOfAntennaPorts_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_typeI_SinglePanel_Group1_r17_sequence[] = {
  { &hf_nr_rrc_nrOfAntennaPorts_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrOfAntennaPorts_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeI_SinglePanel_Group1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeI_SinglePanel_Group1_r17, T_typeI_SinglePanel_Group1_r17_sequence);

  return offset;
}


static const per_sequence_t T_two_02_sequence[] = {
  { &hf_nr_rrc_twoTX_CodebookSubsetRestriction2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_two_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_two_02, T_two_02_sequence);

  return offset;
}


static const value_string nr_rrc_T_n1_n2_02_vals[] = {
  {   0, "two-one-TypeI-SinglePanel-Restriction2-r17" },
  {   1, "two-two-TypeI-SinglePanel-Restriction2-r17" },
  {   2, "four-one-TypeI-SinglePanel-Restriction2-r17" },
  {   3, "three-two-TypeI-SinglePanel-Restriction2-r17" },
  {   4, "six-one-TypeI-SinglePanel-Restriction2-r17" },
  {   5, "four-two-TypeI-SinglePanel-Restriction2-r17" },
  {   6, "eight-one-TypeI-SinglePanel-Restriction2-r17" },
  {   7, "four-three-TypeI-SinglePanel-Restriction2-r17" },
  {   8, "six-two-TypeI-SinglePanel-Restriction2-r17" },
  {   9, "twelve-one-TypeI-SinglePanel-Restriction2-r17" },
  {  10, "four-four-TypeI-SinglePanel-Restriction2-r17" },
  {  11, "eight-two-TypeI-SinglePanel-Restriction2-r17" },
  {  12, "sixteen-one-TypeI-SinglePanel-Restriction2-r17" },
  { 0, NULL }
};

static const per_choice_t T_n1_n2_02_choice[] = {
  {   0, &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   1, &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  {   2, &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  {   3, &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_96 },
  {   4, &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_24 },
  {   5, &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_128 },
  {   6, &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  {   7, &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_192 },
  {   8, &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_192 },
  {   9, &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_48 },
  {  10, &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_256 },
  {  11, &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_256 },
  {  12, &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_n1_n2_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_n1_n2_02, T_n1_n2_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_moreThanTwo_02_sequence[] = {
  { &hf_nr_rrc_n1_n2_02     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_moreThanTwo_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_moreThanTwo_02, T_moreThanTwo_02_sequence);

  return offset;
}


static const value_string nr_rrc_T_nrOfAntennaPorts_02_vals[] = {
  {   0, "two" },
  {   1, "moreThanTwo" },
  { 0, NULL }
};

static const per_choice_t T_nrOfAntennaPorts_02_choice[] = {
  {   0, &hf_nr_rrc_two_02       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_two_02 },
  {   1, &hf_nr_rrc_moreThanTwo_02, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_moreThanTwo_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nrOfAntennaPorts_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nrOfAntennaPorts_02, T_nrOfAntennaPorts_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_typeI_SinglePanel_Group2_r17_sequence[] = {
  { &hf_nr_rrc_nrOfAntennaPorts_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrOfAntennaPorts_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeI_SinglePanel_Group2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeI_SinglePanel_Group2_r17, T_typeI_SinglePanel_Group2_r17_sequence);

  return offset;
}


static const per_sequence_t T_type1_02_sequence[] = {
  { &hf_nr_rrc_typeI_SinglePanel_Group1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_typeI_SinglePanel_Group1_r17 },
  { &hf_nr_rrc_typeI_SinglePanel_Group2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_typeI_SinglePanel_Group2_r17 },
  { &hf_nr_rrc_typeI_SinglePanel_ri_RestrictionSTRP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_typeI_SinglePanel_ri_RestrictionSDM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1_02, T_type1_02_sequence);

  return offset;
}


static const value_string nr_rrc_T_valueOfN_r17_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_valueOfN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_typeII_PortSelection_r17_sequence[] = {
  { &hf_nr_rrc_paramCombination_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_valueOfN_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_valueOfN_r17 },
  { &hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_typeII_PortSelectionRI_Restriction_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_typeII_PortSelection_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_typeII_PortSelection_r17, T_typeII_PortSelection_r17_sequence);

  return offset;
}


static const per_sequence_t T_type2_02_sequence[] = {
  { &hf_nr_rrc_typeII_PortSelection_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_typeII_PortSelection_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type2_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type2_02, T_type2_02_sequence);

  return offset;
}


static const value_string nr_rrc_T_codebookType_02_vals[] = {
  {   0, "type1" },
  {   1, "type2" },
  { 0, NULL }
};

static const per_choice_t T_codebookType_02_choice[] = {
  {   0, &hf_nr_rrc_type1_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type1_02 },
  {   1, &hf_nr_rrc_type2_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type2_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_codebookType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_codebookType_02, T_codebookType_02_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CodebookConfig_r17_sequence[] = {
  { &hf_nr_rrc_codebookType_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookConfig_r17, CodebookConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sharedCMR_r17_vals[] = {
  {   0, "enable" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sharedCMR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_ReportMode_r17_vals[] = {
  {   0, "mode1" },
  {   1, "mode2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_ReportMode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_numberOfSingleTRP_CSI_Mode1_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_numberOfSingleTRP_CSI_Mode1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_reportQuantity_r17_vals[] = {
  {   0, "cri-RSRP-Index-r17" },
  {   1, "ssb-Index-RSRP-Index-r17" },
  {   2, "cri-SINR-Index-r17" },
  {   3, "ssb-Index-SINR-Index-r17" },
  { 0, NULL }
};

static const per_choice_t T_reportQuantity_r17_choice[] = {
  {   0, &hf_nr_rrc_cri_RSRP_Index_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_ssb_Index_RSRP_Index_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_cri_SINR_Index_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_ssb_Index_SINR_Index_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_reportQuantity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_reportQuantity_r17, T_reportQuantity_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CSI_ReportConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_cqi_BitsPerSubband_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cqi_BitsPerSubband_r17 },
  { &hf_nr_rrc_groupBasedBeamReporting_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_groupBasedBeamReporting_v1710 },
  { &hf_nr_rrc_codebookConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookConfig_r17 },
  { &hf_nr_rrc_sharedCMR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sharedCMR_r17 },
  { &hf_nr_rrc_csi_ReportMode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_ReportMode_r17 },
  { &hf_nr_rrc_numberOfSingleTRP_CSI_Mode1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_numberOfSingleTRP_CSI_Mode1_r17 },
  { &hf_nr_rrc_reportQuantity_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportQuantity_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ReportConfig_eag_3_sequence);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetList_r17_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_128 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetList_r17, T_reportSlotOffsetList_r17_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetListDCI_0_2_r17_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_128 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17, T_reportSlotOffsetListDCI_0_2_r17_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetListDCI_0_1_r17_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_128 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17, T_reportSlotOffsetListDCI_0_1_r17_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_semiPersistentOnPUSCH_v1720_sequence[] = {
  { &hf_nr_rrc_reportSlotOffsetList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetList_r17 },
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17 },
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semiPersistentOnPUSCH_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semiPersistentOnPUSCH_v1720, T_semiPersistentOnPUSCH_v1720_sequence);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetList_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_128 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetList_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetList_r17_01, T_reportSlotOffsetList_r17_01_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetListDCI_0_2_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_128 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17_01, T_reportSlotOffsetListDCI_0_2_r17_01_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_reportSlotOffsetListDCI_0_1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_128 },
};

static int
dissect_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17_01, T_reportSlotOffsetListDCI_0_1_r17_01_sequence_of,
                                                  1, maxNrofUL_Allocations_r16, FALSE);

  return offset;
}


static const per_sequence_t T_aperiodic_v1720_sequence[] = {
  { &hf_nr_rrc_reportSlotOffsetList_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetList_r17_01 },
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17_01 },
  { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodic_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_aperiodic_v1720, T_aperiodic_v1720_sequence);

  return offset;
}


static const per_sequence_t CSI_ReportConfig_eag_4_sequence[] = {
  { &hf_nr_rrc_semiPersistentOnPUSCH_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiPersistentOnPUSCH_v1720 },
  { &hf_nr_rrc_aperiodic_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodic_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ReportConfig_eag_4_sequence);

  return offset;
}


static const per_sequence_t T_type1_03_sequence[] = {
  { &hf_nr_rrc_codebookMode , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1_03, T_type1_03_sequence);

  return offset;
}


static const value_string nr_rrc_T_codebookType_03_vals[] = {
  {   0, "type1" },
  { 0, NULL }
};

static const per_choice_t T_codebookType_03_choice[] = {
  {   0, &hf_nr_rrc_type1_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type1_03 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_codebookType_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_codebookType_03, T_codebookType_03_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CodebookConfig_v1730_sequence[] = {
  { &hf_nr_rrc_codebookType_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookConfig_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookConfig_v1730, CodebookConfig_v1730_sequence);

  return offset;
}


static const per_sequence_t CSI_ReportConfig_eag_5_sequence[] = {
  { &hf_nr_rrc_codebookConfig_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookConfig_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportConfig_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ReportConfig_eag_5_sequence);

  return offset;
}


static const per_sequence_t CSI_ReportConfig_sequence[] = {
  { &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
  { &hf_nr_rrc_carrier      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_resourcesForChannelMeasurement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
  { &hf_nr_rrc_csi_IM_ResourcesForInterference_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ResourceConfigId },
  { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ResourceConfigId },
  { &hf_nr_rrc_reportConfigType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfigType },
  { &hf_nr_rrc_reportQuantity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantity },
  { &hf_nr_rrc_reportFreqConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportFreqConfiguration },
  { &hf_nr_rrc_timeRestrictionForChannelMeasurements, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeRestrictionForChannelMeasurements },
  { &hf_nr_rrc_timeRestrictionForInterferenceMeasurements, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeRestrictionForInterferenceMeasurements },
  { &hf_nr_rrc_codebookConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookConfig },
  { &hf_nr_rrc_cSI_ReportConfig_dummy, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cSI_ReportConfig_dummy },
  { &hf_nr_rrc_groupBasedBeamReporting, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupBasedBeamReporting },
  { &hf_nr_rrc_cqi_Table    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cqi_Table },
  { &hf_nr_rrc_subbandSize  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subbandSize },
  { &hf_nr_rrc_non_PMI_PortIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig_eag_5 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_ReportConfig, CSI_ReportConfig_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig_sequence_of[1] = {
  { &hf_nr_rrc_csi_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig, SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig_sequence_of,
                                                  1, maxNrofCSI_ReportConfigurations, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId_sequence_of[1] = {
  { &hf_nr_rrc_csi_ReportConfigToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId, SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId_sequence_of,
                                                  1, maxNrofCSI_ReportConfigurations, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofNZP_CSI_RS_ResourceSetsPerConfig, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId_sequence_of[1] = {
  { &hf_nr_rrc_qcl_info_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId_sequence_of,
                                                  1, maxNrofAP_CSI_RS_ResourcesPerSet, FALSE);

  return offset;
}


static const per_sequence_t T_nzp_CSI_RS_sequence[] = {
  { &hf_nr_rrc_resourceSet  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
  { &hf_nr_rrc_qcl_info     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nzp_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nzp_CSI_RS, T_nzp_CSI_RS_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofCSI_SSB_ResourceSetsPerConfig, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_resourcesForChannel_vals[] = {
  {   0, "nzp-CSI-RS" },
  {   1, "csi-SSB-ResourceSet" },
  { 0, NULL }
};

static const per_choice_t T_resourcesForChannel_choice[] = {
  {   0, &hf_nr_rrc_nzp_CSI_RS   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nzp_CSI_RS },
  {   1, &hf_nr_rrc_csi_SSB_ResourceSet, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_resourcesForChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_resourcesForChannel, T_resourcesForChannel_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofCSI_IM_ResourceSetsPerConfig, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_nzp_CSI_RS2_r17_sequence[] = {
  { &hf_nr_rrc_resourceSet2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
  { &hf_nr_rrc_qcl_info2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nzp_CSI_RS2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nzp_CSI_RS2_r17, T_nzp_CSI_RS2_r17_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfigExt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofCSI_SSB_ResourceSetsPerConfigExt, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_resourcesForChannel2_r17_vals[] = {
  {   0, "nzp-CSI-RS2-r17" },
  {   1, "csi-SSB-ResourceSet2-r17" },
  { 0, NULL }
};

static const per_choice_t T_resourcesForChannel2_r17_choice[] = {
  {   0, &hf_nr_rrc_nzp_CSI_RS2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nzp_CSI_RS2_r17 },
  {   1, &hf_nr_rrc_csi_SSB_ResourceSet2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfigExt },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_resourcesForChannel2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_resourcesForChannel2_r17, T_resourcesForChannel2_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CSI_AssociatedReportConfigInfo_eag_1_sequence[] = {
  { &hf_nr_rrc_resourcesForChannel2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resourcesForChannel2_r17 },
  { &hf_nr_rrc_csi_SSB_ResourceSetExt, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfigExt },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_AssociatedReportConfigInfo_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_AssociatedReportConfigInfo_eag_1_sequence);

  return offset;
}


static const per_sequence_t CSI_AssociatedReportConfigInfo_sequence[] = {
  { &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
  { &hf_nr_rrc_resourcesForChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourcesForChannel },
  { &hf_nr_rrc_csi_IM_ResourcesForInterference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig },
  { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AssociatedReportConfigInfo_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_AssociatedReportConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_AssociatedReportConfigInfo, CSI_AssociatedReportConfigInfo_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo_sequence_of[1] = {
  { &hf_nr_rrc_associatedReportConfigInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AssociatedReportConfigInfo },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo, SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo_sequence_of,
                                                  1, maxNrofReportConfigPerAperiodicTrigger, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ap_CSI_MultiplexingMode_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ap_CSI_MultiplexingMode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CSI_AperiodicTriggerState_eag_1_sequence[] = {
  { &hf_nr_rrc_ap_CSI_MultiplexingMode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ap_CSI_MultiplexingMode_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_AperiodicTriggerState_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_AperiodicTriggerState_eag_1_sequence);

  return offset;
}


static const per_sequence_t CSI_AperiodicTriggerState_sequence[] = {
  { &hf_nr_rrc_associatedReportConfigInfoList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AperiodicTriggerState_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_AperiodicTriggerState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_AperiodicTriggerState, CSI_AperiodicTriggerState_sequence);

  return offset;
}


static const per_sequence_t CSI_AperiodicTriggerStateList_sequence_of[1] = {
  { &hf_nr_rrc_CSI_AperiodicTriggerStateList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AperiodicTriggerState },
};

static int
dissect_nr_rrc_CSI_AperiodicTriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CSI_AperiodicTriggerStateList, CSI_AperiodicTriggerStateList_sequence_of,
                                                  1, maxNrOfCSI_AperiodicTriggers, FALSE);

  return offset;
}


static const value_string nr_rrc_T_aperiodicTriggerStateList_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_aperiodicTriggerStateList_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_54     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CSI_AperiodicTriggerStateList },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodicTriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_aperiodicTriggerStateList, T_aperiodicTriggerStateList_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_MultiplexingMode_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_MultiplexingMode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerState_eag_1_sequence[] = {
  { &hf_nr_rrc_sp_CSI_MultiplexingMode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_MultiplexingMode_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_SemiPersistentOnPUSCH_TriggerState_eag_1_sequence);

  return offset;
}


static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerState_sequence[] = {
  { &hf_nr_rrc_associatedReportConfigInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState, CSI_SemiPersistentOnPUSCH_TriggerState_sequence);

  return offset;
}


static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerStateList_sequence_of[1] = {
  { &hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState },
};

static int
dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList, CSI_SemiPersistentOnPUSCH_TriggerStateList_sequence_of,
                                                  1, maxNrOfSemiPersistentPUSCH_Triggers, FALSE);

  return offset;
}


static const value_string nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_semiPersistentOnPUSCH_TriggerStateList_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_55     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList, T_semiPersistentOnPUSCH_TriggerStateList_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CSI_MeasConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_reportTriggerSizeDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_MeasConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_MeasConfig_eag_1_sequence);

  return offset;
}



static int
dissect_nr_rrc_SCellActivationRS_ConfigId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSCellActRS_r17, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 31U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SCellActivationRS_Config_r17_sequence[] = {
  { &hf_nr_rrc_scellActivationRS_Id_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellActivationRS_ConfigId_r17 },
  { &hf_nr_rrc_resourceSet_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
  { &hf_nr_rrc_gapBetweenBursts_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_31 },
  { &hf_nr_rrc_qcl_Info_r17 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCellActivationRS_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCellActivationRS_Config_r17, SCellActivationRS_Config_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17_sequence_of[1] = {
  { &hf_nr_rrc_sCellActivationRS_ConfigToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellActivationRS_Config_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17, SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17_sequence_of,
                                                  1, maxNrofSCellActRS_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17_sequence_of[1] = {
  { &hf_nr_rrc_sCellActivationRS_ConfigToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellActivationRS_ConfigId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17, SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17_sequence_of,
                                                  1, maxNrofSCellActRS_r17, FALSE);

  return offset;
}


static const per_sequence_t CSI_MeasConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_sCellActivationRS_ConfigToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17 },
  { &hf_nr_rrc_sCellActivationRS_ConfigToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_MeasConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_MeasConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t CSI_MeasConfig_sequence[] = {
  { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource },
  { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId },
  { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet },
  { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId },
  { &hf_nr_rrc_csi_IM_ResourceToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource },
  { &hf_nr_rrc_csi_IM_ResourceToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId },
  { &hf_nr_rrc_csi_IM_ResourceSetToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet },
  { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId },
  { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet },
  { &hf_nr_rrc_csi_SSB_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId },
  { &hf_nr_rrc_csi_ResourceConfigToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig },
  { &hf_nr_rrc_csi_ResourceConfigToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId },
  { &hf_nr_rrc_csi_ReportConfigToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig },
  { &hf_nr_rrc_csi_ReportConfigToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId },
  { &hf_nr_rrc_reportTriggerSize, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_6 },
  { &hf_nr_rrc_aperiodicTriggerStateList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodicTriggerStateList },
  { &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_MeasConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_MeasConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_MeasConfig, CSI_MeasConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_csi_MeasConfig_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_csi_MeasConfig_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_152    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_CSI_MeasConfig },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_csi_MeasConfig, T_csi_MeasConfig_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sCellDeactivationTimer_vals[] = {
  {   0, "ms20" },
  {   1, "ms40" },
  {   2, "ms80" },
  {   3, "ms160" },
  {   4, "ms200" },
  {   5, "ms240" },
  {   6, "ms320" },
  {   7, "ms400" },
  {   8, "ms480" },
  {   9, "ms520" },
  {  10, "ms640" },
  {  11, "ms720" },
  {  12, "ms840" },
  {  13, "ms1280" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sCellDeactivationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_own_sequence[] = {
  { &hf_nr_rrc_cif_Presence , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_own(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_own, T_own_sequence);

  return offset;
}


static const per_sequence_t T_other_sequence[] = {
  { &hf_nr_rrc_schedulingCellId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_cif_InSchedulingCell, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_other(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_other, T_other_sequence);

  return offset;
}


static const value_string nr_rrc_T_schedulingCellInfo_vals[] = {
  {   0, "own" },
  {   1, "other" },
  { 0, NULL }
};

static const per_choice_t T_schedulingCellInfo_choice[] = {
  {   0, &hf_nr_rrc_own          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_own },
  {   1, &hf_nr_rrc_other        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_other },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_schedulingCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_schedulingCellInfo, T_schedulingCellInfo_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_carrierIndicatorSize_r16_sequence[] = {
  { &hf_nr_rrc_carrierIndicatorSizeDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
  { &hf_nr_rrc_carrierIndicatorSizeDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_carrierIndicatorSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_carrierIndicatorSize_r16, T_carrierIndicatorSize_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_enableDefaultBeamForCCS_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableDefaultBeamForCCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CrossCarrierSchedulingConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_carrierIndicatorSize_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_carrierIndicatorSize_r16 },
  { &hf_nr_rrc_enableDefaultBeamForCCS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableDefaultBeamForCCS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CrossCarrierSchedulingConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CrossCarrierSchedulingConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_ccs_BlindDetectionSplit_r17_vals[] = {
  {   0, "oneSeventh" },
  {   1, "threeFourteenth" },
  {   2, "twoSeventh" },
  {   3, "threeSeventh" },
  {   4, "oneHalf" },
  {   5, "fourSeventh" },
  {   6, "fiveSeventh" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ccs_BlindDetectionSplit_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CrossCarrierSchedulingConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_ccs_BlindDetectionSplit_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ccs_BlindDetectionSplit_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CrossCarrierSchedulingConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CrossCarrierSchedulingConfig_eag_2_sequence);

  return offset;
}


static const per_sequence_t CrossCarrierSchedulingConfig_sequence[] = {
  { &hf_nr_rrc_schedulingCellInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_schedulingCellInfo },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CrossCarrierSchedulingConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CrossCarrierSchedulingConfig_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CrossCarrierSchedulingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CrossCarrierSchedulingConfig, CrossCarrierSchedulingConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_dummy1_01_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pathlossReferenceLinking_vals[] = {
  {   0, "spCell" },
  {   1, "sCell" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pathlossReferenceLinking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lte_CRS_ToMatchAround_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_lte_CRS_ToMatchAround_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_153    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RateMatchPatternLTE_CRS },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_lte_CRS_ToMatchAround(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_lte_CRS_ToMatchAround, T_lte_CRS_ToMatchAround_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ServingCellConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_lte_CRS_ToMatchAround, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lte_CRS_ToMatchAround },
  { &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
  { &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
  { &hf_nr_rrc_downlinkChannelBW_PerSCS_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_supplementaryUplinkRelease_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supplementaryUplinkRelease_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_explicit_r16_sequence[] = {
  { &hf_nr_rrc_nrofDownlinkSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
  { &hf_nr_rrc_nrofUplinkSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_explicit_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_explicit_r16, T_explicit_r16_sequence);

  return offset;
}


static const per_sequence_t T_explicit_IAB_MT_r16_sequence[] = {
  { &hf_nr_rrc_nrofDownlinkSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
  { &hf_nr_rrc_nrofUplinkSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_explicit_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_explicit_IAB_MT_r16, T_explicit_IAB_MT_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_symbols_IAB_MT_r16_vals[] = {
  {   0, "allDownlink-r16" },
  {   1, "allUplink-r16" },
  {   2, "explicit-r16" },
  {   3, "explicit-IAB-MT-r16" },
  { 0, NULL }
};

static const per_choice_t T_symbols_IAB_MT_r16_choice[] = {
  {   0, &hf_nr_rrc_allDownlink_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_allUplink_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   2, &hf_nr_rrc_explicit_r16 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_explicit_r16 },
  {   3, &hf_nr_rrc_explicit_IAB_MT_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_explicit_IAB_MT_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_symbols_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_symbols_IAB_MT_r16, T_symbols_IAB_MT_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t TDD_UL_DL_SlotConfig_IAB_MT_r16_sequence[] = {
  { &hf_nr_rrc_slotIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex },
  { &hf_nr_rrc_symbols_IAB_MT_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbols_IAB_MT_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16, TDD_UL_DL_SlotConfig_IAB_MT_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16_sequence_of[1] = {
  { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16_sequence_of,
                                                  1, maxNrofSlots, FALSE);

  return offset;
}


static const per_sequence_t TDD_UL_DL_ConfigDedicated_IAB_MT_r16_sequence[] = {
  { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16 },
  { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16, TDD_UL_DL_ConfigDedicated_IAB_MT_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_DormancyGroupID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4U, NULL, FALSE);

  return offset;
}


static const per_sequence_t WithinActiveTimeConfig_r16_sequence[] = {
  { &hf_nr_rrc_firstWithinActiveTimeBWP_Id_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_dormancyGroupWithinActiveTime_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DormancyGroupID_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_WithinActiveTimeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_WithinActiveTimeConfig_r16, WithinActiveTimeConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_withinActiveTimeConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_withinActiveTimeConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_165    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_WithinActiveTimeConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_withinActiveTimeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_withinActiveTimeConfig_r16, T_withinActiveTimeConfig_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t OutsideActiveTimeConfig_r16_sequence[] = {
  { &hf_nr_rrc_firstOutsideActiveTimeBWP_Id_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_dormancyGroupOutsideActiveTime_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DormancyGroupID_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OutsideActiveTimeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OutsideActiveTimeConfig_r16, OutsideActiveTimeConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_outsideActiveTimeConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_outsideActiveTimeConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_166    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_OutsideActiveTimeConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_outsideActiveTimeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_outsideActiveTimeConfig_r16, T_outsideActiveTimeConfig_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DormantBWP_Config_r16_sequence[] = {
  { &hf_nr_rrc_dormantBWP_Id_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_withinActiveTimeConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_withinActiveTimeConfig_r16 },
  { &hf_nr_rrc_outsideActiveTimeConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_outsideActiveTimeConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DormantBWP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DormantBWP_Config_r16, DormantBWP_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_dormantBWP_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_dormantBWP_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_154    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DormantBWP_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dormantBWP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dormantBWP_Config_r16, T_dormantBWP_Config_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M2_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -2, 2U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M5_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -5, 5U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M10_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -10, 10U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M20_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -20, 20U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ca_SlotOffset_r16_vals[] = {
  {   0, "refSCS15kHz" },
  {   1, "refSCS30KHz" },
  {   2, "refSCS60KHz" },
  {   3, "refSCS120KHz" },
  { 0, NULL }
};

static const per_choice_t T_ca_SlotOffset_r16_choice[] = {
  {   0, &hf_nr_rrc_refSCS15kHz  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M2_2 },
  {   1, &hf_nr_rrc_refSCS30KHz  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M5_5 },
  {   2, &hf_nr_rrc_refSCS60KHz  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M10_10 },
  {   3, &hf_nr_rrc_refSCS120KHz , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M20_20 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ca_SlotOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ca_SlotOffset_r16, T_ca_SlotOffset_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M85_M52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -85, -52, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M20_M13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -20, -13, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_absenceOfAnyOtherTechnology_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_absenceOfAnyOtherTechnology_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DummyJ_sequence[] = {
  { &hf_nr_rrc_maxEnergyDetectionThreshold_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M85_M52 },
  { &hf_nr_rrc_energyDetectionThresholdOffset_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M20_M13 },
  { &hf_nr_rrc_ul_toDL_COT_SharingED_Threshold_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M85_M52 },
  { &hf_nr_rrc_absenceOfAnyOtherTechnology_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_absenceOfAnyOtherTechnology_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyJ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyJ, DummyJ_sequence);

  return offset;
}


static const value_string nr_rrc_T_servingCellConfig_eag_2_dummy2_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_servingCellConfig_eag_2_dummy2_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_155    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DummyJ },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_servingCellConfig_eag_2_dummy2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_servingCellConfig_eag_2_dummy2, T_servingCellConfig_eag_2_dummy2_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_274(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 274U, NULL, FALSE);

  return offset;
}


static const per_sequence_t GuardBand_r16_sequence[] = {
  { &hf_nr_rrc_startCRB_r16 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_274 },
  { &hf_nr_rrc_nrofCRBs_r16 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GuardBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GuardBand_r16, GuardBand_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_4_OF_GuardBand_r16_sequence_of[1] = {
  { &hf_nr_rrc_intraCellGuardBands_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_GuardBand_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_GuardBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_GuardBand_r16, SEQUENCE_SIZE_1_4_OF_GuardBand_r16_sequence_of,
                                                  1, 4, FALSE);

  return offset;
}


static const per_sequence_t IntraCellGuardBandsPerSCS_r16_sequence[] = {
  { &hf_nr_rrc_guardBandSCS_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_intraCellGuardBands_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_GuardBand_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IntraCellGuardBandsPerSCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IntraCellGuardBandsPerSCS_r16, IntraCellGuardBandsPerSCS_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16_sequence_of[1] = {
  { &hf_nr_rrc_intraCellGuardBandsDL_List_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraCellGuardBandsPerSCS_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16, SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16_sequence_of,
                                                  1, maxSCSs, FALSE);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_ValidationWithDCI_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RS_ValidationWithDCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t LTE_CRS_PatternList_r16_sequence_of[1] = {
  { &hf_nr_rrc_LTE_CRS_PatternList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternLTE_CRS },
};

static int
dissect_nr_rrc_LTE_CRS_PatternList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_LTE_CRS_PatternList_r16, LTE_CRS_PatternList_r16_sequence_of,
                                                  1, maxLTE_CRS_Patterns_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_lte_CRS_PatternList1_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_lte_CRS_PatternList1_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_156    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LTE_CRS_PatternList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_lte_CRS_PatternList1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_lte_CRS_PatternList1_r16, T_lte_CRS_PatternList1_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_lte_CRS_PatternList2_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_lte_CRS_PatternList2_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_156    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LTE_CRS_PatternList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_lte_CRS_PatternList2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_lte_CRS_PatternList2_r16, T_lte_CRS_PatternList2_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_crs_RateMatch_PerCORESETPoolIndex_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crs_RateMatch_PerCORESETPoolIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enableTwoDefaultTCI_States_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableTwoDefaultTCI_States_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enableDefaultTCI_StatePerCoresetPoolIndex_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableDefaultTCI_StatePerCoresetPoolIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enableBeamSwitchTiming_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enableBeamSwitchTiming_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cbg_TxDiffTBsProcessingType1_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cbg_TxDiffTBsProcessingType1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cbg_TxDiffTBsProcessingType2_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cbg_TxDiffTBsProcessingType2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServingCellConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_supplementaryUplinkRelease_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supplementaryUplinkRelease_r16 },
  { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated_IAB_MT_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16 },
  { &hf_nr_rrc_dormantBWP_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dormantBWP_Config_r16 },
  { &hf_nr_rrc_ca_SlotOffset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ca_SlotOffset_r16 },
  { &hf_nr_rrc_servingCellConfig_eag_2_dummy2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_servingCellConfig_eag_2_dummy2 },
  { &hf_nr_rrc_intraCellGuardBandsDL_List_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16 },
  { &hf_nr_rrc_intraCellGuardBandsUL_List_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16 },
  { &hf_nr_rrc_csi_RS_ValidationWithDCI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RS_ValidationWithDCI_r16 },
  { &hf_nr_rrc_lte_CRS_PatternList1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lte_CRS_PatternList1_r16 },
  { &hf_nr_rrc_lte_CRS_PatternList2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lte_CRS_PatternList2_r16 },
  { &hf_nr_rrc_crs_RateMatch_PerCORESETPoolIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crs_RateMatch_PerCORESETPoolIndex_r16 },
  { &hf_nr_rrc_enableTwoDefaultTCI_States_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableTwoDefaultTCI_States_r16 },
  { &hf_nr_rrc_enableDefaultTCI_StatePerCoresetPoolIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableDefaultTCI_StatePerCoresetPoolIndex_r16 },
  { &hf_nr_rrc_enableBeamSwitchTiming_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enableBeamSwitchTiming_r16 },
  { &hf_nr_rrc_cbg_TxDiffTBsProcessingType1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbg_TxDiffTBsProcessingType1_r16 },
  { &hf_nr_rrc_cbg_TxDiffTBsProcessingType2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbg_TxDiffTBsProcessingType2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfig_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_directionalCollisionHandling_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directionalCollisionHandling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_M13_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -13, 20U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_energyDetectionConfig_r16_vals[] = {
  {   0, "maxEnergyDetectionThreshold-r16" },
  {   1, "energyDetectionThresholdOffset-r16" },
  { 0, NULL }
};

static const per_choice_t T_energyDetectionConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_maxEnergyDetectionThreshold_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M85_M52 },
  {   1, &hf_nr_rrc_energyDetectionThresholdOffset_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_M13_20 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_energyDetectionConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_energyDetectionConfig_r16, T_energyDetectionConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_absenceOfAnyOtherTechnology_r16_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_absenceOfAnyOtherTechnology_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ChannelAccessConfig_r16_sequence[] = {
  { &hf_nr_rrc_energyDetectionConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_energyDetectionConfig_r16 },
  { &hf_nr_rrc_ul_toDL_COT_SharingED_Threshold_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M85_M52 },
  { &hf_nr_rrc_absenceOfAnyOtherTechnology_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_absenceOfAnyOtherTechnology_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ChannelAccessConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ChannelAccessConfig_r16, ChannelAccessConfig_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelAccessConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_channelAccessConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_157    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_ChannelAccessConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelAccessConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelAccessConfig_r16, T_channelAccessConfig_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ServingCellConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_directionalCollisionHandling_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_directionalCollisionHandling_r16 },
  { &hf_nr_rrc_channelAccessConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelAccessConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfig_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs15_r17_vals[] = {
  {   0, "n4-r17" },
  {   1, "n5-r17" },
  {   2, "n8-r17" },
  {   3, "n10-r17" },
  {   4, "n16-r17" },
  {   5, "n20-r17" },
  {   6, "n32-r17" },
  {   7, "n40-r17" },
  {   8, "n64-r17" },
  {   9, "n80-r17" },
  {  10, "n160-r17" },
  {  11, "n320-r17" },
  {  12, "n640-r17" },
  {  13, "n1280-r17" },
  {  14, "n2560-r17" },
  {  15, "n5120-r17" },
  {  16, "n10240-r17" },
  { 0, NULL }
};

static const per_choice_t T_scs15_r17_choice[] = {
  {   0, &hf_nr_rrc_n4_r17       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_3 },
  {   1, &hf_nr_rrc_n5_r17       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_4 },
  {   2, &hf_nr_rrc_n8_r17       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_7 },
  {   3, &hf_nr_rrc_n10_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_9 },
  {   4, &hf_nr_rrc_n16_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_15 },
  {   5, &hf_nr_rrc_n20_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   6, &hf_nr_rrc_n32_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   7, &hf_nr_rrc_n40_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   8, &hf_nr_rrc_n64_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {   9, &hf_nr_rrc_n80_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {  10, &hf_nr_rrc_n160_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {  11, &hf_nr_rrc_n320_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {  12, &hf_nr_rrc_n640_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  13, &hf_nr_rrc_n1280_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  14, &hf_nr_rrc_n2560_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  15, &hf_nr_rrc_n5120_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  16, &hf_nr_rrc_n10240_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs15_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs15_r17, T_scs15_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scs30_r17_vals[] = {
  {   0, "n8-r17" },
  {   1, "n10-r17" },
  {   2, "n16-r17" },
  {   3, "n20-r17" },
  {   4, "n32-r17" },
  {   5, "n40-r17" },
  {   6, "n64-r17" },
  {   7, "n80-r17" },
  {   8, "n128-r17" },
  {   9, "n160-r17" },
  {  10, "n320-r17" },
  {  11, "n640-r17" },
  {  12, "n1280-r17" },
  {  13, "n2560-r17" },
  {  14, "n5120-r17" },
  {  15, "n10240-r17" },
  {  16, "n20480-r17" },
  { 0, NULL }
};

static const per_choice_t T_scs30_r17_choice[] = {
  {   0, &hf_nr_rrc_n8_r17       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_7 },
  {   1, &hf_nr_rrc_n10_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_9 },
  {   2, &hf_nr_rrc_n16_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_15 },
  {   3, &hf_nr_rrc_n20_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   4, &hf_nr_rrc_n32_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   5, &hf_nr_rrc_n40_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   6, &hf_nr_rrc_n64_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {   7, &hf_nr_rrc_n80_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   8, &hf_nr_rrc_n128_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_127 },
  {   9, &hf_nr_rrc_n160_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {  10, &hf_nr_rrc_n320_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {  11, &hf_nr_rrc_n640_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  12, &hf_nr_rrc_n1280_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  13, &hf_nr_rrc_n2560_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  14, &hf_nr_rrc_n5120_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  15, &hf_nr_rrc_n10240_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  {  16, &hf_nr_rrc_n20480_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_20479 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs30_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs30_r17, T_scs30_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scs60_r17_vals[] = {
  {   0, "n16-r17" },
  {   1, "n20-r17" },
  {   2, "n32-r17" },
  {   3, "n40-r17" },
  {   4, "n64-r17" },
  {   5, "n80-r17" },
  {   6, "n128-r17" },
  {   7, "n160-r17" },
  {   8, "n256-r17" },
  {   9, "n320-r17" },
  {  10, "n640-r17" },
  {  11, "n1280-r17" },
  {  12, "n2560-r17" },
  {  13, "n5120-r17" },
  {  14, "n10240-r17" },
  {  15, "n20480-r17" },
  {  16, "n40960-r17" },
  { 0, NULL }
};

static const per_choice_t T_scs60_r17_choice[] = {
  {   0, &hf_nr_rrc_n16_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_15 },
  {   1, &hf_nr_rrc_n20_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_19 },
  {   2, &hf_nr_rrc_n32_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   3, &hf_nr_rrc_n40_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   4, &hf_nr_rrc_n64_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {   5, &hf_nr_rrc_n80_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   6, &hf_nr_rrc_n128_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_127 },
  {   7, &hf_nr_rrc_n160_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {   8, &hf_nr_rrc_n256_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_255 },
  {   9, &hf_nr_rrc_n320_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {  10, &hf_nr_rrc_n640_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  11, &hf_nr_rrc_n1280_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  12, &hf_nr_rrc_n2560_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  13, &hf_nr_rrc_n5120_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  14, &hf_nr_rrc_n10240_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  {  15, &hf_nr_rrc_n20480_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_20479 },
  {  16, &hf_nr_rrc_n40960_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_40959 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs60_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs60_r17, T_scs60_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scs120_r17_vals[] = {
  {   0, "n32-r17" },
  {   1, "n40-r17" },
  {   2, "n64-r17" },
  {   3, "n80-r17" },
  {   4, "n128-r17" },
  {   5, "n160-r17" },
  {   6, "n256-r17" },
  {   7, "n320-r17" },
  {   8, "n512-r17" },
  {   9, "n640-r17" },
  {  10, "n1280-r17" },
  {  11, "n2560-r17" },
  {  12, "n5120-r17" },
  {  13, "n10240-r17" },
  {  14, "n20480-r17" },
  {  15, "n40960-r17" },
  {  16, "n81920-r17" },
  { 0, NULL }
};

static const per_choice_t T_scs120_r17_choice[] = {
  {   0, &hf_nr_rrc_n32_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_31 },
  {   1, &hf_nr_rrc_n40_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_39 },
  {   2, &hf_nr_rrc_n64_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_63 },
  {   3, &hf_nr_rrc_n80_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_79 },
  {   4, &hf_nr_rrc_n128_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_127 },
  {   5, &hf_nr_rrc_n160_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_159 },
  {   6, &hf_nr_rrc_n256_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_255 },
  {   7, &hf_nr_rrc_n320_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_319 },
  {   8, &hf_nr_rrc_n512_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_511 },
  {   9, &hf_nr_rrc_n640_r17     , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_639 },
  {  10, &hf_nr_rrc_n1280_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1279 },
  {  11, &hf_nr_rrc_n2560_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_2559 },
  {  12, &hf_nr_rrc_n5120_r17    , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5119 },
  {  13, &hf_nr_rrc_n10240_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_10239 },
  {  14, &hf_nr_rrc_n20480_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_20479 },
  {  15, &hf_nr_rrc_n40960_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_40959 },
  {  16, &hf_nr_rrc_n81920_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_81919 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs120_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs120_r17, T_scs120_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17_vals[] = {
  {   0, "scs15-r17" },
  {   1, "scs30-r17" },
  {   2, "scs60-r17" },
  {   3, "scs120-r17" },
  { 0, NULL }
};

static const per_choice_t NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17_choice[] = {
  {   0, &hf_nr_rrc_scs15_r17_01 , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_scs15_r17 },
  {   1, &hf_nr_rrc_scs30_r17_01 , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_scs30_r17 },
  {   2, &hf_nr_rrc_scs60_r17_01 , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_scs60_r17 },
  {   3, &hf_nr_rrc_scs120_r17_01, ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_scs120_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17, NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_numSymbols_r17_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n12" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_numSymbols_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_2176(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2176U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_PRS_CombSizeN_AndReOffset_r17_vals[] = {
  {   0, "n2-r17" },
  {   1, "n4-r17" },
  {   2, "n6-r17" },
  {   3, "n12-r17" },
  { 0, NULL }
};

static const per_choice_t T_dl_PRS_CombSizeN_AndReOffset_r17_choice[] = {
  {   0, &hf_nr_rrc_n2_r17       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_1 },
  {   1, &hf_nr_rrc_n4_r17       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_3 },
  {   2, &hf_nr_rrc_n6_r17       , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_5 },
  {   3, &hf_nr_rrc_n12_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_INTEGER_0_11 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_PRS_CombSizeN_AndReOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_dl_PRS_CombSizeN_AndReOffset_r17, T_dl_PRS_CombSizeN_AndReOffset_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofPRS_ResourceOffsetValue_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofPRS_ResourceOffsetValue_1_r17, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_rs_Type_r17_vals[] = {
  {   0, "typeC" },
  {   1, "typeD" },
  {   2, "typeC-plus-typeD" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rs_Type_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ssb_r17_sequence[] = {
  { &hf_nr_rrc_ssb_Index_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
  { &hf_nr_rrc_rs_Type_r17  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rs_Type_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ssb_r17, T_ssb_r17_sequence);

  return offset;
}


static const per_sequence_t T_dl_PRS_r17_sequence[] = {
  { &hf_nr_rrc_qcl_DL_PRS_ResourceID_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_DL_PRS_ResourceID_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dl_PRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dl_PRS_r17, T_dl_PRS_r17_sequence);

  return offset;
}


static const value_string nr_rrc_DL_PRS_QCL_Info_r17_vals[] = {
  {   0, "ssb-r17" },
  {   1, "dl-PRS-r17" },
  { 0, NULL }
};

static const per_choice_t DL_PRS_QCL_Info_r17_choice[] = {
  {   0, &hf_nr_rrc_ssb_r17      , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_ssb_r17 },
  {   1, &hf_nr_rrc_dl_PRS_r17   , ASN1_EXTENSION_ROOT    , dissect_nr_rrc_T_dl_PRS_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_DL_PRS_QCL_Info_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_DL_PRS_QCL_Info_r17, DL_PRS_QCL_Info_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t NR_DL_PRS_Resource_r17_sequence[] = {
  { &hf_nr_rrc_nr_DL_PRS_ResourceID_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_DL_PRS_ResourceID_r17 },
  { &hf_nr_rrc_dl_PRS_SequenceID_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4095 },
  { &hf_nr_rrc_dl_PRS_CombSizeN_AndReOffset_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dl_PRS_CombSizeN_AndReOffset_r17 },
  { &hf_nr_rrc_dl_PRS_ResourceSlotOffset_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPRS_ResourceOffsetValue_1_r17 },
  { &hf_nr_rrc_dl_PRS_ResourceSymbolOffset_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_12 },
  { &hf_nr_rrc_dl_PRS_QCL_Info_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_DL_PRS_QCL_Info_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NR_DL_PRS_Resource_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NR_DL_PRS_Resource_r17, NR_DL_PRS_Resource_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17_sequence_of[1] = {
  { &hf_nr_rrc_resourceList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_DL_PRS_Resource_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17, SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17_sequence_of,
                                                  1, maxNrofPRS_ResourcesPerSet_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_repetitionFactor_r17_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_repetitionFactor_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_timeGap_r17_vals[] = {
  {   0, "s1" },
  {   1, "s2" },
  {   2, "s4" },
  {   3, "s8" },
  {   4, "s16" },
  {   5, "s32" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RepFactorAndTimeGap_r17_sequence[] = {
  { &hf_nr_rrc_repetitionFactor_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor_r17 },
  { &hf_nr_rrc_timeGap_r17  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeGap_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RepFactorAndTimeGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RepFactorAndTimeGap_r17, RepFactorAndTimeGap_r17_sequence);

  return offset;
}


static const per_sequence_t NR_DL_PRS_PDC_ResourceSet_r17_sequence[] = {
  { &hf_nr_rrc_periodicityAndOffset_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17 },
  { &hf_nr_rrc_numSymbols_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numSymbols_r17 },
  { &hf_nr_rrc_dl_PRS_ResourceBandwidth_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_63 },
  { &hf_nr_rrc_dl_PRS_StartPRB_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2176 },
  { &hf_nr_rrc_resourceList_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17 },
  { &hf_nr_rrc_repFactorAndTimeGap_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RepFactorAndTimeGap_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NR_DL_PRS_PDC_ResourceSet_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NR_DL_PRS_PDC_ResourceSet_r17, NR_DL_PRS_PDC_ResourceSet_r17_sequence);

  return offset;
}


static const per_sequence_t NR_DL_PRS_PDC_Info_r17_sequence[] = {
  { &hf_nr_rrc_nr_DL_PRS_PDC_ResourceSet_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_NR_DL_PRS_PDC_ResourceSet_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NR_DL_PRS_PDC_Info_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NR_DL_PRS_PDC_Info_r17, NR_DL_PRS_PDC_Info_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_nr_dl_PRS_PDC_Info_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_nr_dl_PRS_PDC_Info_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_158    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NR_DL_PRS_PDC_Info_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_dl_PRS_PDC_Info_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_nr_dl_PRS_PDC_Info_r17, T_nr_dl_PRS_PDC_Info_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_periodUE_r17_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms2dot5" },
  {   3, "ms4" },
  {   4, "ms5" },
  {   5, "ms10" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodUE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SemiStaticChannelAccessConfigUE_r17_sequence[] = {
  { &hf_nr_rrc_periodUE_r17 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodUE_r17 },
  { &hf_nr_rrc_offsetUE_r17 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_559 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SemiStaticChannelAccessConfigUE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SemiStaticChannelAccessConfigUE_r17, SemiStaticChannelAccessConfigUE_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_semiStaticChannelAccessConfigUE_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_semiStaticChannelAccessConfigUE_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_159    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SemiStaticChannelAccessConfigUE_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_semiStaticChannelAccessConfigUE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_semiStaticChannelAccessConfigUE_r17, T_semiStaticChannelAccessConfigUE_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicity_r17_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms40" },
  {   4, "ms80" },
  {   5, "ms160" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_PositionsInBurst_r17_vals[] = {
  {   0, "shortBitmap" },
  {   1, "mediumBitmap" },
  {   2, "longBitmap" },
  { 0, NULL }
};

static const per_choice_t T_ssb_PositionsInBurst_r17_choice[] = {
  {   0, &hf_nr_rrc_shortBitmap  , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  {   1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  {   2, &hf_nr_rrc_longBitmap   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_64 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_PositionsInBurst_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ssb_PositionsInBurst_r17, T_ssb_PositionsInBurst_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SSB_MTC_AdditionalPCI_r17_sequence[] = {
  { &hf_nr_rrc_additionalPCIIndex_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AdditionalPCIIndex_r17 },
  { &hf_nr_rrc_additionalPCI_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
  { &hf_nr_rrc_periodicity_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_r17 },
  { &hf_nr_rrc_ssb_PositionsInBurst_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PositionsInBurst_r17 },
  { &hf_nr_rrc_ss_PBCH_BlockPower_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SSB_MTC_AdditionalPCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SSB_MTC_AdditionalPCI_r17, SSB_MTC_AdditionalPCI_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17_sequence_of[1] = {
  { &hf_nr_rrc_additionalPCI_ToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_MTC_AdditionalPCI_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17, SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17_sequence_of,
                                                  1, maxNrofAdditionalPCI_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17_sequence_of[1] = {
  { &hf_nr_rrc_additionalPCI_ToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AdditionalPCIIndex_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17, SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17_sequence_of,
                                                  1, maxNrofAdditionalPCI_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_unifiedTCI_StateType_r17_vals[] = {
  {   0, "separate" },
  {   1, "joint" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedTCI_StateType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_closedLoopIndex_r17_vals[] = {
  {   0, "i0" },
  {   1, "i1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_closedLoopIndex_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t P0AlphaSet_r17_sequence[] = {
  { &hf_nr_rrc_p0_r17       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_M16_15 },
  { &hf_nr_rrc_alpha_r17    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Alpha },
  { &hf_nr_rrc_closedLoopIndex_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_closedLoopIndex_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_P0AlphaSet_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_P0AlphaSet_r17, P0AlphaSet_r17_sequence);

  return offset;
}


static const per_sequence_t Uplink_powerControl_r17_sequence[] = {
  { &hf_nr_rrc_ul_powercontrolId_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Uplink_powerControlId_r17 },
  { &hf_nr_rrc_p0AlphaSetforPUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P0AlphaSet_r17 },
  { &hf_nr_rrc_p0AlphaSetforPUCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P0AlphaSet_r17 },
  { &hf_nr_rrc_p0AlphaSetforSRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_P0AlphaSet_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Uplink_powerControl_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Uplink_powerControl_r17, Uplink_powerControl_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17_sequence_of[1] = {
  { &hf_nr_rrc_uplink_PowerControlToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Uplink_powerControl_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17, SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17_sequence_of,
                                                  1, maxUL_TCI_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17_sequence_of[1] = {
  { &hf_nr_rrc_uplink_PowerControlToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Uplink_powerControlId_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17, SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17_sequence_of,
                                                  1, maxUL_TCI_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sfnSchemePDCCH_r17_vals[] = {
  {   0, "sfnSchemeA" },
  {   1, "sfnSchemeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfnSchemePDCCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfnSchemePDSCH_r17_vals[] = {
  {   0, "sfnSchemeA" },
  {   1, "sfnSchemeB" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfnSchemePDSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MIMOParam_r17_sequence[] = {
  { &hf_nr_rrc_additionalPCI_ToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17 },
  { &hf_nr_rrc_additionalPCI_ToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17 },
  { &hf_nr_rrc_unifiedTCI_StateType_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedTCI_StateType_r17 },
  { &hf_nr_rrc_uplink_PowerControlToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17 },
  { &hf_nr_rrc_uplink_PowerControlToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17 },
  { &hf_nr_rrc_sfnSchemePDCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfnSchemePDCCH_r17 },
  { &hf_nr_rrc_sfnSchemePDSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfnSchemePDSCH_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMOParam_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MIMOParam_r17, MIMOParam_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mimoParam_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_mimoParam_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_160    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MIMOParam_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_mimoParam_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_mimoParam_r17, T_mimoParam_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_channelAccessMode2_r17_02_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_channelAccessMode2_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_timeDomainHARQ_BundlingType1_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeDomainHARQ_BundlingType1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofHARQ_BundlingGroups_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofHARQ_BundlingGroups_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fdmed_ReceptionMulticast_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fdmed_ReceptionMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_moreThanOneNackOnlyMode_r17_vals[] = {
  {   0, "mode2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_moreThanOneNackOnlyMode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_5_OF_TCI_StateId_sequence_of[1] = {
  { &hf_nr_rrc_pdcch_TCI_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_TCI_StateId, SEQUENCE_SIZE_1_5_OF_TCI_StateId_sequence_of,
                                                  1, 5, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_maxNrofTCI_States(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, maxNrofTCI_States, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t TCI_ActivatedConfig_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_TCI_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_TCI_StateId },
  { &hf_nr_rrc_pdsch_TCI_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_maxNrofTCI_States },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TCI_ActivatedConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TCI_ActivatedConfig_r17, TCI_ActivatedConfig_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_directionalCollisionHandling_DC_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directionalCollisionHandling_DC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_neighCarrierBandwidthDL_r17_vals[] = {
  {   0, "n6" },
  {   1, "n15" },
  {   2, "n25" },
  {   3, "n50" },
  {   4, "n75" },
  {   5, "n100" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_neighCarrierBandwidthDL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_neighCRS_muting_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_neighCRS_muting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_neighNrofCRS_Ports_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_neighNrofCRS_Ports_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_neighV_Shift_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n3" },
  {   4, "n4" },
  {   5, "n5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_neighV_Shift_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t LTE_NeighCellsCRS_AssistInfo_r17_sequence[] = {
  { &hf_nr_rrc_neighCarrierBandwidthDL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_neighCarrierBandwidthDL_r17 },
  { &hf_nr_rrc_neighCarrierFreqDL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_16383 },
  { &hf_nr_rrc_neighCellId_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_PhysCellId },
  { &hf_nr_rrc_neighCRS_muting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_neighCRS_muting_r17 },
  { &hf_nr_rrc_neighMBSFN_SubframeConfigList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList },
  { &hf_nr_rrc_neighNrofCRS_Ports_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_neighNrofCRS_Ports_r17 },
  { &hf_nr_rrc_neighV_Shift_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_neighV_Shift_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_LTE_NeighCellsCRS_AssistInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_LTE_NeighCellsCRS_AssistInfo_r17, LTE_NeighCellsCRS_AssistInfo_r17_sequence);

  return offset;
}


static const per_sequence_t LTE_NeighCellsCRS_AssistInfoList_r17_sequence_of[1] = {
  { &hf_nr_rrc_LTE_NeighCellsCRS_AssistInfoList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LTE_NeighCellsCRS_AssistInfo_r17 },
};

static int
dissect_nr_rrc_LTE_NeighCellsCRS_AssistInfoList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_LTE_NeighCellsCRS_AssistInfoList_r17, LTE_NeighCellsCRS_AssistInfoList_r17_sequence_of,
                                                  1, maxNrofCRS_IM_InterfCell_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_lte_NeighCellsCRS_AssistInfoList_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_lte_NeighCellsCRS_AssistInfoList_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_161    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_LTE_NeighCellsCRS_AssistInfoList_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_lte_NeighCellsCRS_AssistInfoList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_lte_NeighCellsCRS_AssistInfoList_r17, T_lte_NeighCellsCRS_AssistInfoList_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ServingCellConfig_eag_4_sequence[] = {
  { &hf_nr_rrc_nr_dl_PRS_PDC_Info_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_dl_PRS_PDC_Info_r17 },
  { &hf_nr_rrc_semiStaticChannelAccessConfigUE_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiStaticChannelAccessConfigUE_r17 },
  { &hf_nr_rrc_mimoParam_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mimoParam_r17 },
  { &hf_nr_rrc_channelAccessMode2_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelAccessMode2_r17_02 },
  { &hf_nr_rrc_timeDomainHARQ_BundlingType1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeDomainHARQ_BundlingType1_r17 },
  { &hf_nr_rrc_nrofHARQ_BundlingGroups_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nrofHARQ_BundlingGroups_r17 },
  { &hf_nr_rrc_fdmed_ReceptionMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fdmed_ReceptionMulticast_r17 },
  { &hf_nr_rrc_moreThanOneNackOnlyMode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_moreThanOneNackOnlyMode_r17 },
  { &hf_nr_rrc_tci_ActivatedConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_TCI_ActivatedConfig_r17 },
  { &hf_nr_rrc_directionalCollisionHandling_DC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_directionalCollisionHandling_DC_r17 },
  { &hf_nr_rrc_lte_NeighCellsCRS_AssistInfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lte_NeighCellsCRS_AssistInfoList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfig_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_lte_NeighCellsCRS_Assumptions_r17_vals[] = {
  {   0, "false" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lte_NeighCellsCRS_Assumptions_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServingCellConfig_eag_5_sequence[] = {
  { &hf_nr_rrc_lte_NeighCellsCRS_Assumptions_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lte_NeighCellsCRS_Assumptions_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfig_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfig_eag_5_sequence);

  return offset;
}


static const value_string nr_rrc_T_crossCarrierSchedulingConfigRelease_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crossCarrierSchedulingConfigRelease_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ServingCellConfig_eag_6_sequence[] = {
  { &hf_nr_rrc_crossCarrierSchedulingConfigRelease_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierSchedulingConfigRelease_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfig_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfig_eag_6_sequence);

  return offset;
}


static const per_sequence_t ServingCellConfig_sequence[] = {
  { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_TDD_UL_DL_ConfigDedicated },
  { &hf_nr_rrc_initialDownlinkBWP_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_DownlinkDedicated },
  { &hf_nr_rrc_downlinkBWP_ToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id },
  { &hf_nr_rrc_downlinkBWP_ToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink },
  { &hf_nr_rrc_firstActiveDownlinkBWP_Id, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_bwp_InactivityTimer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_bwp_InactivityTimer },
  { &hf_nr_rrc_defaultDownlinkBWP_Id, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BWP_Id },
  { &hf_nr_rrc_uplinkConfig , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkConfig },
  { &hf_nr_rrc_supplementaryUplink_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UplinkConfig },
  { &hf_nr_rrc_pdcch_ServingCellConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_ServingCellConfig },
  { &hf_nr_rrc_pdsch_ServingCellConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_ServingCellConfig },
  { &hf_nr_rrc_csi_MeasConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_MeasConfig },
  { &hf_nr_rrc_sCellDeactivationTimer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sCellDeactivationTimer },
  { &hf_nr_rrc_crossCarrierSchedulingConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_CrossCarrierSchedulingConfig },
  { &hf_nr_rrc_tag_Id       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
  { &hf_nr_rrc_dummy1_01    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy1_01 },
  { &hf_nr_rrc_pathlossReferenceLinking, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pathlossReferenceLinking },
  { &hf_nr_rrc_servingCellMO, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MeasObjectId },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ServingCellConfig, ServingCellConfig_sequence);

  return offset;
}


static const value_string nr_rrc_T_s_SearchDeltaP_Connected_r17_vals[] = {
  {   0, "dB3" },
  {   1, "dB6" },
  {   2, "dB9" },
  {   3, "dB12" },
  {   4, "dB15" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_s_SearchDeltaP_Connected_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t_SearchDeltaP_Connected_r17_vals[] = {
  {   0, "s5" },
  {   1, "s10" },
  {   2, "s20" },
  {   3, "s30" },
  {   4, "s60" },
  {   5, "s120" },
  {   6, "s180" },
  {   7, "s240" },
  {   8, "s300" },
  {   9, "spare7" },
  {  10, "spare6" },
  {  11, "spare5" },
  {  12, "spare4" },
  {  13, "spare3" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t_SearchDeltaP_Connected_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_lowMobilityEvaluationConnected_r17_sequence[] = {
  { &hf_nr_rrc_s_SearchDeltaP_Connected_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_s_SearchDeltaP_Connected_r17 },
  { &hf_nr_rrc_t_SearchDeltaP_Connected_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_SearchDeltaP_Connected_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_lowMobilityEvaluationConnected_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_lowMobilityEvaluationConnected_r17, T_lowMobilityEvaluationConnected_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_offset_r17_vals[] = {
  {   0, "db2" },
  {   1, "db4" },
  {   2, "db6" },
  {   3, "db8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_offset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t GoodServingCellEvaluation_r17_sequence[] = {
  { &hf_nr_rrc_offset_r17   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_offset_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GoodServingCellEvaluation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GoodServingCellEvaluation_r17, GoodServingCellEvaluation_r17_sequence);

  return offset;
}


static const per_sequence_t DeactivatedSCG_Config_r17_sequence[] = {
  { &hf_nr_rrc_bfd_and_RLM_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DeactivatedSCG_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DeactivatedSCG_Config_r17, DeactivatedSCG_Config_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_deactivatedSCG_Config_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_deactivatedSCG_Config_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_48     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_DeactivatedSCG_Config_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_deactivatedSCG_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_deactivatedSCG_Config_r17, T_deactivatedSCG_Config_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SpCellConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_lowMobilityEvaluationConnected_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowMobilityEvaluationConnected_r17 },
  { &hf_nr_rrc_goodServingCellEvaluationRLM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GoodServingCellEvaluation_r17 },
  { &hf_nr_rrc_goodServingCellEvaluationBFD_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GoodServingCellEvaluation_r17 },
  { &hf_nr_rrc_deactivatedSCG_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_deactivatedSCG_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SpCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SpCellConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t SpCellConfig_sequence[] = {
  { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServCellIndex },
  { &hf_nr_rrc_reconfigurationWithSync, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ReconfigurationWithSync },
  { &hf_nr_rrc_rlf_TimersAndConstants, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlf_TimersAndConstants },
  { &hf_nr_rrc_rlmInSyncOutOfSyncThreshold, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlmInSyncOutOfSyncThreshold },
  { &hf_nr_rrc_spCellConfigDedicated, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServingCellConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SpCellConfig_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SpCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SpCellConfig, SpCellConfig_sequence);

  return offset;
}


static const per_sequence_t SCellConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_smtc         , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SSB_MTC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellConfig_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_sCellState_r16_vals[] = {
  {   0, "activated" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sCellState_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_secondaryDRX_GroupConfig_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_secondaryDRX_GroupConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SCellConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_sCellState_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sCellState_r16 },
  { &hf_nr_rrc_secondaryDRX_GroupConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_secondaryDRX_GroupConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellConfig_eag_2_sequence);

  return offset;
}



static int
dissect_nr_rrc_SCellSIB20_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformation_PDU);

  return offset;
}


static const value_string nr_rrc_T_sCellSIB20_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sCellSIB20_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_49     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SCellSIB20_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sCellSIB20_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sCellSIB20_r17, T_sCellSIB20_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SCellConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_preConfGapStatus_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_maxNrofGapId_r17 },
  { &hf_nr_rrc_goodServingCellEvaluationBFD_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GoodServingCellEvaluation_r17 },
  { &hf_nr_rrc_sCellSIB20_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sCellSIB20_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCellConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellConfig_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_plmn_IdentityInfoList_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_plmn_IdentityInfoList_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_50     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PLMN_IdentityInfoList },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_plmn_IdentityInfoList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_plmn_IdentityInfoList_r17, T_plmn_IdentityInfoList_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_npn_IdentityInfoList_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_npn_IdentityInfoList_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_51     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NPN_IdentityInfoList_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_npn_IdentityInfoList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_npn_IdentityInfoList_r17, T_npn_IdentityInfoList_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SCellConfig_eag_4_sequence[] = {
  { &hf_nr_rrc_plmn_IdentityInfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_plmn_IdentityInfoList_r17 },
  { &hf_nr_rrc_npn_IdentityInfoList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_npn_IdentityInfoList_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCellConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellConfig_eag_4_sequence);

  return offset;
}


static const per_sequence_t SCellConfig_sequence[] = {
  { &hf_nr_rrc_sCellIndex   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
  { &hf_nr_rrc_sCellConfigCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServingCellConfigCommon },
  { &hf_nr_rrc_sCellConfigDedicated, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_ServingCellConfig },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig_eag_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCellConfig, SCellConfig_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig_sequence_of[1] = {
  { &hf_nr_rrc_sCellToAddModList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig, SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig_sequence_of,
                                                  1, maxNrofSCells, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex_sequence_of[1] = {
  { &hf_nr_rrc_sCellToReleaseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex, SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex_sequence_of,
                                                  1, maxNrofSCells, FALSE);

  return offset;
}


static const value_string nr_rrc_T_reportUplinkTxDirectCurrent_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportUplinkTxDirectCurrent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CellGroupConfig_eag_1_sequence[] = {
  { &hf_nr_rrc_reportUplinkTxDirectCurrent, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportUplinkTxDirectCurrent },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellGroupConfig_eag_1_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16_sequence_of[1] = {
  { &hf_nr_rrc_bh_RLC_ChannelToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BH_RLC_ChannelConfig_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16, SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16_sequence_of,
                                                  1, maxBH_RLC_ChannelID_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16_sequence_of[1] = {
  { &hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BH_RLC_ChannelID_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16, SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16_sequence_of,
                                                  1, maxBH_RLC_ChannelID_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_f1c_TransferPath_r16_vals[] = {
  {   0, "lte" },
  {   1, "nr" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_f1c_TransferPath_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex_sequence_of[1] = {
  { &hf_nr_rrc_simultaneousTCI_UpdateList1_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex_sequence_of,
                                                  1, maxNrofServingCellsTCI_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitchingOption_r16_vals[] = {
  {   0, "switchedUL" },
  {   1, "dualUL" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitchingOption_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitchingPowerBoosting_r16_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitchingPowerBoosting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CellGroupConfig_eag_2_sequence[] = {
  { &hf_nr_rrc_bap_Address_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_bh_RLC_ChannelToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16 },
  { &hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16 },
  { &hf_nr_rrc_f1c_TransferPath_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_f1c_TransferPath_r16 },
  { &hf_nr_rrc_simultaneousTCI_UpdateList1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex },
  { &hf_nr_rrc_simultaneousTCI_UpdateList2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex },
  { &hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex },
  { &hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex },
  { &hf_nr_rrc_uplinkTxSwitchingOption_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitchingOption_r16 },
  { &hf_nr_rrc_uplinkTxSwitchingPowerBoosting_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitchingPowerBoosting_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellGroupConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellGroupConfig_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportUplinkTxDirectCurrentTwoCarrier_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportUplinkTxDirectCurrentTwoCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CellGroupConfig_eag_3_sequence[] = {
  { &hf_nr_rrc_reportUplinkTxDirectCurrentTwoCarrier_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportUplinkTxDirectCurrentTwoCarrier_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellGroupConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellGroupConfig_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_f1c_TransferPathNRDC_r17_vals[] = {
  {   0, "mcg" },
  {   1, "scg" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_f1c_TransferPathNRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitching_2T_Mode_r17_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitching_2T_Mode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitching_DualUL_TxState_r17_vals[] = {
  {   0, "oneT" },
  {   1, "twoT" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitching_DualUL_TxState_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_reestablishRLC_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reestablishRLC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Uu_RelayRLC_ChannelConfig_r17_sequence[] = {
  { &hf_nr_rrc_uu_LogicalChannelIdentity_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LogicalChannelIdentity },
  { &hf_nr_rrc_uu_RelayRLC_ChannelID_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Uu_RelayRLC_ChannelID_r17 },
  { &hf_nr_rrc_reestablishRLC_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reestablishRLC_r17 },
  { &hf_nr_rrc_rlc_Config_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RLC_Config },
  { &hf_nr_rrc_mac_LogicalChannelConfig_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_LogicalChannelConfig },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Uu_RelayRLC_ChannelConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Uu_RelayRLC_ChannelConfig_r17, Uu_RelayRLC_ChannelConfig_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17_sequence_of[1] = {
  { &hf_nr_rrc_uu_RelayRLC_ChannelToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Uu_RelayRLC_ChannelConfig_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17, SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17_sequence_of,
                                                  1, maxUu_RelayRLC_ChannelID_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17_sequence_of[1] = {
  { &hf_nr_rrc_uu_RelayRLC_ChannelToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Uu_RelayRLC_ChannelID_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17, SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17_sequence_of,
                                                  1, maxUu_RelayRLC_ChannelID_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17_sequence_of[1] = {
  { &hf_nr_rrc_rlc_BearerToReleaseListExt_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentityExt_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17, SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17_sequence_of,
                                                  1, maxLC_ID, FALSE);

  return offset;
}



static int
dissect_nr_rrc_IAB_ResourceConfigID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofIABResourceConfig_1_r17, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_slotList_r17_sequence_of[1] = {
  { &hf_nr_rrc_slotList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5119 },
};

static int
dissect_nr_rrc_T_slotList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_slotList_r17, T_slotList_r17_sequence_of,
                                                  1, 5120, FALSE);

  return offset;
}


static const value_string nr_rrc_T_periodicitySlotList_r17_vals[] = {
  {   0, "ms0p5" },
  {   1, "ms0p625" },
  {   2, "ms1" },
  {   3, "ms1p25" },
  {   4, "ms2" },
  {   5, "ms2p5" },
  {   6, "ms5" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms40" },
  {  10, "ms80" },
  {  11, "ms160" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicitySlotList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     12, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t IAB_ResourceConfig_r17_sequence[] = {
  { &hf_nr_rrc_iab_ResourceConfigID_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_ResourceConfigID_r17 },
  { &hf_nr_rrc_slotList_r17 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_slotList_r17 },
  { &hf_nr_rrc_periodicitySlotList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_periodicitySlotList_r17 },
  { &hf_nr_rrc_slotListSubcarrierSpacing_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SubcarrierSpacing },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IAB_ResourceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IAB_ResourceConfig_r17, IAB_ResourceConfig_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17_sequence_of[1] = {
  { &hf_nr_rrc_iab_ResourceConfigToAddModList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_ResourceConfig_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17, SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17_sequence_of,
                                                  1, maxNrofIABResourceConfig_r17, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17_sequence_of[1] = {
  { &hf_nr_rrc_iab_ResourceConfigToReleaseList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_ResourceConfigID_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17, SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17_sequence_of,
                                                  1, maxNrofIABResourceConfig_r17, FALSE);

  return offset;
}


static const per_sequence_t CellGroupConfig_eag_4_sequence[] = {
  { &hf_nr_rrc_f1c_TransferPathNRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_f1c_TransferPathNRDC_r17 },
  { &hf_nr_rrc_uplinkTxSwitching_2T_Mode_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitching_2T_Mode_r17 },
  { &hf_nr_rrc_uplinkTxSwitching_DualUL_TxState_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitching_DualUL_TxState_r17 },
  { &hf_nr_rrc_uu_RelayRLC_ChannelToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17 },
  { &hf_nr_rrc_uu_RelayRLC_ChannelToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17 },
  { &hf_nr_rrc_simultaneousU_TCI_UpdateList1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex },
  { &hf_nr_rrc_simultaneousU_TCI_UpdateList2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex },
  { &hf_nr_rrc_simultaneousU_TCI_UpdateList3_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex },
  { &hf_nr_rrc_simultaneousU_TCI_UpdateList4_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex },
  { &hf_nr_rrc_rlc_BearerToReleaseListExt_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17 },
  { &hf_nr_rrc_iab_ResourceConfigToAddModList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17 },
  { &hf_nr_rrc_iab_ResourceConfigToReleaseList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellGroupConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellGroupConfig_eag_4_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofBWPs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofBWPs, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_CarrierState_r17_vals[] = {
  {   0, "deActivated-r17" },
  {   1, "activeBWP-r17" },
  { 0, NULL }
};

static const per_choice_t CarrierState_r17_choice[] = {
  {   0, &hf_nr_rrc_deActivated_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_activeBWP_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_INTEGER_0_maxNrofBWPs },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_CarrierState_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_CarrierState_r17, CarrierState_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t CC_State_r17_sequence[] = {
  { &hf_nr_rrc_dlCarrier_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CarrierState_r17 },
  { &hf_nr_rrc_ulCarrier_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CarrierState_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CC_State_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CC_State_r17, CC_State_r17_sequence);

  return offset;
}


static const per_sequence_t IntraBandCC_Combination_r17_sequence_of[1] = {
  { &hf_nr_rrc_IntraBandCC_Combination_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CC_State_r17 },
};

static int
dissect_nr_rrc_IntraBandCC_Combination_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_IntraBandCC_Combination_r17, IntraBandCC_Combination_r17_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17_sequence_of[1] = {
  { &hf_nr_rrc_cc_CombinationList_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandCC_Combination_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17, SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17_sequence_of,
                                                  1, maxNrofReqComDC_Location_r17, FALSE);

  return offset;
}


static const per_sequence_t IntraBandCC_CombinationReqList_r17_sequence[] = {
  { &hf_nr_rrc_servCellIndexList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex },
  { &hf_nr_rrc_cc_CombinationList_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IntraBandCC_CombinationReqList_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IntraBandCC_CombinationReqList_r17, IntraBandCC_CombinationReqList_r17_sequence);

  return offset;
}


static const per_sequence_t ReportUplinkTxDirectCurrentMoreCarrier_r17_sequence_of[1] = {
  { &hf_nr_rrc_ReportUplinkTxDirectCurrentMoreCarrier_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandCC_CombinationReqList_r17 },
};

static int
dissect_nr_rrc_ReportUplinkTxDirectCurrentMoreCarrier_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_ReportUplinkTxDirectCurrentMoreCarrier_r17, ReportUplinkTxDirectCurrentMoreCarrier_r17_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t CellGroupConfig_eag_5_sequence[] = {
  { &hf_nr_rrc_reportUplinkTxDirectCurrentMoreCarrier_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ReportUplinkTxDirectCurrentMoreCarrier_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellGroupConfig_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellGroupConfig_eag_5_sequence);

  return offset;
}


static const per_sequence_t CellGroupConfig_sequence[] = {
  { &hf_nr_rrc_cellGroupId  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId },
  { &hf_nr_rrc_rlc_BearerToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig },
  { &hf_nr_rrc_rlc_BearerToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity },
  { &hf_nr_rrc_mac_CellGroupConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_CellGroupConfig },
  { &hf_nr_rrc_physicalCellGroupConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PhysicalCellGroupConfig },
  { &hf_nr_rrc_spCellConfig , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SpCellConfig },
  { &hf_nr_rrc_sCellToAddModList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig },
  { &hf_nr_rrc_sCellToReleaseList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig_eag_5 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CellGroupConfig, CellGroupConfig_sequence);

  return offset;
}


static const per_sequence_t CondReconfigExecCondSCG_r17_sequence_of[1] = {
  { &hf_nr_rrc_CondReconfigExecCondSCG_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
};

static int
dissect_nr_rrc_CondReconfigExecCondSCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CondReconfigExecCondSCG_r17, CondReconfigExecCondSCG_r17_sequence_of,
                                                  1, 2, FALSE);

  return offset;
}


static const per_sequence_t MeasResultSCG_Failure_eag_1_sequence[] = {
  { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_LocationInfo_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultSCG_Failure_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResultSCG_Failure_eag_1_sequence);

  return offset;
}


static const per_sequence_t MeasResultSCG_Failure_sequence[] = {
  { &hf_nr_rrc_measResultPerMOList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultList2NR },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultSCG_Failure_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasResultSCG_Failure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasResultSCG_Failure, MeasResultSCG_Failure_sequence);

  return offset;
}


static const value_string nr_rrc_AccessStratumRelease_vals[] = {
  {   0, "rel15" },
  {   1, "rel16" },
  {   2, "rel17" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_AccessStratumRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, TRUE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_qoe_Streaming_MeasReport_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_qoe_Streaming_MeasReport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_qoe_MTSI_MeasReport_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_qoe_MTSI_MeasReport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_qoe_VR_MeasReport_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_qoe_VR_MeasReport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ran_VisibleQoE_Streaming_MeasReport_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ran_VisibleQoE_Streaming_MeasReport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ran_VisibleQoE_VR_MeasReport_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ran_VisibleQoE_VR_MeasReport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_MeasurementReportAppLayer_Seg_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_MeasurementReportAppLayer_Seg_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t AppLayerMeasParameters_r17_sequence[] = {
  { &hf_nr_rrc_qoe_Streaming_MeasReport_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_qoe_Streaming_MeasReport_r17 },
  { &hf_nr_rrc_qoe_MTSI_MeasReport_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_qoe_MTSI_MeasReport_r17 },
  { &hf_nr_rrc_qoe_VR_MeasReport_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_qoe_VR_MeasReport_r17 },
  { &hf_nr_rrc_ran_VisibleQoE_Streaming_MeasReport_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ran_VisibleQoE_Streaming_MeasReport_r17 },
  { &hf_nr_rrc_ran_VisibleQoE_VR_MeasReport_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ran_VisibleQoE_VR_MeasReport_r17 },
  { &hf_nr_rrc_ul_MeasurementReportAppLayer_Seg_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_MeasurementReportAppLayer_Seg_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_AppLayerMeasParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_AppLayerMeasParameters_r17, AppLayerMeasParameters_r17_sequence);

  return offset;
}


static const value_string nr_rrc_CA_BandwidthClassEUTRA_vals[] = {
  {   0, "a" },
  {   1, "b" },
  {   2, "c" },
  {   3, "d" },
  {   4, "e" },
  {   5, "f" },
  { 0, NULL }
};


static int
dissect_nr_rrc_CA_BandwidthClassEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, TRUE, 0, NULL);

  return offset;
}


static const per_sequence_t T_eutra_sequence[] = {
  { &hf_nr_rrc_bandEUTRA    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
  { &hf_nr_rrc_ca_BandwidthClassDL_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_BandwidthClassEUTRA },
  { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_BandwidthClassEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eutra(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eutra, T_eutra_sequence);

  return offset;
}


static const value_string nr_rrc_CA_BandwidthClassNR_vals[] = {
  {   0, "a" },
  {   1, "b" },
  {   2, "c" },
  {   3, "d" },
  {   4, "e" },
  {   5, "f" },
  {   6, "g" },
  {   7, "h" },
  {   8, "i" },
  {   9, "j" },
  {  10, "k" },
  {  11, "l" },
  {  12, "m" },
  {  13, "n" },
  {  14, "o" },
  {  15, "p" },
  {  16, "q" },
  {  17, "r2-v1730" },
  {  18, "r3-v1730" },
  {  19, "r4-v1730" },
  {  20, "r5-v1730" },
  {  21, "r6-v1730" },
  {  22, "r7-v1730" },
  {  23, "r8-v1730" },
  {  24, "r9-v1730" },
  {  25, "r10-v1730" },
  {  26, "r11-v1730" },
  {  27, "r12-v1730" },
  { 0, NULL }
};

static value_string_ext nr_rrc_CA_BandwidthClassNR_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_CA_BandwidthClassNR_vals);


static int
dissect_nr_rrc_CA_BandwidthClassNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     17, NULL, TRUE, 11, NULL);

  return offset;
}


static const per_sequence_t T_nr_sequence[] = {
  { &hf_nr_rrc_bandNR       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_ca_BandwidthClassDL_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_BandwidthClassNR },
  { &hf_nr_rrc_ca_BandwidthClassUL_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_BandwidthClassNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nr(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nr, T_nr_sequence);

  return offset;
}


static const value_string nr_rrc_BandParameters_vals[] = {
  {   0, "eutra" },
  {   1, "nr" },
  { 0, NULL }
};

static const per_choice_t BandParameters_choice[] = {
  {   0, &hf_nr_rrc_eutra_01     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra },
  {   1, &hf_nr_rrc_nr_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BandParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BandParameters, BandParameters_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_sequence_of[1] = {
  { &hf_nr_rrc_bandList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}



static int
dissect_nr_rrc_FeatureSetCombinationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxFeatureSetCombinations, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_multipleTimingAdvance_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multipleTimingAdvance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousRx_Tx_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousRx_Tx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, 8, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_additionalRx_Tx_PerformanceReq_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_additionalRx_Tx_PerformanceReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_CA_PowerClass_N_vals[] = {
  {   0, "class2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_CA_PowerClass_N(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, 32, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersEUTRA_sequence[] = {
  { &hf_nr_rrc_multipleTimingAdvance, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleTimingAdvance },
  { &hf_nr_rrc_simultaneousRx_Tx, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousRx_Tx },
  { &hf_nr_rrc_supportedNAICS_2CRS_AP, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_8 },
  { &hf_nr_rrc_additionalRx_Tx_PerformanceReq, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_additionalRx_Tx_PerformanceReq },
  { &hf_nr_rrc_ue_CA_PowerClass_N, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_CA_PowerClass_N },
  { &hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersEUTRA, CA_ParametersEUTRA_sequence);

  return offset;
}


static const value_string nr_rrc_T_cA_ParametersNR_dummy_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cA_ParametersNR_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelTxSRS_PUCCH_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousRxTxInterBandCA_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousRxTxInterBandCA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousRxTxSUL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousRxTxSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedNumberTAG_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedNumberTAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNR_sequence[] = {
  { &hf_nr_rrc_cA_ParametersNR_dummy, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cA_ParametersNR_dummy },
  { &hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelTxSRS_PUCCH_PUSCH },
  { &hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH },
  { &hf_nr_rrc_simultaneousRxTxInterBandCA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousRxTxInterBandCA },
  { &hf_nr_rrc_simultaneousRxTxSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousRxTxSUL },
  { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group },
  { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS },
  { &hf_nr_rrc_supportedNumberTAG, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedNumberTAG },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR, CA_ParametersNR_sequence);

  return offset;
}


static const value_string nr_rrc_T_singleUL_Transmission_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_singleUL_Transmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicPowerSharingENDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicPowerSharingENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tdm_Pattern_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tdm_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_SharingEUTRA_NR_vals[] = {
  {   0, "tdm" },
  {   1, "fdm" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_SharingEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals[] = {
  {   0, "type1" },
  {   1, "type2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousRxTxInterBandENDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousRxTxInterBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_asyncIntraBandENDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_asyncIntraBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dualPA_Architecture_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dualPA_Architecture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraBandENDC_Support_vals[] = {
  {   0, "non-contiguous" },
  {   1, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraBandENDC_Support(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_TimingAlignmentEUTRA_NR_vals[] = {
  {   0, "required" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_TimingAlignmentEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRDC_Parameters_eag_1_sequence[] = {
  { &hf_nr_rrc_dualPA_Architecture_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dualPA_Architecture_01 },
  { &hf_nr_rrc_intraBandENDC_Support, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraBandENDC_Support },
  { &hf_nr_rrc_ul_TimingAlignmentEUTRA_NR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_TimingAlignmentEUTRA_NR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MRDC_Parameters_eag_1_sequence);

  return offset;
}


static const per_sequence_t MRDC_Parameters_sequence[] = {
  { &hf_nr_rrc_singleUL_Transmission, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_singleUL_Transmission },
  { &hf_nr_rrc_dynamicPowerSharingENDC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicPowerSharingENDC },
  { &hf_nr_rrc_tdm_Pattern  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tdm_Pattern },
  { &hf_nr_rrc_ul_SharingEUTRA_NR, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_SharingEUTRA_NR },
  { &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR },
  { &hf_nr_rrc_simultaneousRxTxInterBandENDC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousRxTxInterBandENDC },
  { &hf_nr_rrc_asyncIntraBandENDC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_asyncIntraBandENDC },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_Parameters_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_Parameters, MRDC_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_powerClass_v1530_vals[] = {
  {   0, "pc2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerClass_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandCombination_sequence[] = {
  { &hf_nr_rrc_bandList     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters },
  { &hf_nr_rrc_featureSetCombination, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetCombinationId },
  { &hf_nr_rrc_ca_ParametersEUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersEUTRA },
  { &hf_nr_rrc_ca_ParametersNR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR },
  { &hf_nr_rrc_mrdc_Parameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MRDC_Parameters },
  { &hf_nr_rrc_supportedBandwidthCombinationSet, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_32 },
  { &hf_nr_rrc_powerClass_v1530, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerClass_v1530 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination, BandCombination_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination },
};

static int
dissect_nr_rrc_BandCombinationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList, BandCombinationList_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_switchingTimeDL_vals[] = {
  {   0, "n0us" },
  {   1, "n30us" },
  {   2, "n100us" },
  {   3, "n140us" },
  {   4, "n200us" },
  {   5, "n300us" },
  {   6, "n500us" },
  {   7, "n900us" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_switchingTimeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_switchingTimeUL_vals[] = {
  {   0, "n0us" },
  {   1, "n30us" },
  {   2, "n100us" },
  {   3, "n140us" },
  {   4, "n200us" },
  {   5, "n300us" },
  {   6, "n500us" },
  {   7, "n900us" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_switchingTimeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_SwitchingTimeNR_sequence[] = {
  { &hf_nr_rrc_switchingTimeDL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_switchingTimeDL },
  { &hf_nr_rrc_switchingTimeUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_switchingTimeUL },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_SwitchingTimeNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_SwitchingTimeNR, SRS_SwitchingTimeNR_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR_sequence_of[1] = {
  { &hf_nr_rrc_srs_SwitchingTimesListNR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_SwitchingTimeNR },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t T_nr_01_sequence[] = {
  { &hf_nr_rrc_srs_SwitchingTimesListNR, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nr_01, T_nr_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_switchingTimeDL_01_vals[] = {
  {   0, "n0" },
  {   1, "n0dot5" },
  {   2, "n1" },
  {   3, "n1dot5" },
  {   4, "n2" },
  {   5, "n2dot5" },
  {   6, "n3" },
  {   7, "n3dot5" },
  {   8, "n4" },
  {   9, "n4dot5" },
  {  10, "n5" },
  {  11, "n5dot5" },
  {  12, "n6" },
  {  13, "n6dot5" },
  {  14, "n7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_switchingTimeDL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     15, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_switchingTimeUL_01_vals[] = {
  {   0, "n0" },
  {   1, "n0dot5" },
  {   2, "n1" },
  {   3, "n1dot5" },
  {   4, "n2" },
  {   5, "n2dot5" },
  {   6, "n3" },
  {   7, "n3dot5" },
  {   8, "n4" },
  {   9, "n4dot5" },
  {  10, "n5" },
  {  11, "n5dot5" },
  {  12, "n6" },
  {  13, "n6dot5" },
  {  14, "n7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_switchingTimeUL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     15, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_SwitchingTimeEUTRA_sequence[] = {
  { &hf_nr_rrc_switchingTimeDL_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_switchingTimeDL_01 },
  { &hf_nr_rrc_switchingTimeUL_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_switchingTimeUL_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_SwitchingTimeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_SwitchingTimeEUTRA, SRS_SwitchingTimeEUTRA_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA_sequence_of[1] = {
  { &hf_nr_rrc_srs_SwitchingTimesListEUTRA_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_SwitchingTimeEUTRA },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t T_eutra_01_sequence[] = {
  { &hf_nr_rrc_srs_SwitchingTimesListEUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eutra_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eutra_01, T_eutra_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_srs_CarrierSwitch_vals[] = {
  {   0, "nr" },
  {   1, "eutra" },
  { 0, NULL }
};

static const per_choice_t T_srs_CarrierSwitch_choice[] = {
  {   0, &hf_nr_rrc_nr_02        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_01 },
  {   1, &hf_nr_rrc_eutra_02     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_CarrierSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_srs_CarrierSwitch, T_srs_CarrierSwitch_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedSRS_TxPortSwitch_vals[] = {
  {   0, "t1r2" },
  {   1, "t1r4" },
  {   2, "t2r4" },
  {   3, "t1r4-t2r4" },
  {   4, "t1r1" },
  {   5, "t2r2" },
  {   6, "t4r4" },
  {   7, "notSupported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedSRS_TxPortSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_srs_TxSwitch_sequence[] = {
  { &hf_nr_rrc_supportedSRS_TxPortSwitch, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSRS_TxPortSwitch },
  { &hf_nr_rrc_txSwitchImpactToRx, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_txSwitchWithAnotherBand, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_TxSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_TxSwitch, T_srs_TxSwitch_sequence);

  return offset;
}


static const per_sequence_t BandParameters_v1540_sequence[] = {
  { &hf_nr_rrc_srs_CarrierSwitch, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_CarrierSwitch },
  { &hf_nr_rrc_srs_TxSwitch , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_TxSwitch },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandParameters_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandParameters_v1540, BandParameters_v1540_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540_sequence_of[1] = {
  { &hf_nr_rrc_bandList_v1540_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters_v1540 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_5_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            5U, 32U, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 256U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_csi_RS_IM_ReceptionForFeedbackPerBandComb_sequence[] = {
  { &hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_256 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb, T_csi_RS_IM_ReceptionForFeedbackPerBandComb_sequence);

  return offset;
}


static const value_string nr_rrc_T_dualPA_Architecture_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dualPA_Architecture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1540_sequence[] = {
  { &hf_nr_rrc_simultaneousSRS_AssocCSI_RS_AllCC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_5_32 },
  { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedbackPerBandComb, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb },
  { &hf_nr_rrc_simultaneousCSI_ReportsAllCC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_5_32 },
  { &hf_nr_rrc_dualPA_Architecture, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dualPA_Architecture },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1540, CA_ParametersNR_v1540_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1540_sequence[] = {
  { &hf_nr_rrc_bandList_v1540, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540 },
  { &hf_nr_rrc_ca_ParametersNR_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1540 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1540, BandCombination_v1540_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1540_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1540_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1540 },
};

static int
dissect_nr_rrc_BandCombinationList_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1540, BandCombinationList_v1540_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_cA_ParametersNR_v1550_dummy_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cA_ParametersNR_v1550_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1550_sequence[] = {
  { &hf_nr_rrc_cA_ParametersNR_v1550_dummy, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cA_ParametersNR_v1550_dummy },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1550(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1550, CA_ParametersNR_v1550_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1550_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v1550, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_ParametersNR_v1550 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1550(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1550, BandCombination_v1550_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1550_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1550_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1550 },
};

static int
dissect_nr_rrc_BandCombinationList_v1550(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1550, BandCombinationList_v1550_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_ne_DC_BC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ne_DC_BC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1560_sequence[] = {
  { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1560, CA_ParametersNR_v1560_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_ForDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR },
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1540 },
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1550, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1550 },
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1560 },
  { &hf_nr_rrc_featureSetCombinationDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeatureSetCombinationId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC, CA_ParametersNRDC_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 128U, NULL, FALSE);

  return offset;
}


static const per_sequence_t CA_ParametersEUTRA_v1560_sequence[] = {
  { &hf_nr_rrc_fd_MIMO_TotalWeightedLayers, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_128 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersEUTRA_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersEUTRA_v1560, CA_ParametersEUTRA_v1560_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1560_sequence[] = {
  { &hf_nr_rrc_ne_DC_BC     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ne_DC_BC },
  { &hf_nr_rrc_ca_ParametersNRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC },
  { &hf_nr_rrc_ca_ParametersEUTRA_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersEUTRA_v1560 },
  { &hf_nr_rrc_ca_ParametersNR_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1560 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1560, BandCombination_v1560_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1560_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1560_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1560 },
};

static int
dissect_nr_rrc_BandCombinationList_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1560, BandCombinationList_v1560_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t CA_ParametersEUTRA_v1570_sequence[] = {
  { &hf_nr_rrc_dl_1024QAM_TotalWeightedLayers, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_0_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersEUTRA_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersEUTRA_v1570, CA_ParametersEUTRA_v1570_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1570_sequence[] = {
  { &hf_nr_rrc_ca_ParametersEUTRA_v1570, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_ParametersEUTRA_v1570 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1570, BandCombination_v1570_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1570_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1570_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1570 },
};

static int
dissect_nr_rrc_BandCombinationList_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1570, BandCombinationList_v1570_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dynamicPowerSharingNEDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicPowerSharingNEDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRDC_Parameters_v1580_sequence[] = {
  { &hf_nr_rrc_dynamicPowerSharingNEDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicPowerSharingNEDC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_Parameters_v1580(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_Parameters_v1580, MRDC_Parameters_v1580_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1580_sequence[] = {
  { &hf_nr_rrc_mrdc_Parameters_v1580, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_Parameters_v1580 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1580(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1580, BandCombination_v1580_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1580_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1580_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1580 },
};

static int
dissect_nr_rrc_BandCombinationList_v1580(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1580, BandCombinationList_v1580_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_interBandContiguousMRDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interBandContiguousMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRDC_Parameters_v1590_sequence[] = {
  { &hf_nr_rrc_interBandContiguousMRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interBandContiguousMRDC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_Parameters_v1590(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_Parameters_v1590, MRDC_Parameters_v1590_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1590_sequence[] = {
  { &hf_nr_rrc_supportedBandwidthCombinationSetIntraENDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_32 },
  { &hf_nr_rrc_mrdc_Parameters_v1590, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_Parameters_v1590 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1590(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1590, BandCombination_v1590_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1590_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1590_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1590 },
};

static int
dissect_nr_rrc_BandCombinationList_v1590(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1590, BandCombinationList_v1590_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SimultaneousRxTxPerBandPair(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     3, 496, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v15g0_sequence[] = {
  { &hf_nr_rrc_simultaneousRxTxInterBandCAPerBandPair, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SimultaneousRxTxPerBandPair },
  { &hf_nr_rrc_simultaneousRxTxSULPerBandPair, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SimultaneousRxTxPerBandPair },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v15g0, CA_ParametersNR_v15g0_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v15g0_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v15g0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v15g0, CA_ParametersNRDC_v15g0_sequence);

  return offset;
}


static const per_sequence_t MRDC_Parameters_v15g0_sequence[] = {
  { &hf_nr_rrc_simultaneousRxTxInterBandENDCPerBandPair, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SimultaneousRxTxPerBandPair },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_Parameters_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_Parameters_v15g0, MRDC_Parameters_v15g0_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v15g0_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v15g0 },
  { &hf_nr_rrc_ca_ParametersNRDC_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v15g0 },
  { &hf_nr_rrc_mrdc_Parameters_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MRDC_Parameters_v15g0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v15g0, BandCombination_v15g0_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v15g0_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v15g0_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v15g0 },
};

static int
dissect_nr_rrc_BandCombinationList_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v15g0, BandCombinationList_v15g0_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_supportedSRS_TxPortSwitch_v1610_vals[] = {
  {   0, "t1r1-t1r2" },
  {   1, "t1r1-t1r2-t1r4" },
  {   2, "t1r1-t1r2-t2r2-t2r4" },
  {   3, "t1r1-t1r2-t2r2-t1r4-t2r4" },
  {   4, "t1r1-t2r2" },
  {   5, "t1r1-t2r2-t4r4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedSRS_TxPortSwitch_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_srs_TxSwitch_v1610_sequence[] = {
  { &hf_nr_rrc_supportedSRS_TxPortSwitch_v1610, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSRS_TxPortSwitch_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_TxSwitch_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_TxSwitch_v1610, T_srs_TxSwitch_v1610_sequence);

  return offset;
}


static const per_sequence_t BandParameters_v1610_sequence[] = {
  { &hf_nr_rrc_srs_TxSwitch_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_TxSwitch_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandParameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandParameters_v1610, BandParameters_v1610_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610_sequence_of[1] = {
  { &hf_nr_rrc_bandList_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters_v1610 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const value_string nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_msgA_SUL_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_msgA_SUL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_jointSearchSpaceSwitchAcrossCells_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_jointSearchSpaceSwitchAcrossCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_half_DuplexTDD_CA_SameSCS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_half_DuplexTDD_CA_SameSCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scellDormancyWithinActiveTime_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scellDormancyWithinActiveTime_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scellDormancyOutsideActiveTime_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scellDormancyOutsideActiveTime_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crossCarrierA_CSI_trigDiffSCS_r16_vals[] = {
  {   0, "higherA-CSI-SCS" },
  {   1, "lowerA-CSI-SCS" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crossCarrierA_CSI_trigDiffSCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_defaultQCL_CrossCarrierA_CSI_Trig_r16_vals[] = {
  {   0, "diffOnly" },
  {   1, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_defaultQCL_CrossCarrierA_CSI_Trig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interCA_NonAlignedFrame_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interCA_NonAlignedFrame_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simul_SRS_Trans_BC_r16_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simul_SRS_Trans_BC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interFreqAsyncDAPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFreqAsyncDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interFreqDiffSCS_DAPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFreqDiffSCS_DAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interFreqMultiUL_TransmissionDAPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFreqMultiUL_TransmissionDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interFreqSemiStaticPowerSharingDAPS_Mode1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFreqSemiStaticPowerSharingDAPS_Mode1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interFreqSemiStaticPowerSharingDAPS_Mode2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFreqSemiStaticPowerSharingDAPS_Mode2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interFreqDynamicPowerSharingDAPS_r16_vals[] = {
  {   0, "short" },
  {   1, "long" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFreqDynamicPowerSharingDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interFreqUL_TransCancellationDAPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFreqUL_TransCancellationDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_interFreqDAPS_r16_sequence[] = {
  { &hf_nr_rrc_interFreqAsyncDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqAsyncDAPS_r16 },
  { &hf_nr_rrc_interFreqDiffSCS_DAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqDiffSCS_DAPS_r16 },
  { &hf_nr_rrc_interFreqMultiUL_TransmissionDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqMultiUL_TransmissionDAPS_r16 },
  { &hf_nr_rrc_interFreqSemiStaticPowerSharingDAPS_Mode1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqSemiStaticPowerSharingDAPS_Mode1_r16 },
  { &hf_nr_rrc_interFreqSemiStaticPowerSharingDAPS_Mode2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqSemiStaticPowerSharingDAPS_Mode2_r16 },
  { &hf_nr_rrc_interFreqDynamicPowerSharingDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqDynamicPowerSharingDAPS_r16 },
  { &hf_nr_rrc_interFreqUL_TransCancellationDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqUL_TransCancellationDAPS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_interFreqDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_interFreqDAPS_r16, T_interFreqDAPS_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNrofCSI_RS_ResourcesAlt_1_r16, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_type1_SinglePanel_r16_sequence_of[1] = {
  { &hf_nr_rrc_type1_SinglePanel_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1_SinglePanel_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1_SinglePanel_r16, T_type1_SinglePanel_r16_sequence_of,
                                                  1, maxNrofCSI_RS_Resources, FALSE);

  return offset;
}


static const per_sequence_t T_type1_MultiPanel_r16_sequence_of[1] = {
  { &hf_nr_rrc_type1_MultiPanel_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1_MultiPanel_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1_MultiPanel_r16, T_type1_MultiPanel_r16_sequence_of,
                                                  1, maxNrofCSI_RS_Resources, FALSE);

  return offset;
}


static const per_sequence_t T_type2_r16_sequence_of[1] = {
  { &hf_nr_rrc_type2_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type2_r16, T_type2_r16_sequence_of,
                                                  1, maxNrofCSI_RS_Resources, FALSE);

  return offset;
}


static const per_sequence_t T_type2_PortSelection_r16_sequence_of[1] = {
  { &hf_nr_rrc_type2_PortSelection_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type2_PortSelection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type2_PortSelection_r16, T_type2_PortSelection_r16_sequence_of,
                                                  1, maxNrofCSI_RS_Resources, FALSE);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAlt_r16_sequence[] = {
  { &hf_nr_rrc_type1_SinglePanel_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_SinglePanel_r16 },
  { &hf_nr_rrc_type1_MultiPanel_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_MultiPanel_r16 },
  { &hf_nr_rrc_type2_r16    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_r16 },
  { &hf_nr_rrc_type2_PortSelection_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_PortSelection_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16, T_supportedCSI_RS_ResourceListAlt_r16_sequence);

  return offset;
}


static const per_sequence_t CodebookParameters_v1610_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAlt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookParameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookParameters_v1610, CodebookParameters_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_supportedSpanArrangement_r16_vals[] = {
  {   0, "alignedOnly" },
  {   1, "alignedAndNonAligned" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedSpanArrangement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pdcch_MonitoringCA_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberOfMonitoringCC_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_16 },
  { &hf_nr_rrc_supportedSpanArrangement_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSpanArrangement_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_MonitoringCA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_MonitoringCA_r16, T_pdcch_MonitoringCA_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_supportedSpanArrangement_r16_01_vals[] = {
  {   0, "alignedOnly" },
  {   1, "alignedAndNonAligned" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedSpanArrangement_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pdcch_BlindDetectionCA_Mixed_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_supportedSpanArrangement_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSpanArrangement_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_r16, T_pdcch_BlindDetectionCA_Mixed_r16_sequence);

  return offset;
}


static const per_sequence_t T_pdcch_BlindDetectionMCG_UE_Mixed_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionMCG_UE_Mixed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_BlindDetectionMCG_UE_Mixed_r16, T_pdcch_BlindDetectionMCG_UE_Mixed_r16_sequence);

  return offset;
}


static const per_sequence_t T_pdcch_BlindDetectionSCG_UE_Mixed_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionSCG_UE_Mixed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_BlindDetectionSCG_UE_Mixed_r16, T_pdcch_BlindDetectionSCG_UE_Mixed_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_crossCarrierSchedulingDL_DiffSCS_r16_vals[] = {
  {   0, "low-to-high" },
  {   1, "high-to-low" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crossCarrierSchedulingDL_DiffSCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crossCarrierSchedulingDefaultQCL_r16_vals[] = {
  {   0, "diff-only" },
  {   1, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crossCarrierSchedulingDefaultQCL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crossCarrierSchedulingUL_DiffSCS_r16_vals[] = {
  {   0, "low-to-high" },
  {   1, "high-to-low" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crossCarrierSchedulingUL_DiffSCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simul_SRS_MIMO_Trans_BC_r16_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simul_SRS_MIMO_Trans_BC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_etype2R1_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_etype2R1_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_etype2R1_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_etype2R1_r16_01, T_etype2R1_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_etype2R2_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_etype2R2_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_etype2R2_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_etype2R2_r16_01, T_etype2R2_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_etype2R1_PortSelection_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_etype2R1_PortSelection_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_etype2R1_PortSelection_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_etype2R1_PortSelection_r16_01, T_etype2R1_PortSelection_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_etype2R2_PortSelection_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_etype2R2_PortSelection_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_etype2R2_PortSelection_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_etype2R2_PortSelection_r16_01, T_etype2R2_PortSelection_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t CodebookParametersAdditionPerBC_r16_sequence[] = {
  { &hf_nr_rrc_etype2R1_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_etype2R1_r16_01 },
  { &hf_nr_rrc_etype2R2_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_etype2R2_r16_01 },
  { &hf_nr_rrc_etype2R1_PortSelection_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_etype2R1_PortSelection_r16_01 },
  { &hf_nr_rrc_etype2R2_PortSelection_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_etype2R2_PortSelection_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookParametersAdditionPerBC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookParametersAdditionPerBC_r16, CodebookParametersAdditionPerBC_r16_sequence);

  return offset;
}


static const per_sequence_t T_type1SP_Type2_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_Type2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_Type2_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_Type2_null_r16_01, T_type1SP_Type2_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_Type2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_Type2PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_Type2PS_null_r16_01, T_type1SP_Type2PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R1_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_eType2R1_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_eType2R1_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_eType2R1_null_r16_01, T_type1SP_eType2R1_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R2_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_eType2R2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_eType2R2_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_eType2R2_null_r16_01, T_type1SP_eType2R2_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R1PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_eType2R1PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_eType2R1PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_eType2R1PS_null_r16_01, T_type1SP_eType2R1PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R2PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_eType2R2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_eType2R2PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_eType2R2PS_null_r16_01, T_type1SP_eType2R2PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2_Type2PS_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_Type2_Type2PS_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_Type2_Type2PS_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_Type2_Type2PS_r16_01, T_type1SP_Type2_Type2PS_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_Type2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_Type2_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_Type2_null_r16_01, T_type1MP_Type2_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_Type2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_Type2PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_Type2PS_null_r16_01, T_type1MP_Type2PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R1_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_eType2R1_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_eType2R1_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_eType2R1_null_r16_01, T_type1MP_eType2R1_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R2_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_eType2R2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_eType2R2_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_eType2R2_null_r16_01, T_type1MP_eType2R2_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R1PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_eType2R1PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_eType2R1PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_eType2R1PS_null_r16_01, T_type1MP_eType2R1PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R2PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_eType2R2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_eType2R2PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_eType2R2PS_null_r16_01, T_type1MP_eType2R2PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2_Type2PS_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_Type2_Type2PS_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_Type2_Type2PS_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_Type2_Type2PS_r16_01, T_type1MP_Type2_Type2PS_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t CodebookComboParametersAdditionPerBC_r16_sequence[] = {
  { &hf_nr_rrc_type1SP_Type2_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2_null_r16_01 },
  { &hf_nr_rrc_type1SP_Type2PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2PS_null_r16_01 },
  { &hf_nr_rrc_type1SP_eType2R1_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R1_null_r16_01 },
  { &hf_nr_rrc_type1SP_eType2R2_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R2_null_r16_01 },
  { &hf_nr_rrc_type1SP_eType2R1PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R1PS_null_r16_01 },
  { &hf_nr_rrc_type1SP_eType2R2PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R2PS_null_r16_01 },
  { &hf_nr_rrc_type1SP_Type2_Type2PS_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2_Type2PS_r16_01 },
  { &hf_nr_rrc_type1MP_Type2_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2_null_r16_01 },
  { &hf_nr_rrc_type1MP_Type2PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2PS_null_r16_01 },
  { &hf_nr_rrc_type1MP_eType2R1_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R1_null_r16_01 },
  { &hf_nr_rrc_type1MP_eType2R2_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R2_null_r16_01 },
  { &hf_nr_rrc_type1MP_eType2R1PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R1PS_null_r16_01 },
  { &hf_nr_rrc_type1MP_eType2R2PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R2PS_null_r16_01 },
  { &hf_nr_rrc_type1MP_Type2_Type2PS_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2_Type2PS_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookComboParametersAdditionPerBC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookComboParametersAdditionPerBC_r16, CodebookComboParametersAdditionPerBC_r16_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1610_sequence[] = {
  { &hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16 },
  { &hf_nr_rrc_msgA_SUL_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_msgA_SUL_r16 },
  { &hf_nr_rrc_jointSearchSpaceSwitchAcrossCells_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_jointSearchSpaceSwitchAcrossCells_r16 },
  { &hf_nr_rrc_half_DuplexTDD_CA_SameSCS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_half_DuplexTDD_CA_SameSCS_r16 },
  { &hf_nr_rrc_scellDormancyWithinActiveTime_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scellDormancyWithinActiveTime_r16 },
  { &hf_nr_rrc_scellDormancyOutsideActiveTime_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scellDormancyOutsideActiveTime_r16 },
  { &hf_nr_rrc_crossCarrierA_CSI_trigDiffSCS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierA_CSI_trigDiffSCS_r16 },
  { &hf_nr_rrc_defaultQCL_CrossCarrierA_CSI_Trig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_defaultQCL_CrossCarrierA_CSI_Trig_r16 },
  { &hf_nr_rrc_interCA_NonAlignedFrame_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interCA_NonAlignedFrame_r16 },
  { &hf_nr_rrc_simul_SRS_Trans_BC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simul_SRS_Trans_BC_r16 },
  { &hf_nr_rrc_interFreqDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFreqDAPS_r16 },
  { &hf_nr_rrc_codebookParametersPerBC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookParameters_v1610 },
  { &hf_nr_rrc_blindDetectFactor_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_pdcch_MonitoringCA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_MonitoringCA_r16 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_r16 },
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_14 },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_14 },
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionMCG_UE_Mixed_r16 },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionSCG_UE_Mixed_r16 },
  { &hf_nr_rrc_crossCarrierSchedulingDL_DiffSCS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierSchedulingDL_DiffSCS_r16 },
  { &hf_nr_rrc_crossCarrierSchedulingDefaultQCL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierSchedulingDefaultQCL_r16 },
  { &hf_nr_rrc_crossCarrierSchedulingUL_DiffSCS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierSchedulingUL_DiffSCS_r16 },
  { &hf_nr_rrc_simul_SRS_MIMO_Trans_BC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simul_SRS_MIMO_Trans_BC_r16 },
  { &hf_nr_rrc_codebookParametersAdditionPerBC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookParametersAdditionPerBC_r16 },
  { &hf_nr_rrc_codebookComboParametersAdditionPerBC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookComboParametersAdditionPerBC_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1610, CA_ParametersNR_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_intraFR_NR_DC_PwrSharingMode1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraFR_NR_DC_PwrSharingMode1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraFR_NR_DC_PwrSharingMode2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraFR_NR_DC_PwrSharingMode2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraFR_NR_DC_DynamicPwrSharing_r16_vals[] = {
  {   0, "short" },
  {   1, "long" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraFR_NR_DC_DynamicPwrSharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_asyncNRDC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_asyncNRDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v1610_sequence[] = {
  { &hf_nr_rrc_intraFR_NR_DC_PwrSharingMode1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFR_NR_DC_PwrSharingMode1_r16 },
  { &hf_nr_rrc_intraFR_NR_DC_PwrSharingMode2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFR_NR_DC_PwrSharingMode2_r16 },
  { &hf_nr_rrc_intraFR_NR_DC_DynamicPwrSharing_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFR_NR_DC_DynamicPwrSharing_r16 },
  { &hf_nr_rrc_asyncNRDC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_asyncNRDC_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v1610, CA_ParametersNRDC_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_powerClass_v1610_vals[] = {
  {   0, "pc1dot5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerClass_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_powerClassNRPart_r16_vals[] = {
  {   0, "pc1" },
  {   1, "pc2" },
  {   2, "pc3" },
  {   3, "pc5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerClassNRPart_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_TDD_Config0_r16_vals[] = {
  {   0, "n20" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_TDD_Config0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_TDD_Config1_r16_vals[] = {
  {   0, "n20" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_TDD_Config1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_TDD_Config2_r16_vals[] = {
  {   0, "n20" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_TDD_Config2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_TDD_Config3_r16_vals[] = {
  {   0, "n20" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_TDD_Config3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_TDD_Config4_r16_vals[] = {
  {   0, "n20" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_TDD_Config4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_TDD_Config5_r16_vals[] = {
  {   0, "n20" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_TDD_Config5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_TDD_Config6_r16_vals[] = {
  {   0, "n20" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_TDD_Config6_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16_sequence[] = {
  { &hf_nr_rrc_eutra_TDD_Config0_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_TDD_Config0_r16 },
  { &hf_nr_rrc_eutra_TDD_Config1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_TDD_Config1_r16 },
  { &hf_nr_rrc_eutra_TDD_Config2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_TDD_Config2_r16 },
  { &hf_nr_rrc_eutra_TDD_Config3_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_TDD_Config3_r16 },
  { &hf_nr_rrc_eutra_TDD_Config4_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_TDD_Config4_r16 },
  { &hf_nr_rrc_eutra_TDD_Config5_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_TDD_Config5_r16 },
  { &hf_nr_rrc_eutra_TDD_Config6_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_TDD_Config6_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16, T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_tdm_restrictionTDD_endc_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tdm_restrictionTDD_endc_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tdm_restrictionFDD_endc_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tdm_restrictionFDD_endc_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_singleUL_HARQ_offsetTDD_PCell_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_singleUL_HARQ_offsetTDD_PCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tdm_restrictionDualTX_FDD_endc_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tdm_restrictionDualTX_FDD_endc_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRDC_Parameters_v1620_sequence[] = {
  { &hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16 },
  { &hf_nr_rrc_tdm_restrictionTDD_endc_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tdm_restrictionTDD_endc_r16 },
  { &hf_nr_rrc_tdm_restrictionFDD_endc_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tdm_restrictionFDD_endc_r16 },
  { &hf_nr_rrc_singleUL_HARQ_offsetTDD_PCell_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_singleUL_HARQ_offsetTDD_PCell_r16 },
  { &hf_nr_rrc_tdm_restrictionDualTX_FDD_endc_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tdm_restrictionDualTX_FDD_endc_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_Parameters_v1620(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_Parameters_v1620, MRDC_Parameters_v1620_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1610_sequence[] = {
  { &hf_nr_rrc_bandList_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610 },
  { &hf_nr_rrc_ca_ParametersNR_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1610 },
  { &hf_nr_rrc_ca_ParametersNRDC_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v1610 },
  { &hf_nr_rrc_powerClass_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerClass_v1610 },
  { &hf_nr_rrc_powerClassNRPart_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerClassNRPart_r16 },
  { &hf_nr_rrc_featureSetCombinationDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeatureSetCombinationId },
  { &hf_nr_rrc_mrdc_Parameters_v1620, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MRDC_Parameters_v1620 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1610, BandCombination_v1610_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1610_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1610 },
};

static int
dissect_nr_rrc_BandCombinationList_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1610, BandCombinationList_v1610_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_supportSRS_xTyR_xLessThanY_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportSRS_xTyR_xLessThanY_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportSRS_xTyR_xEqualToY_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportSRS_xTyR_xEqualToY_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportSRS_AntennaSwitching_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportSRS_AntennaSwitching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SimulSRS_ForAntennaSwitching_r16_sequence[] = {
  { &hf_nr_rrc_supportSRS_xTyR_xLessThanY_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportSRS_xTyR_xLessThanY_r16 },
  { &hf_nr_rrc_supportSRS_xTyR_xEqualToY_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportSRS_xTyR_xEqualToY_r16 },
  { &hf_nr_rrc_supportSRS_AntennaSwitching_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportSRS_AntennaSwitching_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SimulSRS_ForAntennaSwitching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SimulSRS_ForAntennaSwitching_r16, SimulSRS_ForAntennaSwitching_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_beamManagementType_r16_vals[] = {
  {   0, "ibm" },
  {   1, "dummy" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamManagementType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraBandFreqSeparationUL_AggBW_GapBW_r16_vals[] = {
  {   0, "classI" },
  {   1, "classII" },
  {   2, "classIII" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraBandFreqSeparationUL_AggBW_GapBW_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interCA_NonAlignedFrame_B_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interCA_NonAlignedFrame_B_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1630_sequence[] = {
  { &hf_nr_rrc_simulTX_SRS_AntSwitchingInterBandUL_CA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SimulSRS_ForAntennaSwitching_r16 },
  { &hf_nr_rrc_beamManagementType_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamManagementType_r16 },
  { &hf_nr_rrc_intraBandFreqSeparationUL_AggBW_GapBW_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraBandFreqSeparationUL_AggBW_GapBW_r16 },
  { &hf_nr_rrc_interCA_NonAlignedFrame_B_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interCA_NonAlignedFrame_B_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1630, CA_ParametersNR_v1630_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v1630_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1610 },
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1630 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v1630, CA_ParametersNRDC_v1630_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16_vals[] = {
  {   0, "n30" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16_vals[] = {
  {   0, "n30" },
  {   1, "n40" },
  {   2, "n50" },
  {   3, "n60" },
  {   4, "n70" },
  {   5, "n80" },
  {   6, "n90" },
  {   7, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16_sequence[] = {
  { &hf_nr_rrc_maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16 },
  { &hf_nr_rrc_maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16, T_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_interBandMRDC_WithOverlapDL_Bands_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interBandMRDC_WithOverlapDL_Bands_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRDC_Parameters_v1630_sequence[] = {
  { &hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16 },
  { &hf_nr_rrc_interBandMRDC_WithOverlapDL_Bands_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interBandMRDC_WithOverlapDL_Bands_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_Parameters_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_Parameters_v1630, MRDC_Parameters_v1630_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, maxBandComb, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_ScalingFactorSidelink_r16_vals[] = {
  {   0, "f0p4" },
  {   1, "f0p75" },
  {   2, "f0p8" },
  {   3, "f1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_ScalingFactorSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16_sequence_of[1] = {
  { &hf_nr_rrc_scalingFactorTxSidelink_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ScalingFactorSidelink_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16, SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_v1630_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1630 },
  { &hf_nr_rrc_ca_ParametersNRDC_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v1630 },
  { &hf_nr_rrc_mrdc_Parameters_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MRDC_Parameters_v1630 },
  { &hf_nr_rrc_supportedTxBandCombListPerBC_Sidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb },
  { &hf_nr_rrc_supportedRxBandCombListPerBC_Sidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb },
  { &hf_nr_rrc_scalingFactorTxSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16 },
  { &hf_nr_rrc_scalingFactorRxSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1630, BandCombination_v1630_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1630_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1630_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1630 },
};

static int
dissect_nr_rrc_BandCombinationList_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1630, BandCombinationList_v1630_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxDC_TwoCarrierReport_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxDC_TwoCarrierReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1_NonSharedTDD_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_NonSharedTDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1_SharedTDD_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_SharedTDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1_NonSharedFDD_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_NonSharedFDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_Grp_CarrierTypes_r16_sequence[] = {
  { &hf_nr_rrc_fr1_NonSharedTDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1_NonSharedTDD_r16 },
  { &hf_nr_rrc_fr1_SharedTDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1_SharedTDD_r16 },
  { &hf_nr_rrc_fr1_NonSharedFDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1_NonSharedFDD_r16 },
  { &hf_nr_rrc_fr2_r16      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_Grp_CarrierTypes_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_Grp_CarrierTypes_r16, PUCCH_Grp_CarrierTypes_r16_sequence);

  return offset;
}


static const per_sequence_t TwoPUCCH_Grp_ConfigParams_r16_sequence[] = {
  { &hf_nr_rrc_pucch_GroupMapping_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Grp_CarrierTypes_r16 },
  { &hf_nr_rrc_pucch_TX_r16 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Grp_CarrierTypes_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TwoPUCCH_Grp_ConfigParams_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TwoPUCCH_Grp_ConfigParams_r16, TwoPUCCH_Grp_ConfigParams_r16_sequence);

  return offset;
}


static const per_sequence_t TwoPUCCH_Grp_Configurations_r16_sequence[] = {
  { &hf_nr_rrc_pucch_PrimaryGroupMapping_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TwoPUCCH_Grp_ConfigParams_r16 },
  { &hf_nr_rrc_pucch_SecondaryGroupMapping_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TwoPUCCH_Grp_ConfigParams_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TwoPUCCH_Grp_Configurations_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TwoPUCCH_Grp_Configurations_r16, TwoPUCCH_Grp_Configurations_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16_sequence_of[1] = {
  { &hf_nr_rrc_twoPUCCH_Grp_ConfigurationsList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TwoPUCCH_Grp_Configurations_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16, SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16_sequence_of,
                                                  1, maxTwoPUCCH_Grp_ConfigList_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16, T_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1640_sequence[] = {
  { &hf_nr_rrc_uplinkTxDC_TwoCarrierReport_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxDC_TwoCarrierReport_r16 },
  { &hf_nr_rrc_maxUpTo3Diff_NumerologiesConfigSinglePUCCH_grp_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_Grp_CarrierTypes_r16 },
  { &hf_nr_rrc_maxUpTo4Diff_NumerologiesConfigSinglePUCCH_grp_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PUCCH_Grp_CarrierTypes_r16 },
  { &hf_nr_rrc_twoPUCCH_Grp_ConfigurationsList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16 },
  { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16 },
  { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16 },
  { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16 },
  { &hf_nr_rrc_pdcch_MonitoringCA_NonAlignedSpan_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_16 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1640, CA_ParametersNR_v1640_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v1640_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v1640, CA_ParametersNRDC_v1640_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1640_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1640 },
  { &hf_nr_rrc_ca_ParametersNRDC_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1640, BandCombination_v1640_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1640_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1640_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1640 },
};

static int
dissect_nr_rrc_BandCombinationList_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1640, BandCombinationList_v1640_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_maxCellGroupings_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, maxCellGroupings_r16, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v1650_sequence[] = {
  { &hf_nr_rrc_supportedCellGrouping_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_maxCellGroupings_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v1650, CA_ParametersNRDC_v1650_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1650_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNRDC_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v1650 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1650, BandCombination_v1650_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1650_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1650_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1650 },
};

static int
dissect_nr_rrc_BandCombinationList_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1650, BandCombinationList_v1650_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_IntraBandPowerClass_r16_vals[] = {
  {   0, "pc2" },
  {   1, "pc3" },
  {   2, "spare6" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_IntraBandPowerClass_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16_sequence_of[1] = {
  { &hf_nr_rrc_intrabandConcurrentOperationPowerClass_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandPowerClass_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16, SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_v1680_sequence[] = {
  { &hf_nr_rrc_intrabandConcurrentOperationPowerClass_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1680(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1680, BandCombination_v1680_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1680_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1680_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1680 },
};

static int
dissect_nr_rrc_BandCombinationList_v1680(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1680, BandCombinationList_v1680_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_computationTimeForA_CSI_r16_vals[] = {
  {   0, "sameAsNoCross" },
  {   1, "relaxed" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_computationTimeForA_CSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_additionalSymbols_r16_vals[] = {
  {   0, "s14" },
  {   1, "s28" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_additionalSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_additionalSymbols_r16_vals[] = {
  {   0, "s14" },
  {   1, "s28" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_additionalSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_60kHz_additionalSymbols_r16_vals[] = {
  {   0, "s14" },
  {   1, "s28" },
  {   2, "s56" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_60kHz_additionalSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_120kHz_additionalSymbols_r16_vals[] = {
  {   0, "s14" },
  {   1, "s28" },
  {   2, "s56" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_120kHz_additionalSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_additionalSymbols_r16_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_additionalSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_additionalSymbols_r16 },
  { &hf_nr_rrc_scs_30kHz_additionalSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_additionalSymbols_r16 },
  { &hf_nr_rrc_scs_60kHz_additionalSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_60kHz_additionalSymbols_r16 },
  { &hf_nr_rrc_scs_120kHz_additionalSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_120kHz_additionalSymbols_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_additionalSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_additionalSymbols_r16, T_additionalSymbols_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_ReportingOnPUCCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_ReportingOnPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_ReportingOnPUSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_ReportingOnPUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CarrierTypePair_r16_sequence[] = {
  { &hf_nr_rrc_carrierForCSI_Measurement_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Grp_CarrierTypes_r16 },
  { &hf_nr_rrc_carrierForCSI_Reporting_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Grp_CarrierTypes_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CarrierTypePair_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CarrierTypePair_r16, CarrierTypePair_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16_sequence_of[1] = {
  { &hf_nr_rrc_carrierTypePairList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CarrierTypePair_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16, SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16_sequence_of,
                                                  1, maxCarrierTypePairList_r16, FALSE);

  return offset;
}


static const per_sequence_t T_csi_ReportingCrossPUCCH_Grp_r16_sequence[] = {
  { &hf_nr_rrc_computationTimeForA_CSI_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_computationTimeForA_CSI_r16 },
  { &hf_nr_rrc_additionalSymbols_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_additionalSymbols_r16 },
  { &hf_nr_rrc_sp_CSI_ReportingOnPUCCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_ReportingOnPUCCH_r16 },
  { &hf_nr_rrc_sp_CSI_ReportingOnPUSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_ReportingOnPUSCH_r16 },
  { &hf_nr_rrc_carrierTypePairList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_ReportingCrossPUCCH_Grp_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_csi_ReportingCrossPUCCH_Grp_r16, T_csi_ReportingCrossPUCCH_Grp_r16_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1690_sequence[] = {
  { &hf_nr_rrc_csi_ReportingCrossPUCCH_Grp_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_ReportingCrossPUCCH_Grp_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1690(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1690, CA_ParametersNR_v1690_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1690_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v1690, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1690 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1690(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1690, BandCombination_v1690_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1690_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1690_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1690 },
};

static int
dissect_nr_rrc_BandCombinationList_v1690(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1690, BandCombinationList_v1690_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionCA_MixedExt_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionCA_MixedExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionCA_MixedExt_r16, PDCCH_BlindDetectionCA_MixedExt_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_BlindDetectionCA_MixedExt_r16_vals[] = {
  {   0, "pdcch-BlindDetectionCA-Mixed-v16a0" },
  {   1, "pdcch-BlindDetectionCA-Mixed-NonAlignedSpan-v16a0" },
  { 0, NULL }
};

static const per_choice_t T_pdcch_BlindDetectionCA_MixedExt_r16_choice[] = {
  {   0, &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_v16a0, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_BlindDetectionCA_MixedExt_r16 },
  {   1, &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_v16a0, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_PDCCH_BlindDetectionCA_MixedExt_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionCA_MixedExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_pdcch_BlindDetectionCA_MixedExt_r16, T_pdcch_BlindDetectionCA_MixedExt_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionCG_UE_MixedExt_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_MixedExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionCG_UE_MixedExt_r16, PDCCH_BlindDetectionCG_UE_MixedExt_r16_sequence);

  return offset;
}


static const per_sequence_t T_pdcch_BlindDetectionCG_UE_MixedExt_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_v16a0, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_MixedExt_r16 },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_v16a0, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_MixedExt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionCG_UE_MixedExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_MixedExt_r16, T_pdcch_BlindDetectionCG_UE_MixedExt_r16_sequence);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionMixedList_r16_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA_MixedExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionCA_MixedExt_r16 },
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE_MixedExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionCG_UE_MixedExt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionMixedList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionMixedList_r16, PDCCH_BlindDetectionMixedList_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16_sequence_of[1] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMixedList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionMixedList_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16, SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16_sequence_of,
                                                  1, maxNrofPdcch_BlindDetectionMixed_1_r16, FALSE);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v16a0_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMixedList_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v16a0, CA_ParametersNR_v16a0_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v16a0_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v16a0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v16a0, CA_ParametersNRDC_v16a0_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v16a0_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v16a0 },
  { &hf_nr_rrc_ca_ParametersNRDC_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v16a0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v16a0, BandCombination_v16a0_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v16a0_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v16a0_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v16a0 },
};

static int
dissect_nr_rrc_BandCombinationList_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v16a0, BandCombinationList_v16a0_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t T_fetype2basic_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_fetype2basic_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_fetype2basic_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_fetype2basic_r17_01, T_fetype2basic_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_fetype2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_fetype2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_fetype2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_fetype2R1_r17_01, T_fetype2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r17, FALSE);

  return offset;
}


static const per_sequence_t T_fetype2R2_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_fetype2R2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_fetype2R2_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_fetype2R2_r17_01, T_fetype2R2_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r17, FALSE);

  return offset;
}


static const per_sequence_t CodebookParametersfetype2PerBC_r17_sequence[] = {
  { &hf_nr_rrc_fetype2basic_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_fetype2basic_r17_01 },
  { &hf_nr_rrc_fetype2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fetype2R1_r17_01 },
  { &hf_nr_rrc_fetype2R2_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fetype2R2_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookParametersfetype2PerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookParametersfetype2PerBC_r17, CodebookParametersfetype2PerBC_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_demodulationEnhancementCA_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_demodulationEnhancementCA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxUplinkDutyCycle_interBandCA_PC2_r17_vals[] = {
  {   0, "n50" },
  {   1, "n60" },
  {   2, "n70" },
  {   3, "n80" },
  {   4, "n90" },
  {   5, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxUplinkDutyCycle_interBandCA_PC2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxUplinkDutyCycle_SULcombination_PC2_r17_vals[] = {
  {   0, "n50" },
  {   1, "n60" },
  {   2, "n70" },
  {   3, "n80" },
  {   4, "n90" },
  {   5, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxUplinkDutyCycle_SULcombination_PC2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_beamManagementType_CBM_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamManagementType_CBM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_parallelTxPUCCH_PUSCH_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelTxPUCCH_PUSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_type1SP_feType2PS_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_feType2PS_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_feType2PS_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_feType2PS_null_r17_01, T_type1SP_feType2PS_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_feType2PS_M2R1_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17_01, T_type1SP_feType2PS_M2R1_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_feType2PS_M2R2_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_feType2PS_M2R2_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_feType2PS_M2R2_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_feType2PS_M2R2_null_r17, T_type1SP_feType2PS_M2R2_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2_feType2_PS_M1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17_01, T_type1SP_Type2_feType2_PS_M1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2_feType2_PS_M2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17_01, T_type1SP_Type2_feType2_PS_M2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R1_feType2_PS_M1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17_01, T_type1SP_eType2R1_feType2_PS_M1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R1_feType2_PS_M2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17_01, T_type1SP_eType2R1_feType2_PS_M2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_feType2PS_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_feType2PS_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_feType2PS_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_feType2PS_null_r17_01, T_type1MP_feType2PS_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_feType2PS_M2R1_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17_01, T_type1MP_feType2PS_M2R1_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_feType2PS_M2R2_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17_01, T_type1MP_feType2PS_M2R2_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2_feType2_PS_M1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17_01, T_type1MP_Type2_feType2_PS_M1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2_feType2_PS_M2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17_01, T_type1MP_Type2_feType2_PS_M2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R1_feType2_PS_M1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17_01, T_type1MP_eType2R1_feType2_PS_M1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R1_feType2_PS_M2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17_01, T_type1MP_eType2R1_feType2_PS_M2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t CodebookComboParameterMixedTypePerBC_r17_sequence[] = {
  { &hf_nr_rrc_type1SP_feType2PS_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_feType2PS_null_r17_01 },
  { &hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17_01 },
  { &hf_nr_rrc_type1SP_feType2PS_M2R2_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_feType2PS_M2R2_null_r17 },
  { &hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17_01 },
  { &hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17_01 },
  { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17_01 },
  { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17_01 },
  { &hf_nr_rrc_type1MP_feType2PS_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_feType2PS_null_r17_01 },
  { &hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17_01 },
  { &hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17_01 },
  { &hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17_01 },
  { &hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17_01 },
  { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17_01 },
  { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookComboParameterMixedTypePerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookComboParameterMixedTypePerBC_r17, CodebookComboParameterMixedTypePerBC_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_cSI_Report_mode_r17_vals[] = {
  {   0, "mode1" },
  {   1, "mode2" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cSI_Report_mode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumTx_Ports_r17_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n12" },
  {   4, "n16" },
  {   5, "n24" },
  {   6, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumTx_Ports_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 64U, NULL, FALSE);

  return offset;
}


static const per_sequence_t CSI_MultiTRP_SupportedCombinations_r17_sequence[] = {
  { &hf_nr_rrc_maxNumTx_Ports_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumTx_Ports_r17 },
  { &hf_nr_rrc_maxTotalNumCMR_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_64 },
  { &hf_nr_rrc_maxTotalNumTx_PortsNZP_CSI_RS_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_MultiTRP_SupportedCombinations_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_MultiTRP_SupportedCombinations_r17, CSI_MultiTRP_SupportedCombinations_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17_sequence_of[1] = {
  { &hf_nr_rrc_supportedComboAcrossCCs_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_MultiTRP_SupportedCombinations_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17, SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17_sequence_of,
                                                  1, 16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_codebookMode_NCJT_r17_vals[] = {
  {   0, "mode1" },
  {   1, "mode1And2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_codebookMode_NCJT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mTRP_CSI_EnhancementPerBC_r17_sequence[] = {
  { &hf_nr_rrc_maxNumNZP_CSI_RS_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_8 },
  { &hf_nr_rrc_cSI_Report_mode_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cSI_Report_mode_r17 },
  { &hf_nr_rrc_supportedComboAcrossCCs_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17 },
  { &hf_nr_rrc_codebookMode_NCJT_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookMode_NCJT_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_CSI_EnhancementPerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_CSI_EnhancementPerBC_r17, T_mTRP_CSI_EnhancementPerBC_r17_sequence);

  return offset;
}


static const per_sequence_t T_nCJT_null_null_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_null_null_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_null_null_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_null_null_01, T_nCJT_null_null_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_null_null_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_null_null_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_null_null_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_null_null_01, T_nCJT1SP_null_null_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2_null_r16_01, T_nCJT_Type2_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2PS_null_r16_01, T_nCJT_Type2PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R1_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R1_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R1_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R1_null_r16_01, T_nCJT_eType2R1_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R2_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R2_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R2_null_r16_01, T_nCJT_eType2R2_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R1PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R1PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R1PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R1PS_null_r16_01, T_nCJT_eType2R1PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R2PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R2PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R2PS_null_r16_01, T_nCJT_eType2R2PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2_Type2PS_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2_Type2PS_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2_Type2PS_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2_Type2PS_r16_01, T_nCJT_Type2_Type2PS_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2_null_r16_01, T_nCJT1SP_Type2_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2PS_null_r16_01, T_nCJT1SP_Type2PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R1_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R1_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R1_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R1_null_r16_01, T_nCJT1SP_eType2R1_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R2_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R2_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R2_null_r16_01, T_nCJT1SP_eType2R2_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R1PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16_01, T_nCJT1SP_eType2R1PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R2PS_null_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16_01, T_nCJT1SP_eType2R2PS_null_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2_Type2PS_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16_01, T_nCJT1SP_Type2_Type2PS_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_feType2PS_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_feType2PS_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_feType2PS_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_feType2PS_null_r17_01, T_nCJT_feType2PS_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_feType2PS_M2R1_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17_01, T_nCJT_feType2PS_M2R1_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_feType2PS_M2R2_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17_01, T_nCJT_feType2PS_M2R2_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2_feType2_PS_M1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17_01, T_nCJT_Type2_feType2_PS_M1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2_feType2_PS_M2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17_01, T_nCJT_Type2_feType2_PS_M2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R1_feType2_PS_M1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17_01, T_nCJT_eType2R1_feType2_PS_M1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R1_feType2_PS_M2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17_01, T_nCJT_eType2R1_feType2_PS_M2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_feType2PS_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_feType2PS_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_feType2PS_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_feType2PS_null_r17_01, T_nCJT1SP_feType2PS_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_feType2PS_M2R1_null_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17_01, T_nCJT1SP_feType2PS_M2R1_null_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_feType2PS_M2R2_null_r1_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1_01, T_nCJT1SP_feType2PS_M2R2_null_r1_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2_feType2_PS_M1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17_01, T_nCJT1SP_Type2_feType2_PS_M1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01, T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01, T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01, T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t CodebookComboParameterMultiTRP_PerBC_r17_sequence[] = {
  { &hf_nr_rrc_nCJT_null_null_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_null_null_01 },
  { &hf_nr_rrc_nCJT1SP_null_null_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_null_null_01 },
  { &hf_nr_rrc_nCJT_Type2_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2_null_r16_01 },
  { &hf_nr_rrc_nCJT_Type2PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2PS_null_r16_01 },
  { &hf_nr_rrc_nCJT_eType2R1_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R1_null_r16_01 },
  { &hf_nr_rrc_nCJT_eType2R2_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R2_null_r16_01 },
  { &hf_nr_rrc_nCJT_eType2R1PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R1PS_null_r16_01 },
  { &hf_nr_rrc_nCJT_eType2R2PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R2PS_null_r16_01 },
  { &hf_nr_rrc_nCJT_Type2_Type2PS_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2_Type2PS_r16_01 },
  { &hf_nr_rrc_nCJT1SP_Type2_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2_null_r16_01 },
  { &hf_nr_rrc_nCJT1SP_Type2PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2PS_null_r16_01 },
  { &hf_nr_rrc_nCJT1SP_eType2R1_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R1_null_r16_01 },
  { &hf_nr_rrc_nCJT1SP_eType2R2_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R2_null_r16_01 },
  { &hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16_01 },
  { &hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16_01 },
  { &hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16_01 },
  { &hf_nr_rrc_nCJT_feType2PS_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_feType2PS_null_r17_01 },
  { &hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17_01 },
  { &hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17_01 },
  { &hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17_01 },
  { &hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17_01 },
  { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17_01 },
  { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17_01 },
  { &hf_nr_rrc_nCJT1SP_feType2PS_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_feType2PS_null_r17_01 },
  { &hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17_01 },
  { &hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1_01 },
  { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17_01 },
  { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01 },
  { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01 },
  { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookComboParameterMultiTRP_PerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookComboParameterMultiTRP_PerBC_r17, CodebookComboParameterMultiTRP_PerBC_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxCC_32_DL_HARQ_ProcessFR2_2_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n6" },
  {   5, "n8" },
  {   6, "n16" },
  {   7, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxCC_32_DL_HARQ_ProcessFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxCC_32_UL_HARQ_ProcessFR2_2_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n8" },
  {   6, "n16" },
  {   7, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxCC_32_UL_HARQ_ProcessFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs15kHz_15kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs15kHz_15kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs15kHz_30kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs15kHz_30kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs15kHz_60kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs15kHz_60kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_496(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, 496, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t T_supportedSCS_Combinations_r17_sequence[] = {
  { &hf_nr_rrc_scs15kHz_15kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs15kHz_15kHz_r17 },
  { &hf_nr_rrc_scs15kHz_30kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs15kHz_30kHz_r17 },
  { &hf_nr_rrc_scs15kHz_60kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs15kHz_60kHz_r17 },
  { &hf_nr_rrc_scs30kHz_30kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { &hf_nr_rrc_scs30kHz_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { &hf_nr_rrc_scs60kHz_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_supportedSCS_Combinations_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_supportedSCS_Combinations_r17, T_supportedSCS_Combinations_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_MonitoringOccasion_r17_vals[] = {
  {   0, "val1" },
  {   1, "val2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_MonitoringOccasion_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CrossCarrierSchedulingSCell_SpCell_r17_sequence[] = {
  { &hf_nr_rrc_supportedSCS_Combinations_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSCS_Combinations_r17 },
  { &hf_nr_rrc_pdcch_MonitoringOccasion_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pdcch_MonitoringOccasion_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CrossCarrierSchedulingSCell_SpCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CrossCarrierSchedulingSCell_SpCell_r17, CrossCarrierSchedulingSCell_SpCell_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_dci_FormatsPCellPSCellUSS_Sets_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_FormatsPCellPSCellUSS_Sets_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_disablingScalingFactorDeactSCell_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_disablingScalingFactorDeactSCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_disablingScalingFactorDormantSCell_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_disablingScalingFactorDormantSCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_non_AlignedFrameBoundaries_r17_sequence[] = {
  { &hf_nr_rrc_scs15kHz_15kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { &hf_nr_rrc_scs15kHz_30kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { &hf_nr_rrc_scs15kHz_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { &hf_nr_rrc_scs30kHz_30kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { &hf_nr_rrc_scs30kHz_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { &hf_nr_rrc_scs60kHz_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_496 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_non_AlignedFrameBoundaries_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_non_AlignedFrameBoundaries_r17, T_non_AlignedFrameBoundaries_r17_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1700_sequence[] = {
  { &hf_nr_rrc_codebookParametersfetype2PerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookParametersfetype2PerBC_r17 },
  { &hf_nr_rrc_demodulationEnhancementCA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_demodulationEnhancementCA_r17 },
  { &hf_nr_rrc_maxUplinkDutyCycle_interBandCA_PC2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_interBandCA_PC2_r17 },
  { &hf_nr_rrc_maxUplinkDutyCycle_SULcombination_PC2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_SULcombination_PC2_r17 },
  { &hf_nr_rrc_beamManagementType_CBM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamManagementType_CBM_r17 },
  { &hf_nr_rrc_parallelTxPUCCH_PUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelTxPUCCH_PUSCH_r17 },
  { &hf_nr_rrc_codebookComboParameterMixedTypePerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookComboParameterMixedTypePerBC_r17 },
  { &hf_nr_rrc_mTRP_CSI_EnhancementPerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_CSI_EnhancementPerBC_r17 },
  { &hf_nr_rrc_codebookComboParameterMultiTRP_PerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookComboParameterMultiTRP_PerBC_r17 },
  { &hf_nr_rrc_maxCC_32_DL_HARQ_ProcessFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxCC_32_DL_HARQ_ProcessFR2_2_r17 },
  { &hf_nr_rrc_maxCC_32_UL_HARQ_ProcessFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxCC_32_UL_HARQ_ProcessFR2_2_r17 },
  { &hf_nr_rrc_crossCarrierSchedulingSCell_SpCellTypeB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CrossCarrierSchedulingSCell_SpCell_r17 },
  { &hf_nr_rrc_crossCarrierSchedulingSCell_SpCellTypeA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CrossCarrierSchedulingSCell_SpCell_r17 },
  { &hf_nr_rrc_dci_FormatsPCellPSCellUSS_Sets_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_FormatsPCellPSCellUSS_Sets_r17 },
  { &hf_nr_rrc_disablingScalingFactorDeactSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_disablingScalingFactorDeactSCell_r17 },
  { &hf_nr_rrc_disablingScalingFactorDormantSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_disablingScalingFactorDormantSCell_r17 },
  { &hf_nr_rrc_non_AlignedFrameBoundaries_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_non_AlignedFrameBoundaries_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1700, CA_ParametersNR_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_simultaneousRxTx_IAB_MultipleParents_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousRxTx_IAB_MultipleParents_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condPSCellAdditionNRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condPSCellAdditionNRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scg_ActivationDeactivationNRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_ActivationDeactivationNRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scg_ActivationDeactivationResumeNRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_ActivationDeactivationResumeNRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_beamManagementType_CBM_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamManagementType_CBM_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v1700_sequence[] = {
  { &hf_nr_rrc_simultaneousRxTx_IAB_MultipleParents_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousRxTx_IAB_MultipleParents_r17 },
  { &hf_nr_rrc_condPSCellAdditionNRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condPSCellAdditionNRDC_r17 },
  { &hf_nr_rrc_scg_ActivationDeactivationNRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_ActivationDeactivationNRDC_r17 },
  { &hf_nr_rrc_scg_ActivationDeactivationResumeNRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_ActivationDeactivationResumeNRDC_r17 },
  { &hf_nr_rrc_beamManagementType_CBM_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamManagementType_CBM_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v1700, CA_ParametersNRDC_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_condPSCellAdditionENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condPSCellAdditionENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scg_ActivationDeactivationENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_ActivationDeactivationENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scg_ActivationDeactivationResumeENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_ActivationDeactivationResumeENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MRDC_Parameters_v1700_sequence[] = {
  { &hf_nr_rrc_condPSCellAdditionENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condPSCellAdditionENDC_r17 },
  { &hf_nr_rrc_scg_ActivationDeactivationENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_ActivationDeactivationENDC_r17 },
  { &hf_nr_rrc_scg_ActivationDeactivationResumeENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_ActivationDeactivationResumeENDC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MRDC_Parameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MRDC_Parameters_v1700, MRDC_Parameters_v1700_sequence);

  return offset;
}


static const per_sequence_t T_srs_AntennaSwitchingBeyond4RX_r17_sequence[] = {
  { &hf_nr_rrc_supportedSRS_TxPortSwitchBeyond4Rx_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_11 },
  { &hf_nr_rrc_entryNumberAffectBeyond4Rx_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_entryNumberSwitchBeyond4Rx_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_AntennaSwitchingBeyond4RX_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_AntennaSwitchingBeyond4RX_r17, T_srs_AntennaSwitchingBeyond4RX_r17_sequence);

  return offset;
}


static const per_sequence_t BandParameters_v1710_sequence[] = {
  { &hf_nr_rrc_srs_AntennaSwitchingBeyond4RX_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_AntennaSwitchingBeyond4RX_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandParameters_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandParameters_v1710, BandParameters_v1710_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710_sequence_of[1] = {
  { &hf_nr_rrc_bandList_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters_v1710 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_v1700_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1700 },
  { &hf_nr_rrc_ca_ParametersNRDC_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v1700 },
  { &hf_nr_rrc_mrdc_Parameters_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MRDC_Parameters_v1700 },
  { &hf_nr_rrc_bandList_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710 },
  { &hf_nr_rrc_supportedBandCombListPerBC_SL_RelayDiscovery_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb },
  { &hf_nr_rrc_supportedBandCombListPerBC_SL_NonRelayDiscovery_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1700, BandCombination_v1700_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1700_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1700 },
};

static int
dissect_nr_rrc_BandCombinationList_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1700, BandCombinationList_v1700_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_intraBand_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_intraBand_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_Group_r17_vals[] = {
  {   0, "primaryGroupOnly" },
  {   1, "secondaryGroupOnly" },
  {   2, "eitherPrimaryOrSecondaryGroup" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_Group_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1_FR1_NonSharedTDD_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_FR1_NonSharedTDD_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr2_FR2_NonSharedTDD_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr2_FR2_NonSharedTDD_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1_FR2_NonSharedTDD_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_FR2_NonSharedTDD_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PUCCH_Group_Config_r17_sequence[] = {
  { &hf_nr_rrc_fr1_FR1_NonSharedTDD_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1_FR1_NonSharedTDD_r17 },
  { &hf_nr_rrc_fr2_FR2_NonSharedTDD_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr2_FR2_NonSharedTDD_r17 },
  { &hf_nr_rrc_fr1_FR2_NonSharedTDD_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1_FR2_NonSharedTDD_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PUCCH_Group_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PUCCH_Group_Config_r17, PUCCH_Group_Config_r17_sequence);

  return offset;
}


static const per_sequence_t T_semiStaticPUCCH_CellSwitchSingleGroup_r17_sequence[] = {
  { &hf_nr_rrc_pucch_Group_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_Group_r17 },
  { &hf_nr_rrc_pucch_Group_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Group_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semiStaticPUCCH_CellSwitchSingleGroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semiStaticPUCCH_CellSwitchSingleGroup_r17, T_semiStaticPUCCH_CellSwitchSingleGroup_r17_sequence);

  return offset;
}


static const per_sequence_t TwoPUCCH_Grp_Configurations_r17_sequence[] = {
  { &hf_nr_rrc_primaryPUCCH_GroupConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Group_Config_r17 },
  { &hf_nr_rrc_secondaryPUCCH_GroupConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Group_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_TwoPUCCH_Grp_Configurations_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_TwoPUCCH_Grp_Configurations_r17, TwoPUCCH_Grp_Configurations_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17_sequence_of[1] = {
  { &hf_nr_rrc_semiStaticPUCCH_CellSwitchTwoGroups_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TwoPUCCH_Grp_Configurations_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17, SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17_sequence_of,
                                                  1, maxTwoPUCCH_Grp_ConfigList_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pucch_Group_r17_01_vals[] = {
  {   0, "primaryGroupOnly" },
  {   1, "secondaryGroupOnly" },
  {   2, "eitherPrimaryOrSecondaryGroup" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_Group_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17_sequence[] = {
  { &hf_nr_rrc_pucch_Group_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_Group_r17_01 },
  { &hf_nr_rrc_pucch_Group_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Group_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17, T_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_pucch_Group_r17_02_vals[] = {
  {   0, "primaryGroupOnly" },
  {   1, "secondaryGroupOnly" },
  {   2, "eitherPrimaryOrSecondaryGroup" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_Group_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17_sequence[] = {
  { &hf_nr_rrc_pucch_Group_r17_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_Group_r17_02 },
  { &hf_nr_rrc_pucch_Group_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Group_Config_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17, T_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ack_NACK_FeedbackForMulticast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ack_NACK_FeedbackForMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ptp_Retx_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ptp_Retx_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nack_OnlyFeedbackForMulticast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nack_OnlyFeedbackForMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nack_OnlyFeedbackSpecificResourceForMulticast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nack_OnlyFeedbackSpecificResourceForMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ack_NACK_FeedbackForSPS_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ack_NACK_FeedbackForSPS_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ptp_Retx_SPS_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ptp_Retx_SPS_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_higherPowerLimit_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_higherPowerLimit_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_4_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            4U, 16U, NULL, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionMCG_SCG_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionMCG_SCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionMCG_SCG_r17, PDCCH_BlindDetectionMCG_SCG_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17_sequence_of[1] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_SCG_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionMCG_SCG_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17, SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17_sequence_of,
                                                  1, maxNrofPdcch_BlindDetection_r17, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionCA_Mixed_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionCA_Mixed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionCA_Mixed_r17, PDCCH_BlindDetectionCA_Mixed_r17_sequence);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionCG_UE_Mixed_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed_r17, PDCCH_BlindDetectionCG_UE_Mixed_r17_sequence);

  return offset;
}


static const per_sequence_t T_pdcch_BlindDetectionCG_UE_Mixed_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_v17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed_r17 },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_v17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed_r17, T_pdcch_BlindDetectionCG_UE_Mixed_r17_sequence);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionMixed_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_BlindDetectionCA_Mixed_r17 },
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE_Mixed_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionMixed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionMixed_r17, PDCCH_BlindDetectionMixed_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17_sequence_of[1] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMixedList1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionMixed_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17, SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17_sequence_of,
                                                  1, maxNrofPdcch_BlindDetection_r17, FALSE);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionCA_Mixed1_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCA3_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionCA_Mixed1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionCA_Mixed1_r17, PDCCH_BlindDetectionCA_Mixed1_r17_sequence);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionCG_UE_Mixed1_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE3_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed1_r17, PDCCH_BlindDetectionCG_UE_Mixed1_r17_sequence);

  return offset;
}


static const per_sequence_t T_pdcch_BlindDetectionCG_UE_Mixed1_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed1_v17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed1_r17 },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed1_v17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed1_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed1_r17, T_pdcch_BlindDetectionCG_UE_Mixed1_r17_sequence);

  return offset;
}


static const per_sequence_t PDCCH_BlindDetectionMixed1_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_BlindDetectionCA_Mixed1_r17 },
  { &hf_nr_rrc_pdcch_BlindDetectionCG_UE_Mixed1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed1_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_BlindDetectionMixed1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_BlindDetectionMixed1_r17, PDCCH_BlindDetectionMixed1_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17_sequence_of[1] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMixedList3_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_BlindDetectionMixed1_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17, SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17_sequence_of,
                                                  1, maxNrofPdcch_BlindDetection_r17, FALSE);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1720_sequence[] = {
  { &hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH_intraBand_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_intraBand_r17 },
  { &hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17 },
  { &hf_nr_rrc_semiStaticPUCCH_CellSwitchSingleGroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiStaticPUCCH_CellSwitchSingleGroup_r17 },
  { &hf_nr_rrc_semiStaticPUCCH_CellSwitchTwoGroups_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17 },
  { &hf_nr_rrc_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17 },
  { &hf_nr_rrc_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17 },
  { &hf_nr_rrc_dynamicPUCCH_CellSwitchSameLengthTwoGroups_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17 },
  { &hf_nr_rrc_dynamicPUCCH_CellSwitchDiffLengthTwoGroups_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17 },
  { &hf_nr_rrc_ack_NACK_FeedbackForMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ack_NACK_FeedbackForMulticast_r17 },
  { &hf_nr_rrc_ptp_Retx_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ptp_Retx_Multicast_r17 },
  { &hf_nr_rrc_nack_OnlyFeedbackForMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nack_OnlyFeedbackForMulticast_r17 },
  { &hf_nr_rrc_nack_OnlyFeedbackSpecificResourceForMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nack_OnlyFeedbackSpecificResourceForMulticast_r17 },
  { &hf_nr_rrc_ack_NACK_FeedbackForSPS_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ack_NACK_FeedbackForSPS_Multicast_r17 },
  { &hf_nr_rrc_ptp_Retx_SPS_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ptp_Retx_SPS_Multicast_r17 },
  { &hf_nr_rrc_higherPowerLimit_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_higherPowerLimit_r17 },
  { &hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17 },
  { &hf_nr_rrc_pdcch_MonitoringCA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_4_16 },
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_SCG_List_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17 },
  { &hf_nr_rrc_pdcch_BlindDetectionMixedList1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17 },
  { &hf_nr_rrc_pdcch_BlindDetectionMixedList2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17 },
  { &hf_nr_rrc_pdcch_BlindDetectionMixedList3_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1720, CA_ParametersNR_v1720_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v1720_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1700 },
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v1720, CA_ParametersNRDC_v1720_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1720_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1720 },
  { &hf_nr_rrc_ca_ParametersNRDC_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1720, BandCombination_v1720_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1720_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1720_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1720 },
};

static int
dissect_nr_rrc_BandCombinationList_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1720, BandCombinationList_v1720_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUSCH_RepTypeAPerBC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingPUSCH_RepTypeAPerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUSCH_RepTypeBPerBC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingPUSCH_RepTypeBPerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUSCH_multiSlotPerBC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingPUSCH_multiSlotPerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUCCH_RepPerBC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingPUCCH_RepPerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingRestartPerBC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingRestartPerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingNonBackToBackTX_PerBC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingNonBackToBackTX_PerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_stayOnTargetCC_SRS_CarrierSwitch_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_stayOnTargetCC_SRS_CarrierSwitch_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mode1_ForType1_CodebookGeneration_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mode1_ForType1_CodebookGeneration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiPUCCH_ConfigForMulticast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiPUCCH_ConfigForMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_ConfigForSPS_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_ConfigForSPS_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mux_HARQ_ACK_UnicastMulticast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_HARQ_ACK_UnicastMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1730_sequence[] = {
  { &hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeAPerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUSCH_RepTypeAPerBC_r17 },
  { &hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeBPerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUSCH_RepTypeBPerBC_r17 },
  { &hf_nr_rrc_dmrs_BundlingPUSCH_multiSlotPerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUSCH_multiSlotPerBC_r17 },
  { &hf_nr_rrc_dmrs_BundlingPUCCH_RepPerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUCCH_RepPerBC_r17 },
  { &hf_nr_rrc_dmrs_BundlingRestartPerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingRestartPerBC_r17 },
  { &hf_nr_rrc_dmrs_BundlingNonBackToBackTX_PerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingNonBackToBackTX_PerBC_r17 },
  { &hf_nr_rrc_stayOnTargetCC_SRS_CarrierSwitch_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_stayOnTargetCC_SRS_CarrierSwitch_r17 },
  { &hf_nr_rrc_fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17 },
  { &hf_nr_rrc_mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17 },
  { &hf_nr_rrc_mode1_ForType1_CodebookGeneration_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mode1_ForType1_CodebookGeneration_r17 },
  { &hf_nr_rrc_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17 },
  { &hf_nr_rrc_multiPUCCH_ConfigForMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPUCCH_ConfigForMulticast_r17 },
  { &hf_nr_rrc_pucch_ConfigForSPS_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_ConfigForSPS_Multicast_r17 },
  { &hf_nr_rrc_maxNumberG_RNTI_HARQ_ACK_Codebook_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_mux_HARQ_ACK_UnicastMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_HARQ_ACK_UnicastMulticast_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1730, CA_ParametersNR_v1730_sequence);

  return offset;
}


static const per_sequence_t CA_ParametersNRDC_v1730_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_ForDC_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNRDC_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNRDC_v1730, CA_ParametersNRDC_v1730_sequence);

  return offset;
}



static int
dissect_nr_rrc_SRS_SwitchingAffectedBandsNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, maxSimultaneousBands, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17_sequence_of[1] = {
  { &hf_nr_rrc_srs_SwitchingAffectedBandsListNR_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_SwitchingAffectedBandsNR_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandParameters_v1730_sequence[] = {
  { &hf_nr_rrc_srs_SwitchingAffectedBandsListNR_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandParameters_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandParameters_v1730, BandParameters_v1730_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730_sequence_of[1] = {
  { &hf_nr_rrc_bandList_v1730_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters_v1730 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_v1730_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1730 },
  { &hf_nr_rrc_ca_ParametersNRDC_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNRDC_v1730 },
  { &hf_nr_rrc_bandList_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1730, BandCombination_v1730_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1730_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1730_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1730 },
};

static int
dissect_nr_rrc_BandCombinationList_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1730, BandCombinationList_v1730_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_nack_OnlyFeedbackForSPS_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nack_OnlyFeedbackForSPS_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_singlePUCCH_ConfigForMulticast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_singlePUCCH_ConfigForMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CA_ParametersNR_v1740_sequence[] = {
  { &hf_nr_rrc_nack_OnlyFeedbackForSPS_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nack_OnlyFeedbackForSPS_Multicast_r17 },
  { &hf_nr_rrc_singlePUCCH_ConfigForMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_singlePUCCH_ConfigForMulticast_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CA_ParametersNR_v1740(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CA_ParametersNR_v1740, CA_ParametersNR_v1740_sequence);

  return offset;
}


static const per_sequence_t BandCombination_v1740_sequence[] = {
  { &hf_nr_rrc_ca_ParametersNR_v1740, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_ParametersNR_v1740 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_v1740(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_v1740, BandCombination_v1740_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_v1740_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_v1740_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1740 },
};

static int
dissect_nr_rrc_BandCombinationList_v1740(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_v1740, BandCombinationList_v1740_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxSimultaneousBands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxSimultaneousBands, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitchingPeriod_r16_vals[] = {
  {   0, "n35us" },
  {   1, "n140us" },
  {   2, "n210us" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitchingPeriod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_1_maxSimultaneousBands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, maxSimultaneousBands, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t ULTxSwitchingBandPair_r16_sequence[] = {
  { &hf_nr_rrc_bandIndexUL1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSimultaneousBands },
  { &hf_nr_rrc_bandIndexUL2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSimultaneousBands },
  { &hf_nr_rrc_uplinkTxSwitchingPeriod_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkTxSwitchingPeriod_r16 },
  { &hf_nr_rrc_uplinkTxSwitching_DL_Interruption_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_maxSimultaneousBands },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULTxSwitchingBandPair_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULTxSwitchingBandPair_r16, ULTxSwitchingBandPair_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandPairListNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ULTxSwitchingBandPair_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16, SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16_sequence_of,
                                                  1, maxULTxSwitchingBandPairs, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitching_OptionSupport_r16_vals[] = {
  {   0, "switchedUL" },
  {   1, "dualUL" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitching_OptionSupport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitching_PowerBoosting_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitching_PowerBoosting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitching_PUSCH_TransCoherence_r16_vals[] = {
  {   0, "nonCoherent" },
  {   1, "fullCoherent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitching_PUSCH_TransCoherence_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_uplinkTxSwitching_PUSCH_TransCoherence_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitching_PUSCH_TransCoherence_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandCombination_UplinkTxSwitch_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_r16_sequence[] = {
  { &hf_nr_rrc_bandCombination_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination },
  { &hf_nr_rrc_bandCombination_v1540, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1540 },
  { &hf_nr_rrc_bandCombination_v1560, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1560 },
  { &hf_nr_rrc_bandCombination_v1570, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1570 },
  { &hf_nr_rrc_bandCombination_v1580, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1580 },
  { &hf_nr_rrc_bandCombination_v1590, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1590 },
  { &hf_nr_rrc_bandCombination_v1610, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1610 },
  { &hf_nr_rrc_supportedBandPairListNR_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16 },
  { &hf_nr_rrc_uplinkTxSwitching_OptionSupport_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitching_OptionSupport_r16 },
  { &hf_nr_rrc_uplinkTxSwitching_PowerBoosting_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitching_PowerBoosting_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_r16, BandCombination_UplinkTxSwitch_r16_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_r16_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_r16 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_r16, BandCombinationList_UplinkTxSwitch_r16_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1630_sequence[] = {
  { &hf_nr_rrc_bandCombination_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1630 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1630, BandCombination_UplinkTxSwitch_v1630_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1630_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1630 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630, BandCombinationList_UplinkTxSwitch_v1630_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1640_sequence[] = {
  { &hf_nr_rrc_bandCombination_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1640, BandCombination_UplinkTxSwitch_v1640_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1640_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1640 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640, BandCombinationList_UplinkTxSwitch_v1640_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1650_sequence[] = {
  { &hf_nr_rrc_bandCombination_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1650 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1650, BandCombination_UplinkTxSwitch_v1650_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1650_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1650_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1650 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1650, BandCombinationList_UplinkTxSwitch_v1650_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1670_sequence[] = {
  { &hf_nr_rrc_bandCombination_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v15g0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1670(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1670, BandCombination_UplinkTxSwitch_v1670_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1670_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1670 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670, BandCombinationList_UplinkTxSwitch_v1670_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1690_sequence[] = {
  { &hf_nr_rrc_bandCombination_v1690, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1690 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1690(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1690, BandCombination_UplinkTxSwitch_v1690_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1690_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1690_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1690 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1690(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1690, BandCombinationList_UplinkTxSwitch_v1690_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v16a0_sequence[] = {
  { &hf_nr_rrc_bandCombination_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v16a0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v16a0, BandCombination_UplinkTxSwitch_v16a0_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v16a0_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v16a0_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v16a0 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v16a0, BandCombinationList_UplinkTxSwitch_v16a0_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitchingPeriod2T2T_r17_vals[] = {
  {   0, "n35us" },
  {   1, "n140us" },
  {   2, "n210us" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitchingPeriod2T2T_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t ULTxSwitchingBandPair_v1700_sequence[] = {
  { &hf_nr_rrc_uplinkTxSwitchingPeriod2T2T_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitchingPeriod2T2T_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ULTxSwitchingBandPair_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ULTxSwitchingBandPair_v1700, ULTxSwitchingBandPair_v1700_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandPairListNR_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ULTxSwitchingBandPair_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700, SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700_sequence_of,
                                                  1, maxULTxSwitchingBandPairs, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17_vals[] = {
  {   0, "nonCoherent" },
  {   1, "fullCoherent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UplinkTxSwitchingBandParameters_v1700_sequence[] = {
  { &hf_nr_rrc_bandIndex_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSimultaneousBands },
  { &hf_nr_rrc_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UplinkTxSwitchingBandParameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UplinkTxSwitchingBandParameters_v1700, UplinkTxSwitchingBandParameters_v1700_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700_sequence_of[1] = {
  { &hf_nr_rrc_uplinkTxSwitchingBandParametersList_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxSwitchingBandParameters_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1700_sequence[] = {
  { &hf_nr_rrc_bandCombination_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1700 },
  { &hf_nr_rrc_supportedBandPairListNR_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700 },
  { &hf_nr_rrc_uplinkTxSwitchingBandParametersList_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1700, BandCombination_UplinkTxSwitch_v1700_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1700_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1700 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700, BandCombinationList_UplinkTxSwitch_v1700_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_uplinkTxSwitching_OptionSupport2T2T_r17_vals[] = {
  {   0, "switchedUL" },
  {   1, "dualUL" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkTxSwitching_OptionSupport2T2T_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1720_sequence[] = {
  { &hf_nr_rrc_bandCombination_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1720 },
  { &hf_nr_rrc_uplinkTxSwitching_OptionSupport2T2T_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkTxSwitching_OptionSupport2T2T_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1720, BandCombination_UplinkTxSwitch_v1720_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1720_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1720 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720, BandCombinationList_UplinkTxSwitch_v1720_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1730_sequence[] = {
  { &hf_nr_rrc_bandCombination_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1730, BandCombination_UplinkTxSwitch_v1730_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1730_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1730 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730, BandCombinationList_UplinkTxSwitch_v1730_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t BandCombination_UplinkTxSwitch_v1740_sequence[] = {
  { &hf_nr_rrc_bandCombination_v1740, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombination_v1740 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1740(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandCombination_UplinkTxSwitch_v1740, BandCombination_UplinkTxSwitch_v1740_sequence);

  return offset;
}


static const per_sequence_t BandCombinationList_UplinkTxSwitch_v1740_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_v1740 },
};

static int
dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740, BandCombinationList_UplinkTxSwitch_v1740_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_bandParametersSidelinkEUTRA1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *band_params_sl_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &band_params_sl_tvb);

  if (band_params_sl_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA1_r16);
    dissect_lte_rrc_V2X_BandParameters_r14_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_bandParametersSidelinkEUTRA2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *band_params_sl_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &band_params_sl_tvb);

  if (band_params_sl_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA2_r16);
    dissect_lte_rrc_V2X_BandParameters_v1530_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t T_eutra_02_sequence[] = {
  { &hf_nr_rrc_bandParametersSidelinkEUTRA1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandParametersSidelinkEUTRA1_r16 },
  { &hf_nr_rrc_bandParametersSidelinkEUTRA2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandParametersSidelinkEUTRA2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eutra_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eutra_02, T_eutra_02_sequence);

  return offset;
}


static const per_sequence_t BandParametersSidelink_r16_sequence[] = {
  { &hf_nr_rrc_freqBandSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandParametersSidelink_r16, BandParametersSidelink_r16_sequence);

  return offset;
}


static const per_sequence_t T_nr_02_sequence[] = {
  { &hf_nr_rrc_bandParametersSidelinkNR_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nr_02, T_nr_02_sequence);

  return offset;
}


static const value_string nr_rrc_BandParametersSidelinkEUTRA_NR_r16_vals[] = {
  {   0, "eutra" },
  {   1, "nr" },
  { 0, NULL }
};

static const per_choice_t BandParametersSidelinkEUTRA_NR_r16_choice[] = {
  {   0, &hf_nr_rrc_eutra_03     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_02 },
  {   1, &hf_nr_rrc_nr_03        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BandParametersSidelinkEUTRA_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BandParametersSidelinkEUTRA_NR_r16, BandParametersSidelinkEUTRA_NR_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BandCombinationParametersSidelinkEUTRA_NR_r16_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelinkEUTRA_NR_r16 },
};

static int
dissect_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16, BandCombinationParametersSidelinkEUTRA_NR_r16_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandCombinationListSidelinkEUTRA_NR_r16_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16 },
};

static int
dissect_nr_rrc_BandCombinationListSidelinkEUTRA_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_r16, BandCombinationListSidelinkEUTRA_NR_r16_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_tx_Sidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tx_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_Sidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_CrossCarrierScheduling_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_CrossCarrierScheduling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nr_03_sequence[] = {
  { &hf_nr_rrc_tx_Sidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tx_Sidelink_r16 },
  { &hf_nr_rrc_rx_Sidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_Sidelink_r16 },
  { &hf_nr_rrc_sl_CrossCarrierScheduling_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CrossCarrierScheduling_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nr_03, T_nr_03_sequence);

  return offset;
}


static const value_string nr_rrc_BandParametersSidelinkEUTRA_NR_v1630_vals[] = {
  {   0, "eutra" },
  {   1, "nr" },
  { 0, NULL }
};

static const per_choice_t BandParametersSidelinkEUTRA_NR_v1630_choice[] = {
  {   0, &hf_nr_rrc_eutra_04     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_nr_04        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_03 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BandParametersSidelinkEUTRA_NR_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BandParametersSidelinkEUTRA_NR_v1630, BandParametersSidelinkEUTRA_NR_v1630_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BandCombinationParametersSidelinkEUTRA_NR_v1630_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1630_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelinkEUTRA_NR_v1630 },
};

static int
dissect_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1630, BandCombinationParametersSidelinkEUTRA_NR_v1630_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandCombinationListSidelinkEUTRA_NR_v1630_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1630_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1630 },
};

static int
dissect_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1630, BandCombinationListSidelinkEUTRA_NR_v1630_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_TxProcessModeTwoSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_r17_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_30kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_r17, T_fr1_r17_sequence);

  return offset;
}


static const per_sequence_t T_fr2_r17_sequence[] = {
  { &hf_nr_rrc_scs_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_120kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_r17, T_fr2_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_vals[] = {
  {   0, "fr1-r17" },
  {   1, "fr2-r17" },
  { 0, NULL }
};

static const per_choice_t T_scs_CP_PatternTxSidelinkModeTwo_r17_choice[] = {
  {   0, &hf_nr_rrc_fr1_r17      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r17 },
  {   1, &hf_nr_rrc_fr2_r17      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17, T_scs_CP_PatternTxSidelinkModeTwo_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedCP_Mode2PartialSensing_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCP_Mode2PartialSensing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_openLoopPC_Sidelink_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_openLoopPC_Sidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_TransmissionMode2_PartialSensing_r17_sequence[] = {
  { &hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_harq_TxProcessModeTwoSidelink_r17 },
  { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17 },
  { &hf_nr_rrc_extendedCP_Mode2PartialSensing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedCP_Mode2PartialSensing_r17 },
  { &hf_nr_rrc_dl_openLoopPC_Sidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_openLoopPC_Sidelink_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17, T_sl_TransmissionMode2_PartialSensing_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_rx_sidelinkPSFCH_r17_vals[] = {
  {   0, "n5" },
  {   1, "n15" },
  {   2, "n25" },
  {   3, "n32" },
  {   4, "n35" },
  {   5, "n45" },
  {   6, "n50" },
  {   7, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_sidelinkPSFCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tx_IUC_Scheme2_Mode2Sidelink_r17_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tx_IUC_Scheme2_Mode2Sidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nr_04_sequence[] = {
  { &hf_nr_rrc_sl_TransmissionMode2_PartialSensing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17 },
  { &hf_nr_rrc_rx_sidelinkPSFCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_sidelinkPSFCH_r17 },
  { &hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17 },
  { &hf_nr_rrc_tx_IUC_Scheme2_Mode2Sidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tx_IUC_Scheme2_Mode2Sidelink_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nr_04, T_nr_04_sequence);

  return offset;
}


static const value_string nr_rrc_BandParametersSidelinkEUTRA_NR_v1710_vals[] = {
  {   0, "eutra" },
  {   1, "nr" },
  { 0, NULL }
};

static const per_choice_t BandParametersSidelinkEUTRA_NR_v1710_choice[] = {
  {   0, &hf_nr_rrc_eutra_04     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_nr_05        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_04 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_BandParametersSidelinkEUTRA_NR_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_BandParametersSidelinkEUTRA_NR_v1710, BandParametersSidelinkEUTRA_NR_v1710_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BandCombinationParametersSidelinkEUTRA_NR_v1710_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelinkEUTRA_NR_v1710 },
};

static int
dissect_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1710, BandCombinationParametersSidelinkEUTRA_NR_v1710_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandCombinationListSidelinkEUTRA_NR_v1710_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1710 },
};

static int
dissect_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1710, BandCombinationListSidelinkEUTRA_NR_v1710_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_CrossCarrierScheduling_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_CrossCarrierScheduling_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_01_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_r17_01_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_30kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_r17_01, T_fr1_r17_01_sequence);

  return offset;
}


static const per_sequence_t T_fr2_r17_01_sequence[] = {
  { &hf_nr_rrc_scs_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_120kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_r17_01, T_fr2_r17_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_01_vals[] = {
  {   0, "fr1-r17" },
  {   1, "fr2-r17" },
  { 0, NULL }
};

static const per_choice_t T_scs_CP_PatternTxSidelinkModeTwo_r17_01_choice[] = {
  {   0, &hf_nr_rrc_fr1_r17_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r17_01 },
  {   1, &hf_nr_rrc_fr2_r17_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r17_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_01, T_scs_CP_PatternTxSidelinkModeTwo_r17_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedCP_Mode2PartialSensing_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCP_Mode2PartialSensing_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_openLoopPC_Sidelink_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_openLoopPC_Sidelink_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_TransmissionMode2_PartialSensing_r17_01_sequence[] = {
  { &hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_01 },
  { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_01 },
  { &hf_nr_rrc_extendedCP_Mode2PartialSensing_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedCP_Mode2PartialSensing_r17_01 },
  { &hf_nr_rrc_dl_openLoopPC_Sidelink_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_openLoopPC_Sidelink_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17_01, T_sl_TransmissionMode2_PartialSensing_r17_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandParametersSidelinkDiscovery_r17_sequence[] = {
  { &hf_nr_rrc_sl_CrossCarrierScheduling_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CrossCarrierScheduling_r17 },
  { &hf_nr_rrc_sl_TransmissionMode2_PartialSensing_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17_01 },
  { &hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandParametersSidelinkDiscovery_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandParametersSidelinkDiscovery_r17, BandParametersSidelinkDiscovery_r17_sequence);

  return offset;
}


static const per_sequence_t BandCombinationListSL_Discovery_r17_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationListSL_Discovery_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelinkDiscovery_r17 },
};

static int
dissect_nr_rrc_BandCombinationListSL_Discovery_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationListSL_Discovery_r17, BandCombinationListSL_Discovery_r17_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const value_string nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CarrierAggregationVariant_sequence[] = {
  { &hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD },
  { &hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD },
  { &hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD },
  { &hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD },
  { &hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD },
  { &hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD },
  { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD },
  { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD },
  { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CarrierAggregationVariant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CarrierAggregationVariant, CarrierAggregationVariant_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberTxPortsPerResource_vals[] = {
  {   0, "p2" },
  {   1, "p4" },
  {   2, "p8" },
  {   3, "p12" },
  {   4, "p16" },
  {   5, "p24" },
  {   6, "p32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberTxPortsPerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SupportedCSI_RS_Resource_sequence[] = {
  { &hf_nr_rrc_maxNumberTxPortsPerResource, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource },
  { &hf_nr_rrc_maxNumberResourcesPerBand, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_totalNumberTxPortsPerBand, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SupportedCSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SupportedCSI_RS_Resource, SupportedCSI_RS_Resource_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedCSI_RS_Resource },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource_sequence_of,
                                                  1, maxNrofCSI_RS_Resources, FALSE);

  return offset;
}


static const value_string nr_rrc_T_modes_vals[] = {
  {   0, "mode1" },
  {   1, "mode1andMode2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_modes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_singlePanel_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource },
  { &hf_nr_rrc_modes        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_modes },
  { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_singlePanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_singlePanel, T_singlePanel_sequence);

  return offset;
}


static const value_string nr_rrc_T_modes_01_vals[] = {
  {   0, "mode1" },
  {   1, "mode2" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_modes_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nrofPanels_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nrofPanels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_multiPanel_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource },
  { &hf_nr_rrc_modes_01     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_modes_01 },
  { &hf_nr_rrc_nrofPanels   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPanels },
  { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_multiPanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_multiPanel, T_multiPanel_sequence);

  return offset;
}


static const per_sequence_t T_type1_04_sequence[] = {
  { &hf_nr_rrc_singlePanel  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_singlePanel },
  { &hf_nr_rrc_multiPanel   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPanel },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1_04, T_type1_04_sequence);

  return offset;
}


static const value_string nr_rrc_T_amplitudeScalingType_vals[] = {
  {   0, "wideband" },
  {   1, "widebandAndSubband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_amplitudeScalingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_amplitudeSubsetRestriction_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_amplitudeSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_type2_03_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource },
  { &hf_nr_rrc_parameterLx  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 },
  { &hf_nr_rrc_amplitudeScalingType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType },
  { &hf_nr_rrc_amplitudeSubsetRestriction, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_amplitudeSubsetRestriction },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type2_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type2_03, T_type2_03_sequence);

  return offset;
}


static const value_string nr_rrc_T_amplitudeScalingType_01_vals[] = {
  {   0, "wideband" },
  {   1, "widebandAndSubband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_amplitudeScalingType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_type2_PortSelection_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource },
  { &hf_nr_rrc_parameterLx  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 },
  { &hf_nr_rrc_amplitudeScalingType_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type2_PortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type2_PortSelection, T_type2_PortSelection_sequence);

  return offset;
}


static const per_sequence_t CodebookParameters_sequence[] = {
  { &hf_nr_rrc_type1_04     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_type1_04 },
  { &hf_nr_rrc_type2_03     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_03 },
  { &hf_nr_rrc_type2_PortSelection, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_PortSelection },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookParameters, CodebookParameters_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16, T_supportedCSI_RS_ResourceListAdd_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_etype2R1_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_etype2R1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_etype2R1_r16, T_etype2R1_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_01_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_01, T_supportedCSI_RS_ResourceListAdd_r16_01_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_etype2R2_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_etype2R2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_etype2R2_r16, T_etype2R2_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_paramComb7_8_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_paramComb7_8_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rank3_4_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rank3_4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_amplitudeSubsetRestriction_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_amplitudeSubsetRestriction_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_etype2_r16_sequence[] = {
  { &hf_nr_rrc_etype2R1_r16 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_etype2R1_r16 },
  { &hf_nr_rrc_etype2R2_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_etype2R2_r16 },
  { &hf_nr_rrc_paramComb7_8_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_paramComb7_8_r16 },
  { &hf_nr_rrc_rank3_4_r16  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rank3_4_r16 },
  { &hf_nr_rrc_amplitudeSubsetRestriction_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_amplitudeSubsetRestriction_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_etype2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_etype2_r16, T_etype2_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_02_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_02, T_supportedCSI_RS_ResourceListAdd_r16_02_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_etype2R1_PortSelection_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_etype2R1_PortSelection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_etype2R1_PortSelection_r16, T_etype2R1_PortSelection_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_03_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_03, T_supportedCSI_RS_ResourceListAdd_r16_03_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_etype2R2_PortSelection_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_etype2R2_PortSelection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_etype2R2_PortSelection_r16, T_etype2R2_PortSelection_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_rank3_4_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rank3_4_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_etype2_PS_r16_sequence[] = {
  { &hf_nr_rrc_etype2R1_PortSelection_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_etype2R1_PortSelection_r16 },
  { &hf_nr_rrc_etype2R2_PortSelection_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_etype2R2_PortSelection_r16 },
  { &hf_nr_rrc_rank3_4_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rank3_4_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_etype2_PS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_etype2_PS_r16, T_etype2_PS_r16_sequence);

  return offset;
}


static const per_sequence_t CodebookParametersAddition_r16_sequence[] = {
  { &hf_nr_rrc_etype2_r16   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_etype2_r16 },
  { &hf_nr_rrc_etype2_PS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_etype2_PS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookParametersAddition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookParametersAddition_r16, CodebookParametersAddition_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_04_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_04, T_supportedCSI_RS_ResourceListAdd_r16_04_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_04, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_04 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1SP_Type2_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1SP_Type2_null_r16, T_type1SP_Type2_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_05_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_05, T_supportedCSI_RS_ResourceListAdd_r16_05_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2PS_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_05, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_05 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1SP_Type2PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1SP_Type2PS_null_r16, T_type1SP_Type2PS_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_06_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_06, T_supportedCSI_RS_ResourceListAdd_r16_06_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R1_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_06, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_06 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1SP_eType2R1_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1SP_eType2R1_null_r16, T_type1SP_eType2R1_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_07_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_07, T_supportedCSI_RS_ResourceListAdd_r16_07_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R2_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_07, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_07 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1SP_eType2R2_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1SP_eType2R2_null_r16, T_type1SP_eType2R2_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_08_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_08, T_supportedCSI_RS_ResourceListAdd_r16_08_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R1PS_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_08, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_08 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1SP_eType2R1PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1SP_eType2R1PS_null_r16, T_type1SP_eType2R1PS_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_09_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_09, T_supportedCSI_RS_ResourceListAdd_r16_09_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R2PS_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_09, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_09 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1SP_eType2R2PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1SP_eType2R2PS_null_r16, T_type1SP_eType2R2PS_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_10_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_10, T_supportedCSI_RS_ResourceListAdd_r16_10_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2_Type2PS_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_10, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1SP_Type2_Type2PS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1SP_Type2_Type2PS_r16, T_type1SP_Type2_Type2PS_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_11_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_11, T_supportedCSI_RS_ResourceListAdd_r16_11_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_11, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1MP_Type2_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1MP_Type2_null_r16, T_type1MP_Type2_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_12_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_12, T_supportedCSI_RS_ResourceListAdd_r16_12_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2PS_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_12, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_12 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1MP_Type2PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1MP_Type2PS_null_r16, T_type1MP_Type2PS_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_13_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_13, T_supportedCSI_RS_ResourceListAdd_r16_13_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R1_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_13, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_13 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1MP_eType2R1_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1MP_eType2R1_null_r16, T_type1MP_eType2R1_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_14_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_14, T_supportedCSI_RS_ResourceListAdd_r16_14_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R2_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_14, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_14 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1MP_eType2R2_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1MP_eType2R2_null_r16, T_type1MP_eType2R2_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_15_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_15, T_supportedCSI_RS_ResourceListAdd_r16_15_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R1PS_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_15, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1MP_eType2R1PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1MP_eType2R1PS_null_r16, T_type1MP_eType2R1PS_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_16_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_16, T_supportedCSI_RS_ResourceListAdd_r16_16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R2PS_null_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1MP_eType2R2PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1MP_eType2R2PS_null_r16, T_type1MP_eType2R2PS_null_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedCSI_RS_ResourceListAdd_r16_17_sequence_of[1] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_17, T_supportedCSI_RS_ResourceListAdd_r16_17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2_Type2PS_r16_sequence[] = {
  { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_type1MP_Type2_Type2PS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_type1MP_Type2_Type2PS_r16, T_type1MP_Type2_Type2PS_r16_sequence);

  return offset;
}


static const per_sequence_t CodebookComboParametersAddition_r16_sequence[] = {
  { &hf_nr_rrc_type1SP_Type2_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2_null_r16 },
  { &hf_nr_rrc_type1SP_Type2PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2PS_null_r16 },
  { &hf_nr_rrc_type1SP_eType2R1_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R1_null_r16 },
  { &hf_nr_rrc_type1SP_eType2R2_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R2_null_r16 },
  { &hf_nr_rrc_type1SP_eType2R1PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R1PS_null_r16 },
  { &hf_nr_rrc_type1SP_eType2R2PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R2PS_null_r16 },
  { &hf_nr_rrc_type1SP_Type2_Type2PS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2_Type2PS_r16 },
  { &hf_nr_rrc_type1MP_Type2_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2_null_r16 },
  { &hf_nr_rrc_type1MP_Type2PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2PS_null_r16 },
  { &hf_nr_rrc_type1MP_eType2R1_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R1_null_r16 },
  { &hf_nr_rrc_type1MP_eType2R2_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R2_null_r16 },
  { &hf_nr_rrc_type1MP_eType2R1PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R1PS_null_r16 },
  { &hf_nr_rrc_type1MP_eType2R2PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R2PS_null_r16 },
  { &hf_nr_rrc_type1MP_Type2_Type2PS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2_Type2PS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookComboParametersAddition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookComboParametersAddition_r16, CodebookComboParametersAddition_r16_sequence);

  return offset;
}


static const per_sequence_t T_fetype2basic_r17_sequence_of[1] = {
  { &hf_nr_rrc_fetype2basic_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_fetype2basic_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_fetype2basic_r17, T_fetype2basic_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_fetype2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_fetype2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_fetype2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_fetype2R1_r17, T_fetype2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r17, FALSE);

  return offset;
}


static const per_sequence_t T_fetype2R2_r17_sequence_of[1] = {
  { &hf_nr_rrc_fetype2R2_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_fetype2R2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_fetype2R2_r17, T_fetype2R2_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_fetype2Rank3Rank4_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fetype2Rank3Rank4_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CodebookParametersfetype2_r17_sequence[] = {
  { &hf_nr_rrc_fetype2basic_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_fetype2basic_r17 },
  { &hf_nr_rrc_fetype2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fetype2R1_r17 },
  { &hf_nr_rrc_fetype2R2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fetype2R2_r17 },
  { &hf_nr_rrc_fetype2Rank3Rank4_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fetype2Rank3Rank4_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookParametersfetype2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookParametersfetype2_r17, CodebookParametersfetype2_r17_sequence);

  return offset;
}


static const per_sequence_t T_type1SP_feType2PS_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_feType2PS_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_feType2PS_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_feType2PS_null_r17, T_type1SP_feType2PS_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_feType2PS_M2R1_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17, T_type1SP_feType2PS_M2R1_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_feType2PS_M2R2_null_r1_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_feType2PS_M2R2_null_r1_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_feType2PS_M2R2_null_r1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_feType2PS_M2R2_null_r1, T_type1SP_feType2PS_M2R2_null_r1_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2_feType2_PS_M1_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17, T_type1SP_Type2_feType2_PS_M1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_Type2_feType2_PS_M2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17, T_type1SP_Type2_feType2_PS_M2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R1_feType2_PS_M1_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17, T_type1SP_eType2R1_feType2_PS_M1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1SP_eType2R1_feType2_PS_M2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17, T_type1SP_eType2R1_feType2_PS_M2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_feType2PS_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_feType2PS_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_feType2PS_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_feType2PS_null_r17, T_type1MP_feType2PS_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_feType2PS_M2R1_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17, T_type1MP_feType2PS_M2R1_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_feType2PS_M2R2_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17, T_type1MP_feType2PS_M2R2_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2_feType2_PS_M1_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17, T_type1MP_Type2_feType2_PS_M1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_Type2_feType2_PS_M2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17, T_type1MP_Type2_feType2_PS_M2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R1_feType2_PS_M1_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17, T_type1MP_eType2R1_feType2_PS_M1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_type1MP_eType2R1_feType2_PS_M2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17, T_type1MP_eType2R1_feType2_PS_M2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t CodebookComboParameterMixedType_r17_sequence[] = {
  { &hf_nr_rrc_type1SP_feType2PS_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_feType2PS_null_r17 },
  { &hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17 },
  { &hf_nr_rrc_type1SP_feType2PS_M2R2_null_r1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_feType2PS_M2R2_null_r1 },
  { &hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17 },
  { &hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17 },
  { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17 },
  { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17 },
  { &hf_nr_rrc_type1MP_feType2PS_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_feType2PS_null_r17 },
  { &hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17 },
  { &hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17 },
  { &hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17 },
  { &hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17 },
  { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17 },
  { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookComboParameterMixedType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookComboParameterMixedType_r17, CodebookComboParameterMixedType_r17_sequence);

  return offset;
}


static const per_sequence_t T_nCJT_null_null_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_null_null_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_null_null(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_null_null, T_nCJT_null_null_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_null_null_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_null_null_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_null_null(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_null_null, T_nCJT1SP_null_null_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2_null_r16, T_nCJT_Type2_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2PS_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2PS_null_r16, T_nCJT_Type2PS_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R1_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R1_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R1_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R1_null_r16, T_nCJT_eType2R1_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R2_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R2_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R2_null_r16, T_nCJT_eType2R2_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R1PS_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R1PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R1PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R1PS_null_r16, T_nCJT_eType2R1PS_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R2PS_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R2PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R2PS_null_r16, T_nCJT_eType2R2PS_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2_Type2PS_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2_Type2PS_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2_Type2PS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2_Type2PS_r16, T_nCJT_Type2_Type2PS_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2_null_r16, T_nCJT1SP_Type2_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2PS_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2PS_null_r16, T_nCJT1SP_Type2PS_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R1_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R1_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R1_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R1_null_r16, T_nCJT1SP_eType2R1_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R2_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R2_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R2_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R2_null_r16, T_nCJT1SP_eType2R2_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R1PS_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16, T_nCJT1SP_eType2R1PS_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R2PS_null_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16, T_nCJT1SP_eType2R2PS_null_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2_Type2PS_r16_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16, T_nCJT1SP_Type2_Type2PS_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_feType2PS_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_feType2PS_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_feType2PS_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_feType2PS_null_r17, T_nCJT_feType2PS_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_feType2PS_M2R1_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17, T_nCJT_feType2PS_M2R1_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_feType2PS_M2R2_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17, T_nCJT_feType2PS_M2R2_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2_feType2_PS_M1_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17, T_nCJT_Type2_feType2_PS_M1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_Type2_feType2_PS_M2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17, T_nCJT_Type2_feType2_PS_M2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R1_feType2_PS_M1_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17, T_nCJT_eType2R1_feType2_PS_M1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT_eType2R1_feType2_PS_M2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17, T_nCJT_eType2R1_feType2_PS_M2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_feType2PS_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_feType2PS_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_feType2PS_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_feType2PS_null_r17, T_nCJT1SP_feType2PS_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_feType2PS_M2R1_null_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17, T_nCJT1SP_feType2PS_M2R1_null_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_feType2PS_M2R2_null_r1_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1, T_nCJT1SP_feType2PS_M2R2_null_r1_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2_feType2_PS_M1_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17, T_nCJT1SP_Type2_feType2_PS_M1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_Type2_feType2_PS_M2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17, T_nCJT1SP_Type2_feType2_PS_M2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R1_feType2_PS_M1_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17, T_nCJT1SP_eType2R1_feType2_PS_M1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_sequence_of[1] = {
  { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 },
};

static int
dissect_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17, T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesExt_r16, FALSE);

  return offset;
}


static const per_sequence_t CodebookComboParameterMultiTRP_r17_sequence[] = {
  { &hf_nr_rrc_nCJT_null_null, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_null_null },
  { &hf_nr_rrc_nCJT1SP_null_null, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_null_null },
  { &hf_nr_rrc_nCJT_Type2_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2_null_r16 },
  { &hf_nr_rrc_nCJT_Type2PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2PS_null_r16 },
  { &hf_nr_rrc_nCJT_eType2R1_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R1_null_r16 },
  { &hf_nr_rrc_nCJT_eType2R2_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R2_null_r16 },
  { &hf_nr_rrc_nCJT_eType2R1PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R1PS_null_r16 },
  { &hf_nr_rrc_nCJT_eType2R2PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R2PS_null_r16 },
  { &hf_nr_rrc_nCJT_Type2_Type2PS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2_Type2PS_r16 },
  { &hf_nr_rrc_nCJT1SP_Type2_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2_null_r16 },
  { &hf_nr_rrc_nCJT1SP_Type2PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2PS_null_r16 },
  { &hf_nr_rrc_nCJT1SP_eType2R1_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R1_null_r16 },
  { &hf_nr_rrc_nCJT1SP_eType2R2_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R2_null_r16 },
  { &hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16 },
  { &hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16 },
  { &hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16 },
  { &hf_nr_rrc_nCJT_feType2PS_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_feType2PS_null_r17 },
  { &hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17 },
  { &hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17 },
  { &hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17 },
  { &hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17 },
  { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17 },
  { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17 },
  { &hf_nr_rrc_nCJT1SP_feType2PS_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_feType2PS_null_r17 },
  { &hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17 },
  { &hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1 },
  { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17 },
  { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17 },
  { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17 },
  { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CodebookComboParameterMultiTRP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CodebookComboParameterMultiTRP_r17, CodebookComboParameterMultiTRP_r17_sequence);

  return offset;
}


static const per_sequence_t CodebookVariantsList_r16_sequence_of[1] = {
  { &hf_nr_rrc_CodebookVariantsList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedCSI_RS_Resource },
};

static int
dissect_nr_rrc_CodebookVariantsList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_CodebookVariantsList_r16, CodebookVariantsList_r16_sequence_of,
                                                  1, maxNrofCSI_RS_ResourcesAlt_r16, FALSE);

  return offset;
}



static int
dissect_nr_rrc_FeatureSetEUTRA_DownlinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxEUTRA_DL_FeatureSets, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_FeatureSetEUTRA_UplinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxEUTRA_UL_FeatureSets, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_eutra_03_sequence[] = {
  { &hf_nr_rrc_downlinkSetEUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEUTRA_DownlinkId },
  { &hf_nr_rrc_uplinkSetEUTRA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEUTRA_UplinkId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_eutra_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_eutra_03, T_eutra_03_sequence);

  return offset;
}



static int
dissect_nr_rrc_FeatureSetDownlinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxDownlinkFeatureSets, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_FeatureSetUplinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxUplinkFeatureSets, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_nr_05_sequence[] = {
  { &hf_nr_rrc_downlinkSetNR, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkId },
  { &hf_nr_rrc_uplinkSetNR  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkId },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nr_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nr_05, T_nr_05_sequence);

  return offset;
}


static const value_string nr_rrc_FeatureSet_vals[] = {
  {   0, "eutra" },
  {   1, "nr" },
  { 0, NULL }
};

static const per_choice_t FeatureSet_choice[] = {
  {   0, &hf_nr_rrc_eutra_05     , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_eutra_03 },
  {   1, &hf_nr_rrc_nr_06        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_nr_05 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_FeatureSet, FeatureSet_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t FeatureSetsPerBand_sequence_of[1] = {
  { &hf_nr_rrc_FeatureSetsPerBand_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSet },
};

static int
dissect_nr_rrc_FeatureSetsPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FeatureSetsPerBand, FeatureSetsPerBand_sequence_of,
                                                  1, maxFeatureSetsPerBand, FALSE);

  return offset;
}


static const per_sequence_t FeatureSetCombination_sequence_of[1] = {
  { &hf_nr_rrc_FeatureSetCombination_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetsPerBand },
};

static int
dissect_nr_rrc_FeatureSetCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FeatureSetCombination, FeatureSetCombination_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id_sequence_of[1] = {
  { &hf_nr_rrc_featureSetListPerDownlinkCC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC_Id },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id, SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const value_string nr_rrc_FreqSeparationClass_vals[] = {
  {   0, "mhz800" },
  {   1, "mhz1200" },
  {   2, "mhz1400" },
  {   3, "mhz400-v1650" },
  {   4, "mhz600-v1650" },
  { 0, NULL }
};


static int
dissect_nr_rrc_FreqSeparationClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, TRUE, 2, NULL);

  return offset;
}


static const value_string nr_rrc_T_scalingFactor_vals[] = {
  {   0, "f0p4" },
  {   1, "f0p75" },
  {   2, "f0p8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scalingFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy8_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scellWithoutSSB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_dummy1_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_dummy1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type1_3_CSS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_3_CSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcch_MonitoringAnyOccasions_vals[] = {
  {   0, "withoutDCI-Gap" },
  {   1, "withDCI-Gap" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_MonitoringAnyOccasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_dummy2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_dummy2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_SpecificUL_DL_Assignment_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_searchSpaceSharingCA_DL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_searchSpaceSharingCA_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_timeDurationForQCL_scs_60kHz_vals[] = {
  {   0, "s7" },
  {   1, "s14" },
  {   2, "s28" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_timeDurationForQCL_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_timeDurationForQCL_scs_120kHz_vals[] = {
  {   0, "s14" },
  {   1, "s28" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_timeDurationForQCL_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_timeDurationForQCL_sequence[] = {
  { &hf_nr_rrc_featureSetDownlink_timeDurationForQCL_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_timeDurationForQCL_scs_60kHz },
  { &hf_nr_rrc_featureSetDownlink_timeDurationForQCL_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_timeDurationForQCL_scs_120kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_timeDurationForQCL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_timeDurationForQCL, T_timeDurationForQCL_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  {   2, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  {   2, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_60kHz_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  {   2, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  {   2, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pdsch_ProcessingType1_DifferentTB_PerSlot_sequence[] = {
  { &hf_nr_rrc_scs_15kHz    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz },
  { &hf_nr_rrc_scs_30kHz    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz },
  { &hf_nr_rrc_scs_60kHz    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_60kHz },
  { &hf_nr_rrc_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot, T_pdsch_ProcessingType1_DifferentTB_PerSlot_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals[] = {
  {   0, "p2" },
  {   1, "p4" },
  {   2, "p8" },
  {   3, "p12" },
  {   4, "p16" },
  {   5, "p24" },
  {   6, "p32" },
  {   7, "p40" },
  {   8, "p48" },
  {   9, "p56" },
  {  10, "p64" },
  {  11, "p72" },
  {  12, "p80" },
  {  13, "p88" },
  {  14, "p96" },
  {  15, "p104" },
  {  16, "p112" },
  {  17, "p120" },
  {  18, "p128" },
  {  19, "p136" },
  {  20, "p144" },
  {  21, "p152" },
  {  22, "p160" },
  {  23, "p168" },
  {  24, "p176" },
  {  25, "p184" },
  {  26, "p192" },
  {  27, "p200" },
  {  28, "p208" },
  {  29, "p216" },
  {  30, "p224" },
  {  31, "p232" },
  {  32, "p240" },
  {  33, "p248" },
  {  34, "p256" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals);


static int
dissect_nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     35, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCS_IM_PerCC_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCS_IM_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals[] = {
  {   0, "n5" },
  {   1, "n6" },
  {   2, "n7" },
  {   3, "n8" },
  {   4, "n9" },
  {   5, "n10" },
  {   6, "n12" },
  {   7, "n14" },
  {   8, "n16" },
  {   9, "n18" },
  {  10, "n20" },
  {  11, "n22" },
  {  12, "n24" },
  {  13, "n26" },
  {  14, "n28" },
  {  15, "n30" },
  {  16, "n32" },
  {  17, "n34" },
  {  18, "n36" },
  {  19, "n38" },
  {  20, "n40" },
  {  21, "n42" },
  {  22, "n44" },
  {  23, "n46" },
  {  24, "n48" },
  {  25, "n50" },
  {  26, "n52" },
  {  27, "n54" },
  {  28, "n56" },
  {  29, "n58" },
  {  30, "n60" },
  {  31, "n62" },
  {  32, "n64" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals);


static int
dissect_nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     33, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals[] = {
  {   0, "p8" },
  {   1, "p12" },
  {   2, "p16" },
  {   3, "p24" },
  {   4, "p32" },
  {   5, "p40" },
  {   6, "p48" },
  {   7, "p56" },
  {   8, "p64" },
  {   9, "p72" },
  {  10, "p80" },
  {  11, "p88" },
  {  12, "p96" },
  {  13, "p104" },
  {  14, "p112" },
  {  15, "p120" },
  {  16, "p128" },
  {  17, "p136" },
  {  18, "p144" },
  {  19, "p152" },
  {  20, "p160" },
  {  21, "p168" },
  {  22, "p176" },
  {  23, "p184" },
  {  24, "p192" },
  {  25, "p200" },
  {  26, "p208" },
  {  27, "p216" },
  {  28, "p224" },
  {  29, "p232" },
  {  30, "p240" },
  {  31, "p248" },
  {  32, "p256" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals);


static int
dissect_nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     33, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DummyA_sequence[] = {
  { &hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC },
  { &hf_nr_rrc_maxNumberCS_IM_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCS_IM_PerCC },
  { &hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC },
  { &hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyA, DummyA_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberTxPortsPerResource_01_vals[] = {
  {   0, "p2" },
  {   1, "p4" },
  {   2, "p8" },
  {   3, "p12" },
  {   4, "p16" },
  {   5, "p24" },
  {   6, "p32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberTxPortsPerResource_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedCodebookMode_vals[] = {
  {   0, "mode1" },
  {   1, "mode1AndMode2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedCodebookMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DummyB_sequence[] = {
  { &hf_nr_rrc_maxNumberTxPortsPerResource_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_01 },
  { &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
  { &hf_nr_rrc_supportedCodebookMode, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCodebookMode },
  { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyB, DummyB_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB_sequence_of[1] = {
  { &hf_nr_rrc_featureSetDownlink_dummy4_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyB },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB_sequence_of,
                                                  1, maxNrofCodebooks, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxNumberTxPortsPerResource_02_vals[] = {
  {   0, "p8" },
  {   1, "p16" },
  {   2, "p32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberTxPortsPerResource_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedCodebookMode_01_vals[] = {
  {   0, "mode1" },
  {   1, "mode2" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedCodebookMode_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedNumberPanels_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedNumberPanels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DummyC_sequence[] = {
  { &hf_nr_rrc_maxNumberTxPortsPerResource_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_02 },
  { &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
  { &hf_nr_rrc_supportedCodebookMode_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCodebookMode_01 },
  { &hf_nr_rrc_supportedNumberPanels, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedNumberPanels },
  { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyC, DummyC_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC_sequence_of[1] = {
  { &hf_nr_rrc_featureSetDownlink_dummy5_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyC },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC_sequence_of,
                                                  1, maxNrofCodebooks, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxNumberTxPortsPerResource_03_vals[] = {
  {   0, "p4" },
  {   1, "p8" },
  {   2, "p12" },
  {   3, "p16" },
  {   4, "p24" },
  {   5, "p32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberTxPortsPerResource_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_amplitudeScalingType_02_vals[] = {
  {   0, "wideband" },
  {   1, "widebandAndSubband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_amplitudeScalingType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_amplitudeSubsetRestriction_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_amplitudeSubsetRestriction_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DummyD_sequence[] = {
  { &hf_nr_rrc_maxNumberTxPortsPerResource_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_03 },
  { &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
  { &hf_nr_rrc_parameterLx  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 },
  { &hf_nr_rrc_amplitudeScalingType_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType_02 },
  { &hf_nr_rrc_amplitudeSubsetRestriction_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_amplitudeSubsetRestriction_01 },
  { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyD, DummyD_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD_sequence_of[1] = {
  { &hf_nr_rrc_featureSetDownlink_dummy6_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyD },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD_sequence_of,
                                                  1, maxNrofCodebooks, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxNumberTxPortsPerResource_04_vals[] = {
  {   0, "p4" },
  {   1, "p8" },
  {   2, "p12" },
  {   3, "p16" },
  {   4, "p24" },
  {   5, "p32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberTxPortsPerResource_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_amplitudeScalingType_03_vals[] = {
  {   0, "wideband" },
  {   1, "widebandAndSubband" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_amplitudeScalingType_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DummyE_sequence[] = {
  { &hf_nr_rrc_maxNumberTxPortsPerResource_04, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_04 },
  { &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
  { &hf_nr_rrc_parameterLx  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 },
  { &hf_nr_rrc_amplitudeScalingType_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType_03 },
  { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyE, DummyE_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE_sequence_of[1] = {
  { &hf_nr_rrc_dummy7_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyE },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE_sequence_of,
                                                  1, maxNrofCodebooks, FALSE);

  return offset;
}


static const per_sequence_t FeatureSetDownlink_sequence[] = {
  { &hf_nr_rrc_featureSetListPerDownlinkCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id },
  { &hf_nr_rrc_intraBandFreqSeparationDL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqSeparationClass },
  { &hf_nr_rrc_scalingFactor, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scalingFactor },
  { &hf_nr_rrc_dummy8       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy8 },
  { &hf_nr_rrc_scellWithoutSSB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scellWithoutSSB },
  { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB },
  { &hf_nr_rrc_featureSetDownlink_dummy1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_dummy1 },
  { &hf_nr_rrc_type1_3_CSS  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_3_CSS },
  { &hf_nr_rrc_pdcch_MonitoringAnyOccasions, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_MonitoringAnyOccasions },
  { &hf_nr_rrc_featureSetDownlink_dummy2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_dummy2 },
  { &hf_nr_rrc_ue_SpecificUL_DL_Assignment, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment },
  { &hf_nr_rrc_searchSpaceSharingCA_DL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceSharingCA_DL },
  { &hf_nr_rrc_timeDurationForQCL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeDurationForQCL },
  { &hf_nr_rrc_pdsch_ProcessingType1_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot },
  { &hf_nr_rrc_featureSetDownlink_dummy3, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DummyA },
  { &hf_nr_rrc_featureSetDownlink_dummy4, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB },
  { &hf_nr_rrc_featureSetDownlink_dummy5, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC },
  { &hf_nr_rrc_featureSetDownlink_dummy6, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD },
  { &hf_nr_rrc_dummy7       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlink, FeatureSetDownlink_sequence);

  return offset;
}


static const value_string nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_DL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_additionalDMRS_DL_Alt_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_additionalDMRS_DL_Alt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_DL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_DL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  {   2, "set3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_01_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  {   2, "set3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_60kHz_01_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  {   2, "set3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_60kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  {   2, "set3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pdcch_MonitoringAnyOccasionsWithSpanGap_sequence[] = {
  { &hf_nr_rrc_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz },
  { &hf_nr_rrc_scs_30kHz_01 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_01 },
  { &hf_nr_rrc_scs_60kHz_01 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_60kHz_01 },
  { &hf_nr_rrc_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap, T_pdcch_MonitoringAnyOccasionsWithSpanGap_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdsch_SeparationWithGap_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_SeparationWithGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fallback_vals[] = {
  {   0, "sc" },
  {   1, "cap1-only" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fallback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_NumberOfCarriers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_differentTB_PerSlot_sequence[] = {
  { &hf_nr_rrc_upto1        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NumberOfCarriers },
  { &hf_nr_rrc_upto2        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NumberOfCarriers },
  { &hf_nr_rrc_upto4        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NumberOfCarriers },
  { &hf_nr_rrc_upto7        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NumberOfCarriers },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_differentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_differentTB_PerSlot, T_differentTB_PerSlot_sequence);

  return offset;
}


static const per_sequence_t ProcessingParameters_sequence[] = {
  { &hf_nr_rrc_fallback     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_fallback },
  { &hf_nr_rrc_differentTB_PerSlot, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_differentTB_PerSlot },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_ProcessingParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_ProcessingParameters, ProcessingParameters_sequence);

  return offset;
}


static const per_sequence_t T_pdsch_ProcessingType2_sequence[] = {
  { &hf_nr_rrc_featureSetDownlink_v1540_pdsch_ProcessingType2_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ProcessingParameters },
  { &hf_nr_rrc_scs_30kHz_02 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ProcessingParameters },
  { &hf_nr_rrc_featureSetDownlink_v1540_pdsch_ProcessingType2_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ProcessingParameters },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_ProcessingType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdsch_ProcessingType2, T_pdsch_ProcessingType2_sequence);

  return offset;
}


static const value_string nr_rrc_T_differentTB_PerSlot_SCS_30kHz_vals[] = {
  {   0, "upto1" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_differentTB_PerSlot_SCS_30kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pdsch_ProcessingType2_Limited_sequence[] = {
  { &hf_nr_rrc_differentTB_PerSlot_SCS_30kHz, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_differentTB_PerSlot_SCS_30kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_ProcessingType2_Limited(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdsch_ProcessingType2_Limited, T_pdsch_ProcessingType2_Limited_sequence);

  return offset;
}


static const value_string nr_rrc_T_dl_MCS_TableAlt_DynamicIndication_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_MCS_TableAlt_DynamicIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetDownlink_v1540_sequence[] = {
  { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_DL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_DL },
  { &hf_nr_rrc_additionalDMRS_DL_Alt, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_additionalDMRS_DL_Alt },
  { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_DL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_DL },
  { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_DL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_DL },
  { &hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap },
  { &hf_nr_rrc_pdsch_SeparationWithGap, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_SeparationWithGap },
  { &hf_nr_rrc_pdsch_ProcessingType2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_ProcessingType2 },
  { &hf_nr_rrc_pdsch_ProcessingType2_Limited, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_ProcessingType2_Limited },
  { &hf_nr_rrc_dl_MCS_TableAlt_DynamicIndication, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_MCS_TableAlt_DynamicIndication },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlink_v1540, FeatureSetDownlink_v1540_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 6U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_Ports_PerResource_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_Resources_sequence[] = {
  { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP },
  { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 },
  { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP },
  { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 },
  { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP },
  { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 },
  { &hf_nr_rrc_maxNumberSRS_Ports_PerResource, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_Resources, SRS_Resources_sequence);

  return offset;
}


static const per_sequence_t FeatureSetDownlink_v15a0_sequence[] = {
  { &hf_nr_rrc_supportedSRS_Resources, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_Resources },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlink_v15a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlink_v15a0, FeatureSetDownlink_v15a0_sequence);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16_vals[] = {
  {   0, "one" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16_vals[] = {
  {   0, "one" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16_vals[] = {
  {   0, "one" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16_vals[] = {
  {   0, "one" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_sequence[] = {
  { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16 },
  { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16 },
  { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16 },
  { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16, T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16_vals[] = {
  {   0, "one" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16_vals[] = {
  {   0, "one" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16_vals[] = {
  {   0, "one" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16_vals[] = {
  {   0, "one" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_sequence[] = {
  { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16 },
  { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16 },
  { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16 },
  { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16, T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_intraFreqDiffSCS_DAPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraFreqDiffSCS_DAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraFreqAsyncDAPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraFreqAsyncDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_intraFreqDAPS_r16_sequence[] = {
  { &hf_nr_rrc_intraFreqDiffSCS_DAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFreqDiffSCS_DAPS_r16 },
  { &hf_nr_rrc_intraFreqAsyncDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFreqAsyncDAPS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_intraFreqDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_intraFreqDAPS_r16, T_intraFreqDAPS_r16_sequence);

  return offset;
}


static const value_string nr_rrc_FreqSeparationClassDL_v1620_vals[] = {
  {   0, "mhz1000" },
  {   1, "mhz1600" },
  {   2, "mhz1800" },
  {   3, "mhz2000" },
  {   4, "mhz2200" },
  {   5, "mhz2400" },
  { 0, NULL }
};


static int
dissect_nr_rrc_FreqSeparationClassDL_v1620(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_FreqSeparationClassDL_Only_r16_vals[] = {
  {   0, "mhz200" },
  {   1, "mhz400" },
  {   2, "mhz600" },
  {   3, "mhz800" },
  {   4, "mhz1000" },
  {   5, "mhz1200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_FreqSeparationClassDL_Only_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_period7span3_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_period7span3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_period4span3_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_period4span3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_period2span2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_period2span2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCCH_MonitoringOccasions_r16_sequence[] = {
  { &hf_nr_rrc_period7span3_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_period7span3_r16 },
  { &hf_nr_rrc_period4span3_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_period4span3_r16 },
  { &hf_nr_rrc_period2span2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_period2span2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_MonitoringOccasions_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_MonitoringOccasions_r16, PDCCH_MonitoringOccasions_r16_sequence);

  return offset;
}


static const per_sequence_t T_pdsch_ProcessingType1_r16_sequence[] = {
  { &hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType1_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_MonitoringOccasions_r16 },
  { &hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType1_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_MonitoringOccasions_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_ProcessingType1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdsch_ProcessingType1_r16, T_pdsch_ProcessingType1_r16_sequence);

  return offset;
}


static const per_sequence_t T_pdsch_ProcessingType2_r16_sequence[] = {
  { &hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType2_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_MonitoringOccasions_r16 },
  { &hf_nr_rrc_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_MonitoringOccasions_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdsch_ProcessingType2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdsch_ProcessingType2_r16, T_pdsch_ProcessingType2_r16_sequence);

  return offset;
}


static const per_sequence_t T_pdcch_Monitoring_r16_sequence[] = {
  { &hf_nr_rrc_pdsch_ProcessingType1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_ProcessingType1_r16 },
  { &hf_nr_rrc_pdsch_ProcessingType2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_ProcessingType2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_Monitoring_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_Monitoring_r16, T_pdcch_Monitoring_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_MonitoringMixed_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_MonitoringMixed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_120kHz_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_60kHz_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_120kHz_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_30kHz_r16_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_60kHz_r16_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_60kHz_120kHz_r16_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_60kHz_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_crossCarrierSchedulingProcessing_DiffSCS_r16_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_120kHz_r16 },
  { &hf_nr_rrc_scs_15kHz_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_60kHz_r16 },
  { &hf_nr_rrc_scs_30kHz_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_120kHz_r16 },
  { &hf_nr_rrc_scs_15kHz_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_30kHz_r16 },
  { &hf_nr_rrc_scs_30kHz_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_60kHz_r16 },
  { &hf_nr_rrc_scs_60kHz_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_60kHz_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16, T_crossCarrierSchedulingProcessing_DiffSCS_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_singleDCI_SDM_scheme_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_singleDCI_SDM_scheme_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetDownlink_v1610_sequence[] = {
  { &hf_nr_rrc_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16 },
  { &hf_nr_rrc_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16 },
  { &hf_nr_rrc_intraFreqDAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFreqDAPS_r16 },
  { &hf_nr_rrc_intraBandFreqSeparationDL_v1620, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqSeparationClassDL_v1620 },
  { &hf_nr_rrc_intraBandFreqSeparationDL_Only_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqSeparationClassDL_Only_r16 },
  { &hf_nr_rrc_pdcch_Monitoring_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_Monitoring_r16 },
  { &hf_nr_rrc_pdcch_MonitoringMixed_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_MonitoringMixed_r16 },
  { &hf_nr_rrc_crossCarrierSchedulingProcessing_DiffSCS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16 },
  { &hf_nr_rrc_singleDCI_SDM_scheme_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_singleDCI_SDM_scheme_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlink_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlink_v1610, FeatureSetDownlink_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_scalingFactor_1024QAM_FR1_r17_vals[] = {
  {   0, "f0p4" },
  {   1, "f0p75" },
  {   2, "f0p8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scalingFactor_1024QAM_FR1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_480kHz_vals[] = {
  {   0, "s56" },
  {   1, "s112" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_480kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_960kHz_vals[] = {
  {   0, "s112" },
  {   1, "s224" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_960kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_timeDurationForQCL_v1710_sequence[] = {
  { &hf_nr_rrc_scs_480kHz   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_480kHz },
  { &hf_nr_rrc_scs_960kHz   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_960kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_timeDurationForQCL_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_timeDurationForQCL_v1710, T_timeDurationForQCL_v1710_sequence);

  return offset;
}


static const value_string nr_rrc_T_sfn_SchemeA_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SchemeA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_SchemeA_PDCCH_only_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SchemeA_PDCCH_only_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_SchemeA_DynamicSwitching_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SchemeA_DynamicSwitching_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_SchemeA_PDSCH_only_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SchemeA_PDSCH_only_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_SchemeB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SchemeB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_SchemeB_DynamicSwitching_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SchemeB_DynamicSwitching_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_SchemeB_PDSCH_only_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SchemeB_PDSCH_only_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedMode_r17_vals[] = {
  {   0, "intra-span" },
  {   1, "inter-span" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedMode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_limitX_PerCC_r17_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n44" },
  {   5, "n64" },
  {   6, "nolimit" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_limitX_PerCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_limitX_AcrossCC_r17_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n44" },
  {   5, "n64" },
  {   6, "n128" },
  {   7, "n256" },
  {   8, "n512" },
  {   9, "nolimit" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_limitX_AcrossCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCCH_RepetitionParameters_r17_sequence[] = {
  { &hf_nr_rrc_supportedMode_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedMode_r17 },
  { &hf_nr_rrc_limitX_PerCC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_limitX_PerCC_r17 },
  { &hf_nr_rrc_limitX_AcrossCC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_limitX_AcrossCC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCCH_RepetitionParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCCH_RepetitionParameters_r17, PDCCH_RepetitionParameters_r17_sequence);

  return offset;
}


static const per_sequence_t T_mTRP_PDCCH_Case2_1SpanGap_r17_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_RepetitionParameters_r17 },
  { &hf_nr_rrc_scs_30kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_RepetitionParameters_r17 },
  { &hf_nr_rrc_scs_60kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_RepetitionParameters_r17 },
  { &hf_nr_rrc_scs_120kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_RepetitionParameters_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_PDCCH_Case2_1SpanGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_PDCCH_Case2_1SpanGap_r17, T_mTRP_PDCCH_Case2_1SpanGap_r17_sequence);

  return offset;
}


static const per_sequence_t T_mTRP_PDCCH_legacyMonitoring_r17_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_RepetitionParameters_r17 },
  { &hf_nr_rrc_scs_30kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCCH_RepetitionParameters_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_PDCCH_legacyMonitoring_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_PDCCH_legacyMonitoring_r17, T_mTRP_PDCCH_legacyMonitoring_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PDCCH_multiDCI_multiTRP_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PDCCH_multiDCI_multiTRP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicMulticastPCell_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicMulticastPCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 3U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxNumOverlaps_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n5" },
  {   4, "n10" },
  {   5, "n20" },
  {   6, "n40" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOverlaps_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mTRP_PDCCH_Repetition_r17_sequence[] = {
  { &hf_nr_rrc_numBD_twoPDCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_3 },
  { &hf_nr_rrc_maxNumOverlaps_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumOverlaps_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_PDCCH_Repetition_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_PDCCH_Repetition_r17, T_mTRP_PDCCH_Repetition_r17_sequence);

  return offset;
}


static const per_sequence_t FeatureSetDownlink_v1700_sequence[] = {
  { &hf_nr_rrc_scalingFactor_1024QAM_FR1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scalingFactor_1024QAM_FR1_r17 },
  { &hf_nr_rrc_timeDurationForQCL_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeDurationForQCL_v1710 },
  { &hf_nr_rrc_sfn_SchemeA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SchemeA_r17 },
  { &hf_nr_rrc_sfn_SchemeA_PDCCH_only_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SchemeA_PDCCH_only_r17 },
  { &hf_nr_rrc_sfn_SchemeA_DynamicSwitching_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SchemeA_DynamicSwitching_r17 },
  { &hf_nr_rrc_sfn_SchemeA_PDSCH_only_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SchemeA_PDSCH_only_r17 },
  { &hf_nr_rrc_sfn_SchemeB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SchemeB_r17 },
  { &hf_nr_rrc_sfn_SchemeB_DynamicSwitching_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SchemeB_DynamicSwitching_r17 },
  { &hf_nr_rrc_sfn_SchemeB_PDSCH_only_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SchemeB_PDSCH_only_r17 },
  { &hf_nr_rrc_mTRP_PDCCH_Case2_1SpanGap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PDCCH_Case2_1SpanGap_r17 },
  { &hf_nr_rrc_mTRP_PDCCH_legacyMonitoring_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PDCCH_legacyMonitoring_r17 },
  { &hf_nr_rrc_mTRP_PDCCH_multiDCI_multiTRP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PDCCH_multiDCI_multiTRP_r17 },
  { &hf_nr_rrc_dynamicMulticastPCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicMulticastPCell_r17 },
  { &hf_nr_rrc_mTRP_PDCCH_Repetition_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PDCCH_Repetition_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlink_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlink_v1700, FeatureSetDownlink_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_rtt_BasedPDC_CSI_RS_ForTracking_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rtt_BasedPDC_CSI_RS_ForTracking_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPRS_Resource_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPRS_Resource_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  {   7, "n24" },
  {   8, "n32" },
  {   9, "n48" },
  {  10, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  {   7, "n24" },
  {   8, "n32" },
  {   9, "n48" },
  {  10, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_60kHz_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  {   7, "n24" },
  {   8, "n32" },
  {   9, "n48" },
  {  10, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_60kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_120kHz_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  {   7, "n24" },
  {   8, "n32" },
  {   9, "n48" },
  {  10, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxNumberPRS_ResourceProcessedPerSlot_r17_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_r17 },
  { &hf_nr_rrc_scs_30kHz_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_r17 },
  { &hf_nr_rrc_scs_60kHz_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_60kHz_r17 },
  { &hf_nr_rrc_scs_120kHz_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_120kHz_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxNumberPRS_ResourceProcessedPerSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxNumberPRS_ResourceProcessedPerSlot_r17, T_maxNumberPRS_ResourceProcessedPerSlot_r17_sequence);

  return offset;
}


static const per_sequence_t T_rtt_BasedPDC_PRS_r17_sequence[] = {
  { &hf_nr_rrc_maxNumberPRS_Resource_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPRS_Resource_r17 },
  { &hf_nr_rrc_maxNumberPRS_ResourceProcessedPerSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPRS_ResourceProcessedPerSlot_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_rtt_BasedPDC_PRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_rtt_BasedPDC_PRS_r17, T_rtt_BasedPDC_PRS_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sps_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sps_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetDownlink_v1720_sequence[] = {
  { &hf_nr_rrc_rtt_BasedPDC_CSI_RS_ForTracking_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rtt_BasedPDC_CSI_RS_ForTracking_r17 },
  { &hf_nr_rrc_rtt_BasedPDC_PRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rtt_BasedPDC_PRS_r17 },
  { &hf_nr_rrc_sps_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_Multicast_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlink_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlink_v1720, FeatureSetDownlink_v1720_sequence);

  return offset;
}


static const value_string nr_rrc_T_prs_AsSpatialRelationRS_For_SRS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prs_AsSpatialRelationRS_For_SRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetDownlink_v1730_sequence[] = {
  { &hf_nr_rrc_prs_AsSpatialRelationRS_For_SRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prs_AsSpatialRelationRS_For_SRS_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlink_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlink_v1730, FeatureSetDownlink_v1730_sequence);

  return offset;
}


static const value_string nr_rrc_T_fr1_04_vals[] = {
  {   0, "mhz5" },
  {   1, "mhz10" },
  {   2, "mhz15" },
  {   3, "mhz20" },
  {   4, "mhz25" },
  {   5, "mhz30" },
  {   6, "mhz40" },
  {   7, "mhz50" },
  {   8, "mhz60" },
  {   9, "mhz80" },
  {  10, "mhz100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr2_04_vals[] = {
  {   0, "mhz50" },
  {   1, "mhz100" },
  {   2, "mhz200" },
  {   3, "mhz400" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr2_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_SupportedBandwidth_vals[] = {
  {   0, "fr1" },
  {   1, "fr2" },
  { 0, NULL }
};

static const per_choice_t SupportedBandwidth_choice[] = {
  {   0, &hf_nr_rrc_fr1_04       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_04 },
  {   1, &hf_nr_rrc_fr2_04       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_04 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SupportedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SupportedBandwidth, SupportedBandwidth_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_channelBW_90mhz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_channelBW_90mhz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_ModulationOrder_vals[] = {
  {   0, "bpsk-halfpi" },
  {   1, "bpsk" },
  {   2, "qpsk" },
  {   3, "qam16" },
  {   4, "qam64" },
  {   5, "qam256" },
  { 0, NULL }
};


static int
dissect_nr_rrc_ModulationOrder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetDownlinkPerCC_sequence[] = {
  { &hf_nr_rrc_supportedSubcarrierSpacingDL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_supportedBandwidthDL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandwidth },
  { &hf_nr_rrc_channelBW_90mhz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelBW_90mhz },
  { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MIMO_LayersDL },
  { &hf_nr_rrc_supportedModulationOrderDL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ModulationOrder },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlinkPerCC, FeatureSetDownlinkPerCC_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCORESET_r16_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCORESET_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberUnicastPDSCH_PerPool_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberUnicastPDSCH_PerPool_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MultiDCI_MultiTRP_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberCORESET_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCORESET_r16 },
  { &hf_nr_rrc_maxNumberCORESETPerPoolIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_3 },
  { &hf_nr_rrc_maxNumberUnicastPDSCH_PerPool_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberUnicastPDSCH_PerPool_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MultiDCI_MultiTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MultiDCI_MultiTRP_r16, MultiDCI_MultiTRP_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_supportFDM_SchemeB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportFDM_SchemeB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetDownlinkPerCC_v1620_sequence[] = {
  { &hf_nr_rrc_multiDCI_MultiTRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MultiDCI_MultiTRP_r16 },
  { &hf_nr_rrc_supportFDM_SchemeB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportFDM_SchemeB_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlinkPerCC_v1620(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlinkPerCC_v1620, FeatureSetDownlinkPerCC_v1620_sequence);

  return offset;
}


static const value_string nr_rrc_T_fr1_r17_05_vals[] = {
  {   0, "mhz5" },
  {   1, "mhz10" },
  {   2, "mhz15" },
  {   3, "mhz20" },
  {   4, "mhz25" },
  {   5, "mhz30" },
  {   6, "mhz35" },
  {   7, "mhz40" },
  {   8, "mhz45" },
  {   9, "mhz50" },
  {  10, "mhz60" },
  {  11, "mhz70" },
  {  12, "mhz80" },
  {  13, "mhz90" },
  {  14, "mhz100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_r17_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     15, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr2_r17_05_vals[] = {
  {   0, "mhz50" },
  {   1, "mhz100" },
  {   2, "mhz200" },
  {   3, "mhz400" },
  {   4, "mhz800" },
  {   5, "mhz1600" },
  {   6, "mhz2000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr2_r17_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_SupportedBandwidth_v1700_vals[] = {
  {   0, "fr1-r17" },
  {   1, "fr2-r17" },
  { 0, NULL }
};

static const per_choice_t SupportedBandwidth_v1700_choice[] = {
  {   0, &hf_nr_rrc_fr1_r17_05   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r17_05 },
  {   1, &hf_nr_rrc_fr2_r17_05   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r17_05 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SupportedBandwidth_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SupportedBandwidth_v1700, SupportedBandwidth_v1700_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_broadcastSCell_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_broadcastSCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberMIMO_LayersMulticastPDSCH_r17_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberMIMO_LayersMulticastPDSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicMulticastSCell_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicMulticastSCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crs_IM_DSS_15kHzSCS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crs_IM_DSS_15kHzSCS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crs_IM_nonDSS_15kHzSCS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crs_IM_nonDSS_15kHzSCS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crs_IM_nonDSS_NWA_15kHzSCS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crs_IM_nonDSS_NWA_15kHzSCS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crs_IM_nonDSS_30kHzSCS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crs_IM_nonDSS_30kHzSCS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crs_IM_nonDSS_NWA_30kHzSCS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crs_IM_nonDSS_NWA_30kHzSCS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CRS_InterfMitigation_r17_sequence[] = {
  { &hf_nr_rrc_crs_IM_DSS_15kHzSCS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crs_IM_DSS_15kHzSCS_r17 },
  { &hf_nr_rrc_crs_IM_nonDSS_15kHzSCS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crs_IM_nonDSS_15kHzSCS_r17 },
  { &hf_nr_rrc_crs_IM_nonDSS_NWA_15kHzSCS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crs_IM_nonDSS_NWA_15kHzSCS_r17 },
  { &hf_nr_rrc_crs_IM_nonDSS_30kHzSCS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crs_IM_nonDSS_30kHzSCS_r17 },
  { &hf_nr_rrc_crs_IM_nonDSS_NWA_30kHzSCS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crs_IM_nonDSS_NWA_30kHzSCS_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CRS_InterfMitigation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CRS_InterfMitigation_r17, CRS_InterfMitigation_r17_sequence);

  return offset;
}


static const per_sequence_t FeatureSetDownlinkPerCC_v1700_sequence[] = {
  { &hf_nr_rrc_supportedMinBandwidthDL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SupportedBandwidth_v1700 },
  { &hf_nr_rrc_broadcastSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_broadcastSCell_r17 },
  { &hf_nr_rrc_maxNumberMIMO_LayersMulticastPDSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberMIMO_LayersMulticastPDSCH_r17 },
  { &hf_nr_rrc_dynamicMulticastSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicMulticastSCell_r17 },
  { &hf_nr_rrc_supportedBandwidthDL_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SupportedBandwidth_v1700 },
  { &hf_nr_rrc_supportedCRS_InterfMitigation_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CRS_InterfMitigation_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlinkPerCC_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlinkPerCC_v1700, FeatureSetDownlinkPerCC_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxModulationOrderForMulticastDataRateCalculation_r17_vals[] = {
  {   0, "qam64" },
  {   1, "qam256" },
  {   2, "qam1024" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxModulationOrderForMulticastDataRateCalculation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fdm_BroadcastUnicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fdm_BroadcastUnicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fdm_MulticastUnicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fdm_MulticastUnicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetDownlinkPerCC_v1720_sequence[] = {
  { &hf_nr_rrc_maxModulationOrderForMulticastDataRateCalculation_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxModulationOrderForMulticastDataRateCalculation_r17 },
  { &hf_nr_rrc_fdm_BroadcastUnicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fdm_BroadcastUnicast_r17 },
  { &hf_nr_rrc_fdm_MulticastUnicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fdm_MulticastUnicast_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlinkPerCC_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlinkPerCC_v1720, FeatureSetDownlinkPerCC_v1720_sequence);

  return offset;
}


static const value_string nr_rrc_T_intraSlotTDM_UnicastGroupCommonPDSCH_r17_vals[] = {
  {   0, "yes" },
  {   1, "no" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraSlotTDM_UnicastGroupCommonPDSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sps_MulticastSCell_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sps_MulticastSCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_BroadcastWith16Repetitions_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_BroadcastWith16Repetitions_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetDownlinkPerCC_v1730_sequence[] = {
  { &hf_nr_rrc_intraSlotTDM_UnicastGroupCommonPDSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraSlotTDM_UnicastGroupCommonPDSCH_r17 },
  { &hf_nr_rrc_sps_MulticastSCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_MulticastSCell_r17 },
  { &hf_nr_rrc_sps_MulticastSCellMultiConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_dci_BroadcastWith16Repetitions_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_BroadcastWith16Repetitions_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetDownlinkPerCC_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetDownlinkPerCC_v1730, FeatureSetDownlinkPerCC_v1730_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlink_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of,
                                                  1, maxDownlinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlinkPerCC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of,
                                                  1, maxPerCC_FeatureSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id_sequence_of[1] = {
  { &hf_nr_rrc_featureSetListPerUplinkCC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC_Id },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id, SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id_sequence_of,
                                                  1, maxNrofServingCells, FALSE);

  return offset;
}


static const value_string nr_rrc_T_scalingFactor_01_vals[] = {
  {   0, "f0p4" },
  {   1, "f0p75" },
  {   2, "f0p8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scalingFactor_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy3_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_searchSpaceSharingCA_UL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_searchSpaceSharingCA_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedSRS_TxPortSwitch_01_vals[] = {
  {   0, "t1r2" },
  {   1, "t1r4" },
  {   2, "t2r4" },
  {   3, "t1r4-t2r4" },
  {   4, "tr-equal" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedSRS_TxPortSwitch_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_txSwitchImpactToRx_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_txSwitchImpactToRx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DummyI_sequence[] = {
  { &hf_nr_rrc_supportedSRS_TxPortSwitch_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSRS_TxPortSwitch_01 },
  { &hf_nr_rrc_txSwitchImpactToRx_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_txSwitchImpactToRx },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyI, DummyI_sequence);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Group_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicSwitchSUL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicSwitchSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousTxSUL_NonSUL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousTxSUL_NonSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  {   2, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_02_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  {   2, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  {   2, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  {   2, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pusch_ProcessingType1_DifferentTB_PerSlot_sequence[] = {
  { &hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz },
  { &hf_nr_rrc_scs_30kHz_03 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_02 },
  { &hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz },
  { &hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot, T_pusch_ProcessingType1_DifferentTB_PerSlot_sequence);

  return offset;
}


static const per_sequence_t DummyF_sequence[] = {
  { &hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 },
  { &hf_nr_rrc_simultaneousCSI_ReportsAllCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_5_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyF, DummyF_sequence);

  return offset;
}


static const per_sequence_t FeatureSetUplink_sequence[] = {
  { &hf_nr_rrc_featureSetListPerUplinkCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id },
  { &hf_nr_rrc_scalingFactor_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scalingFactor_01 },
  { &hf_nr_rrc_dummy3       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy3 },
  { &hf_nr_rrc_intraBandFreqSeparationUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqSeparationClass },
  { &hf_nr_rrc_searchSpaceSharingCA_UL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceSharingCA_UL },
  { &hf_nr_rrc_featureSetUplink_dummy1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DummyI },
  { &hf_nr_rrc_supportedSRS_Resources, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_Resources },
  { &hf_nr_rrc_twoPUCCH_Group, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Group },
  { &hf_nr_rrc_dynamicSwitchSUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicSwitchSUL },
  { &hf_nr_rrc_simultaneousTxSUL_NonSUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousTxSUL_NonSUL },
  { &hf_nr_rrc_pusch_ProcessingType1_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot },
  { &hf_nr_rrc_featureSetUplink_dummy2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_DummyF },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplink, FeatureSetUplink_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplink_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of,
                                                  1, maxUplinkFeatureSets, FALSE);

  return offset;
}


static const value_string nr_rrc_T_channelBW_90mhz_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_channelBW_90mhz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mimo_CB_PUSCH_sequence[] = {
  { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MIMO_LayersUL },
  { &hf_nr_rrc_maxNumberSRS_ResourcePerSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mimo_CB_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mimo_CB_PUSCH, T_mimo_CB_PUSCH_sequence);

  return offset;
}


static const per_sequence_t FeatureSetUplinkPerCC_sequence[] = {
  { &hf_nr_rrc_supportedSubcarrierSpacingUL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
  { &hf_nr_rrc_supportedBandwidthUL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandwidth },
  { &hf_nr_rrc_channelBW_90mhz_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelBW_90mhz_01 },
  { &hf_nr_rrc_mimo_CB_PUSCH, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mimo_CB_PUSCH },
  { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MIMO_LayersUL },
  { &hf_nr_rrc_supportedModulationOrderUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ModulationOrder },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplinkPerCC, FeatureSetUplinkPerCC_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplinkPerCC_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_sequence_of,
                                                  1, maxPerCC_FeatureSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlink_v1540_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v1540 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540_sequence_of,
                                                  1, maxDownlinkFeatureSets, FALSE);

  return offset;
}


static const value_string nr_rrc_T_zeroSlotOffsetAperiodicSRS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_zeroSlotOffsetAperiodicSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pa_PhaseDiscontinuityImpacts_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pa_PhaseDiscontinuityImpacts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_SeparationWithGap_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_SeparationWithGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pusch_ProcessingType2_sequence[] = {
  { &hf_nr_rrc_featureSetUplink_v1540_pusch_ProcessingType2_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ProcessingParameters },
  { &hf_nr_rrc_scs_30kHz_02 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ProcessingParameters },
  { &hf_nr_rrc_featureSetUplink_v1540_pusch_ProcessingType2_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_ProcessingParameters },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_ProcessingType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pusch_ProcessingType2, T_pusch_ProcessingType2_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_MCS_TableAlt_DynamicIndication_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_MCS_TableAlt_DynamicIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetUplink_v1540_sequence[] = {
  { &hf_nr_rrc_zeroSlotOffsetAperiodicSRS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_zeroSlotOffsetAperiodicSRS },
  { &hf_nr_rrc_pa_PhaseDiscontinuityImpacts, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pa_PhaseDiscontinuityImpacts },
  { &hf_nr_rrc_pusch_SeparationWithGap, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_SeparationWithGap },
  { &hf_nr_rrc_pusch_ProcessingType2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_ProcessingType2 },
  { &hf_nr_rrc_ul_MCS_TableAlt_DynamicIndication, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_MCS_TableAlt_DynamicIndication },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplink_v1540, FeatureSetUplink_v1540_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplink_v1540_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v1540 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540_sequence_of,
                                                  1, maxUplinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t T_mimo_NonCB_PUSCH_sequence[] = {
  { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberSimultaneousSRS_ResourceTx, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mimo_NonCB_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mimo_NonCB_PUSCH, T_mimo_NonCB_PUSCH_sequence);

  return offset;
}


static const per_sequence_t FeatureSetUplinkPerCC_v1540_sequence[] = {
  { &hf_nr_rrc_mimo_NonCB_PUSCH, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mimo_NonCB_PUSCH },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplinkPerCC_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplinkPerCC_v1540, FeatureSetUplinkPerCC_v1540_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplinkPerCC_v1540_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC_v1540 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540_sequence_of,
                                                  1, maxPerCC_FeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_eag_1_sequence[] = {
  { &hf_nr_rrc_featureSetsDownlink_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540 },
  { &hf_nr_rrc_featureSetsUplink_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540 },
  { &hf_nr_rrc_featureSetsUplinkPerCC_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_1_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlink_v15a0_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v15a0 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0_sequence_of,
                                                  1, maxDownlinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_eag_2_sequence[] = {
  { &hf_nr_rrc_featureSetsDownlink_v15a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_2_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlink_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v1610 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610_sequence_of,
                                                  1, maxDownlinkFeatureSets, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPUSCH_Tx_r16_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n7" },
  {   4, "n8" },
  {   5, "n12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPUSCH_Tx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_hoppingScheme_r16_vals[] = {
  {   0, "interSlotHopping" },
  {   1, "interRepetitionHopping" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_hoppingScheme_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pusch_RepetitionTypeB_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberPUSCH_Tx_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPUSCH_Tx_r16 },
  { &hf_nr_rrc_hoppingScheme_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_hoppingScheme_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_RepetitionTypeB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pusch_RepetitionTypeB_r16, T_pusch_RepetitionTypeB_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_CancellationSelfCarrier_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_CancellationSelfCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_CancellationCrossCarrier_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_CancellationCrossCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_FullPwrMode2_MaxSRS_ResInSet_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_FullPwrMode2_MaxSRS_ResInSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16_vals[] = {
  {   0, "one-pusch" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16_vals[] = {
  {   0, "one-pusch" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16_vals[] = {
  {   0, "one-pusch" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16_vals[] = {
  {   0, "one-pusch" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_sequence[] = {
  { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16 },
  { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16 },
  { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16 },
  { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16, T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16_vals[] = {
  {   0, "one-pusch" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16_vals[] = {
  {   0, "one-pusch" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16_vals[] = {
  {   0, "one-pusch" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16_vals[] = {
  {   0, "one-pusch" },
  {   1, "upto2" },
  {   2, "upto4" },
  {   3, "upto7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_sequence[] = {
  { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16 },
  { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16 },
  { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16 },
  { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16, T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  {   5, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_PosResources_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r16 },
  { &hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r16 },
  { &hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16 },
  { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 },
  { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PosResources_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_PosResources_r16, SRS_PosResources_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_PosResourceAP_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_r16 },
  { &hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PosResourceAP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_PosResourceAP_r16, SRS_PosResourceAP_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SRS_PosResourceSP_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_r16 },
  { &hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_PosResourceSP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_PosResourceSP_r16, SRS_PosResourceSP_r16_sequence);

  return offset;
}


static const per_sequence_t SRS_AllPosResources_r16_sequence[] = {
  { &hf_nr_rrc_srs_PosResources_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResources_r16 },
  { &hf_nr_rrc_srs_PosResourceAP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_PosResourceAP_r16 },
  { &hf_nr_rrc_srs_PosResourceSP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_PosResourceSP_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_AllPosResources_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_AllPosResources_r16, SRS_AllPosResources_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_dummy_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraFreqTwoTAGs_DAPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraFreqTwoTAGs_DAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy1_02_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy3_01_vals[] = {
  {   0, "short" },
  {   1, "long" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy3_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_intraFreqDAPS_UL_r16_sequence[] = {
  { &hf_nr_rrc_dummy_03     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy_01 },
  { &hf_nr_rrc_intraFreqTwoTAGs_DAPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFreqTwoTAGs_DAPS_r16 },
  { &hf_nr_rrc_dummy1_02    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy1_02 },
  { &hf_nr_rrc_dummy2       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy2 },
  { &hf_nr_rrc_dummy3_01    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy3_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_intraFreqDAPS_UL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_intraFreqDAPS_UL_r16, T_intraFreqDAPS_UL_r16_sequence);

  return offset;
}


static const value_string nr_rrc_FreqSeparationClassUL_v1620_vals[] = {
  {   0, "mhz1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_FreqSeparationClassUL_v1620(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sub_SlotConfig_NCP_r16_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sub_SlotConfig_NCP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sub_SlotConfig_ECP_r16_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sub_SlotConfig_ECP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_multiPUCCH_r16_sequence[] = {
  { &hf_nr_rrc_sub_SlotConfig_NCP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sub_SlotConfig_NCP_r16 },
  { &hf_nr_rrc_sub_SlotConfig_ECP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sub_SlotConfig_ECP_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_multiPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_multiPUCCH_r16, T_multiPUCCH_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type3_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type4_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mux_SR_HARQ_ACK_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_SR_HARQ_ACK_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy1_03_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy2_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type5_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type6_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type6_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type7_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type7_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type8_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type8_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type9_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type9_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type10_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type10_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_Type11_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_Type11_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_PreparationLowPriority_r16_vals[] = {
  {   0, "sym0" },
  {   1, "sym1" },
  {   2, "sym2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_PreparationLowPriority_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_PreparationHighPriority_r16_vals[] = {
  {   0, "sym0" },
  {   1, "sym1" },
  {   2, "sym2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_PreparationHighPriority_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ul_IntraUE_Mux_r16_sequence[] = {
  { &hf_nr_rrc_pusch_PreparationLowPriority_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pusch_PreparationLowPriority_r16 },
  { &hf_nr_rrc_pusch_PreparationHighPriority_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pusch_PreparationHighPriority_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_IntraUE_Mux_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ul_IntraUE_Mux_r16, T_ul_IntraUE_Mux_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_FullPwrMode_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_FullPwrMode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_120kHz_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_120kHz_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_60kHz_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_60kHz_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_120kHz_r16_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_120kHz_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_30kHz_r16_01_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_30kHz_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_60kHz_r16_01_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_60kHz_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_crossCarrierSchedulingProcessing_DiffSCS_r16_01_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_120kHz_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_120kHz_r16_01 },
  { &hf_nr_rrc_scs_15kHz_60kHz_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_60kHz_r16_01 },
  { &hf_nr_rrc_scs_30kHz_120kHz_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_120kHz_r16_01 },
  { &hf_nr_rrc_scs_15kHz_30kHz_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_30kHz_r16_01 },
  { &hf_nr_rrc_scs_30kHz_60kHz_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_60kHz_r16_01 },
  { &hf_nr_rrc_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16_01, T_crossCarrierSchedulingProcessing_DiffSCS_r16_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_FullPwrMode1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_FullPwrMode1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16_vals[] = {
  {   0, "p1-2" },
  {   1, "p1-4" },
  {   2, "p1-2-4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fourPortsNonCoherent_r16_vals[] = {
  {   0, "g0" },
  {   1, "g1" },
  {   2, "g2" },
  {   3, "g3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fourPortsNonCoherent_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fourPortsPartialCoherent_r16_vals[] = {
  {   0, "g0" },
  {   1, "g1" },
  {   2, "g2" },
  {   3, "g3" },
  {   4, "g4" },
  {   5, "g5" },
  {   6, "g6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fourPortsPartialCoherent_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ul_FullPwrMode2_TPMIGroup_r16_sequence[] = {
  { &hf_nr_rrc_twoPorts_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { &hf_nr_rrc_fourPortsNonCoherent_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fourPortsNonCoherent_r16 },
  { &hf_nr_rrc_fourPortsPartialCoherent_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fourPortsPartialCoherent_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ul_FullPwrMode2_TPMIGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ul_FullPwrMode2_TPMIGroup_r16, T_ul_FullPwrMode2_TPMIGroup_r16_sequence);

  return offset;
}


static const per_sequence_t FeatureSetUplink_v1610_sequence[] = {
  { &hf_nr_rrc_pusch_RepetitionTypeB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepetitionTypeB_r16 },
  { &hf_nr_rrc_ul_CancellationSelfCarrier_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_CancellationSelfCarrier_r16 },
  { &hf_nr_rrc_ul_CancellationCrossCarrier_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_CancellationCrossCarrier_r16 },
  { &hf_nr_rrc_ul_FullPwrMode2_MaxSRS_ResInSet_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FullPwrMode2_MaxSRS_ResInSet_r16 },
  { &hf_nr_rrc_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16 },
  { &hf_nr_rrc_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16 },
  { &hf_nr_rrc_supportedSRS_PosResources_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_AllPosResources_r16 },
  { &hf_nr_rrc_intraFreqDAPS_UL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraFreqDAPS_UL_r16 },
  { &hf_nr_rrc_intraBandFreqSeparationUL_v1620, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqSeparationClassUL_v1620 },
  { &hf_nr_rrc_multiPUCCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPUCCH_r16 },
  { &hf_nr_rrc_twoPUCCH_Type1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type1_r16 },
  { &hf_nr_rrc_twoPUCCH_Type2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type2_r16 },
  { &hf_nr_rrc_twoPUCCH_Type3_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type3_r16 },
  { &hf_nr_rrc_twoPUCCH_Type4_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type4_r16 },
  { &hf_nr_rrc_mux_SR_HARQ_ACK_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_SR_HARQ_ACK_r16 },
  { &hf_nr_rrc_dummy1_03    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy1_03 },
  { &hf_nr_rrc_dummy2_01    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy2_01 },
  { &hf_nr_rrc_twoPUCCH_Type5_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type5_r16 },
  { &hf_nr_rrc_twoPUCCH_Type6_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type6_r16 },
  { &hf_nr_rrc_twoPUCCH_Type7_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type7_r16 },
  { &hf_nr_rrc_twoPUCCH_Type8_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type8_r16 },
  { &hf_nr_rrc_twoPUCCH_Type9_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type9_r16 },
  { &hf_nr_rrc_twoPUCCH_Type10_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type10_r16 },
  { &hf_nr_rrc_twoPUCCH_Type11_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_Type11_r16 },
  { &hf_nr_rrc_ul_IntraUE_Mux_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_IntraUE_Mux_r16 },
  { &hf_nr_rrc_ul_FullPwrMode_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FullPwrMode_r16 },
  { &hf_nr_rrc_crossCarrierSchedulingProcessing_DiffSCS_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16_01 },
  { &hf_nr_rrc_ul_FullPwrMode1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FullPwrMode1_r16 },
  { &hf_nr_rrc_ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16 },
  { &hf_nr_rrc_ul_FullPwrMode2_TPMIGroup_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FullPwrMode2_TPMIGroup_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplink_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplink_v1610, FeatureSetUplink_v1610_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplink_v1610_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v1610 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610_sequence_of,
                                                  1, maxUplinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620_sequence_of[1] = {
  { &hf_nr_rrc_featureSetDownlinkPerCC_v1620_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC_v1620 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620_sequence_of,
                                                  1, maxPerCC_FeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_eag_3_sequence[] = {
  { &hf_nr_rrc_featureSetsDownlink_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610 },
  { &hf_nr_rrc_featureSetsUplink_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610 },
  { &hf_nr_rrc_featureSetDownlinkPerCC_v1620, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy_02_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_partialCancellationPUCCH_PUSCH_PRACH_TX_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_partialCancellationPUCCH_PUSCH_PRACH_TX_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetUplink_v1630_sequence[] = {
  { &hf_nr_rrc_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16 },
  { &hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16 },
  { &hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16 },
  { &hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16 },
  { &hf_nr_rrc_dummy_04     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy_02 },
  { &hf_nr_rrc_partialCancellationPUCCH_PUSCH_PRACH_TX_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_partialCancellationPUCCH_PUSCH_PRACH_TX_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplink_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplink_v1630, FeatureSetUplink_v1630_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplink_v1630_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v1630 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630_sequence_of,
                                                  1, maxUplinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_eag_4_sequence[] = {
  { &hf_nr_rrc_featureSetsUplink_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_sub_SlotConfig_NCP_r16_01_vals[] = {
  {   0, "n4" },
  {   1, "n5" },
  {   2, "n6" },
  {   3, "n7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sub_SlotConfig_NCP_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sub_SlotConfig_ECP_r16_01_vals[] = {
  {   0, "n4" },
  {   1, "n5" },
  {   2, "n6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sub_SlotConfig_ECP_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SubSlot_Config_r16_sequence[] = {
  { &hf_nr_rrc_sub_SlotConfig_NCP_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sub_SlotConfig_NCP_r16_01 },
  { &hf_nr_rrc_sub_SlotConfig_ECP_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sub_SlotConfig_ECP_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SubSlot_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SubSlot_Config_r16, SubSlot_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_r16_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  {   2, "set3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_r16_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  {   2, "set3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_60kHz_r16_vals[] = {
  {   0, "set1" },
  {   1, "set2" },
  {   2, "set3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_r16 },
  { &hf_nr_rrc_scs_30kHz_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_r16 },
  { &hf_nr_rrc_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_60kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16, T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16_sequence);

  return offset;
}


static const per_sequence_t FeatureSetUplink_v1640_sequence[] = {
  { &hf_nr_rrc_twoHARQ_ACK_Codebook_type1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SubSlot_Config_r16 },
  { &hf_nr_rrc_twoHARQ_ACK_Codebook_type2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SubSlot_Config_r16 },
  { &hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplink_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplink_v1640, FeatureSetUplink_v1640_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplink_v1640_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v1640 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640_sequence_of,
                                                  1, maxUplinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_eag_5_sequence[] = {
  { &hf_nr_rrc_featureSetsUplink_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_5_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlink_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700_sequence_of,
                                                  1, maxDownlinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlinkPerCC_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700_sequence_of,
                                                  1, maxPerCC_FeatureSets, FALSE);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_TypeA_CB_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_TypeA_CB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_RepetitionTypeA_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_RepetitionTypeA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUCCH_IntraSlot_r17_vals[] = {
  {   0, "pf0-2" },
  {   1, "pf1-3-4" },
  {   2, "pf0-4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUCCH_IntraSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_AntennaSwitching2SP_1Periodic_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_AntennaSwitching2SP_1Periodic_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_ExtensionAperiodicSRS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_ExtensionAperiodicSRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_OneAP_SRS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_OneAP_SRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_PowerClassPerBandPerBC_r17_vals[] = {
  {   0, "pc1dot5" },
  {   1, "pc2" },
  {   2, "pc3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_PowerClassPerBandPerBC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tx_Support_UL_GapFR2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tx_Support_UL_GapFR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetUplink_v1710_sequence[] = {
  { &hf_nr_rrc_mTRP_PUSCH_TypeA_CB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_TypeA_CB_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_RepetitionTypeA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_RepetitionTypeA_r17 },
  { &hf_nr_rrc_mTRP_PUCCH_IntraSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUCCH_IntraSlot_r17 },
  { &hf_nr_rrc_srs_AntennaSwitching2SP_1Periodic_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_AntennaSwitching2SP_1Periodic_r17 },
  { &hf_nr_rrc_srs_ExtensionAperiodicSRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_ExtensionAperiodicSRS_r17 },
  { &hf_nr_rrc_srs_OneAP_SRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_OneAP_SRS_r17 },
  { &hf_nr_rrc_ue_PowerClassPerBandPerBC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_PowerClassPerBandPerBC_r17 },
  { &hf_nr_rrc_tx_Support_UL_GapFR2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tx_Support_UL_GapFR2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplink_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplink_v1710, FeatureSetUplink_v1710_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplink_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v1710 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710_sequence_of,
                                                  1, maxUplinkFeatureSets, FALSE);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_RepetitionTypeB_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_RepetitionTypeB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_TypeB_CB_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_TypeB_CB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetUplinkPerCC_v1700_sequence[] = {
  { &hf_nr_rrc_supportedMinBandwidthUL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SupportedBandwidth_v1700 },
  { &hf_nr_rrc_mTRP_PUSCH_RepetitionTypeB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_RepetitionTypeB_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_TypeB_CB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_TypeB_CB_r17 },
  { &hf_nr_rrc_supportedBandwidthUL_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SupportedBandwidth_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplinkPerCC_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplinkPerCC_v1700, FeatureSetUplinkPerCC_v1700_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplinkPerCC_v1700_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC_v1700 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700_sequence_of,
                                                  1, maxPerCC_FeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_eag_6_sequence[] = {
  { &hf_nr_rrc_featureSetsDownlink_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700 },
  { &hf_nr_rrc_featureSetsDownlinkPerCC_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700 },
  { &hf_nr_rrc_featureSetsUplink_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710 },
  { &hf_nr_rrc_featureSetsUplinkPerCC_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_6_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlink_v1720_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v1720 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720_sequence_of,
                                                  1, maxDownlinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlinkPerCC_v1720_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC_v1720 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720_sequence_of,
                                                  1, maxPerCC_FeatureSets, FALSE);

  return offset;
}


static const value_string nr_rrc_T_pucch_Repetition_F0_1_2_3_4_RRC_Config_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_Repetition_F0_1_2_3_4_RRC_Config_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interSubslotFreqHopping_PUCCH_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interSubslotFreqHopping_PUCCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_PreparationLowPriority_r17_vals[] = {
  {   0, "sym0" },
  {   1, "sym1" },
  {   2, "sym2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_PreparationLowPriority_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_r17_01_vals[] = {
  {   0, "sym0" },
  {   1, "sym1" },
  {   2, "sym2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_r17_01_vals[] = {
  {   0, "sym0" },
  {   1, "sym1" },
  {   2, "sym2" },
  {   3, "sym3" },
  {   4, "sym4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_60kHz_r17_01_vals[] = {
  {   0, "sym0" },
  {   1, "sym1" },
  {   2, "sym2" },
  {   3, "sym3" },
  {   4, "sym4" },
  {   5, "sym5" },
  {   6, "sym6" },
  {   7, "sym7" },
  {   8, "sym8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_60kHz_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     9, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_120kHz_r17_01_vals[] = {
  {   0, "sym0" },
  {   1, "sym1" },
  {   2, "sym2" },
  {   3, "sym3" },
  {   4, "sym4" },
  {   5, "sym5" },
  {   6, "sym6" },
  {   7, "sym7" },
  {   8, "sym8" },
  {   9, "sym9" },
  {  10, "sym10" },
  {  11, "sym11" },
  {  12, "sym12" },
  {  13, "sym13" },
  {  14, "sym14" },
  {  15, "sym15" },
  {  16, "sym16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_120kHz_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     17, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_additionalCancellationTime_r17_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r17_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_r17_01 },
  { &hf_nr_rrc_scs_30kHz_r17_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_r17_01 },
  { &hf_nr_rrc_scs_60kHz_r17_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_60kHz_r17_01 },
  { &hf_nr_rrc_scs_120kHz_r17_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_120kHz_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_additionalCancellationTime_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_additionalCancellationTime_r17, T_additionalCancellationTime_r17_sequence);

  return offset;
}


static const per_sequence_t T_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17_sequence[] = {
  { &hf_nr_rrc_pusch_PreparationLowPriority_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pusch_PreparationLowPriority_r17 },
  { &hf_nr_rrc_additionalCancellationTime_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_additionalCancellationTime_r17 },
  { &hf_nr_rrc_maxNumberCarriers_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17, T_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_extendedDC_LocationReport_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedDC_LocationReport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FeatureSetUplink_v1720_sequence[] = {
  { &hf_nr_rrc_pucch_Repetition_F0_1_2_3_4_RRC_Config_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_Repetition_F0_1_2_3_4_RRC_Config_r17 },
  { &hf_nr_rrc_pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17 },
  { &hf_nr_rrc_interSubslotFreqHopping_PUCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interSubslotFreqHopping_PUCCH_r17 },
  { &hf_nr_rrc_semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17 },
  { &hf_nr_rrc_phy_PrioritizationLowPriorityDG_HighPriorityCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17 },
  { &hf_nr_rrc_extendedDC_LocationReport_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedDC_LocationReport_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplink_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplink_v1720, FeatureSetUplink_v1720_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplink_v1720_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v1720 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720_sequence_of,
                                                  1, maxUplinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_eag_7_sequence[] = {
  { &hf_nr_rrc_featureSetsDownlink_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720 },
  { &hf_nr_rrc_featureSetsDownlinkPerCC_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720 },
  { &hf_nr_rrc_featureSetsUplink_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_7_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlink_v1730_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v1730 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730_sequence_of,
                                                  1, maxDownlinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsDownlinkPerCC_v1730_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC_v1730 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730_sequence_of,
                                                  1, maxPerCC_FeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_eag_8_sequence[] = {
  { &hf_nr_rrc_featureSetsDownlink_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730 },
  { &hf_nr_rrc_featureSetsDownlinkPerCC_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_8_sequence);

  return offset;
}


static const per_sequence_t FeatureSets_sequence[] = {
  { &hf_nr_rrc_featureSetsDownlink, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink },
  { &hf_nr_rrc_featureSetsDownlinkPerCC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC },
  { &hf_nr_rrc_featureSetsUplink, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink },
  { &hf_nr_rrc_featureSetsUplinkPerCC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_6 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_7 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSets, FeatureSets_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPUSCH_Tx_Cap1_r16_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n7" },
  {   4, "n8" },
  {   5, "n12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPUSCH_Tx_Cap1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPUSCH_Tx_Cap2_r16_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n7" },
  {   4, "n8" },
  {   5, "n12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPUSCH_Tx_Cap2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pusch_RepetitionTypeB_v16d0_sequence[] = {
  { &hf_nr_rrc_maxNumberPUSCH_Tx_Cap1_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPUSCH_Tx_Cap1_r16 },
  { &hf_nr_rrc_maxNumberPUSCH_Tx_Cap2_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPUSCH_Tx_Cap2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_RepetitionTypeB_v16d0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pusch_RepetitionTypeB_v16d0, T_pusch_RepetitionTypeB_v16d0_sequence);

  return offset;
}


static const per_sequence_t FeatureSetUplink_v16d0_sequence[] = {
  { &hf_nr_rrc_pusch_RepetitionTypeB_v16d0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepetitionTypeB_v16d0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSetUplink_v16d0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSetUplink_v16d0, FeatureSetUplink_v16d0_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0_sequence_of[1] = {
  { &hf_nr_rrc_featureSetsUplink_v16d0_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v16d0 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0_sequence_of,
                                                  1, maxUplinkFeatureSets, FALSE);

  return offset;
}


static const per_sequence_t FeatureSets_v16d0_sequence[] = {
  { &hf_nr_rrc_featureSetsUplink_v16d0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FeatureSets_v16d0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FeatureSets_v16d0, FeatureSets_v16d0_sequence);

  return offset;
}


static const per_sequence_t FreqBandInformationEUTRA_sequence[] = {
  { &hf_nr_rrc_bandEUTRA    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
  { &hf_nr_rrc_ca_BandwidthClassDL_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_BandwidthClassEUTRA },
  { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CA_BandwidthClassEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FreqBandInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FreqBandInformationEUTRA, FreqBandInformationEUTRA_sequence);

  return offset;
}


static const value_string nr_rrc_AggregatedBandwidth_vals[] = {
  {   0, "mhz50" },
  {   1, "mhz100" },
  {   2, "mhz150" },
  {   3, "mhz200" },
  {   4, "mhz250" },
  {   5, "mhz300" },
  {   6, "mhz350" },
  {   7, "mhz400" },
  {   8, "mhz450" },
  {   9, "mhz500" },
  {  10, "mhz550" },
  {  11, "mhz600" },
  {  12, "mhz650" },
  {  13, "mhz700" },
  {  14, "mhz750" },
  {  15, "mhz800" },
  { 0, NULL }
};


static int
dissect_nr_rrc_AggregatedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_maxNrofServingCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofServingCells, NULL, FALSE);

  return offset;
}


static const per_sequence_t FreqBandInformationNR_sequence[] = {
  { &hf_nr_rrc_bandNR       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_maxBandwidthRequestedDL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AggregatedBandwidth },
  { &hf_nr_rrc_maxBandwidthRequestedUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AggregatedBandwidth },
  { &hf_nr_rrc_maxCarriersRequestedDL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofServingCells },
  { &hf_nr_rrc_maxCarriersRequestedUL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_maxNrofServingCells },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FreqBandInformationNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FreqBandInformationNR, FreqBandInformationNR_sequence);

  return offset;
}


static const value_string nr_rrc_FreqBandInformation_vals[] = {
  {   0, "bandInformationEUTRA" },
  {   1, "bandInformationNR" },
  { 0, NULL }
};

static const per_choice_t FreqBandInformation_choice[] = {
  {   0, &hf_nr_rrc_bandInformationEUTRA, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FreqBandInformationEUTRA },
  {   1, &hf_nr_rrc_bandInformationNR, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_FreqBandInformationNR },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_FreqBandInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_FreqBandInformation, FreqBandInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t FreqBandList_sequence_of[1] = {
  { &hf_nr_rrc_FreqBandList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandInformation },
};

static int
dissect_nr_rrc_FreqBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_FreqBandList, FreqBandList_sequence_of,
                                                  1, maxBandsMRDC, FALSE);

  return offset;
}


static const value_string nr_rrc_T_dl_FR2_2_SCS_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_FR2_2_SCS_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_FR2_2_SCS_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_FR2_2_SCS_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_initialAccessSSB_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_initialAccessSSB_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_widebandPRACH_SCS_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_widebandPRACH_SCS_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiRB_PUCCH_SCS_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiRB_PUCCH_SCS_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_FR2_2_SCS_480kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_FR2_2_SCS_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_FR2_2_SCS_480kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_FR2_2_SCS_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_initialAccessSSB_480kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_initialAccessSSB_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_widebandPRACH_SCS_480kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_widebandPRACH_SCS_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiRB_PUCCH_SCS_480kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiRB_PUCCH_SCS_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enhancedPDCCH_monitoringSCS_480kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedPDCCH_monitoringSCS_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_FR2_2_SCS_960kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_FR2_2_SCS_960kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_FR2_2_SCS_960kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_FR2_2_SCS_960kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiRB_PUCCH_SCS_960kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiRB_PUCCH_SCS_960kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcch_monitoring4_1_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_monitoring4_1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcch_monitoring4_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_monitoring4_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcch_monitoring8_4_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_monitoring8_4_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_enhancedPDCCH_monitoringSCS_960kHz_r17_sequence[] = {
  { &hf_nr_rrc_pdcch_monitoring4_1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_monitoring4_1_r17 },
  { &hf_nr_rrc_pdcch_monitoring4_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_monitoring4_2_r17 },
  { &hf_nr_rrc_pdcch_monitoring8_4_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_monitoring8_4_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_enhancedPDCCH_monitoringSCS_960kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_enhancedPDCCH_monitoringSCS_960kHz_r17, T_enhancedPDCCH_monitoringSCS_960kHz_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_type1_ChannelAccess_FR2_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_ChannelAccess_FR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_ChannelAccess_FR2_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_ChannelAccess_FR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_reduced_BeamSwitchTiming_FR2_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reduced_BeamSwitchTiming_FR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_120kHz_r17_02_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_120kHz_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_480kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_480kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_960kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_960kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_support32_DL_HARQ_ProcessPerSCS_r17_sequence[] = {
  { &hf_nr_rrc_scs_120kHz_r17_04, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_120kHz_r17_02 },
  { &hf_nr_rrc_scs_480kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_480kHz_r17 },
  { &hf_nr_rrc_scs_960kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_960kHz_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_support32_DL_HARQ_ProcessPerSCS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_support32_DL_HARQ_ProcessPerSCS_r17, T_support32_DL_HARQ_ProcessPerSCS_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_120kHz_r17_03_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_120kHz_r17_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_480kHz_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_480kHz_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_960kHz_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_960kHz_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_support32_UL_HARQ_ProcessPerSCS_r17_sequence[] = {
  { &hf_nr_rrc_scs_120kHz_r17_05, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_120kHz_r17_03 },
  { &hf_nr_rrc_scs_480kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_480kHz_r17_01 },
  { &hf_nr_rrc_scs_960kHz_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_960kHz_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_support32_UL_HARQ_ProcessPerSCS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_support32_UL_HARQ_ProcessPerSCS_r17, T_support32_UL_HARQ_ProcessPerSCS_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_modulation64_QAM_PUSCH_FR2_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_modulation64_QAM_PUSCH_FR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t FR2_2_AccessParamsPerBand_r17_eag_1_sequence[] = {
  { &hf_nr_rrc_modulation64_QAM_PUSCH_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_modulation64_QAM_PUSCH_FR2_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FR2_2_AccessParamsPerBand_r17_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FR2_2_AccessParamsPerBand_r17_eag_1_sequence);

  return offset;
}


static const per_sequence_t FR2_2_AccessParamsPerBand_r17_sequence[] = {
  { &hf_nr_rrc_dl_FR2_2_SCS_120kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_FR2_2_SCS_120kHz_r17 },
  { &hf_nr_rrc_ul_FR2_2_SCS_120kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FR2_2_SCS_120kHz_r17 },
  { &hf_nr_rrc_initialAccessSSB_120kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_initialAccessSSB_120kHz_r17 },
  { &hf_nr_rrc_widebandPRACH_SCS_120kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_widebandPRACH_SCS_120kHz_r17 },
  { &hf_nr_rrc_multiRB_PUCCH_SCS_120kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiRB_PUCCH_SCS_120kHz_r17 },
  { &hf_nr_rrc_multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17 },
  { &hf_nr_rrc_multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17 },
  { &hf_nr_rrc_dl_FR2_2_SCS_480kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_FR2_2_SCS_480kHz_r17 },
  { &hf_nr_rrc_ul_FR2_2_SCS_480kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FR2_2_SCS_480kHz_r17 },
  { &hf_nr_rrc_initialAccessSSB_480kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_initialAccessSSB_480kHz_r17 },
  { &hf_nr_rrc_widebandPRACH_SCS_480kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_widebandPRACH_SCS_480kHz_r17 },
  { &hf_nr_rrc_multiRB_PUCCH_SCS_480kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiRB_PUCCH_SCS_480kHz_r17 },
  { &hf_nr_rrc_enhancedPDCCH_monitoringSCS_480kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedPDCCH_monitoringSCS_480kHz_r17 },
  { &hf_nr_rrc_dl_FR2_2_SCS_960kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_FR2_2_SCS_960kHz_r17 },
  { &hf_nr_rrc_ul_FR2_2_SCS_960kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_FR2_2_SCS_960kHz_r17 },
  { &hf_nr_rrc_multiRB_PUCCH_SCS_960kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiRB_PUCCH_SCS_960kHz_r17 },
  { &hf_nr_rrc_enhancedPDCCH_monitoringSCS_960kHz_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedPDCCH_monitoringSCS_960kHz_r17 },
  { &hf_nr_rrc_type1_ChannelAccess_FR2_2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_ChannelAccess_FR2_2_r17 },
  { &hf_nr_rrc_type2_ChannelAccess_FR2_2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_ChannelAccess_FR2_2_r17 },
  { &hf_nr_rrc_reduced_BeamSwitchTiming_FR2_2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_reduced_BeamSwitchTiming_FR2_2_r17 },
  { &hf_nr_rrc_support32_DL_HARQ_ProcessPerSCS_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_support32_DL_HARQ_ProcessPerSCS_r17 },
  { &hf_nr_rrc_support32_UL_HARQ_ProcessPerSCS_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_support32_UL_HARQ_ProcessPerSCS_r17 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FR2_2_AccessParamsPerBand_r17_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_FR2_2_AccessParamsPerBand_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_FR2_2_AccessParamsPerBand_r17, FR2_2_AccessParamsPerBand_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_measurementEnhancement_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measurementEnhancement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_demodulationEnhancement_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_demodulationEnhancement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t HighSpeedParameters_r16_sequence[] = {
  { &hf_nr_rrc_measurementEnhancement_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measurementEnhancement_r16 },
  { &hf_nr_rrc_demodulationEnhancement_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_demodulationEnhancement_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HighSpeedParameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HighSpeedParameters_r16, HighSpeedParameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_intraNR_MeasurementEnhancement_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraNR_MeasurementEnhancement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interRAT_MeasurementEnhancement_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interRAT_MeasurementEnhancement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_HighSpeedParameters_v1650_vals[] = {
  {   0, "intraNR-MeasurementEnhancement-r16" },
  {   1, "interRAT-MeasurementEnhancement-r16" },
  { 0, NULL }
};

static const per_choice_t HighSpeedParameters_v1650_choice[] = {
  {   0, &hf_nr_rrc_intraNR_MeasurementEnhancement_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_intraNR_MeasurementEnhancement_r16 },
  {   1, &hf_nr_rrc_interRAT_MeasurementEnhancement_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_interRAT_MeasurementEnhancement_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_HighSpeedParameters_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_HighSpeedParameters_v1650, HighSpeedParameters_v1650_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_measurementEnhancementCA_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measurementEnhancementCA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_measurementEnhancementInterFreq_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measurementEnhancementInterFreq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t HighSpeedParameters_v1700_sequence[] = {
  { &hf_nr_rrc_measurementEnhancementCA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measurementEnhancementCA_r17 },
  { &hf_nr_rrc_measurementEnhancementInterFreq_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measurementEnhancementInterFreq_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_HighSpeedParameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_HighSpeedParameters_v1700, HighSpeedParameters_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_voiceOverEUTRA_5GC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_voiceOverEUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t IMS_ParametersCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_voiceOverSCG_BearerEUTRA_5GC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IMS_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, IMS_ParametersCommon_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_voiceFallbackIndicationEPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_voiceFallbackIndicationEPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t IMS_ParametersCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_voiceFallbackIndicationEPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_voiceFallbackIndicationEPS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IMS_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, IMS_ParametersCommon_eag_2_sequence);

  return offset;
}


static const per_sequence_t IMS_ParametersCommon_sequence[] = {
  { &hf_nr_rrc_voiceOverEUTRA_5GC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_voiceOverEUTRA_5GC },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_IMS_ParametersCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_IMS_ParametersCommon_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IMS_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IMS_ParametersCommon, IMS_ParametersCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_voiceOverNR_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_voiceOverNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t IMS_ParametersFRX_Diff_sequence[] = {
  { &hf_nr_rrc_voiceOverNR  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_voiceOverNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IMS_ParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IMS_ParametersFRX_Diff, IMS_ParametersFRX_Diff_sequence);

  return offset;
}


static const per_sequence_t IMS_Parameters_sequence[] = {
  { &hf_nr_rrc_ims_ParametersCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_IMS_ParametersCommon },
  { &hf_nr_rrc_ims_ParametersFRX_Diff, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_IMS_ParametersFRX_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IMS_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IMS_Parameters, IMS_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_voiceOverNR_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_voiceOverNR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t IMS_ParametersFR2_2_r17_sequence[] = {
  { &hf_nr_rrc_voiceOverNR_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_voiceOverNR_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IMS_ParametersFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IMS_ParametersFR2_2_r17, IMS_ParametersFR2_2_r17_sequence);

  return offset;
}


static const per_sequence_t IMS_Parameters_v1700_sequence[] = {
  { &hf_nr_rrc_ims_ParametersFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IMS_ParametersFR2_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_IMS_Parameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_IMS_Parameters_v1700, IMS_Parameters_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_mfbi_EUTRA_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mfbi_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiNS_Pmax_EUTRA_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiNS_Pmax_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rs_SINR_MeasEUTRA_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rs_SINR_MeasEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ne_DC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ne_DC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t EUTRA_ParametersCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_ne_DC        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ne_DC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EUTRA_ParametersCommon_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_nr_HO_ToEN_DC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_HO_ToEN_DC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t EUTRA_ParametersCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_nr_HO_ToEN_DC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_HO_ToEN_DC_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EUTRA_ParametersCommon_eag_2_sequence);

  return offset;
}


static const per_sequence_t EUTRA_ParametersCommon_sequence[] = {
  { &hf_nr_rrc_mfbi_EUTRA   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mfbi_EUTRA },
  { &hf_nr_rrc_modifiedMPR_BehaviorEUTRA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_32 },
  { &hf_nr_rrc_multiNS_Pmax_EUTRA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiNS_Pmax_EUTRA },
  { &hf_nr_rrc_rs_SINR_MeasEUTRA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rs_SINR_MeasEUTRA },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ParametersCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ParametersCommon_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_ParametersCommon, EUTRA_ParametersCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_rsrqMeasWidebandEUTRA_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rsrqMeasWidebandEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t EUTRA_ParametersXDD_Diff_sequence[] = {
  { &hf_nr_rrc_rsrqMeasWidebandEUTRA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rsrqMeasWidebandEUTRA },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_ParametersXDD_Diff, EUTRA_ParametersXDD_Diff_sequence);

  return offset;
}


static const per_sequence_t EUTRA_Parameters_sequence[] = {
  { &hf_nr_rrc_supportedBandListEUTRA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA },
  { &hf_nr_rrc_eutra_ParametersCommon, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_ParametersCommon },
  { &hf_nr_rrc_eutra_ParametersXDD_Diff, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_ParametersXDD_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_EUTRA_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_EUTRA_Parameters, EUTRA_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_SupportedBandUTRA_FDD_r16_vals[] = {
  {   0, "bandI" },
  {   1, "bandII" },
  {   2, "bandIII" },
  {   3, "bandIV" },
  {   4, "bandV" },
  {   5, "bandVI" },
  {   6, "bandVII" },
  {   7, "bandVIII" },
  {   8, "bandIX" },
  {   9, "bandX" },
  {  10, "bandXI" },
  {  11, "bandXII" },
  {  12, "bandXIII" },
  {  13, "bandXIV" },
  {  14, "bandXV" },
  {  15, "bandXVI" },
  {  16, "bandXVII" },
  {  17, "bandXVIII" },
  {  18, "bandXIX" },
  {  19, "bandXX" },
  {  20, "bandXXI" },
  {  21, "bandXXII" },
  {  22, "bandXXIII" },
  {  23, "bandXXIV" },
  {  24, "bandXXV" },
  {  25, "bandXXVI" },
  {  26, "bandXXVII" },
  {  27, "bandXXVIII" },
  {  28, "bandXXIX" },
  {  29, "bandXXX" },
  {  30, "bandXXXI" },
  {  31, "bandXXXII" },
  { 0, NULL }
};

static value_string_ext nr_rrc_SupportedBandUTRA_FDD_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SupportedBandUTRA_FDD_r16_vals);


static int
dissect_nr_rrc_SupportedBandUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandListUTRA_FDD_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandUTRA_FDD_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16, SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16_sequence_of,
                                                  1, maxBandsUTRA_FDD_r16, FALSE);

  return offset;
}


static const per_sequence_t UTRA_FDD_Parameters_r16_sequence[] = {
  { &hf_nr_rrc_supportedBandListUTRA_FDD_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UTRA_FDD_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UTRA_FDD_Parameters_r16, UTRA_FDD_Parameters_r16_sequence);

  return offset;
}


static const per_sequence_t InterRAT_Parameters_eag_1_sequence[] = {
  { &hf_nr_rrc_utra_FDD_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UTRA_FDD_Parameters_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterRAT_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, InterRAT_Parameters_eag_1_sequence);

  return offset;
}


static const per_sequence_t InterRAT_Parameters_sequence[] = {
  { &hf_nr_rrc_eutra_06     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_EUTRA_Parameters },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterRAT_Parameters_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_InterRAT_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_InterRAT_Parameters, InterRAT_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_lcp_Restriction_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lcp_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mAC_ParametersCommon_dummy_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mAC_ParametersCommon_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lch_ToSCellRestriction_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lch_ToSCellRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_recommendedBitRate_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_recommendedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_recommendedBitRateQuery_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_recommendedBitRateQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_recommendedBitRate, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_recommendedBitRate },
  { &hf_nr_rrc_recommendedBitRateQuery, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_recommendedBitRateQuery },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersCommon_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_recommendedBitRateMultiplier_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_recommendedBitRateMultiplier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preEmptiveBSR_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preEmptiveBSR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_autonomousTransmission_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_autonomousTransmission_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lch_PriorityBasedPrioritization_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lch_PriorityBasedPrioritization_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lch_ToConfiguredGrantMapping_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lch_ToConfiguredGrantMapping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lch_ToGrantPriorityRestriction_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lch_ToGrantPriorityRestriction_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_singlePHR_P_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_singlePHR_P_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_LBT_FailureDetectionRecovery_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_LBT_FailureDetectionRecovery_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tdd_MPE_P_MPR_Reporting_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tdd_MPE_P_MPR_Reporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lcid_ExtensionIAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lcid_ExtensionIAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_recommendedBitRateMultiplier_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_recommendedBitRateMultiplier_r16 },
  { &hf_nr_rrc_preEmptiveBSR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preEmptiveBSR_r16 },
  { &hf_nr_rrc_autonomousTransmission_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_autonomousTransmission_r16 },
  { &hf_nr_rrc_lch_PriorityBasedPrioritization_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lch_PriorityBasedPrioritization_r16 },
  { &hf_nr_rrc_lch_ToConfiguredGrantMapping_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lch_ToConfiguredGrantMapping_r16 },
  { &hf_nr_rrc_lch_ToGrantPriorityRestriction_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lch_ToGrantPriorityRestriction_r16 },
  { &hf_nr_rrc_singlePHR_P_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_singlePHR_P_r16 },
  { &hf_nr_rrc_ul_LBT_FailureDetectionRecovery_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_LBT_FailureDetectionRecovery_r16 },
  { &hf_nr_rrc_tdd_MPE_P_MPR_Reporting_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tdd_MPE_P_MPR_Reporting_r16 },
  { &hf_nr_rrc_lcid_ExtensionIAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lcid_ExtensionIAB_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersCommon_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_spCell_BFR_CBRA_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spCell_BFR_CBRA_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersCommon_eag_3_sequence[] = {
  { &hf_nr_rrc_spCell_BFR_CBRA_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spCell_BFR_CBRA_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersCommon_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersCommon_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_srs_ResourceId_Ext_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_ResourceId_Ext_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersCommon_eag_4_sequence[] = {
  { &hf_nr_rrc_srs_ResourceId_Ext_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_ResourceId_Ext_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersCommon_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersCommon_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_enhancedUuDRX_forSidelink_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedUuDRX_forSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mg_ActivationRequestPRS_Meas_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mg_ActivationRequestPRS_Meas_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mg_ActivationCommPRS_Meas_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mg_ActivationCommPRS_Meas_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraCG_Prioritization_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraCG_Prioritization_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_jointPrioritizationCG_Retx_Timer_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_jointPrioritizationCG_Retx_Timer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_survivalTime_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_survivalTime_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lcg_ExtensionIAB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lcg_ExtensionIAB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_FeedbackDisabled_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_FeedbackDisabled_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplink_Harq_ModeB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplink_Harq_ModeB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sr_TriggeredBy_TA_Report_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sr_TriggeredBy_TA_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedDRX_CycleInactive_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedDRX_CycleInactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousSR_PUSCH_DiffPUCCH_groups_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousSR_PUSCH_DiffPUCCH_groups_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lastTransmissionUL_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lastTransmissionUL_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersCommon_eag_5_sequence[] = {
  { &hf_nr_rrc_enhancedUuDRX_forSidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedUuDRX_forSidelink_r17 },
  { &hf_nr_rrc_mg_ActivationRequestPRS_Meas_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mg_ActivationRequestPRS_Meas_r17 },
  { &hf_nr_rrc_mg_ActivationCommPRS_Meas_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mg_ActivationCommPRS_Meas_r17 },
  { &hf_nr_rrc_intraCG_Prioritization_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraCG_Prioritization_r17_01 },
  { &hf_nr_rrc_jointPrioritizationCG_Retx_Timer_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_jointPrioritizationCG_Retx_Timer_r17 },
  { &hf_nr_rrc_survivalTime_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_survivalTime_r17 },
  { &hf_nr_rrc_lcg_ExtensionIAB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lcg_ExtensionIAB_r17 },
  { &hf_nr_rrc_harq_FeedbackDisabled_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harq_FeedbackDisabled_r17 },
  { &hf_nr_rrc_uplink_Harq_ModeB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplink_Harq_ModeB_r17 },
  { &hf_nr_rrc_sr_TriggeredBy_TA_Report_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sr_TriggeredBy_TA_Report_r17 },
  { &hf_nr_rrc_extendedDRX_CycleInactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedDRX_CycleInactive_r17 },
  { &hf_nr_rrc_simultaneousSR_PUSCH_DiffPUCCH_groups_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousSR_PUSCH_DiffPUCCH_groups_r17 },
  { &hf_nr_rrc_lastTransmissionUL_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lastTransmissionUL_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersCommon_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersCommon_eag_5_sequence);

  return offset;
}


static const per_sequence_t MAC_ParametersCommon_sequence[] = {
  { &hf_nr_rrc_lcp_Restriction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_lcp_Restriction },
  { &hf_nr_rrc_mAC_ParametersCommon_dummy, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mAC_ParametersCommon_dummy },
  { &hf_nr_rrc_lch_ToSCellRestriction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_lch_ToSCellRestriction },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_5 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_ParametersCommon, MAC_ParametersCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_skipUplinkTxDynamic_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_skipUplinkTxDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_longDRX_Cycle_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_longDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_shortDRX_Cycle_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multipleSR_Configurations_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multipleSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multipleConfiguredGrants_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multipleConfiguredGrants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_secondaryDRX_Group_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_secondaryDRX_Group_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersXDD_Diff_eag_1_sequence[] = {
  { &hf_nr_rrc_secondaryDRX_Group_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_secondaryDRX_Group_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersXDD_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersXDD_Diff_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_enhancedSkipUplinkTxDynamic_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedSkipUplinkTxDynamic_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enhancedSkipUplinkTxConfigured_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedSkipUplinkTxConfigured_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersXDD_Diff_eag_2_sequence[] = {
  { &hf_nr_rrc_enhancedSkipUplinkTxDynamic_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedSkipUplinkTxDynamic_r16_01 },
  { &hf_nr_rrc_enhancedSkipUplinkTxConfigured_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedSkipUplinkTxConfigured_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersXDD_Diff_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersXDD_Diff_eag_2_sequence);

  return offset;
}


static const per_sequence_t MAC_ParametersXDD_Diff_sequence[] = {
  { &hf_nr_rrc_skipUplinkTxDynamic, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_skipUplinkTxDynamic },
  { &hf_nr_rrc_logicalChannelSR_DelayTimer_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01 },
  { &hf_nr_rrc_longDRX_Cycle, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_longDRX_Cycle },
  { &hf_nr_rrc_shortDRX_Cycle, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_shortDRX_Cycle },
  { &hf_nr_rrc_multipleSR_Configurations, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleSR_Configurations },
  { &hf_nr_rrc_multipleConfiguredGrants, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleConfiguredGrants },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersXDD_Diff_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersXDD_Diff_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_ParametersXDD_Diff, MAC_ParametersXDD_Diff_sequence);

  return offset;
}


static const per_sequence_t MAC_Parameters_sequence[] = {
  { &hf_nr_rrc_mac_ParametersCommon, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersCommon },
  { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersXDD_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_Parameters, MAC_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_directMCG_SCellActivation_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directMCG_SCellActivation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_directMCG_SCellActivationResume_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directMCG_SCellActivationResume_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_directSCG_SCellActivation_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directSCG_SCellActivation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_directSCG_SCellActivationResume_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directSCG_SCellActivationResume_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_15kHz_r16_01_vals[] = {
  {   0, "sl1" },
  {   1, "sl3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_15kHz_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_minTimeGap_r16_scs_30kHz_r16_vals[] = {
  {   0, "sl1" },
  {   1, "sl6" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minTimeGap_r16_scs_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_minTimeGap_r16_scs_60kHz_r16_vals[] = {
  {   0, "sl1" },
  {   1, "sl12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minTimeGap_r16_scs_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_minTimeGap_r16_scs_120kHz_r16_vals[] = {
  {   0, "sl2" },
  {   1, "sl24" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minTimeGap_r16_scs_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MinTimeGap_r16_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_15kHz_r16_01 },
  { &hf_nr_rrc_minTimeGap_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minTimeGap_r16_scs_30kHz_r16 },
  { &hf_nr_rrc_minTimeGap_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minTimeGap_r16_scs_60kHz_r16 },
  { &hf_nr_rrc_minTimeGap_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minTimeGap_r16_scs_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MinTimeGap_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MinTimeGap_r16, MinTimeGap_r16_sequence);

  return offset;
}


static const per_sequence_t T_drx_Adaptation_r16_sequence[] = {
  { &hf_nr_rrc_non_SharedSpectrumChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MinTimeGap_r16 },
  { &hf_nr_rrc_sharedSpectrumChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MinTimeGap_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_Adaptation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_drx_Adaptation_r16, T_drx_Adaptation_r16_sequence);

  return offset;
}


static const per_sequence_t MAC_ParametersFRX_Diff_r16_sequence[] = {
  { &hf_nr_rrc_directMCG_SCellActivation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_directMCG_SCellActivation_r16 },
  { &hf_nr_rrc_directMCG_SCellActivationResume_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_directMCG_SCellActivationResume_r16 },
  { &hf_nr_rrc_directSCG_SCellActivation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_directSCG_SCellActivation_r16 },
  { &hf_nr_rrc_directSCG_SCellActivationResume_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_directSCG_SCellActivationResume_r16 },
  { &hf_nr_rrc_drx_Adaptation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_Adaptation_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersFRX_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_ParametersFRX_Diff_r16, MAC_ParametersFRX_Diff_r16_sequence);

  return offset;
}


static const per_sequence_t MAC_Parameters_v1610_sequence[] = {
  { &hf_nr_rrc_mac_ParametersFRX_Diff_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersFRX_Diff_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_Parameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_Parameters_v1610, MAC_Parameters_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_directMCG_SCellActivation_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directMCG_SCellActivation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_directMCG_SCellActivationResume_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directMCG_SCellActivationResume_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_directSCG_SCellActivation_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directSCG_SCellActivation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_directSCG_SCellActivationResume_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directSCG_SCellActivationResume_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_120kHz_r17_04_vals[] = {
  {   0, "sl2" },
  {   1, "sl24" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_120kHz_r17_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_480kHz_r17_02_vals[] = {
  {   0, "sl8" },
  {   1, "sl96" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_480kHz_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_960kHz_r17_02_vals[] = {
  {   0, "sl16" },
  {   1, "sl192" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_960kHz_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MinTimeGapFR2_2_r17_sequence[] = {
  { &hf_nr_rrc_scs_120kHz_r17_06, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_120kHz_r17_04 },
  { &hf_nr_rrc_scs_480kHz_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_480kHz_r17_02 },
  { &hf_nr_rrc_scs_960kHz_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_960kHz_r17_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MinTimeGapFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MinTimeGapFR2_2_r17, MinTimeGapFR2_2_r17_sequence);

  return offset;
}


static const per_sequence_t T_drx_Adaptation_r17_sequence[] = {
  { &hf_nr_rrc_non_SharedSpectrumChAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MinTimeGapFR2_2_r17 },
  { &hf_nr_rrc_sharedSpectrumChAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MinTimeGapFR2_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_drx_Adaptation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_drx_Adaptation_r17, T_drx_Adaptation_r17_sequence);

  return offset;
}


static const per_sequence_t MAC_ParametersFR2_2_r17_sequence[] = {
  { &hf_nr_rrc_directMCG_SCellActivation_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_directMCG_SCellActivation_r17 },
  { &hf_nr_rrc_directMCG_SCellActivationResume_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_directMCG_SCellActivationResume_r17 },
  { &hf_nr_rrc_directSCG_SCellActivation_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_directSCG_SCellActivation_r17 },
  { &hf_nr_rrc_directSCG_SCellActivationResume_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_directSCG_SCellActivationResume_r17 },
  { &hf_nr_rrc_drx_Adaptation_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_Adaptation_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_ParametersFR2_2_r17, MAC_ParametersFR2_2_r17_sequence);

  return offset;
}


static const per_sequence_t MAC_Parameters_v1700_sequence[] = {
  { &hf_nr_rrc_mac_ParametersFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersFR2_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_Parameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_Parameters_v1700, MAC_Parameters_v1700_sequence);

  return offset;
}



static int
dissect_nr_rrc_BIT_STRING_SIZE_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     22, 22, FALSE, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_RLM_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_AndCSI_RS_RLM_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_AndCSI_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eventB_MeasAndReport_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eventB_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverFDD_TDD_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverFDD_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_CGI_Reporting_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_CGI_Reporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_CGI_Reporting_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_CGI_Reporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_eventB_MeasAndReport, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eventB_MeasAndReport },
  { &hf_nr_rrc_handoverFDD_TDD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverFDD_TDD },
  { &hf_nr_rrc_eutra_CGI_Reporting, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_CGI_Reporting },
  { &hf_nr_rrc_nr_CGI_Reporting, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_CGI_Reporting },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_independentGapConfig_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicEUTRA_MeasAndReport_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicEUTRA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverFR1_FR2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverFR1_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCSI_RS_RRM_RS_SINR_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n64" },
  {   5, "n96" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCSI_RS_RRM_RS_SINR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_independentGapConfig, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_independentGapConfig },
  { &hf_nr_rrc_periodicEUTRA_MeasAndReport, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_periodicEUTRA_MeasAndReport },
  { &hf_nr_rrc_handoverFR1_FR2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverFR1_FR2 },
  { &hf_nr_rrc_maxNumberCSI_RS_RRM_RS_SINR, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberCSI_RS_RRM_RS_SINR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_nr_CGI_Reporting_ENDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_CGI_Reporting_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_3_sequence[] = {
  { &hf_nr_rrc_nr_CGI_Reporting_ENDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_CGI_Reporting_ENDC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_eutra_CGI_Reporting_NEDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_CGI_Reporting_NEDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_CGI_Reporting_NRDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_CGI_Reporting_NRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_CGI_Reporting_NEDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_CGI_Reporting_NEDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_CGI_Reporting_NRDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_CGI_Reporting_NRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_4_sequence[] = {
  { &hf_nr_rrc_eutra_CGI_Reporting_NEDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_CGI_Reporting_NEDC },
  { &hf_nr_rrc_eutra_CGI_Reporting_NRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_CGI_Reporting_NRDC },
  { &hf_nr_rrc_nr_CGI_Reporting_NEDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_CGI_Reporting_NEDC },
  { &hf_nr_rrc_nr_CGI_Reporting_NRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_CGI_Reporting_NRDC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_reportAddNeighMeasForPeriodic_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reportAddNeighMeasForPeriodic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condHandoverFDD_TDD_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condHandoverFDD_TDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condHandoverFR1_FR2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condHandoverFR1_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_condHandoverParametersCommon_r16_sequence[] = {
  { &hf_nr_rrc_condHandoverFDD_TDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandoverFDD_TDD_r16 },
  { &hf_nr_rrc_condHandoverFR1_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandoverFR1_FR2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_condHandoverParametersCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_condHandoverParametersCommon_r16, T_condHandoverParametersCommon_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_nr_NeedForGap_Reporting_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_NeedForGap_Reporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedGapPattern_NRonly_NEDC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedGapPattern_NRonly_NEDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCLI_RSSI_r16_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCLI_RSSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCLI_SRS_RSRP_r16_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCLI_SRS_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPerSlotCLI_SRS_RSRP_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPerSlotCLI_SRS_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mfbi_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mfbi_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_measAndMobParametersCommon_eag_5_dummy_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_measAndMobParametersCommon_eag_5_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_CGI_Reporting_NPN_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_CGI_Reporting_NPN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_idleInactiveEUTRA_MeasReport_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleInactiveEUTRA_MeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_idleInactive_ValidityArea_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleInactive_ValidityArea_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_AutonomousGaps_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_AutonomousGaps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_AutonomousGaps_NEDC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_AutonomousGaps_NEDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_AutonomousGaps_NRDC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_AutonomousGaps_NRDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pcellT312_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pcellT312_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_5_sequence[] = {
  { &hf_nr_rrc_reportAddNeighMeasForPeriodic_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reportAddNeighMeasForPeriodic_r16 },
  { &hf_nr_rrc_condHandoverParametersCommon_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandoverParametersCommon_r16 },
  { &hf_nr_rrc_nr_NeedForGap_Reporting_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_NeedForGap_Reporting_r16 },
  { &hf_nr_rrc_supportedGapPattern_NRonly_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_supportedGapPattern_NRonly_NEDC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedGapPattern_NRonly_NEDC_r16 },
  { &hf_nr_rrc_maxNumberCLI_RSSI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberCLI_RSSI_r16 },
  { &hf_nr_rrc_maxNumberCLI_SRS_RSRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberCLI_SRS_RSRP_r16 },
  { &hf_nr_rrc_maxNumberPerSlotCLI_SRS_RSRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberPerSlotCLI_SRS_RSRP_r16 },
  { &hf_nr_rrc_mfbi_IAB_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mfbi_IAB_r16 },
  { &hf_nr_rrc_measAndMobParametersCommon_eag_5_dummy, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_measAndMobParametersCommon_eag_5_dummy },
  { &hf_nr_rrc_nr_CGI_Reporting_NPN_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_CGI_Reporting_NPN_r16 },
  { &hf_nr_rrc_idleInactiveEUTRA_MeasReport_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleInactiveEUTRA_MeasReport_r16 },
  { &hf_nr_rrc_idleInactive_ValidityArea_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleInactive_ValidityArea_r16 },
  { &hf_nr_rrc_eutra_AutonomousGaps_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_AutonomousGaps_r16 },
  { &hf_nr_rrc_eutra_AutonomousGaps_NEDC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_AutonomousGaps_NEDC_r16 },
  { &hf_nr_rrc_eutra_AutonomousGaps_NRDC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_AutonomousGaps_NRDC_r16 },
  { &hf_nr_rrc_pcellT312_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pcellT312_r16 },
  { &hf_nr_rrc_supportedGapPattern_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_5_sequence);

  return offset;
}


static const value_string nr_rrc_T_concurrentPerUE_OnlyMeasGap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_concurrentPerUE_OnlyMeasGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_concurrentPerUE_PerFRCombMeasGap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_concurrentPerUE_PerFRCombMeasGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_concurrentMeasGap_r17_vals[] = {
  {   0, "concurrentPerUE-OnlyMeasGap-r17" },
  {   1, "concurrentPerUE-PerFRCombMeasGap-r17" },
  { 0, NULL }
};

static const per_choice_t T_concurrentMeasGap_r17_choice[] = {
  {   0, &hf_nr_rrc_concurrentPerUE_OnlyMeasGap_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_concurrentPerUE_OnlyMeasGap_r17 },
  {   1, &hf_nr_rrc_concurrentPerUE_PerFRCombMeasGap_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_concurrentPerUE_PerFRCombMeasGap_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_concurrentMeasGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_concurrentMeasGap_r17, T_concurrentMeasGap_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_NeedForGapNCSG_Reporting_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_NeedForGapNCSG_Reporting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eutra_NeedForGapNCSG_Reporting_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eutra_NeedForGapNCSG_Reporting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ncsg_MeasGapPerFR_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ncsg_MeasGapPerFR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preconfiguredUE_AutonomousMeasGap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preconfiguredUE_AutonomousMeasGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_preconfiguredNW_ControlledMeasGap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_preconfiguredNW_ControlledMeasGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverFR1_FR2_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverFR1_FR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverFR2_1_FR2_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverFR2_1_FR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_independentGapConfigPRS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_independentGapConfigPRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rrm_RelaxationRRC_ConnectedRedCap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rrm_RelaxationRRC_ConnectedRedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_parallelMeasurementGap_r17_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelMeasurementGap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condHandoverWithSCG_NRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condHandoverWithSCG_NRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_ID_LengthReporting_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_ID_LengthReporting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_ID_LengthReporting_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_ID_LengthReporting_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_ID_LengthReporting_NEDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_ID_LengthReporting_NEDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_ID_LengthReporting_NRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_ID_LengthReporting_NRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_ID_LengthReporting_NPN_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_ID_LengthReporting_NPN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_6_sequence[] = {
  { &hf_nr_rrc_concurrentMeasGap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_concurrentMeasGap_r17 },
  { &hf_nr_rrc_nr_NeedForGapNCSG_Reporting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_NeedForGapNCSG_Reporting_r17 },
  { &hf_nr_rrc_eutra_NeedForGapNCSG_Reporting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eutra_NeedForGapNCSG_Reporting_r17 },
  { &hf_nr_rrc_ncsg_MeasGapPerFR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ncsg_MeasGapPerFR_r17 },
  { &hf_nr_rrc_ncsg_MeasGapPatterns_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_24 },
  { &hf_nr_rrc_ncsg_MeasGapNR_Patterns_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_24 },
  { &hf_nr_rrc_preconfiguredUE_AutonomousMeasGap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preconfiguredUE_AutonomousMeasGap_r17 },
  { &hf_nr_rrc_preconfiguredNW_ControlledMeasGap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_preconfiguredNW_ControlledMeasGap_r17 },
  { &hf_nr_rrc_handoverFR1_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverFR1_FR2_2_r17 },
  { &hf_nr_rrc_handoverFR2_1_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverFR2_1_FR2_2_r17 },
  { &hf_nr_rrc_independentGapConfigPRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_independentGapConfigPRS_r17 },
  { &hf_nr_rrc_rrm_RelaxationRRC_ConnectedRedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rrm_RelaxationRRC_ConnectedRedCap_r17 },
  { &hf_nr_rrc_parallelMeasurementGap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelMeasurementGap_r17 },
  { &hf_nr_rrc_condHandoverWithSCG_NRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandoverWithSCG_NRDC_r17 },
  { &hf_nr_rrc_gNB_ID_LengthReporting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_ID_LengthReporting_r17 },
  { &hf_nr_rrc_gNB_ID_LengthReporting_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_ID_LengthReporting_ENDC_r17 },
  { &hf_nr_rrc_gNB_ID_LengthReporting_NEDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_ID_LengthReporting_NEDC_r17 },
  { &hf_nr_rrc_gNB_ID_LengthReporting_NRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_ID_LengthReporting_NRDC_r17 },
  { &hf_nr_rrc_gNB_ID_LengthReporting_NPN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_ID_LengthReporting_NPN_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_6_sequence);

  return offset;
}


static const value_string nr_rrc_T_parallelSMTC_r17_vals[] = {
  {   0, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelSMTC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_concurrentMeasGapEUTRA_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_concurrentMeasGapEUTRA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_serviceLinkPropDelayDiffReporting_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_serviceLinkPropDelayDiffReporting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ncsg_SymbolLevelScheduleRestrictionInter_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ncsg_SymbolLevelScheduleRestrictionInter_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_7_sequence[] = {
  { &hf_nr_rrc_parallelSMTC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelSMTC_r17 },
  { &hf_nr_rrc_concurrentMeasGapEUTRA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_concurrentMeasGapEUTRA_r17 },
  { &hf_nr_rrc_serviceLinkPropDelayDiffReporting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_serviceLinkPropDelayDiffReporting_r17 },
  { &hf_nr_rrc_ncsg_SymbolLevelScheduleRestrictionInter_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ncsg_SymbolLevelScheduleRestrictionInter_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_7_sequence);

  return offset;
}


static const value_string nr_rrc_T_eventD1_MeasReportTrigger_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eventD1_MeasReportTrigger_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_independentGapConfig_maxCC_r17_sequence[] = {
  { &hf_nr_rrc_fr1_Only_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_fr2_Only_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_fr1_AndFR2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_independentGapConfig_maxCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_independentGapConfig_maxCC_r17, T_independentGapConfig_maxCC_r17_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_8_sequence[] = {
  { &hf_nr_rrc_eventD1_MeasReportTrigger_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eventD1_MeasReportTrigger_r17 },
  { &hf_nr_rrc_independentGapConfig_maxCC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_independentGapConfig_maxCC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_8_sequence);

  return offset;
}


static const value_string nr_rrc_T_interSatMeas_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interSatMeas_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_deriveSSB_IndexFromCellInterNon_NCSG_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_deriveSSB_IndexFromCellInterNon_NCSG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_eag_9_sequence[] = {
  { &hf_nr_rrc_interSatMeas_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interSatMeas_r17 },
  { &hf_nr_rrc_deriveSSB_IndexFromCellInterNon_NCSG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_deriveSSB_IndexFromCellInterNon_NCSG_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon_eag_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_9_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersCommon_sequence[] = {
  { &hf_nr_rrc_supportedGapPattern, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_22 },
  { &hf_nr_rrc_ssb_RLM      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_RLM },
  { &hf_nr_rrc_ssb_AndCSI_RS_RLM, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_AndCSI_RS_RLM },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_6 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_7 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_8 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_9 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersCommon, MeasAndMobParametersCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_intraAndInterF_MeasAndReport_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraAndInterF_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eventA_MeasAndReport_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eventA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverInterF_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverInterF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverLTE_EPC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverLTE_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverLTE_5GC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverLTE_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersXDD_Diff_eag_1_sequence[] = {
  { &hf_nr_rrc_handoverInterF, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverInterF },
  { &hf_nr_rrc_handoverLTE_EPC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverLTE_EPC },
  { &hf_nr_rrc_handoverLTE_5GC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverLTE_5GC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersXDD_Diff_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_sftd_MeasNR_Neigh_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sftd_MeasNR_Neigh(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sftd_MeasNR_Neigh_DRX_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sftd_MeasNR_Neigh_DRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersXDD_Diff_eag_2_sequence[] = {
  { &hf_nr_rrc_sftd_MeasNR_Neigh, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sftd_MeasNR_Neigh },
  { &hf_nr_rrc_sftd_MeasNR_Neigh_DRX, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sftd_MeasNR_Neigh_DRX },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersXDD_Diff_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_dummy_03_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersXDD_Diff_eag_3_sequence[] = {
  { &hf_nr_rrc_dummy_05     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersXDD_Diff_eag_3_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersXDD_Diff_sequence[] = {
  { &hf_nr_rrc_intraAndInterF_MeasAndReport, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraAndInterF_MeasAndReport },
  { &hf_nr_rrc_eventA_MeasAndReport, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_eventA_MeasAndReport },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersXDD_Diff, MeasAndMobParametersXDD_Diff_sequence);

  return offset;
}


static const value_string nr_rrc_T_ss_SINR_Meas_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ss_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_SINR_Meas_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_RLM_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverInterF_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverInterF_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverLTE_EPC_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverLTE_EPC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverLTE_5GC_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverLTE_5GC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_1_sequence[] = {
  { &hf_nr_rrc_handoverInterF_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverInterF_01 },
  { &hf_nr_rrc_handoverLTE_EPC_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverLTE_EPC_01 },
  { &hf_nr_rrc_handoverLTE_5GC_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverLTE_5GC_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberResource_CSI_RS_RLM_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberResource_CSI_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_2_sequence[] = {
  { &hf_nr_rrc_maxNumberResource_CSI_RS_RLM, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberResource_CSI_RS_RLM },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_3_sequence[] = {
  { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_nr_AutonomousGaps_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_AutonomousGaps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_AutonomousGaps_ENDC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_AutonomousGaps_ENDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_AutonomousGaps_NEDC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_AutonomousGaps_NEDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_AutonomousGaps_NRDC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_AutonomousGaps_NRDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy_04_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cli_RSSI_Meas_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cli_RSSI_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cli_SRS_RSRP_Meas_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cli_SRS_RSRP_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interFrequencyMeas_NoGap_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interFrequencyMeas_NoGap_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_Inter_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_Inter_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_idleInactiveNR_MeasReport_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleInactiveNR_MeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_idleInactiveNR_MeasBeamReport_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleInactiveNR_MeasBeamReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_4_sequence[] = {
  { &hf_nr_rrc_nr_AutonomousGaps_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_AutonomousGaps_r16 },
  { &hf_nr_rrc_nr_AutonomousGaps_ENDC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_AutonomousGaps_ENDC_r16 },
  { &hf_nr_rrc_nr_AutonomousGaps_NEDC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_AutonomousGaps_NEDC_r16 },
  { &hf_nr_rrc_nr_AutonomousGaps_NRDC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_AutonomousGaps_NRDC_r16 },
  { &hf_nr_rrc_dummy_06     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy_04 },
  { &hf_nr_rrc_cli_RSSI_Meas_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cli_RSSI_Meas_r16 },
  { &hf_nr_rrc_cli_SRS_RSRP_Meas_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cli_SRS_RSRP_Meas_r16 },
  { &hf_nr_rrc_interFrequencyMeas_NoGap_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interFrequencyMeas_NoGap_r16 },
  { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_Inter_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_Inter_r16 },
  { &hf_nr_rrc_idleInactiveNR_MeasReport_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleInactiveNR_MeasReport_r16 },
  { &hf_nr_rrc_idleInactiveNR_MeasBeamReport_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleInactiveNR_MeasBeamReport_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_increasedNumberofCSIRSPerMO_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_increasedNumberofCSIRSPerMO_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_5_sequence[] = {
  { &hf_nr_rrc_increasedNumberofCSIRSPerMO_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_increasedNumberofCSIRSPerMO_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_5_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersFRX_Diff_sequence[] = {
  { &hf_nr_rrc_ss_SINR_Meas , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ss_SINR_Meas },
  { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB },
  { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB },
  { &hf_nr_rrc_csi_SINR_Meas, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_SINR_Meas },
  { &hf_nr_rrc_csi_RS_RLM   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RS_RLM },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_5 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersFRX_Diff, MeasAndMobParametersFRX_Diff_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParameters_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersCommon, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersCommon },
  { &hf_nr_rrc_measAndMobParametersXDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersXDD_Diff },
  { &hf_nr_rrc_measAndMobParametersFRX_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersFRX_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParameters, MeasAndMobParameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_handoverInterF_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverInterF_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverLTE_EPC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverLTE_EPC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverLTE_5GC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverLTE_5GC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_idleInactiveNR_MeasReport_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_idleInactiveNR_MeasReport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersFR2_2_r17_sequence[] = {
  { &hf_nr_rrc_handoverInterF_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverInterF_r17 },
  { &hf_nr_rrc_handoverLTE_EPC_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverLTE_EPC_r17 },
  { &hf_nr_rrc_handoverLTE_5GC_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverLTE_5GC_r17 },
  { &hf_nr_rrc_idleInactiveNR_MeasReport_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_idleInactiveNR_MeasReport_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersFR2_2_r17, MeasAndMobParametersFR2_2_r17_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParameters_v1700_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersFR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersFR2_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParameters_v1700, MeasAndMobParameters_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_independentGapConfig_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_independentGapConfig_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_Common_sequence[] = {
  { &hf_nr_rrc_independentGapConfig_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_independentGapConfig_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_Common, MeasAndMobParametersMRDC_Common_sequence);

  return offset;
}


static const value_string nr_rrc_T_sftd_MeasPSCell_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sftd_MeasPSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sftd_MeasNR_Cell_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sftd_MeasNR_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_XDD_Diff_sequence[] = {
  { &hf_nr_rrc_sftd_MeasPSCell, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sftd_MeasPSCell },
  { &hf_nr_rrc_sftd_MeasNR_Cell, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sftd_MeasNR_Cell },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff, MeasAndMobParametersMRDC_XDD_Diff_sequence);

  return offset;
}


static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_FRX_Diff_sequence[] = {
  { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff, MeasAndMobParametersMRDC_FRX_Diff_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_Common, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_Common },
  { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff },
  { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC, MeasAndMobParametersMRDC_sequence);

  return offset;
}


static const value_string nr_rrc_T_sftd_MeasPSCell_NEDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sftd_MeasPSCell_NEDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_XDD_Diff_v1560_sequence[] = {
  { &hf_nr_rrc_sftd_MeasPSCell_NEDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sftd_MeasPSCell_NEDC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560, MeasAndMobParametersMRDC_XDD_Diff_v1560_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_v1560_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_v1560, MeasAndMobParametersMRDC_v1560_sequence);

  return offset;
}


static const value_string nr_rrc_T_condPSCellChangeFDD_TDD_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condPSCellChangeFDD_TDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condPSCellChangeFR1_FR2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condPSCellChangeFR1_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_condPSCellChangeParametersCommon_r16_sequence[] = {
  { &hf_nr_rrc_condPSCellChangeFDD_TDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condPSCellChangeFDD_TDD_r16 },
  { &hf_nr_rrc_condPSCellChangeFR1_FR2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condPSCellChangeFR1_FR2_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_condPSCellChangeParametersCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_condPSCellChangeParametersCommon_r16, T_condPSCellChangeParametersCommon_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_pscellT312_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pscellT312_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_Common_v1610_sequence[] = {
  { &hf_nr_rrc_condPSCellChangeParametersCommon_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condPSCellChangeParametersCommon_r16 },
  { &hf_nr_rrc_pscellT312_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pscellT312_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_Common_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1610, MeasAndMobParametersMRDC_Common_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_interNR_MeasEUTRA_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interNR_MeasEUTRA_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_v1610_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_Common_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_Common_v1610 },
  { &hf_nr_rrc_interNR_MeasEUTRA_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interNR_MeasEUTRA_IAB_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_v1610, MeasAndMobParametersMRDC_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_inter_SN_condPSCellChangeFDD_TDD_NRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inter_SN_condPSCellChangeFDD_TDD_NRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_inter_SN_condPSCellChangeFR1_FR2_NRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inter_SN_condPSCellChangeFR1_FR2_NRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_inter_SN_condPSCellChangeFDD_TDD_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inter_SN_condPSCellChangeFDD_TDD_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_inter_SN_condPSCellChangeFR1_FR2_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inter_SN_condPSCellChangeFR1_FR2_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_condPSCellChangeParameters_r17_sequence[] = {
  { &hf_nr_rrc_inter_SN_condPSCellChangeFDD_TDD_NRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inter_SN_condPSCellChangeFDD_TDD_NRDC_r17 },
  { &hf_nr_rrc_inter_SN_condPSCellChangeFR1_FR2_NRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inter_SN_condPSCellChangeFR1_FR2_NRDC_r17 },
  { &hf_nr_rrc_inter_SN_condPSCellChangeFDD_TDD_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inter_SN_condPSCellChangeFDD_TDD_ENDC_r17 },
  { &hf_nr_rrc_inter_SN_condPSCellChangeFR1_FR2_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inter_SN_condPSCellChangeFR1_FR2_ENDC_r17 },
  { &hf_nr_rrc_mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17 },
  { &hf_nr_rrc_mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17 },
  { &hf_nr_rrc_mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17 },
  { &hf_nr_rrc_sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17 },
  { &hf_nr_rrc_sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17 },
  { &hf_nr_rrc_sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_condPSCellChangeParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_condPSCellChangeParameters_r17, T_condPSCellChangeParameters_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_condHandoverWithSCG_ENDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condHandoverWithSCG_ENDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condHandoverWithSCG_NEDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condHandoverWithSCG_NEDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_Common_v1700_sequence[] = {
  { &hf_nr_rrc_condPSCellChangeParameters_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condPSCellChangeParameters_r17 },
  { &hf_nr_rrc_condHandoverWithSCG_ENDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandoverWithSCG_ENDC_r17 },
  { &hf_nr_rrc_condHandoverWithSCG_NEDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandoverWithSCG_NEDC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_Common_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1700, MeasAndMobParametersMRDC_Common_v1700_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_v1700_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_Common_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_Common_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_v1700, MeasAndMobParametersMRDC_v1700_sequence);

  return offset;
}


static const per_sequence_t T_independentGapConfig_maxCC_r17_01_sequence[] = {
  { &hf_nr_rrc_fr1_Only_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_fr2_Only_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { &hf_nr_rrc_fr1_AndFR2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_independentGapConfig_maxCC_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_independentGapConfig_maxCC_r17_01, T_independentGapConfig_maxCC_r17_01_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_Common_v1730_sequence[] = {
  { &hf_nr_rrc_independentGapConfig_maxCC_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_independentGapConfig_maxCC_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_Common_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1730, MeasAndMobParametersMRDC_Common_v1730_sequence);

  return offset;
}


static const per_sequence_t MeasAndMobParametersMRDC_v1730_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_Common_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_Common_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasAndMobParametersMRDC_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasAndMobParametersMRDC_v1730, MeasAndMobParametersMRDC_v1730_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberConfiguredTCI_StatesPerCC_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n64" },
  {   5, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberConfiguredTCI_StatesPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberActiveTCI_PerBWP_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberActiveTCI_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_tci_StatePDSCH_sequence[] = {
  { &hf_nr_rrc_maxNumberConfiguredTCI_StatesPerCC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberConfiguredTCI_StatesPerCC },
  { &hf_nr_rrc_maxNumberActiveTCI_PerBWP, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberActiveTCI_PerBWP },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_tci_StatePDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_tci_StatePDSCH, T_tci_StatePDSCH_sequence);

  return offset;
}


static const value_string nr_rrc_T_additionalActiveTCI_StatePDCCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_additionalActiveTCI_StatePDCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_TransCoherence_vals[] = {
  {   0, "nonCoherent" },
  {   1, "partialCoherent" },
  {   2, "fullCoherent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_TransCoherence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_beamCorrespondenceWithoutUL_BeamSweeping_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamCorrespondenceWithoutUL_BeamSweeping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicBeamReport_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aperiodicBeamReport_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aperiodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_BeamReportPUCCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_BeamReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_BeamReportPUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_BeamReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals[] = {
  {   0, "n0" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  {   4, "n32" },
  {   5, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedCSI_RS_Density_vals[] = {
  {   0, "one" },
  {   1, "three" },
  {   2, "oneAndThree" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedCSI_RS_Density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t DummyG_sequence[] = {
  { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx },
  { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx },
  { &hf_nr_rrc_supportedCSI_RS_Density, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_Density },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyG, DummyG_sequence);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz_vals[] = {
  {   0, "n4" },
  {   1, "n7" },
  {   2, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_03_vals[] = {
  {   0, "n4" },
  {   1, "n7" },
  {   2, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz_vals[] = {
  {   0, "n4" },
  {   1, "n7" },
  {   2, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz_vals[] = {
  {   0, "n4" },
  {   1, "n7" },
  {   2, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_240kHz_vals[] = {
  {   0, "n4" },
  {   1, "n7" },
  {   2, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_240kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_sequence[] = {
  { &hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz },
  { &hf_nr_rrc_scs_30kHz_04 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_03 },
  { &hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz },
  { &hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz },
  { &hf_nr_rrc_scs_240kHz   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_240kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL, T_maxNumberRxTxBeamSwitchDL_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberNonGroupBeamReporting_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberNonGroupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_groupBeamReporting_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_groupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_ResourcePerSet_BM_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet_BM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_uplinkBeamManagement_sequence[] = {
  { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_BM, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet_BM },
  { &hf_nr_rrc_maxNumberSRS_ResourceSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_uplinkBeamManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_uplinkBeamManagement, T_uplinkBeamManagement_sequence);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_dummy2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_dummy2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPortsPTRS_UL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPortsPTRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz_vals[] = {
  {   0, "sym2" },
  {   1, "sym4" },
  {   2, "sym8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_04_vals[] = {
  {   0, "sym4" },
  {   1, "sym8" },
  {   2, "sym14" },
  {   3, "sym28" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz_vals[] = {
  {   0, "sym8" },
  {   1, "sym14" },
  {   2, "sym28" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz_vals[] = {
  {   0, "sym14" },
  {   1, "sym28" },
  {   2, "sym56" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_beamReportTiming_sequence[] = {
  { &hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz },
  { &hf_nr_rrc_scs_30kHz_05 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_04 },
  { &hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz },
  { &hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_beamReportTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_beamReportTiming, T_beamReportTiming_sequence);

  return offset;
}


static const per_sequence_t PTRS_DensityRecommendationDL_sequence[] = {
  { &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
  { &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
  { &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PTRS_DensityRecommendationDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PTRS_DensityRecommendationDL, PTRS_DensityRecommendationDL_sequence);

  return offset;
}


static const per_sequence_t T_ptrs_DensityRecommendationSetDL_sequence[] = {
  { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PTRS_DensityRecommendationDL },
  { &hf_nr_rrc_scs_30kHz_06 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PTRS_DensityRecommendationDL },
  { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PTRS_DensityRecommendationDL },
  { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PTRS_DensityRecommendationDL },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ptrs_DensityRecommendationSetDL, T_ptrs_DensityRecommendationSetDL_sequence);

  return offset;
}


static const per_sequence_t PTRS_DensityRecommendationUL_sequence[] = {
  { &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
  { &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
  { &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
  { &hf_nr_rrc_sampleDensity1, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { &hf_nr_rrc_sampleDensity2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { &hf_nr_rrc_sampleDensity3, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { &hf_nr_rrc_sampleDensity4, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { &hf_nr_rrc_sampleDensity5, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PTRS_DensityRecommendationUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PTRS_DensityRecommendationUL, PTRS_DensityRecommendationUL_sequence);

  return offset;
}


static const per_sequence_t T_ptrs_DensityRecommendationSetUL_sequence[] = {
  { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PTRS_DensityRecommendationUL },
  { &hf_nr_rrc_scs_30kHz_07 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PTRS_DensityRecommendationUL },
  { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PTRS_DensityRecommendationUL },
  { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PTRS_DensityRecommendationUL },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ptrs_DensityRecommendationSetUL, T_ptrs_DensityRecommendationSetUL_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 128U, NULL, FALSE);

  return offset;
}


static const per_sequence_t DummyH_sequence[] = {
  { &hf_nr_rrc_burstLength  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_maxConfiguredResourceSetsPerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_maxConfiguredResourceSetsAllCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_128 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_DummyH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_DummyH, DummyH_sequence);

  return offset;
}


static const value_string nr_rrc_T_aperiodicTRS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aperiodicTRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_eag_1_dummy6_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_1_dummy6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_01_vals[] = {
  {   0, "n0" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCSI_RS_Resource_vals[] = {
  {   0, "n0" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  {   4, "n32" },
  {   5, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCSI_RS_ResourceTwoTx_vals[] = {
  {   0, "n0" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  {   4, "n32" },
  {   5, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCSI_RS_ResourceTwoTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedCSI_RS_Density_01_vals[] = {
  {   0, "one" },
  {   1, "three" },
  {   2, "oneAndThree" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedCSI_RS_Density_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberAperiodicCSI_RS_Resource_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BeamManagementSSB_CSI_RS_sequence[] = {
  { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_01 },
  { &hf_nr_rrc_maxNumberCSI_RS_Resource, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCSI_RS_Resource },
  { &hf_nr_rrc_maxNumberCSI_RS_ResourceTwoTx, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCSI_RS_ResourceTwoTx },
  { &hf_nr_rrc_supportedCSI_RS_Density_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedCSI_RS_Density_01 },
  { &hf_nr_rrc_maxNumberAperiodicCSI_RS_Resource, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_Resource },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BeamManagementSSB_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BeamManagementSSB_CSI_RS, BeamManagementSSB_CSI_RS_sequence);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz_vals[] = {
  {   0, "sym14" },
  {   1, "sym28" },
  {   2, "sym48" },
  {   3, "sym224" },
  {   4, "sym336" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz_vals[] = {
  {   0, "sym14" },
  {   1, "sym28" },
  {   2, "sym48" },
  {   3, "sym224" },
  {   4, "sym336" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_beamSwitchTiming_sequence[] = {
  { &hf_nr_rrc_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz },
  { &hf_nr_rrc_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_beamSwitchTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_beamSwitchTiming, T_beamSwitchTiming_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxConfigNumberCSI_IM_PerCC_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxConfigNumberCSI_IM_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CSI_RS_IM_ReceptionForFeedback_sequence[] = {
  { &hf_nr_rrc_maxConfigNumberNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_maxConfigNumberPortsAcrossNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
  { &hf_nr_rrc_maxConfigNumberCSI_IM_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxConfigNumberCSI_IM_PerCC },
  { &hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_IM_ReceptionForFeedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback, CSI_RS_IM_ReceptionForFeedback_sequence);

  return offset;
}


static const per_sequence_t CSI_RS_ProcFrameworkForSRS_sequence[] = {
  { &hf_nr_rrc_maxNumberPeriodicSRS_AssocCSI_RS_PerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberAperiodicSRS_AssocCSI_RS_PerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberSP_SRS_AssocCSI_RS_PerBWP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 },
  { &hf_nr_rrc_simultaneousSRS_AssocCSI_RS_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_ProcFrameworkForSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_RS_ProcFrameworkForSRS, CSI_RS_ProcFrameworkForSRS_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberAperiodicCSI_triggeringStatePerCC_vals[] = {
  {   0, "n3" },
  {   1, "n7" },
  {   2, "n15" },
  {   3, "n31" },
  {   4, "n63" },
  {   5, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberAperiodicCSI_triggeringStatePerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t CSI_ReportFramework_sequence[] = {
  { &hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForCSI_Report, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_Report, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForCSI_Report, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 },
  { &hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForBeamReport, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForBeamReport, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumberAperiodicCSI_triggeringStatePerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicCSI_triggeringStatePerCC },
  { &hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForBeamReport, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 },
  { &hf_nr_rrc_simultaneousCSI_ReportsPerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportFramework(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_ReportFramework, CSI_ReportFramework_sequence);

  return offset;
}


static const per_sequence_t CSI_RS_ForTracking_sequence[] = {
  { &hf_nr_rrc_maxBurstLength, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_maxConfiguredResourceSetsPerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_maxConfiguredResourceSetsAllCC_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_256 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_RS_ForTracking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_RS_ForTracking, CSI_RS_ForTracking_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberConfiguredSpatialRelations_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n64" },
  {   5, "n96" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberConfiguredSpatialRelations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberActiveSpatialRelations_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberActiveSpatialRelations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_additionalActiveSpatialRelationPUCCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_additionalActiveSpatialRelationPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberDL_RS_QCL_TypeD_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberDL_RS_QCL_TypeD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SpatialRelations_sequence[] = {
  { &hf_nr_rrc_maxNumberConfiguredSpatialRelations, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberConfiguredSpatialRelations },
  { &hf_nr_rrc_maxNumberActiveSpatialRelations, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberActiveSpatialRelations },
  { &hf_nr_rrc_additionalActiveSpatialRelationPUCCH, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_additionalActiveSpatialRelationPUCCH },
  { &hf_nr_rrc_maxNumberDL_RS_QCL_TypeD, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberDL_RS_QCL_TypeD },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SpatialRelations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SpatialRelations, SpatialRelations_sequence);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_1_sequence[] = {
  { &hf_nr_rrc_mIMO_ParametersPerBand_eag_1_dummy6, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_1_dummy6 },
  { &hf_nr_rrc_beamManagementSSB_CSI_RS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BeamManagementSSB_CSI_RS },
  { &hf_nr_rrc_beamSwitchTiming, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamSwitchTiming },
  { &hf_nr_rrc_codebookParameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookParameters },
  { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedback, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_RS_IM_ReceptionForFeedback },
  { &hf_nr_rrc_csi_RS_ProcFrameworkForSRS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_RS_ProcFrameworkForSRS },
  { &hf_nr_rrc_csi_ReportFramework, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ReportFramework },
  { &hf_nr_rrc_csi_RS_ForTracking, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_RS_ForTracking },
  { &hf_nr_rrc_srs_AssocCSI_RS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource },
  { &hf_nr_rrc_spatialRelations, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SpatialRelations },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_defaultQCL_TwoTCI_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_defaultQCL_TwoTCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simul_SpatialRelationUpdatePUCCHResGroup_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simul_SpatialRelationUpdatePUCCHResGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSCellBFR_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSCellBFR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousReceptionDiffTypeD_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousReceptionDiffTypeD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSSB_CSIRS_OneTx_CMR_r16_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSSB_CSIRS_OneTx_CMR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCSI_IM_NZP_IMR_res_r16_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCSI_IM_NZP_IMR_res_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCSIRS_2Tx_res_r16_vals[] = {
  {   0, "n0" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  {   4, "n32" },
  {   5, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCSIRS_2Tx_res_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSSB_CSIRS_res_r16_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n64" },
  {   4, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSSB_CSIRS_res_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberCSI_IM_NZP_IMR_res_mem_r16_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n64" },
  {   4, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberCSI_IM_NZP_IMR_res_mem_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedCSI_RS_Density_CMR_r16_vals[] = {
  {   0, "one" },
  {   1, "three" },
  {   2, "oneAndThree" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedCSI_RS_Density_CMR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberAperiodicCSI_RS_Res_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  {   4, "n32" },
  {   5, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_Res_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedSINR_meas_r16_vals[] = {
  {   0, "ssbWithCSI-IM" },
  {   1, "ssbWithNZP-IMR" },
  {   2, "csirsWithNZP-IMR" },
  {   3, "csi-RSWithoutIMR" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedSINR_meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ssb_csirs_SINR_measurement_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberSSB_CSIRS_OneTx_CMR_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSIRS_OneTx_CMR_r16 },
  { &hf_nr_rrc_maxNumberCSI_IM_NZP_IMR_res_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCSI_IM_NZP_IMR_res_r16 },
  { &hf_nr_rrc_maxNumberCSIRS_2Tx_res_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCSIRS_2Tx_res_r16 },
  { &hf_nr_rrc_maxNumberSSB_CSIRS_res_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSIRS_res_r16 },
  { &hf_nr_rrc_maxNumberCSI_IM_NZP_IMR_res_mem_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCSI_IM_NZP_IMR_res_mem_r16 },
  { &hf_nr_rrc_supportedCSI_RS_Density_CMR_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_Density_CMR_r16 },
  { &hf_nr_rrc_maxNumberAperiodicCSI_RS_Res_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_Res_r16 },
  { &hf_nr_rrc_supportedSINR_meas_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedSINR_meas_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ssb_csirs_SINR_measurement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ssb_csirs_SINR_measurement_r16, T_ssb_csirs_SINR_measurement_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_nonGroupSINR_reporting_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nonGroupSINR_reporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_groupSINR_reporting_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_groupSINR_reporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_overlapPDSCHsInTimePartiallyFreq_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_overlapPDSCHsInTimePartiallyFreq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportPDCCH_ToPDSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportPDCCH_ToPDSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportPDSCH_ToHARQ_ACK_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportPDSCH_ToHARQ_ACK_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_outOfOrderOperationDL_r16_sequence[] = {
  { &hf_nr_rrc_supportPDCCH_ToPDSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportPDCCH_ToPDSCH_r16 },
  { &hf_nr_rrc_supportPDSCH_ToHARQ_ACK_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportPDSCH_ToHARQ_ACK_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_outOfOrderOperationDL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_outOfOrderOperationDL_r16, T_outOfOrderOperationDL_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_outOfOrderOperationUL_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_outOfOrderOperationUL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_separateCRS_RateMatching_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_separateCRS_RateMatching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_defaultQCL_PerCORESETPoolIndex_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_defaultQCL_PerCORESETPoolIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPerCORESET_Pool_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPerCORESET_Pool_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxTotalNumberAcrossCORESET_Pool_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxTotalNumberAcrossCORESET_Pool_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxNumberActivatedTCI_States_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberPerCORESET_Pool_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPerCORESET_Pool_r16 },
  { &hf_nr_rrc_maxTotalNumberAcrossCORESET_Pool_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxTotalNumberAcrossCORESET_Pool_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxNumberActivatedTCI_States_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxNumberActivatedTCI_States_r16, T_maxNumberActivatedTCI_States_r16_sequence);

  return offset;
}


static const per_sequence_t T_multiDCI_multiTRP_Parameters_r16_sequence[] = {
  { &hf_nr_rrc_overlapPDSCHsFullyFreqTime_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_2 },
  { &hf_nr_rrc_overlapPDSCHsInTimePartiallyFreq_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_overlapPDSCHsInTimePartiallyFreq_r16 },
  { &hf_nr_rrc_outOfOrderOperationDL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_outOfOrderOperationDL_r16 },
  { &hf_nr_rrc_outOfOrderOperationUL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_outOfOrderOperationUL_r16 },
  { &hf_nr_rrc_separateCRS_RateMatching_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_separateCRS_RateMatching_r16 },
  { &hf_nr_rrc_defaultQCL_PerCORESETPoolIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_defaultQCL_PerCORESETPoolIndex_r16 },
  { &hf_nr_rrc_maxNumberActivatedTCI_States_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberActivatedTCI_States_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_multiDCI_multiTRP_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_multiDCI_multiTRP_Parameters_r16, T_multiDCI_multiTRP_Parameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_supportNewDMRS_Port_r16_vals[] = {
  {   0, "supported1" },
  {   1, "supported2" },
  {   2, "supported3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportNewDMRS_Port_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportTwoPortDL_PTRS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportTwoPortDL_PTRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_singleDCI_SDM_scheme_Parameters_r16_sequence[] = {
  { &hf_nr_rrc_supportNewDMRS_Port_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportNewDMRS_Port_r16 },
  { &hf_nr_rrc_supportTwoPortDL_PTRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportTwoPortDL_PTRS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_singleDCI_SDM_scheme_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_singleDCI_SDM_scheme_Parameters_r16, T_singleDCI_SDM_scheme_Parameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_supportFDM_SchemeA_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportFDM_SchemeA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportCodeWordSoftCombining_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportCodeWordSoftCombining_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportTDM_SchemeA_r16_vals[] = {
  {   0, "kb3" },
  {   1, "kb5" },
  {   2, "kb10" },
  {   3, "kb20" },
  {   4, "noRestriction" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportTDM_SchemeA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportRepNumPDSCH_TDRA_r16_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n5" },
  {   4, "n6" },
  {   5, "n7" },
  {   6, "n8" },
  {   7, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportRepNumPDSCH_TDRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxTBS_Size_r16_vals[] = {
  {   0, "kb3" },
  {   1, "kb5" },
  {   2, "kb10" },
  {   3, "kb20" },
  {   4, "noRestriction" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxTBS_Size_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_supportInter_slotTDM_r16_sequence[] = {
  { &hf_nr_rrc_supportRepNumPDSCH_TDRA_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportRepNumPDSCH_TDRA_r16 },
  { &hf_nr_rrc_maxTBS_Size_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxTBS_Size_r16 },
  { &hf_nr_rrc_maxNumberTCI_states_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_supportInter_slotTDM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_supportInter_slotTDM_r16, T_supportInter_slotTDM_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_lowPAPR_DMRS_PDSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lowPAPR_DMRS_PDSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lowPAPR_DMRS_PUSCHwithoutPrecoding_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lowPAPR_DMRS_PUSCHwithoutPrecoding_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lowPAPR_DMRS_PUCCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lowPAPR_DMRS_PUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lowPAPR_DMRS_PUSCHwithPrecoding_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lowPAPR_DMRS_PUSCHwithPrecoding_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_5_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            5U, 8U, NULL, FALSE);

  return offset;
}


static const per_sequence_t CSI_ReportFrameworkExt_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_ReportExt_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_5_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_CSI_ReportFrameworkExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_CSI_ReportFrameworkExt_r16, CSI_ReportFrameworkExt_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_beamCorrespondenceSSB_based_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamCorrespondenceSSB_based_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_beamCorrespondenceCSI_RS_based_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_beamCorrespondenceCSI_RS_based_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16_vals[] = {
  {   0, "sym224" },
  {   1, "sym336" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16_vals[] = {
  {   0, "sym224" },
  {   1, "sym336" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_beamSwitchTiming_r16_sequence[] = {
  { &hf_nr_rrc_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16 },
  { &hf_nr_rrc_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_beamSwitchTiming_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_beamSwitchTiming_r16, T_beamSwitchTiming_r16_sequence);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_2_sequence[] = {
  { &hf_nr_rrc_defaultQCL_TwoTCI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_defaultQCL_TwoTCI_r16 },
  { &hf_nr_rrc_codebookParametersPerBand_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookParameters_v1610 },
  { &hf_nr_rrc_simul_SpatialRelationUpdatePUCCHResGroup_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simul_SpatialRelationUpdatePUCCHResGroup_r16 },
  { &hf_nr_rrc_maxNumberSCellBFR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberSCellBFR_r16 },
  { &hf_nr_rrc_simultaneousReceptionDiffTypeD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousReceptionDiffTypeD_r16 },
  { &hf_nr_rrc_ssb_csirs_SINR_measurement_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_csirs_SINR_measurement_r16 },
  { &hf_nr_rrc_nonGroupSINR_reporting_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonGroupSINR_reporting_r16 },
  { &hf_nr_rrc_groupSINR_reporting_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_groupSINR_reporting_r16 },
  { &hf_nr_rrc_multiDCI_multiTRP_Parameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiDCI_multiTRP_Parameters_r16 },
  { &hf_nr_rrc_singleDCI_SDM_scheme_Parameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_singleDCI_SDM_scheme_Parameters_r16 },
  { &hf_nr_rrc_supportFDM_SchemeA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportFDM_SchemeA_r16 },
  { &hf_nr_rrc_supportCodeWordSoftCombining_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportCodeWordSoftCombining_r16 },
  { &hf_nr_rrc_supportTDM_SchemeA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportTDM_SchemeA_r16 },
  { &hf_nr_rrc_supportInter_slotTDM_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportInter_slotTDM_r16 },
  { &hf_nr_rrc_lowPAPR_DMRS_PDSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowPAPR_DMRS_PDSCH_r16 },
  { &hf_nr_rrc_lowPAPR_DMRS_PUSCHwithoutPrecoding_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowPAPR_DMRS_PUSCHwithoutPrecoding_r16 },
  { &hf_nr_rrc_lowPAPR_DMRS_PUCCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowPAPR_DMRS_PUCCH_r16 },
  { &hf_nr_rrc_lowPAPR_DMRS_PUSCHwithPrecoding_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowPAPR_DMRS_PUSCHwithPrecoding_r16 },
  { &hf_nr_rrc_csi_ReportFrameworkExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ReportFrameworkExt_r16 },
  { &hf_nr_rrc_codebookParametersAddition_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookParametersAddition_r16 },
  { &hf_nr_rrc_codebookComboParametersAddition_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookComboParametersAddition_r16 },
  { &hf_nr_rrc_beamCorrespondenceSSB_based_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamCorrespondenceSSB_based_r16 },
  { &hf_nr_rrc_beamCorrespondenceCSI_RS_based_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamCorrespondenceCSI_RS_based_r16 },
  { &hf_nr_rrc_beamSwitchTiming_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamSwitchTiming_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_supportReportFormat1_2OFDM_syms_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportReportFormat1_2OFDM_syms_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportReportFormat4_14OFDM_syms_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportReportFormat4_14OFDM_syms_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_semi_PersistentL1_SINR_Report_PUCCH_r16_sequence[] = {
  { &hf_nr_rrc_supportReportFormat1_2OFDM_syms_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportReportFormat1_2OFDM_syms_r16 },
  { &hf_nr_rrc_supportReportFormat4_14OFDM_syms_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportReportFormat4_14OFDM_syms_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_semi_PersistentL1_SINR_Report_PUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_semi_PersistentL1_SINR_Report_PUCCH_r16, T_semi_PersistentL1_SINR_Report_PUCCH_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_semi_PersistentL1_SINR_Report_PUSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_semi_PersistentL1_SINR_Report_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_3_sequence[] = {
  { &hf_nr_rrc_semi_PersistentL1_SINR_Report_PUCCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_semi_PersistentL1_SINR_Report_PUCCH_r16 },
  { &hf_nr_rrc_semi_PersistentL1_SINR_Report_PUSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_semi_PersistentL1_SINR_Report_PUSCH_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberConfiguredSpatialRelations_v1640_vals[] = {
  {   0, "n96" },
  {   1, "n128" },
  {   2, "n160" },
  {   3, "n192" },
  {   4, "n224" },
  {   5, "n256" },
  {   6, "n288" },
  {   7, "n320" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberConfiguredSpatialRelations_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_spatialRelations_v1640_sequence[] = {
  { &hf_nr_rrc_maxNumberConfiguredSpatialRelations_v1640, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberConfiguredSpatialRelations_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_spatialRelations_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_spatialRelations_v1640, T_spatialRelations_v1640_sequence);

  return offset;
}


static const value_string nr_rrc_T_support64CandidateBeamRS_BFR_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_support64CandidateBeamRS_BFR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_4_sequence[] = {
  { &hf_nr_rrc_spatialRelations_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelations_v1640 },
  { &hf_nr_rrc_support64CandidateBeamRS_BFR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_support64CandidateBeamRS_BFR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxMIMO_LayersForMulti_DCI_mTRP_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxMIMO_LayersForMulti_DCI_mTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_5_sequence[] = {
  { &hf_nr_rrc_maxMIMO_LayersForMulti_DCI_mTRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxMIMO_LayersForMulti_DCI_mTRP_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_5_sequence);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_6_sequence[] = {
  { &hf_nr_rrc_supportedSINR_meas_v1670, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_6_sequence);

  return offset;
}


static const value_string nr_rrc_T_srs_increasedRepetition_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_increasedRepetition_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_partialFrequencySounding_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_partialFrequencySounding_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_startRB_locationHoppingPartial_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_startRB_locationHoppingPartial_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_combEight_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_combEight_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_twoCSI_RS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_twoCSI_RS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUCCH_InterSlot_r17_vals[] = {
  {   0, "pf0-2" },
  {   1, "pf1-3-4" },
  {   2, "pf0-4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUCCH_InterSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUCCH_CyclicMapping_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUCCH_CyclicMapping_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUCCH_SecondTPC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUCCH_SecondTPC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxBFD_RS_resourcesPerSetPerBWP_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxBFD_RS_resourcesPerSetPerBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxBFD_RS_resourcesAcrossSetsPerBWP_r17_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxBFD_RS_resourcesAcrossSetsPerBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mTRP_BFR_twoBFD_RS_Set_r17_sequence[] = {
  { &hf_nr_rrc_maxBFD_RS_resourcesPerSetPerBWP_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxBFD_RS_resourcesPerSetPerBWP_r17 },
  { &hf_nr_rrc_maxBFR_r17   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_9 },
  { &hf_nr_rrc_maxBFD_RS_resourcesAcrossSetsPerBWP_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxBFD_RS_resourcesAcrossSetsPerBWP_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_BFR_twoBFD_RS_Set_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_BFR_twoBFD_RS_Set_r17, T_mTRP_BFR_twoBFD_RS_Set_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mTRP_BFR_PUCCH_SR_perCG_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_BFR_PUCCH_SR_perCG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_BFR_association_PUCCH_SR_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_BFR_association_PUCCH_SR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_SimulTwoTCI_AcrossMultiCC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SimulTwoTCI_AcrossMultiCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_DefaultDL_BeamSetup_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_DefaultDL_BeamSetup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_DefaultUL_BeamSetup_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_DefaultUL_BeamSetup_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_TriggeringOffset_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_TriggeringOffset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_TriggeringDCI_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_TriggeringDCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxConfiguredJointTCI_r17_vals[] = {
  {   0, "n8" },
  {   1, "n12" },
  {   2, "n16" },
  {   3, "n24" },
  {   4, "n32" },
  {   5, "n48" },
  {   6, "n64" },
  {   7, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxConfiguredJointTCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxActivatedTCIAcrossCC_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxActivatedTCIAcrossCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_unifiedJointTCI_r17_sequence[] = {
  { &hf_nr_rrc_maxConfiguredJointTCI_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxConfiguredJointTCI_r17 },
  { &hf_nr_rrc_maxActivatedTCIAcrossCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxActivatedTCIAcrossCC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_unifiedJointTCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_unifiedJointTCI_r17, T_unifiedJointTCI_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_minBeamApplicationTime_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n7" },
  {   4, "n14" },
  {   5, "n28" },
  {   6, "n42" },
  {   7, "n56" },
  {   8, "n70" },
  {   9, "n84" },
  {  10, "n98" },
  {  11, "n112" },
  {  12, "n224" },
  {  13, "n336" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minBeamApplicationTime_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     14, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumMAC_CE_PerCC_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n5" },
  {   4, "n6" },
  {   5, "n7" },
  {   6, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumMAC_CE_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_unifiedJointTCI_multiMAC_CE_r17_sequence[] = {
  { &hf_nr_rrc_minBeamApplicationTime_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_minBeamApplicationTime_r17 },
  { &hf_nr_rrc_maxNumMAC_CE_PerCC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumMAC_CE_PerCC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_unifiedJointTCI_multiMAC_CE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_unifiedJointTCI_multiMAC_CE_r17, T_unifiedJointTCI_multiMAC_CE_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_perBWP_CA_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_perBWP_CA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_ListSharingCA_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_ListSharingCA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_commonMultiCC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_commonMultiCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_BeamAlignDLRS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_BeamAlignDLRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_PC_association_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_PC_association_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_Legacy_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_Legacy_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_Legacy_SRS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_Legacy_SRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_Legacy_CORESET0_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_Legacy_CORESET0_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_unifiedJointTCI_SCellBFR_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedJointTCI_SCellBFR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_additionalMAC_CE_PerCC_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_additionalMAC_CE_PerCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_additionalMAC_CE_AcrossCC_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_additionalMAC_CE_AcrossCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_unifiedJointTCI_InterCell_r17_sequence[] = {
  { &hf_nr_rrc_additionalMAC_CE_PerCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_additionalMAC_CE_PerCC_r17 },
  { &hf_nr_rrc_additionalMAC_CE_AcrossCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_additionalMAC_CE_AcrossCC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_unifiedJointTCI_InterCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_unifiedJointTCI_InterCell_r17, T_unifiedJointTCI_InterCell_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxConfiguredDL_TCI_r17_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n24" },
  {   5, "n32" },
  {   6, "n48" },
  {   7, "n64" },
  {   8, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxConfiguredDL_TCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     9, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxConfiguredUL_TCI_r17_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n24" },
  {   5, "n32" },
  {   6, "n48" },
  {   7, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxConfiguredUL_TCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxActivatedDL_TCIAcrossCC_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxActivatedDL_TCIAcrossCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxActivatedUL_TCIAcrossCC_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxActivatedUL_TCIAcrossCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_unifiedSeparateTCI_r17_sequence[] = {
  { &hf_nr_rrc_maxConfiguredDL_TCI_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxConfiguredDL_TCI_r17 },
  { &hf_nr_rrc_maxConfiguredUL_TCI_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxConfiguredUL_TCI_r17 },
  { &hf_nr_rrc_maxActivatedDL_TCIAcrossCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxActivatedDL_TCIAcrossCC_r17 },
  { &hf_nr_rrc_maxActivatedUL_TCIAcrossCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxActivatedUL_TCIAcrossCC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_unifiedSeparateTCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_unifiedSeparateTCI_r17, T_unifiedSeparateTCI_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_minBeamApplicationTime_r17_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n7" },
  {   4, "n14" },
  {   5, "n28" },
  {   6, "n42" },
  {   7, "n56" },
  {   8, "n70" },
  {   9, "n84" },
  {  10, "n98" },
  {  11, "n112" },
  {  12, "n224" },
  {  13, "n336" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minBeamApplicationTime_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     14, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_unifiedSeparateTCI_multiMAC_CE_r17_sequence[] = {
  { &hf_nr_rrc_minBeamApplicationTime_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_minBeamApplicationTime_r17_01 },
  { &hf_nr_rrc_maxActivatedDL_TCIPerCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_8 },
  { &hf_nr_rrc_maxActivatedUL_TCIPerCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_unifiedSeparateTCI_multiMAC_CE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_unifiedSeparateTCI_multiMAC_CE_r17, T_unifiedSeparateTCI_multiMAC_CE_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_unifiedSeparateTCI_perBWP_CA_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedSeparateTCI_perBWP_CA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumListDL_TCI_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumListDL_TCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumListUL_TCI_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumListUL_TCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_unifiedSeparateTCI_ListSharingCA_r17_sequence[] = {
  { &hf_nr_rrc_maxNumListDL_TCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumListDL_TCI_r17 },
  { &hf_nr_rrc_maxNumListUL_TCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumListUL_TCI_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_unifiedSeparateTCI_ListSharingCA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_unifiedSeparateTCI_ListSharingCA_r17, T_unifiedSeparateTCI_ListSharingCA_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_unifiedSeparateTCI_commonMultiCC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_unifiedSeparateTCI_commonMultiCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_k_DL_PerCC_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_k_DL_PerCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_k_UL_PerCC_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_k_UL_PerCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_k_DL_AcrossCC_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_k_DL_AcrossCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_k_UL_AcrossCC_r17_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_k_UL_AcrossCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_unifiedSeparateTCI_InterCell_r17_sequence[] = {
  { &hf_nr_rrc_k_DL_PerCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_k_DL_PerCC_r17 },
  { &hf_nr_rrc_k_UL_PerCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_k_UL_PerCC_r17 },
  { &hf_nr_rrc_k_DL_AcrossCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_k_DL_AcrossCC_r17 },
  { &hf_nr_rrc_k_UL_AcrossCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_k_UL_AcrossCC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_unifiedSeparateTCI_InterCell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_unifiedSeparateTCI_InterCell_r17, T_unifiedSeparateTCI_InterCell_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumSSB_ResourceL1_RSRP_AcrossCC_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumSSB_ResourceL1_RSRP_AcrossCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_unifiedJointTCI_mTRP_InterCell_BM_r17_sequence[] = {
  { &hf_nr_rrc_maxNumAdditionalPCI_L1_RSRP_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
  { &hf_nr_rrc_maxNumSSB_ResourceL1_RSRP_AcrossCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumSSB_ResourceL1_RSRP_AcrossCC_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_unifiedJointTCI_mTRP_InterCell_BM_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_unifiedJointTCI_mTRP_InterCell_BM_r17, T_unifiedJointTCI_mTRP_InterCell_BM_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumConfRS_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  {   5, "n16" },
  {   6, "n28" },
  {   7, "n32" },
  {   8, "n48" },
  {   9, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumConfRS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mpe_Mitigation_r17_sequence[] = {
  { &hf_nr_rrc_maxNumP_MPR_RI_pairs_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumConfRS_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumConfRS_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mpe_Mitigation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mpe_Mitigation_r17, T_mpe_Mitigation_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_capVal1_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_capVal1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_capVal2_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_capVal2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_capVal3_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_capVal3_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_capVal4_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_capVal4_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_srs_PortReport_r17_sequence[] = {
  { &hf_nr_rrc_capVal1_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_capVal1_r17 },
  { &hf_nr_rrc_capVal2_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_capVal2_r17 },
  { &hf_nr_rrc_capVal3_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_capVal3_r17 },
  { &hf_nr_rrc_capVal4_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_capVal4_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_PortReport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_PortReport_r17, T_srs_PortReport_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PDCCH_individual_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PDCCH_individual_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PDCCH_anySpan_3Symbols_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PDCCH_anySpan_3Symbols_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PDCCH_TwoQCL_TypeD_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PDCCH_TwoQCL_TypeD_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_0_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 8U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_mTRP_PUSCH_CSI_RS_r17_sequence[] = {
  { &hf_nr_rrc_maxNumPeriodicSRS_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_maxNumAperiodicSRS_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_maxNumSP_SRS_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_8 },
  { &hf_nr_rrc_numSRS_ResourcePerCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
  { &hf_nr_rrc_numSRS_ResourceNonCodebook_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_PUSCH_CSI_RS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_PUSCH_CSI_RS_r17, T_mTRP_PUSCH_CSI_RS_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_cyclicMapping_r17_vals[] = {
  {   0, "typeA" },
  {   1, "typeB" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_cyclicMapping_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_secondTPC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_secondTPC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_twoPHR_Reporting_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_twoPHR_Reporting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_A_CSI_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_A_CSI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_SP_CSI_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_SP_CSI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUSCH_CG_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUSCH_CG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PUCCH_MAC_CE_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PUCCH_MAC_CE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_3_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            3U, 8U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_mTRP_inter_Cell_r17_sequence[] = {
  { &hf_nr_rrc_maxNumAdditionalPCI_Case1_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
  { &hf_nr_rrc_maxNumAdditionalPCI_Case2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_inter_Cell_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_inter_Cell_r17, T_mTRP_inter_Cell_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumRS_WithinSlot_r17_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumRS_WithinSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumRS_AcrossSlot_r17_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n64" },
  {   4, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumRS_AcrossSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mTRP_GroupBasedL1_RSRP_r17_sequence[] = {
  { &hf_nr_rrc_maxNumBeamGroups_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_maxNumRS_WithinSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumRS_WithinSlot_r17 },
  { &hf_nr_rrc_maxNumRS_AcrossSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumRS_AcrossSlot_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_GroupBasedL1_RSRP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_GroupBasedL1_RSRP_r17, T_mTRP_GroupBasedL1_RSRP_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mTRP_BFD_RS_MAC_CE_r17_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n12" },
  {   3, "n16" },
  {   4, "n32" },
  {   5, "n48" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_BFD_RS_MAC_CE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cSI_Report_mode_r17_01_vals[] = {
  {   0, "mode1" },
  {   1, "mode2" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cSI_Report_mode_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_codebookModeNCJT_r17_vals[] = {
  {   0, "mode1" },
  {   1, "mode1And2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_codebookModeNCJT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mTRP_CSI_EnhancementPerBand_r17_sequence[] = {
  { &hf_nr_rrc_maxNumNZP_CSI_RS_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_8 },
  { &hf_nr_rrc_cSI_Report_mode_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cSI_Report_mode_r17_01 },
  { &hf_nr_rrc_supportedComboAcrossCCs_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17 },
  { &hf_nr_rrc_codebookModeNCJT_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookModeNCJT_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mTRP_CSI_EnhancementPerBand_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mTRP_CSI_EnhancementPerBand_r17, T_mTRP_CSI_EnhancementPerBand_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mTRP_CSI_additionalCSI_r17_vals[] = {
  {   0, "x1" },
  {   1, "x2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_CSI_additionalCSI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_CSI_N_Max2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_CSI_N_Max2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_CSI_CMR_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_CSI_CMR_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_partialFreqSounding_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_partialFreqSounding_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_480kHz_01_vals[] = {
  {   0, "sym56" },
  {   1, "sym112" },
  {   2, "sym192" },
  {   3, "sym896" },
  {   4, "sym1344" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_480kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_960kHz_01_vals[] = {
  {   0, "sym112" },
  {   1, "sym224" },
  {   2, "sym384" },
  {   3, "sym1792" },
  {   4, "sym2688" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_960kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_beamSwitchTiming_v1710_sequence[] = {
  { &hf_nr_rrc_scs_480kHz_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_480kHz_01 },
  { &hf_nr_rrc_scs_960kHz_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_960kHz_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_beamSwitchTiming_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_beamSwitchTiming_v1710, T_beamSwitchTiming_v1710_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_480kHz_r17_03_vals[] = {
  {   0, "sym896" },
  {   1, "sym1344" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_480kHz_r17_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_960kHz_r17_03_vals[] = {
  {   0, "sym1792" },
  {   1, "sym2688" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_960kHz_r17_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_beamSwitchTiming_r17_sequence[] = {
  { &hf_nr_rrc_scs_480kHz_r17_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_480kHz_r17_03 },
  { &hf_nr_rrc_scs_960kHz_r17_03, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_960kHz_r17_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_beamSwitchTiming_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_beamSwitchTiming_r17, T_beamSwitchTiming_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_480kHz_r17_04_vals[] = {
  {   0, "sym56" },
  {   1, "sym112" },
  {   2, "sym224" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_480kHz_r17_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_960kHz_r17_04_vals[] = {
  {   0, "sym112" },
  {   1, "sym224" },
  {   2, "sym448" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_960kHz_r17_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_beamReportTiming_v1710_sequence[] = {
  { &hf_nr_rrc_scs_480kHz_r17_04, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_480kHz_r17_04 },
  { &hf_nr_rrc_scs_960kHz_r17_04, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_960kHz_r17_04 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_beamReportTiming_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_beamReportTiming_v1710, T_beamReportTiming_v1710_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_480kHz_r17_05_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_480kHz_r17_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_960kHz_r17_05_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_960kHz_r17_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_v1710_sequence[] = {
  { &hf_nr_rrc_scs_480kHz_r17_05, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_480kHz_r17_05 },
  { &hf_nr_rrc_scs_960kHz_r17_05, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_960kHz_r17_05 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL_v1710, T_maxNumberRxTxBeamSwitchDL_v1710_sequence);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_7_sequence[] = {
  { &hf_nr_rrc_srs_increasedRepetition_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_increasedRepetition_r17 },
  { &hf_nr_rrc_srs_partialFrequencySounding_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_partialFrequencySounding_r17 },
  { &hf_nr_rrc_srs_startRB_locationHoppingPartial_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_startRB_locationHoppingPartial_r17 },
  { &hf_nr_rrc_srs_combEight_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_combEight_r17 },
  { &hf_nr_rrc_codebookParametersfetype2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookParametersfetype2_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_twoCSI_RS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_twoCSI_RS_r17 },
  { &hf_nr_rrc_mTRP_PUCCH_InterSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUCCH_InterSlot_r17 },
  { &hf_nr_rrc_mTRP_PUCCH_CyclicMapping_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUCCH_CyclicMapping_r17 },
  { &hf_nr_rrc_mTRP_PUCCH_SecondTPC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUCCH_SecondTPC_r17 },
  { &hf_nr_rrc_mTRP_BFR_twoBFD_RS_Set_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_BFR_twoBFD_RS_Set_r17 },
  { &hf_nr_rrc_mTRP_BFR_PUCCH_SR_perCG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_BFR_PUCCH_SR_perCG_r17 },
  { &hf_nr_rrc_mTRP_BFR_association_PUCCH_SR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_BFR_association_PUCCH_SR_r17 },
  { &hf_nr_rrc_sfn_SimulTwoTCI_AcrossMultiCC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SimulTwoTCI_AcrossMultiCC_r17 },
  { &hf_nr_rrc_sfn_DefaultDL_BeamSetup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_DefaultDL_BeamSetup_r17 },
  { &hf_nr_rrc_sfn_DefaultUL_BeamSetup_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_DefaultUL_BeamSetup_r17 },
  { &hf_nr_rrc_srs_TriggeringOffset_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_TriggeringOffset_r17 },
  { &hf_nr_rrc_srs_TriggeringDCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_TriggeringDCI_r17 },
  { &hf_nr_rrc_codebookComboParameterMixedType_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookComboParameterMixedType_r17 },
  { &hf_nr_rrc_unifiedJointTCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_r17 },
  { &hf_nr_rrc_unifiedJointTCI_multiMAC_CE_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_multiMAC_CE_r17 },
  { &hf_nr_rrc_unifiedJointTCI_perBWP_CA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_perBWP_CA_r17 },
  { &hf_nr_rrc_unifiedJointTCI_ListSharingCA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_ListSharingCA_r17 },
  { &hf_nr_rrc_unifiedJointTCI_commonMultiCC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_commonMultiCC_r17 },
  { &hf_nr_rrc_unifiedJointTCI_BeamAlignDLRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_BeamAlignDLRS_r17 },
  { &hf_nr_rrc_unifiedJointTCI_PC_association_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_PC_association_r17 },
  { &hf_nr_rrc_unifiedJointTCI_Legacy_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_Legacy_r17 },
  { &hf_nr_rrc_unifiedJointTCI_Legacy_SRS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_Legacy_SRS_r17 },
  { &hf_nr_rrc_unifiedJointTCI_Legacy_CORESET0_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_Legacy_CORESET0_r17 },
  { &hf_nr_rrc_unifiedJointTCI_SCellBFR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_SCellBFR_r17 },
  { &hf_nr_rrc_unifiedJointTCI_InterCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_InterCell_r17 },
  { &hf_nr_rrc_unifiedSeparateTCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedSeparateTCI_r17 },
  { &hf_nr_rrc_unifiedSeparateTCI_multiMAC_CE_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedSeparateTCI_multiMAC_CE_r17 },
  { &hf_nr_rrc_unifiedSeparateTCI_perBWP_CA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedSeparateTCI_perBWP_CA_r17 },
  { &hf_nr_rrc_unifiedSeparateTCI_ListSharingCA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedSeparateTCI_ListSharingCA_r17 },
  { &hf_nr_rrc_unifiedSeparateTCI_commonMultiCC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedSeparateTCI_commonMultiCC_r17 },
  { &hf_nr_rrc_unifiedSeparateTCI_InterCell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedSeparateTCI_InterCell_r17 },
  { &hf_nr_rrc_unifiedJointTCI_mTRP_InterCell_BM_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_unifiedJointTCI_mTRP_InterCell_BM_r17 },
  { &hf_nr_rrc_mpe_Mitigation_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mpe_Mitigation_r17 },
  { &hf_nr_rrc_srs_PortReport_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_PortReport_r17 },
  { &hf_nr_rrc_mTRP_PDCCH_individual_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PDCCH_individual_r17 },
  { &hf_nr_rrc_mTRP_PDCCH_anySpan_3Symbols_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PDCCH_anySpan_3Symbols_r17 },
  { &hf_nr_rrc_mTRP_PDCCH_TwoQCL_TypeD_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PDCCH_TwoQCL_TypeD_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_CSI_RS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_CSI_RS_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_cyclicMapping_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_cyclicMapping_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_secondTPC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_secondTPC_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_twoPHR_Reporting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_twoPHR_Reporting_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_A_CSI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_A_CSI_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_SP_CSI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_SP_CSI_r17 },
  { &hf_nr_rrc_mTRP_PUSCH_CG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUSCH_CG_r17 },
  { &hf_nr_rrc_mTRP_PUCCH_MAC_CE_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PUCCH_MAC_CE_r17 },
  { &hf_nr_rrc_mTRP_PUCCH_maxNum_PC_FR1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_3_8 },
  { &hf_nr_rrc_mTRP_inter_Cell_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_inter_Cell_r17 },
  { &hf_nr_rrc_mTRP_GroupBasedL1_RSRP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_GroupBasedL1_RSRP_r17 },
  { &hf_nr_rrc_mTRP_BFD_RS_MAC_CE_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_BFD_RS_MAC_CE_r17 },
  { &hf_nr_rrc_mTRP_CSI_EnhancementPerBand_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_CSI_EnhancementPerBand_r17 },
  { &hf_nr_rrc_codebookComboParameterMultiTRP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookComboParameterMultiTRP_r17 },
  { &hf_nr_rrc_mTRP_CSI_additionalCSI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_CSI_additionalCSI_r17 },
  { &hf_nr_rrc_mTRP_CSI_N_Max2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_CSI_N_Max2_r17 },
  { &hf_nr_rrc_mTRP_CSI_CMR_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_CSI_CMR_r17 },
  { &hf_nr_rrc_srs_partialFreqSounding_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_partialFreqSounding_r17 },
  { &hf_nr_rrc_beamSwitchTiming_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamSwitchTiming_v1710 },
  { &hf_nr_rrc_beamSwitchTiming_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamSwitchTiming_r17 },
  { &hf_nr_rrc_beamReportTiming_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamReportTiming_v1710 },
  { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL_v1710 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_7_sequence);

  return offset;
}


static const value_string nr_rrc_T_srs_PortReportSP_AP_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_PortReportSP_AP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_9_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            9U, 12U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sfn_ImplicitRS_twoTCI_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_ImplicitRS_twoTCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sfn_QCL_TypeD_Collision_twoTCI_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_QCL_TypeD_Collision_twoTCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mTRP_CSI_numCPU_r17_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_CSI_numCPU_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_8_sequence[] = {
  { &hf_nr_rrc_srs_PortReportSP_AP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_PortReportSP_AP_r17 },
  { &hf_nr_rrc_maxNumberRxBeam_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_9_12 },
  { &hf_nr_rrc_sfn_ImplicitRS_twoTCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_ImplicitRS_twoTCI_r17 },
  { &hf_nr_rrc_sfn_QCL_TypeD_Collision_twoTCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_QCL_TypeD_Collision_twoTCI_r17 },
  { &hf_nr_rrc_mTRP_CSI_numCPU_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_CSI_numCPU_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_8_sequence);

  return offset;
}


static const value_string nr_rrc_T_supportRepNumPDSCH_TDRA_DCI_1_2_r17_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  {   3, "n5" },
  {   4, "n6" },
  {   5, "n7" },
  {   6, "n8" },
  {   7, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportRepNumPDSCH_TDRA_DCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_eag_9_sequence[] = {
  { &hf_nr_rrc_supportRepNumPDSCH_TDRA_DCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportRepNumPDSCH_TDRA_DCI_1_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand_eag_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_9_sequence);

  return offset;
}


static const per_sequence_t MIMO_ParametersPerBand_sequence[] = {
  { &hf_nr_rrc_tci_StatePDSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tci_StatePDSCH },
  { &hf_nr_rrc_additionalActiveTCI_StatePDCCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_additionalActiveTCI_StatePDCCH },
  { &hf_nr_rrc_pusch_TransCoherence, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_TransCoherence },
  { &hf_nr_rrc_beamCorrespondenceWithoutUL_BeamSweeping, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamCorrespondenceWithoutUL_BeamSweeping },
  { &hf_nr_rrc_periodicBeamReport, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_periodicBeamReport },
  { &hf_nr_rrc_aperiodicBeamReport, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodicBeamReport },
  { &hf_nr_rrc_sp_BeamReportPUCCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_BeamReportPUCCH },
  { &hf_nr_rrc_sp_BeamReportPUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_BeamReportPUSCH },
  { &hf_nr_rrc_mIMO_ParametersPerBand_dummy1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_DummyG },
  { &hf_nr_rrc_maxNumberRxBeam, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_8 },
  { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL },
  { &hf_nr_rrc_maxNumberNonGroupBeamReporting, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberNonGroupBeamReporting },
  { &hf_nr_rrc_groupBeamReporting, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_groupBeamReporting },
  { &hf_nr_rrc_uplinkBeamManagement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkBeamManagement },
  { &hf_nr_rrc_maxNumberCSI_RS_BFD, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_maxNumberSSB_BFD, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_64 },
  { &hf_nr_rrc_maxNumberCSI_RS_SSB_CBD, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_256 },
  { &hf_nr_rrc_mIMO_ParametersPerBand_dummy2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mIMO_ParametersPerBand_dummy2 },
  { &hf_nr_rrc_twoPortsPTRS_UL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPortsPTRS_UL },
  { &hf_nr_rrc_mIMO_ParametersPerBand_dummy5, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_Resources },
  { &hf_nr_rrc_mIMO_ParametersPerBand_dummy3, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_beamReportTiming, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_beamReportTiming },
  { &hf_nr_rrc_ptrs_DensityRecommendationSetDL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL },
  { &hf_nr_rrc_ptrs_DensityRecommendationSetUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL },
  { &hf_nr_rrc_mIMO_ParametersPerBand_dummy4, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_DummyH },
  { &hf_nr_rrc_aperiodicTRS , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodicTRS },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_6 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_7 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_8 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_9 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MIMO_ParametersPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MIMO_ParametersPerBand, MIMO_ParametersPerBand_sequence);

  return offset;
}


static const value_string nr_rrc_T_splitSRB_WithOneUL_Path_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_splitSRB_WithOneUL_Path(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srb3_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srb3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy_05_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t GeneralParametersMRDC_XDD_Diff_sequence[] = {
  { &hf_nr_rrc_splitSRB_WithOneUL_Path, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_splitSRB_WithOneUL_Path },
  { &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG },
  { &hf_nr_rrc_srb3         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_srb3 },
  { &hf_nr_rrc_dummy_07     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy_05 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, GeneralParametersMRDC_XDD_Diff_sequence);

  return offset;
}


static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff },
  { &hf_nr_rrc_generalParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, UE_MRDC_CapabilityAddXDD_Mode_sequence);

  return offset;
}


static const per_sequence_t UE_MRDC_CapabilityAddFRX_Mode_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, UE_MRDC_CapabilityAddFRX_Mode_sequence);

  return offset;
}


static const per_sequence_t T_nRDC_Parameters_dummy_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nRDC_Parameters_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nRDC_Parameters_dummy, T_nRDC_Parameters_dummy_sequence);

  return offset;
}


static const per_sequence_t NRDC_Parameters_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersNRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC },
  { &hf_nr_rrc_generalParametersNRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
  { &hf_nr_rrc_fdd_Add_UE_NRDC_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
  { &hf_nr_rrc_tdd_Add_UE_NRDC_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
  { &hf_nr_rrc_fr1_Add_UE_NRDC_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
  { &hf_nr_rrc_fr2_Add_UE_NRDC_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
  { &hf_nr_rrc_nRDC_Parameters_dummy2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nRDC_Parameters_dummy, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nRDC_Parameters_dummy },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NRDC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NRDC_Parameters, NRDC_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_sfn_SyncNRDC_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sfn_SyncNRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NRDC_Parameters_v1570_sequence[] = {
  { &hf_nr_rrc_sfn_SyncNRDC , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sfn_SyncNRDC },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NRDC_Parameters_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NRDC_Parameters_v1570, NRDC_Parameters_v1570_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcp_DuplicationSplitSRB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_DuplicationSplitSRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcp_DuplicationSplitDRB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_DuplicationSplitDRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NRDC_Parameters_v15c0_sequence[] = {
  { &hf_nr_rrc_pdcp_DuplicationSplitSRB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_DuplicationSplitSRB },
  { &hf_nr_rrc_pdcp_DuplicationSplitDRB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_DuplicationSplitDRB },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NRDC_Parameters_v15c0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NRDC_Parameters_v15c0, NRDC_Parameters_v15c0_sequence);

  return offset;
}


static const per_sequence_t NRDC_Parameters_v1610_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersNRDC_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NRDC_Parameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NRDC_Parameters_v1610, NRDC_Parameters_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_f1c_OverNR_RRC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_f1c_OverNR_RRC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NRDC_Parameters_v1700_sequence[] = {
  { &hf_nr_rrc_f1c_OverNR_RRC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_f1c_OverNR_RRC_r17 },
  { &hf_nr_rrc_measAndMobParametersNRDC_v1700, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersMRDC_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NRDC_Parameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NRDC_Parameters_v1700, NRDC_Parameters_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_inactiveStateNTN_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inactiveStateNTN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ra_SDT_NTN_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_SDT_NTN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srb_SDT_NTN_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srb_SDT_NTN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_CFRA_ForHO_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RS_CFRA_ForHO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicPRB_BundlingDL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicPRB_BundlingDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_ReportPUCCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_ReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_ReportPUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_ReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nzp_CSI_RS_IntefMgmt_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_precoderGranularityCORESET_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_precoderGranularityCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicHARQ_ACK_Codebook_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_semiStaticHARQ_ACK_Codebook_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spatialBundlingHARQ_ACK_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spatialBundlingHARQ_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_Repetition_F1_3_4_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_Repetition_F1_3_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ra_Type0_PUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_Type0_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_MappingTypeA_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_MappingTypeB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interleavingVRB_ToPRB_PDSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interSlotFreqHopping_PUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepetitionMultiSlots_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_RepetitionMultiSlots_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_downlinkSPS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_downlinkSPS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredUL_GrantType1_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredUL_GrantType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredUL_GrantType2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredUL_GrantType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pre_EmptIndication_DL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pre_EmptIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cbg_TransIndication_DL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cbg_TransIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cbg_TransIndication_UL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cbg_TransIndication_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cbg_FlushIndication_DL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cbg_FlushIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rateMatchingResrcSetSemi_Static_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rateMatchingResrcSetDynamic_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rateMatchingResrcSetDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bwp_SwitchingDelay_vals[] = {
  {   0, "type1" },
  {   1, "type2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bwp_SwitchingDelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_phy_ParametersCommon_eag_1_dummy_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phy_ParametersCommon_eag_1_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_1_sequence[] = {
  { &hf_nr_rrc_phy_ParametersCommon_eag_1_dummy, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_phy_ParametersCommon_eag_1_dummy },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSearchSpaces_vals[] = {
  {   0, "n10" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSearchSpaces(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rateMatchingCtrlResrcSetDynamic_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rateMatchingCtrlResrcSetDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxLayersMIMO_Indication_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxLayersMIMO_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_2_sequence[] = {
  { &hf_nr_rrc_maxNumberSearchSpaces, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberSearchSpaces },
  { &hf_nr_rrc_rateMatchingCtrlResrcSetDynamic, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rateMatchingCtrlResrcSetDynamic },
  { &hf_nr_rrc_maxLayersMIMO_Indication, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxLayersMIMO_Indication },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_2_sequence);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_3_sequence[] = {
  { &hf_nr_rrc_spCellPlacement, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CarrierAggregationVariant },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_twoStepRACH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoStepRACH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_Format1_2And0_2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_Format1_2And0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_monitoringDCI_SameSearchSpace_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_monitoringDCI_SameSearchSpace_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_CG_ReleaseDCI_0_1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_CG_ReleaseDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_CG_ReleaseDCI_0_2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_CG_ReleaseDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sps_ReleaseDCI_1_1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sps_ReleaseDCI_1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sps_ReleaseDCI_1_2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sps_ReleaseDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_TriggerStateNon_ActiveBWP_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_TriggerStateNon_ActiveBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_separateSMTC_InterIAB_Support_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_separateSMTC_InterIAB_Support_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_separateRACH_IAB_Support_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_separateRACH_IAB_Support_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_flexibleDL_SlotFormatDynamics_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_flexibleDL_SlotFormatDynamics_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dft_S_OFDM_WaveformUL_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dft_S_OFDM_WaveformUL_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_25_AI_RNTI_Support_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_25_AI_RNTI_Support_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_t_DeltaReceptionSupport_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_t_DeltaReceptionSupport_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_guardSymbolReportReception_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_guardSymbolReportReception_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_harqACK_CB_SpatialBundlingPUCCH_Group_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harqACK_CB_SpatialBundlingPUCCH_Group_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_non_SharedSpectrumChAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_non_SharedSpectrumChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sharedSpectrumChAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sharedSpectrumChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_crossSlotScheduling_r16_sequence[] = {
  { &hf_nr_rrc_non_SharedSpectrumChAccess_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_non_SharedSpectrumChAccess_r16 },
  { &hf_nr_rrc_sharedSpectrumChAccess_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sharedSpectrumChAccess_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_crossSlotScheduling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_crossSlotScheduling_r16, T_crossSlotScheduling_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16_vals[] = {
  {   0, "n1" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedCG_Periodicities_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCG_Periodicities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedSPS_Periodicities_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedSPS_Periodicities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sharedSpectrumChAccess_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sharedSpectrumChAccess_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_non_SharedSpectrumChAccess_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_non_SharedSpectrumChAccess_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_pusch_RepetitionTypeA_r16_sequence[] = {
  { &hf_nr_rrc_sharedSpectrumChAccess_r16_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sharedSpectrumChAccess_r16_01 },
  { &hf_nr_rrc_non_SharedSpectrumChAccess_r16_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_non_SharedSpectrumChAccess_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pusch_RepetitionTypeA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pusch_RepetitionTypeA_r16, T_pusch_RepetitionTypeA_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_dci_DL_PriorityIndicator_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_DL_PriorityIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_UL_PriorityIndicator_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_UL_PriorityIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPathlossRS_Update_r16_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  {   4, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPathlossRS_Update_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_HARQ_ACK_Codebook_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_HARQ_ACK_Codebook_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberResWithinSlotAcrossCC_AcrossFR_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n12" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  {   7, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberResWithinSlotAcrossCC_AcrossFR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberResAcrossCC_AcrossFR_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n12" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n40" },
  {   7, "n48" },
  {   8, "n64" },
  {   9, "n72" },
  {  10, "n80" },
  {  11, "n96" },
  {  12, "n128" },
  {  13, "n256" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberResAcrossCC_AcrossFR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     14, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxTotalResourcesForAcrossFreqRanges_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberResWithinSlotAcrossCC_AcrossFR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberResWithinSlotAcrossCC_AcrossFR_r16 },
  { &hf_nr_rrc_maxNumberResAcrossCC_AcrossFR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberResAcrossCC_AcrossFR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxTotalResourcesForAcrossFreqRanges_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxTotalResourcesForAcrossFreqRanges_r16, T_maxTotalResourcesForAcrossFreqRanges_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberLongPUCCHs_r16_vals[] = {
  {   0, "longAndLong" },
  {   1, "longAndShort" },
  {   2, "shortAndShort" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberLongPUCCHs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_harqACK_separateMultiDCI_MultiTRP_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberLongPUCCHs_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberLongPUCCHs_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_harqACK_separateMultiDCI_MultiTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_harqACK_separateMultiDCI_MultiTRP_r16, T_harqACK_separateMultiDCI_MultiTRP_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_harqACK_jointMultiDCI_MultiTRP_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harqACK_jointMultiDCI_MultiTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type1_r16_vals[] = {
  {   0, "us100" },
  {   1, "us200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_r16_01_vals[] = {
  {   0, "us200" },
  {   1, "us400" },
  {   2, "us800" },
  {   3, "us1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bwp_SwitchingMultiCCs_r16_vals[] = {
  {   0, "type1-r16" },
  {   1, "type2-r16" },
  { 0, NULL }
};

static const per_choice_t T_bwp_SwitchingMultiCCs_r16_choice[] = {
  {   0, &hf_nr_rrc_type1_r16    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type1_r16 },
  {   1, &hf_nr_rrc_type2_r16_01 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type2_r16_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_bwp_SwitchingMultiCCs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_bwp_SwitchingMultiCCs_r16, T_bwp_SwitchingMultiCCs_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_4_sequence[] = {
  { &hf_nr_rrc_twoStepRACH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoStepRACH_r16 },
  { &hf_nr_rrc_dci_Format1_2And0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_Format1_2And0_2_r16 },
  { &hf_nr_rrc_monitoringDCI_SameSearchSpace_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_monitoringDCI_SameSearchSpace_r16 },
  { &hf_nr_rrc_type2_CG_ReleaseDCI_0_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_CG_ReleaseDCI_0_1_r16 },
  { &hf_nr_rrc_type2_CG_ReleaseDCI_0_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_CG_ReleaseDCI_0_2_r16 },
  { &hf_nr_rrc_sps_ReleaseDCI_1_1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_ReleaseDCI_1_1_r16 },
  { &hf_nr_rrc_sps_ReleaseDCI_1_2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_ReleaseDCI_1_2_r16 },
  { &hf_nr_rrc_csi_TriggerStateNon_ActiveBWP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_TriggerStateNon_ActiveBWP_r16 },
  { &hf_nr_rrc_separateSMTC_InterIAB_Support_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_separateSMTC_InterIAB_Support_r16 },
  { &hf_nr_rrc_separateRACH_IAB_Support_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_separateRACH_IAB_Support_r16 },
  { &hf_nr_rrc_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16 },
  { &hf_nr_rrc_ul_flexibleDL_SlotFormatDynamics_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_flexibleDL_SlotFormatDynamics_IAB_r16 },
  { &hf_nr_rrc_dft_S_OFDM_WaveformUL_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dft_S_OFDM_WaveformUL_IAB_r16 },
  { &hf_nr_rrc_dci_25_AI_RNTI_Support_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_25_AI_RNTI_Support_IAB_r16 },
  { &hf_nr_rrc_t_DeltaReceptionSupport_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_t_DeltaReceptionSupport_IAB_r16 },
  { &hf_nr_rrc_guardSymbolReportReception_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_guardSymbolReportReception_IAB_r16 },
  { &hf_nr_rrc_harqACK_CB_SpatialBundlingPUCCH_Group_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harqACK_CB_SpatialBundlingPUCCH_Group_r16 },
  { &hf_nr_rrc_crossSlotScheduling_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossSlotScheduling_r16 },
  { &hf_nr_rrc_maxNumberSRS_PosPathLossEstimateAllServingCells_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 },
  { &hf_nr_rrc_extendedCG_Periodicities_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedCG_Periodicities_r16 },
  { &hf_nr_rrc_extendedSPS_Periodicities_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedSPS_Periodicities_r16 },
  { &hf_nr_rrc_codebookVariantsList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CodebookVariantsList_r16 },
  { &hf_nr_rrc_pusch_RepetitionTypeA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepetitionTypeA_r16 },
  { &hf_nr_rrc_dci_DL_PriorityIndicator_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_DL_PriorityIndicator_r16 },
  { &hf_nr_rrc_dci_UL_PriorityIndicator_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_UL_PriorityIndicator_r16 },
  { &hf_nr_rrc_maxNumberPathlossRS_Update_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberPathlossRS_Update_r16 },
  { &hf_nr_rrc_type2_HARQ_ACK_Codebook_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_HARQ_ACK_Codebook_r16 },
  { &hf_nr_rrc_maxTotalResourcesForAcrossFreqRanges_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxTotalResourcesForAcrossFreqRanges_r16 },
  { &hf_nr_rrc_harqACK_separateMultiDCI_MultiTRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harqACK_separateMultiDCI_MultiTRP_r16 },
  { &hf_nr_rrc_harqACK_jointMultiDCI_MultiTRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harqACK_jointMultiDCI_MultiTRP_r16 },
  { &hf_nr_rrc_bwp_SwitchingMultiCCs_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bwp_SwitchingMultiCCs_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_targetSMTC_SCG_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_targetSMTC_SCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportRepetitionZeroOffsetRV_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportRepetitionZeroOffsetRV_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cbg_TransInOrderPUSCH_UL_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cbg_TransInOrderPUSCH_UL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_5_sequence[] = {
  { &hf_nr_rrc_targetSMTC_SCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_targetSMTC_SCG_r16 },
  { &hf_nr_rrc_supportRepetitionZeroOffsetRV_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportRepetitionZeroOffsetRV_r16 },
  { &hf_nr_rrc_cbg_TransInOrderPUSCH_UL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbg_TransInOrderPUSCH_UL_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_5_sequence);

  return offset;
}


static const value_string nr_rrc_T_type1_r16_01_vals[] = {
  {   0, "us100" },
  {   1, "us200" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_r16_02_vals[] = {
  {   0, "us200" },
  {   1, "us400" },
  {   2, "us800" },
  {   3, "us1000" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bwp_SwitchingMultiDormancyCCs_r16_vals[] = {
  {   0, "type1-r16" },
  {   1, "type2-r16" },
  { 0, NULL }
};

static const per_choice_t T_bwp_SwitchingMultiDormancyCCs_r16_choice[] = {
  {   0, &hf_nr_rrc_type1_r16_01 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type1_r16_01 },
  {   1, &hf_nr_rrc_type2_r16_02 , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_type2_r16_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_bwp_SwitchingMultiDormancyCCs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_bwp_SwitchingMultiDormancyCCs_r16, T_bwp_SwitchingMultiDormancyCCs_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16_vals[] = {
  {   0, "notSupported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16_vals[] = {
  {   0, "mode2" },
  {   1, "mode3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_6_sequence[] = {
  { &hf_nr_rrc_bwp_SwitchingMultiDormancyCCs_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bwp_SwitchingMultiDormancyCCs_r16 },
  { &hf_nr_rrc_supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16 },
  { &hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_6_sequence);

  return offset;
}


static const value_string nr_rrc_T_newBeamIdentifications2PortCSI_RS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_newBeamIdentifications2PortCSI_RS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pathlossEstimation2PortCSI_RS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pathlossEstimation2PortCSI_RS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_7_sequence[] = {
  { &hf_nr_rrc_newBeamIdentifications2PortCSI_RS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_newBeamIdentifications2PortCSI_RS_r16 },
  { &hf_nr_rrc_pathlossEstimation2PortCSI_RS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pathlossEstimation2PortCSI_RS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_7_sequence);

  return offset;
}


static const value_string nr_rrc_T_mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_8_sequence[] = {
  { &hf_nr_rrc_mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_8_sequence);

  return offset;
}


static const value_string nr_rrc_T_guardSymbolReportReception_IAB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_guardSymbolReportReception_IAB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_restricted_IAB_DU_BeamReception_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_restricted_IAB_DU_BeamReception_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_recommended_IAB_MT_BeamTransmission_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_recommended_IAB_MT_BeamTransmission_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_case6_TimingAlignmentReception_IAB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_case6_TimingAlignmentReception_IAB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_case7_TimingAlignmentReception_IAB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_case7_TimingAlignmentReception_IAB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_tx_PowerAdjustment_IAB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_tx_PowerAdjustment_IAB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_desired_ul_tx_PowerAdjustment_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_desired_ul_tx_PowerAdjustment_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fdm_SoftResourceAvailability_DynamicIndication_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fdm_SoftResourceAvailability_DynamicIndication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_updated_T_DeltaRangeReception_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_updated_T_DeltaRangeReception_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_slotBasedDynamicPUCCH_Rep_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_slotBasedDynamicPUCCH_Rep_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_non_SharedSpectrumChAccess_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_non_SharedSpectrumChAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sharedSpectrumChAccess_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sharedSpectrumChAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sps_HARQ_ACK_Deferral_r17_sequence[] = {
  { &hf_nr_rrc_non_SharedSpectrumChAccess_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_non_SharedSpectrumChAccess_r17 },
  { &hf_nr_rrc_sharedSpectrumChAccess_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sharedSpectrumChAccess_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sps_HARQ_ACK_Deferral_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sps_HARQ_ACK_Deferral_r17, T_sps_HARQ_ACK_Deferral_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_mTRP_PDCCH_singleSpan_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mTRP_PDCCH_singleSpan_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedActivatedPRS_ProcessingWindow_r17_vals[] = {
  {   0, "n2" },
  {   1, "n3" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedActivatedPRS_ProcessingWindow_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cg_TimeDomainAllocationExtension_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cg_TimeDomainAllocationExtension_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_9_sequence[] = {
  { &hf_nr_rrc_guardSymbolReportReception_IAB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_guardSymbolReportReception_IAB_r17 },
  { &hf_nr_rrc_restricted_IAB_DU_BeamReception_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_restricted_IAB_DU_BeamReception_r17 },
  { &hf_nr_rrc_recommended_IAB_MT_BeamTransmission_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_recommended_IAB_MT_BeamTransmission_r17 },
  { &hf_nr_rrc_case6_TimingAlignmentReception_IAB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_case6_TimingAlignmentReception_IAB_r17 },
  { &hf_nr_rrc_case7_TimingAlignmentReception_IAB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_case7_TimingAlignmentReception_IAB_r17 },
  { &hf_nr_rrc_dl_tx_PowerAdjustment_IAB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_tx_PowerAdjustment_IAB_r17 },
  { &hf_nr_rrc_desired_ul_tx_PowerAdjustment_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_desired_ul_tx_PowerAdjustment_r17 },
  { &hf_nr_rrc_fdm_SoftResourceAvailability_DynamicIndication_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fdm_SoftResourceAvailability_DynamicIndication_r17 },
  { &hf_nr_rrc_updated_T_DeltaRangeReception_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_updated_T_DeltaRangeReception_r17 },
  { &hf_nr_rrc_slotBasedDynamicPUCCH_Rep_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_slotBasedDynamicPUCCH_Rep_r17 },
  { &hf_nr_rrc_sps_HARQ_ACK_Deferral_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_HARQ_ACK_Deferral_r17 },
  { &hf_nr_rrc_unifiedJointTCI_commonUpdate_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_4 },
  { &hf_nr_rrc_mTRP_PDCCH_singleSpan_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mTRP_PDCCH_singleSpan_r17 },
  { &hf_nr_rrc_supportedActivatedPRS_ProcessingWindow_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedActivatedPRS_ProcessingWindow_r17 },
  { &hf_nr_rrc_cg_TimeDomainAllocationExtension_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_TimeDomainAllocationExtension_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_9_sequence);

  return offset;
}


static const value_string nr_rrc_T_ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_directionalCollisionDC_IAB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directionalCollisionDC_IAB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_10_sequence[] = {
  { &hf_nr_rrc_ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17 },
  { &hf_nr_rrc_directionalCollisionDC_IAB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_directionalCollisionDC_IAB_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_10_sequence);

  return offset;
}


static const value_string nr_rrc_T_dummy1_04_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy2_02_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy2_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy3_02_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy3_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy4_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_AdditionalRepetition_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_AdditionalRepetition_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_Repetition_CG_SDT_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_Repetition_CG_SDT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_eag_11_sequence[] = {
  { &hf_nr_rrc_dummy1_04    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy1_04 },
  { &hf_nr_rrc_dummy2_02    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy2_02 },
  { &hf_nr_rrc_dummy3_02    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy3_02 },
  { &hf_nr_rrc_dummy4       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy4 },
  { &hf_nr_rrc_srs_AdditionalRepetition_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_AdditionalRepetition_r17 },
  { &hf_nr_rrc_pusch_Repetition_CG_SDT_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_Repetition_CG_SDT_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_eag_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_11_sequence);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_sequence[] = {
  { &hf_nr_rrc_csi_RS_CFRA_ForHO, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RS_CFRA_ForHO },
  { &hf_nr_rrc_dynamicPRB_BundlingDL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicPRB_BundlingDL },
  { &hf_nr_rrc_sp_CSI_ReportPUCCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_ReportPUCCH },
  { &hf_nr_rrc_sp_CSI_ReportPUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_ReportPUSCH },
  { &hf_nr_rrc_nzp_CSI_RS_IntefMgmt, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt },
  { &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH },
  { &hf_nr_rrc_precoderGranularityCORESET, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_precoderGranularityCORESET },
  { &hf_nr_rrc_dynamicHARQ_ACK_Codebook, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook },
  { &hf_nr_rrc_semiStaticHARQ_ACK_Codebook, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook },
  { &hf_nr_rrc_spatialBundlingHARQ_ACK, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialBundlingHARQ_ACK },
  { &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI },
  { &hf_nr_rrc_pucch_Repetition_F1_3_4, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_Repetition_F1_3_4 },
  { &hf_nr_rrc_ra_Type0_PUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_Type0_PUSCH },
  { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH },
  { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH },
  { &hf_nr_rrc_pdsch_MappingTypeA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_MappingTypeA },
  { &hf_nr_rrc_pdsch_MappingTypeB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_MappingTypeB },
  { &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH },
  { &hf_nr_rrc_interSlotFreqHopping_PUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_interSlotFreqHopping_PUSCH },
  { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots },
  { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots },
  { &hf_nr_rrc_pusch_RepetitionMultiSlots, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepetitionMultiSlots },
  { &hf_nr_rrc_pdsch_RepetitionMultiSlots, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_RepetitionMultiSlots },
  { &hf_nr_rrc_downlinkSPS  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_downlinkSPS },
  { &hf_nr_rrc_configuredUL_GrantType1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredUL_GrantType1 },
  { &hf_nr_rrc_configuredUL_GrantType2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredUL_GrantType2 },
  { &hf_nr_rrc_pre_EmptIndication_DL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pre_EmptIndication_DL },
  { &hf_nr_rrc_cbg_TransIndication_DL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbg_TransIndication_DL },
  { &hf_nr_rrc_cbg_TransIndication_UL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbg_TransIndication_UL },
  { &hf_nr_rrc_cbg_FlushIndication_DL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbg_FlushIndication_DL },
  { &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL },
  { &hf_nr_rrc_rateMatchingResrcSetSemi_Static, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static },
  { &hf_nr_rrc_rateMatchingResrcSetDynamic, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rateMatchingResrcSetDynamic },
  { &hf_nr_rrc_bwp_SwitchingDelay, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_bwp_SwitchingDelay },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_6 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_7 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_8 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_9 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_10 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_ParametersCommon, Phy_ParametersCommon_sequence);

  return offset;
}


static const value_string nr_rrc_T_dynamicSFI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicSFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUCCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_SchedulingOffset_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_SchedulingOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersXDD_Diff_eag_1_sequence[] = {
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA },
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB },
  { &hf_nr_rrc_ul_SchedulingOffset, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_SchedulingOffset },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersXDD_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersXDD_Diff_eag_1_sequence);

  return offset;
}


static const per_sequence_t Phy_ParametersXDD_Diff_sequence[] = {
  { &hf_nr_rrc_dynamicSFI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicSFI },
  { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols },
  { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH },
  { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersXDD_Diff_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_ParametersXDD_Diff, Phy_ParametersXDD_Diff_sequence);

  return offset;
}


static const value_string nr_rrc_T_dynamicSFI_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicSFI_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedDMRS_TypeDL_vals[] = {
  {   0, "type1" },
  {   1, "type1And2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedDMRS_TypeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportedDMRS_TypeUL_vals[] = {
  {   0, "type1" },
  {   1, "type1And2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportedDMRS_TypeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_semiOpenLoopCSI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_semiOpenLoopCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_ReportWithoutPMI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_ReportWithoutPMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_ReportWithoutCQI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_ReportWithoutCQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_F2_WithFH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_F2_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_F3_WithFH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_F3_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_F4_WithFH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_F4_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_F0_2WithoutFH_vals[] = {
  {   0, "notSupported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_F0_2WithoutFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_F1_3_4WithoutFH_vals[] = {
  {   0, "notSupported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_F1_3_4WithoutFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uci_CodeBlockSegmentation_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uci_CodeBlockSegmentation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_onePUCCH_LongAndShortFormat_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_onePUCCH_LongAndShortFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoPUCCH_AnyOthersInSlot_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_intraSlotFreqHopping_PUSCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_LBRM_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_LBRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tpc_PUSCH_RNTI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tpc_PUSCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tpc_PUCCH_RNTI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tpc_PUCCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tpc_SRS_RNTI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tpc_SRS_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_absoluteTPC_Command_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_absoluteTPC_Command(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_HalfPi_BPSK_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_F3_4_HalfPi_BPSK_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_almostContiguousCP_OFDM_UL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_almostContiguousCP_OFDM_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_RS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_IM_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_IM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multipleCORESET_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multipleCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sameSymbol_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sameSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_diffSymbol_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_diffSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_sequence[] = {
  { &hf_nr_rrc_sameSymbol   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sameSymbol },
  { &hf_nr_rrc_diffSymbol   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_diffSymbol },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot, T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_sequence);

  return offset;
}


static const value_string nr_rrc_T_mux_SR_HARQ_ACK_PUCCH_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_SR_HARQ_ACK_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mux_MultipleGroupCtrlCH_Overlap_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_MultipleGroupCtrlCH_Overlap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_SchedulingOffset_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_SchedulingOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_64QAM_MCS_TableAlt_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_64QAM_MCS_TableAlt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_64QAM_MCS_TableAlt_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_64QAM_MCS_TableAlt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cqi_TableAlt_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cqi_TableAlt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_UL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_UL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_UL_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFRX_Diff_eag_1_sequence[] = {
  { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedback, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_RS_IM_ReceptionForFeedback },
  { &hf_nr_rrc_csi_RS_ProcFrameworkForSRS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_RS_ProcFrameworkForSRS },
  { &hf_nr_rrc_csi_ReportFramework, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ReportFramework },
  { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot },
  { &hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_SR_HARQ_ACK_PUCCH },
  { &hf_nr_rrc_mux_MultipleGroupCtrlCH_Overlap, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_MultipleGroupCtrlCH_Overlap },
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_01 },
  { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_01 },
  { &hf_nr_rrc_ul_SchedulingOffset_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_SchedulingOffset_01 },
  { &hf_nr_rrc_dl_64QAM_MCS_TableAlt, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_64QAM_MCS_TableAlt },
  { &hf_nr_rrc_ul_64QAM_MCS_TableAlt, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_64QAM_MCS_TableAlt },
  { &hf_nr_rrc_cqi_TableAlt , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cqi_TableAlt },
  { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_UL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_UL },
  { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_UL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_UL },
  { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_UL, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_UL },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_1_sequence);

  return offset;
}


static const per_sequence_t T_pdcch_BlindDetectionNRDC_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_pdcch_BlindDetectionNRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_pdcch_BlindDetectionNRDC, T_pdcch_BlindDetectionNRDC_sequence);

  return offset;
}


static const value_string nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFRX_Diff_eag_2_sequence[] = {
  { &hf_nr_rrc_pdcch_BlindDetectionNRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_BlindDetectionNRDC },
  { &hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_type1_HARQ_ACK_Codebook_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_HARQ_ACK_Codebook_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enhancedPowerControl_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedPowerControl_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousTCI_ActMultipleCC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousTCI_ActMultipleCC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simultaneousSpatialRelationMultipleCC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simultaneousSpatialRelationMultipleCC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cli_RSSI_FDM_DL_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cli_RSSI_FDM_DL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cli_SRS_RSRP_FDM_DL_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cli_SRS_RSRP_FDM_DL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxLayersMIMO_Adaptation_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxLayersMIMO_Adaptation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_aggregationFactorSPS_DL_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aggregationFactorSPS_DL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberResWithinSlotAcrossCC_OneFR_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n12" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  {   7, "n128" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberResWithinSlotAcrossCC_OneFR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberResAcrossCC_OneFR_r16_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n12" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n40" },
  {   7, "n48" },
  {   8, "n64" },
  {   9, "n72" },
  {  10, "n80" },
  {  11, "n96" },
  {  12, "n128" },
  {  13, "n256" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberResAcrossCC_OneFR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     14, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxTotalResourcesForOneFreqRange_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberResWithinSlotAcrossCC_OneFR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberResWithinSlotAcrossCC_OneFR_r16 },
  { &hf_nr_rrc_maxNumberResAcrossCC_OneFR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberResAcrossCC_OneFR_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxTotalResourcesForOneFreqRange_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxTotalResourcesForOneFreqRange_r16, T_maxTotalResourcesForOneFreqRange_r16_sequence);

  return offset;
}


static const per_sequence_t Phy_ParametersFRX_Diff_eag_3_sequence[] = {
  { &hf_nr_rrc_type1_HARQ_ACK_Codebook_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_HARQ_ACK_Codebook_r16 },
  { &hf_nr_rrc_enhancedPowerControl_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedPowerControl_r16 },
  { &hf_nr_rrc_simultaneousTCI_ActMultipleCC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousTCI_ActMultipleCC_r16 },
  { &hf_nr_rrc_simultaneousSpatialRelationMultipleCC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simultaneousSpatialRelationMultipleCC_r16 },
  { &hf_nr_rrc_cli_RSSI_FDM_DL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cli_RSSI_FDM_DL_r16 },
  { &hf_nr_rrc_cli_SRS_RSRP_FDM_DL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cli_SRS_RSRP_FDM_DL_r16 },
  { &hf_nr_rrc_maxLayersMIMO_Adaptation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxLayersMIMO_Adaptation_r16 },
  { &hf_nr_rrc_aggregationFactorSPS_DL_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aggregationFactorSPS_DL_r16 },
  { &hf_nr_rrc_maxTotalResourcesForOneFreqRange_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxTotalResourcesForOneFreqRange_r16 },
  { &hf_nr_rrc_csi_ReportFrameworkExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CSI_ReportFrameworkExt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_3_sequence);

  return offset;
}


static const value_string nr_rrc_T_twoTCI_Act_servingCellInCC_List_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoTCI_Act_servingCellInCC_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFRX_Diff_eag_4_sequence[] = {
  { &hf_nr_rrc_twoTCI_Act_servingCellInCC_List_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoTCI_Act_servingCellInCC_List_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_4_sequence);

  return offset;
}


static const value_string nr_rrc_T_cri_RI_CQI_WithoutNon_PMI_PortInd_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cri_RI_CQI_WithoutNon_PMI_PortInd_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFRX_Diff_eag_5_sequence[] = {
  { &hf_nr_rrc_cri_RI_CQI_WithoutNon_PMI_PortInd_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cri_RI_CQI_WithoutNon_PMI_PortInd_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_5_sequence);

  return offset;
}


static const value_string nr_rrc_T_cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFRX_Diff_eag_6_sequence[] = {
  { &hf_nr_rrc_cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_6_sequence);

  return offset;
}


static const per_sequence_t Phy_ParametersFRX_Diff_sequence[] = {
  { &hf_nr_rrc_dynamicSFI_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicSFI_01 },
  { &hf_nr_rrc_phy_ParametersFRX_Diff_dummy1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { &hf_nr_rrc_twoFL_DMRS   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { &hf_nr_rrc_phy_ParametersFRX_Diff_dummy2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { &hf_nr_rrc_phy_ParametersFRX_Diff_dummy3, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { &hf_nr_rrc_supportedDMRS_TypeDL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedDMRS_TypeDL },
  { &hf_nr_rrc_supportedDMRS_TypeUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedDMRS_TypeUL },
  { &hf_nr_rrc_semiOpenLoopCSI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_semiOpenLoopCSI },
  { &hf_nr_rrc_csi_ReportWithoutPMI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_ReportWithoutPMI },
  { &hf_nr_rrc_csi_ReportWithoutCQI, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_ReportWithoutCQI },
  { &hf_nr_rrc_onePortsPTRS , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01 },
  { &hf_nr_rrc_pucch_F2_WithFH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_F2_WithFH },
  { &hf_nr_rrc_pucch_F3_WithFH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_F3_WithFH },
  { &hf_nr_rrc_pucch_F4_WithFH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_F4_WithFH },
  { &hf_nr_rrc_pucch_F0_2WithoutFH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_F0_2WithoutFH },
  { &hf_nr_rrc_pucch_F1_3_4WithoutFH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_F1_3_4WithoutFH },
  { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot },
  { &hf_nr_rrc_uci_CodeBlockSegmentation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_uci_CodeBlockSegmentation },
  { &hf_nr_rrc_onePUCCH_LongAndShortFormat, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_onePUCCH_LongAndShortFormat },
  { &hf_nr_rrc_twoPUCCH_AnyOthersInSlot, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot },
  { &hf_nr_rrc_intraSlotFreqHopping_PUSCH, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH },
  { &hf_nr_rrc_pusch_LBRM   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_LBRM },
  { &hf_nr_rrc_pdcch_BlindDetectionCA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_4_16 },
  { &hf_nr_rrc_tpc_PUSCH_RNTI_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tpc_PUSCH_RNTI },
  { &hf_nr_rrc_tpc_PUCCH_RNTI_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tpc_PUCCH_RNTI },
  { &hf_nr_rrc_tpc_SRS_RNTI_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tpc_SRS_RNTI },
  { &hf_nr_rrc_absoluteTPC_Command, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_absoluteTPC_Command },
  { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01 },
  { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01 },
  { &hf_nr_rrc_pusch_HalfPi_BPSK, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_HalfPi_BPSK },
  { &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK },
  { &hf_nr_rrc_almostContiguousCP_OFDM_UL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_almostContiguousCP_OFDM_UL },
  { &hf_nr_rrc_sp_CSI_RS    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_RS },
  { &hf_nr_rrc_sp_CSI_IM    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_IM },
  { &hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot },
  { &hf_nr_rrc_multipleCORESET, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleCORESET },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_6 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_ParametersFRX_Diff, Phy_ParametersFRX_Diff_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_MonitoringSingleOccasion_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_MonitoringSingleOccasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_phy_ParametersFR1_scs_60kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phy_ParametersFR1_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_256QAM_FR1_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_256QAM_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol_vals[] = {
  {   0, "n10" },
  {   1, "n20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_RE_MappingFR1_PerSlot_vals[] = {
  {   0, "n16" },
  {   1, "n32" },
  {   2, "n48" },
  {   3, "n64" },
  {   4, "n80" },
  {   5, "n96" },
  {   6, "n112" },
  {   7, "n128" },
  {   8, "n144" },
  {   9, "n160" },
  {  10, "n176" },
  {  11, "n192" },
  {  12, "n208" },
  {  13, "n224" },
  {  14, "n240" },
  {  15, "n256" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFR1_eag_1_sequence[] = {
  { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSlot, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSlot },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFR1_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFR1_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcch_MonitoringSingleSpanFirst4Sym_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_MonitoringSingleSpanFirst4Sym_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFR1_eag_2_sequence[] = {
  { &hf_nr_rrc_pdcch_MonitoringSingleSpanFirst4Sym_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_MonitoringSingleSpanFirst4Sym_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFR1_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFR1_eag_2_sequence);

  return offset;
}


static const per_sequence_t Phy_ParametersFR1_sequence[] = {
  { &hf_nr_rrc_pdcch_MonitoringSingleOccasion, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_MonitoringSingleOccasion },
  { &hf_nr_rrc_phy_ParametersFR1_scs_60kHz, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_phy_ParametersFR1_scs_60kHz },
  { &hf_nr_rrc_pdsch_256QAM_FR1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_256QAM_FR1 },
  { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSymbol, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFR1_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFR1_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_ParametersFR1, Phy_ParametersFR1_sequence);

  return offset;
}


static const value_string nr_rrc_T_phy_ParametersFR2_dummy_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_phy_ParametersFR2_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_RE_MappingFR2_PerSymbol_vals[] = {
  {   0, "n6" },
  {   1, "n20" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_RE_MappingFR2_PerSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pCell_FR2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pCell_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_RE_MappingFR2_PerSlot_vals[] = {
  {   0, "n16" },
  {   1, "n32" },
  {   2, "n48" },
  {   3, "n64" },
  {   4, "n80" },
  {   5, "n96" },
  {   6, "n112" },
  {   7, "n128" },
  {   8, "n144" },
  {   9, "n160" },
  {  10, "n176" },
  {  11, "n192" },
  {  12, "n208" },
  {  13, "n224" },
  {  14, "n240" },
  {  15, "n256" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_RE_MappingFR2_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFR2_eag_1_sequence[] = {
  { &hf_nr_rrc_pCell_FR2    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pCell_FR2 },
  { &hf_nr_rrc_pdsch_RE_MappingFR2_PerSlot, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_RE_MappingFR2_PerSlot },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFR2_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFR2_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_defaultSpatialRelationPathlossRS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_defaultSpatialRelationPathlossRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spatialRelationUpdateAP_SRS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spatialRelationUpdateAP_SRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16_vals[] = {
  {   0, "n0" },
  {   1, "n1" },
  {   2, "n2" },
  {   3, "n4" },
  {   4, "n8" },
  {   5, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersFR2_eag_2_sequence[] = {
  { &hf_nr_rrc_defaultSpatialRelationPathlossRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_defaultSpatialRelationPathlossRS_r16 },
  { &hf_nr_rrc_spatialRelationUpdateAP_SRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelationUpdateAP_SRS_r16 },
  { &hf_nr_rrc_maxNumberSRS_PosSpatialRelationsAllServingCells_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFR2_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFR2_eag_2_sequence);

  return offset;
}


static const per_sequence_t Phy_ParametersFR2_sequence[] = {
  { &hf_nr_rrc_phy_ParametersFR2_dummy, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_phy_ParametersFR2_dummy },
  { &hf_nr_rrc_pdsch_RE_MappingFR2_PerSymbol, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_RE_MappingFR2_PerSymbol },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFR2_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFR2_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_ParametersFR2, Phy_ParametersFR2_sequence);

  return offset;
}


static const per_sequence_t Phy_Parameters_sequence[] = {
  { &hf_nr_rrc_phy_ParametersCommon, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersCommon },
  { &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersXDD_Diff },
  { &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersFRX_Diff },
  { &hf_nr_rrc_phy_ParametersFR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersFR1 },
  { &hf_nr_rrc_phy_ParametersFR2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersFR2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_Parameters, Phy_Parameters_sequence);

  return offset;
}


static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_sequence[] = {
  { &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersXDD_Diff },
  { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersXDD_Diff },
  { &hf_nr_rrc_measAndMobParametersXDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersXDD_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, UE_NR_CapabilityAddXDD_Mode_sequence);

  return offset;
}


static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_sequence[] = {
  { &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersFRX_Diff },
  { &hf_nr_rrc_measAndMobParametersFRX_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersFRX_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, UE_NR_CapabilityAddFRX_Mode_sequence);

  return offset;
}


static const value_string nr_rrc_T_barometerMeasReport_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_barometerMeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_immMeasBT_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_immMeasBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_immMeasWLAN_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_immMeasWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_loggedMeasBT_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_loggedMeasBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_loggedMeasurements_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_loggedMeasurements_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_loggedMeasWLAN_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_loggedMeasWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_orientationMeasReport_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_orientationMeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_speedMeasReport_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_speedMeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gnss_Location_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gnss_Location_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ulPDCP_Delay_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ulPDCP_Delay_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sigBasedLogMDT_OverrideProtect_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sigBasedLogMDT_OverrideProtect_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multipleCEF_Report_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multipleCEF_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_excessPacketDelay_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_excessPacketDelay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_earlyMeasLog_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_earlyMeasLog_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UE_BasedPerfMeas_Parameters_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sigBasedLogMDT_OverrideProtect_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sigBasedLogMDT_OverrideProtect_r17 },
  { &hf_nr_rrc_multipleCEF_Report_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleCEF_Report_r17 },
  { &hf_nr_rrc_excessPacketDelay_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_excessPacketDelay_r17 },
  { &hf_nr_rrc_earlyMeasLog_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_earlyMeasLog_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_BasedPerfMeas_Parameters_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UE_BasedPerfMeas_Parameters_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t UE_BasedPerfMeas_Parameters_r16_sequence[] = {
  { &hf_nr_rrc_barometerMeasReport_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_barometerMeasReport_r16 },
  { &hf_nr_rrc_immMeasBT_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_immMeasBT_r16 },
  { &hf_nr_rrc_immMeasWLAN_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_immMeasWLAN_r16 },
  { &hf_nr_rrc_loggedMeasBT_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_loggedMeasBT_r16 },
  { &hf_nr_rrc_loggedMeasurements_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_loggedMeasurements_r16 },
  { &hf_nr_rrc_loggedMeasWLAN_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_loggedMeasWLAN_r16 },
  { &hf_nr_rrc_orientationMeasReport_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_orientationMeasReport_r16 },
  { &hf_nr_rrc_speedMeasReport_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_speedMeasReport_r16 },
  { &hf_nr_rrc_gnss_Location_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_gnss_Location_r16 },
  { &hf_nr_rrc_ulPDCP_Delay_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ulPDCP_Delay_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_BasedPerfMeas_Parameters_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_BasedPerfMeas_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_BasedPerfMeas_Parameters_r16, UE_BasedPerfMeas_Parameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_rach_Report_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rach_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rlfReportCHO_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlfReportCHO_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rlfReportDAPS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlfReportDAPS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_success_HO_Report_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_success_HO_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoStepRACH_Report_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoStepRACH_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pscell_MHI_Report_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pscell_MHI_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_onDemandSI_Report_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_onDemandSI_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SON_Parameters_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_rlfReportCHO_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlfReportCHO_r17 },
  { &hf_nr_rrc_rlfReportDAPS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlfReportDAPS_r17 },
  { &hf_nr_rrc_success_HO_Report_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_success_HO_Report_r17 },
  { &hf_nr_rrc_twoStepRACH_Report_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoStepRACH_Report_r17 },
  { &hf_nr_rrc_pscell_MHI_Report_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pscell_MHI_Report_r17 },
  { &hf_nr_rrc_onDemandSI_Report_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_onDemandSI_Report_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SON_Parameters_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SON_Parameters_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t SON_Parameters_r16_sequence[] = {
  { &hf_nr_rrc_rach_Report_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rach_Report_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SON_Parameters_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SON_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SON_Parameters_r16, SON_Parameters_r16_sequence);

  return offset;
}


static const per_sequence_t NTN_Parameters_r17_sequence[] = {
  { &hf_nr_rrc_inactiveStateNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inactiveStateNTN_r17 },
  { &hf_nr_rrc_ra_SDT_NTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_SDT_NTN_r17 },
  { &hf_nr_rrc_srb_SDT_NTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srb_SDT_NTN_r17 },
  { &hf_nr_rrc_measAndMobParametersNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParameters },
  { &hf_nr_rrc_mac_ParametersNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_Parameters },
  { &hf_nr_rrc_phy_ParametersNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_Parameters },
  { &hf_nr_rrc_fdd_Add_UE_NR_CapabilitiesNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
  { &hf_nr_rrc_fr1_Add_UE_NR_CapabilitiesNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
  { &hf_nr_rrc_ue_BasedPerfMeas_ParametersNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_BasedPerfMeas_Parameters_r16 },
  { &hf_nr_rrc_son_ParametersNTN_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SON_Parameters_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NTN_Parameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NTN_Parameters_r17, NTN_Parameters_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_olpc_SRS_PosBasedOnPRS_Serving_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_olpc_SRS_PosBasedOnPRS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_olpc_SRS_PosBasedOnSSB_Neigh_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_olpc_SRS_PosBasedOnSSB_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_olpc_SRS_PosBasedOnPRS_Neigh_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_olpc_SRS_PosBasedOnPRS_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPathLossEstimatePerServing_r16_vals[] = {
  {   0, "n1" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPathLossEstimatePerServing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t OLPC_SRS_Pos_r16_sequence[] = {
  { &hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Serving_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_olpc_SRS_PosBasedOnPRS_Serving_r16 },
  { &hf_nr_rrc_olpc_SRS_PosBasedOnSSB_Neigh_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_olpc_SRS_PosBasedOnSSB_Neigh_r16 },
  { &hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Neigh_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_olpc_SRS_PosBasedOnPRS_Neigh_r16 },
  { &hf_nr_rrc_maxNumberPathLossEstimatePerServing_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberPathLossEstimatePerServing_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_OLPC_SRS_Pos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_OLPC_SRS_Pos_r16, OLPC_SRS_Pos_r16_sequence);

  return offset;
}


static const per_sequence_t T_supportedROHC_Profiles_sequence[] = {
  { &hf_nr_rrc_profile0x0000, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_supportedROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_supportedROHC_Profiles, T_supportedROHC_Profiles_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberROHC_ContextSessions_vals[] = {
  {   0, "cs2" },
  {   1, "cs4" },
  {   2, "cs8" },
  {   3, "cs12" },
  {   4, "cs16" },
  {   5, "cs24" },
  {   6, "cs32" },
  {   7, "cs48" },
  {   8, "cs64" },
  {   9, "cs128" },
  {  10, "cs256" },
  {  11, "cs512" },
  {  12, "cs1024" },
  {  13, "cs16384" },
  {  14, "spare2" },
  {  15, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberROHC_ContextSessions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkOnlyROHC_Profiles_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkOnlyROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_continueROHC_Context_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_continueROHC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_outOfOrderDelivery_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_outOfOrderDelivery_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_shortSN_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_shortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcp_DuplicationSRB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_DuplicationSRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drb_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drb_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_non_DRB_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_non_DRB_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedDiscardTimer_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedDiscardTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_continueEHC_Context_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_continueEHC_Context_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ehc_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ehc_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberEHC_Contexts_r16_vals[] = {
  {   0, "cs2" },
  {   1, "cs4" },
  {   2, "cs8" },
  {   3, "cs16" },
  {   4, "cs32" },
  {   5, "cs64" },
  {   6, "cs128" },
  {   7, "cs256" },
  {   8, "cs512" },
  {   9, "cs1024" },
  {  10, "cs2048" },
  {  11, "cs4096" },
  {  12, "cs8192" },
  {  13, "cs16384" },
  {  14, "cs32768" },
  {  15, "cs65536" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberEHC_Contexts_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_jointEHC_ROHC_Config_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_jointEHC_ROHC_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcp_DuplicationMoreThanTwoRLC_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_DuplicationMoreThanTwoRLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCP_Parameters_eag_1_sequence[] = {
  { &hf_nr_rrc_drb_IAB_r16  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drb_IAB_r16 },
  { &hf_nr_rrc_non_DRB_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_non_DRB_IAB_r16 },
  { &hf_nr_rrc_extendedDiscardTimer_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedDiscardTimer_r16 },
  { &hf_nr_rrc_continueEHC_Context_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_continueEHC_Context_r16 },
  { &hf_nr_rrc_ehc_r16      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ehc_r16 },
  { &hf_nr_rrc_maxNumberEHC_Contexts_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberEHC_Contexts_r16 },
  { &hf_nr_rrc_jointEHC_ROHC_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_jointEHC_ROHC_Config_r16 },
  { &hf_nr_rrc_pdcp_DuplicationMoreThanTwoRLC_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_DuplicationMoreThanTwoRLC_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Parameters_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_longSN_RedCap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_longSN_RedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_standardDictionary_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_standardDictionary_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_operatorDictionary_r17_sequence[] = {
  { &hf_nr_rrc_versionOfDictionary_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
  { &hf_nr_rrc_associatedPLMN_ID_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_operatorDictionary_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_operatorDictionary_r17, T_operatorDictionary_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_continueUDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_continueUDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportOfBufferSize_r17_vals[] = {
  {   0, "kbyte4" },
  {   1, "kbyte8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportOfBufferSize_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_udc_r17_sequence[] = {
  { &hf_nr_rrc_standardDictionary_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_standardDictionary_r17 },
  { &hf_nr_rrc_operatorDictionary_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_operatorDictionary_r17 },
  { &hf_nr_rrc_continueUDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_continueUDC_r17 },
  { &hf_nr_rrc_supportOfBufferSize_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportOfBufferSize_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_udc_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_udc_r17, T_udc_r17_sequence);

  return offset;
}


static const per_sequence_t PDCP_Parameters_eag_2_sequence[] = {
  { &hf_nr_rrc_longSN_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_longSN_RedCap_r17 },
  { &hf_nr_rrc_udc_r17      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_udc_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_Parameters_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Parameters_eag_2_sequence);

  return offset;
}


static const per_sequence_t PDCP_Parameters_sequence[] = {
  { &hf_nr_rrc_supportedROHC_Profiles, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedROHC_Profiles },
  { &hf_nr_rrc_maxNumberROHC_ContextSessions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberROHC_ContextSessions },
  { &hf_nr_rrc_uplinkOnlyROHC_Profiles, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkOnlyROHC_Profiles },
  { &hf_nr_rrc_continueROHC_Context, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_continueROHC_Context },
  { &hf_nr_rrc_outOfOrderDelivery_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_outOfOrderDelivery_01 },
  { &hf_nr_rrc_shortSN      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_shortSN },
  { &hf_nr_rrc_pdcp_DuplicationSRB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_DuplicationSRB },
  { &hf_nr_rrc_pdcp_DuplicationMCG_OrSCG_DRB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Parameters_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Parameters_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCP_Parameters, PDCP_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdcp_DuplicationSplitSRB_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_DuplicationSplitSRB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcp_DuplicationSplitDRB_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcp_DuplicationSplitDRB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCP_ParametersMRDC_sequence[] = {
  { &hf_nr_rrc_pdcp_DuplicationSplitSRB_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_DuplicationSplitSRB_01 },
  { &hf_nr_rrc_pdcp_DuplicationSplitDRB_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcp_DuplicationSplitDRB_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCP_ParametersMRDC, PDCP_ParametersMRDC_sequence);

  return offset;
}


static const value_string nr_rrc_T_scg_DRB_NR_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scg_DRB_NR_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCP_ParametersMRDC_v1610_sequence[] = {
  { &hf_nr_rrc_scg_DRB_NR_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scg_DRB_NR_IAB_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_ParametersMRDC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCP_ParametersMRDC_v1610, PDCP_ParametersMRDC_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_srs_PeriodicityAndOffsetExt_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_PeriodicityAndOffsetExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersCommon_v16a0_sequence[] = {
  { &hf_nr_rrc_srs_PeriodicityAndOffsetExt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_PeriodicityAndOffsetExt_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersCommon_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_ParametersCommon_v16a0, Phy_ParametersCommon_v16a0_sequence);

  return offset;
}


static const per_sequence_t Phy_Parameters_v16a0_sequence[] = {
  { &hf_nr_rrc_phy_ParametersCommon_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersCommon_v16a0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_Parameters_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_Parameters_v16a0, Phy_Parameters_v16a0_sequence);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_1_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 5U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_numberOfAggregatedPRB_vals[] = {
  {   0, "n50" },
  {   1, "n75" },
  {   2, "n100" },
  {   3, "n125" },
  {   4, "n150" },
  {   5, "n175" },
  {   6, "n200" },
  {   7, "n225" },
  {   8, "n250" },
  {   9, "n275" },
  {  10, "n300" },
  {  11, "n350" },
  {  12, "n400" },
  {  13, "n450" },
  {  14, "n500" },
  {  15, "spare" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_numberOfAggregatedPRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t NAICS_Capability_Entry_sequence[] = {
  { &hf_nr_rrc_numberOfNAICS_CapableCC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_5 },
  { &hf_nr_rrc_numberOfAggregatedPRB, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numberOfAggregatedPRB },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NAICS_Capability_Entry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NAICS_Capability_Entry, NAICS_Capability_Entry_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry_sequence_of[1] = {
  { &hf_nr_rrc_naics_Capability_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NAICS_Capability_Entry },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry, SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry_sequence_of,
                                                  1, maxNrofNAICS_Entries, FALSE);

  return offset;
}


static const per_sequence_t Phy_ParametersMRDC_eag_1_sequence[] = {
  { &hf_nr_rrc_spCellPlacement, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_CarrierAggregationVariant },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersMRDC_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersMRDC_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_tdd_PCellUL_TX_AllUL_Subframe_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tdd_PCellUL_TX_AllUL_Subframe_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fdd_PCellUL_TX_AllUL_Subframe_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fdd_PCellUL_TX_AllUL_Subframe_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersMRDC_eag_2_sequence[] = {
  { &hf_nr_rrc_tdd_PCellUL_TX_AllUL_Subframe_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tdd_PCellUL_TX_AllUL_Subframe_r16 },
  { &hf_nr_rrc_fdd_PCellUL_TX_AllUL_Subframe_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fdd_PCellUL_TX_AllUL_Subframe_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersMRDC_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersMRDC_eag_2_sequence);

  return offset;
}


static const per_sequence_t Phy_ParametersMRDC_sequence[] = {
  { &hf_nr_rrc_naics_Capability_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersMRDC_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersMRDC_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_ParametersMRDC, Phy_ParametersMRDC_sequence);

  return offset;
}


static const value_string nr_rrc_T_ss_SINR_Meas_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ss_SINR_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_ReportPUCCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_ReportPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sp_CSI_ReportPUSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sp_CSI_ReportPUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicSFI_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicSFI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sameSymbol_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sameSymbol_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_diffSymbol_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_diffSymbol_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16_sequence[] = {
  { &hf_nr_rrc_sameSymbol_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sameSymbol_r16 },
  { &hf_nr_rrc_diffSymbol_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_diffSymbol_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16, T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_mux_SR_HARQ_ACK_PUCCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_SR_HARQ_ACK_PUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_Repetition_F1_3_4_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_Repetition_F1_3_4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepetitionMultiSlots_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepetitionMultiSlots_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_RepetitionMultiSlots_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_RepetitionMultiSlots_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_downlinkSPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_downlinkSPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredUL_GrantType1_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredUL_GrantType1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredUL_GrantType2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredUL_GrantType2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pre_EmptIndication_DL_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pre_EmptIndication_DL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t Phy_ParametersSharedSpectrumChAccess_r16_sequence[] = {
  { &hf_nr_rrc_ss_SINR_Meas_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ss_SINR_Meas_r16 },
  { &hf_nr_rrc_sp_CSI_ReportPUCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_ReportPUCCH_r16 },
  { &hf_nr_rrc_sp_CSI_ReportPUSCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sp_CSI_ReportPUSCH_r16 },
  { &hf_nr_rrc_dynamicSFI_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicSFI_r16 },
  { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16 },
  { &hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_SR_HARQ_ACK_PUCCH_r16 },
  { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16 },
  { &hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_r16 },
  { &hf_nr_rrc_pucch_Repetition_F1_3_4_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_Repetition_F1_3_4_r16 },
  { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_r16 },
  { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_r16 },
  { &hf_nr_rrc_pusch_RepetitionMultiSlots_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepetitionMultiSlots_r16 },
  { &hf_nr_rrc_pdsch_RepetitionMultiSlots_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_RepetitionMultiSlots_r16 },
  { &hf_nr_rrc_downlinkSPS_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_downlinkSPS_r16 },
  { &hf_nr_rrc_configuredUL_GrantType1_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredUL_GrantType1_r16 },
  { &hf_nr_rrc_configuredUL_GrantType2_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredUL_GrantType2_r16 },
  { &hf_nr_rrc_pre_EmptIndication_DL_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pre_EmptIndication_DL_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_Phy_ParametersSharedSpectrumChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_Phy_ParametersSharedSpectrumChAccess_r16, Phy_ParametersSharedSpectrumChAccess_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17_vals[] = {
  {   0, "mhz5" },
  {   1, "mhz10" },
  {   2, "mhz15" },
  {   3, "mhz20" },
  {   4, "mhz25" },
  {   5, "mhz30" },
  {   6, "mhz35" },
  {   7, "mhz40" },
  {   8, "mhz45" },
  {   9, "mhz50" },
  {  10, "mhz60" },
  {  11, "mhz70" },
  {  12, "mhz80" },
  {  13, "mhz90" },
  {  14, "mhz100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     15, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17_vals[] = {
  {   0, "mhz50" },
  {   1, "mhz100" },
  {   2, "mhz200" },
  {   3, "mhz400" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfSRSposResourceSets_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  {   5, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfSRSposResourceSets_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfPeriodicSRSposResources_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfPeriodicSRSposResources_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_differentNumerologyBetweenSRSposAndInitialBWP_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_differentNumerologyBetweenSRSposAndInitialBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srsPosWithoutRestrictionOnBWP_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srsPosWithoutRestrictionOnBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfPeriodicAndSemipersistentSRSposResources_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfPeriodicAndSemipersistentSRSposResources_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_differentCenterFreqBetweenSRSposAndInitialBWP_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_differentCenterFreqBetweenSRSposAndInitialBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_switchingTimeSRS_TX_OtherTX_r17_vals[] = {
  {   0, "us100" },
  {   1, "us140" },
  {   2, "us200" },
  {   3, "us300" },
  {   4, "us500" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_switchingTimeSRS_TX_OtherTX_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfSemiPersistentSRSposResources_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfSemiPersistentSRSposResources_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17_sequence[] = {
  { &hf_nr_rrc_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17 },
  { &hf_nr_rrc_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17 },
  { &hf_nr_rrc_maxNumOfSRSposResourceSets_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumOfSRSposResourceSets_r17 },
  { &hf_nr_rrc_maxNumOfPeriodicSRSposResources_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumOfPeriodicSRSposResources_r17 },
  { &hf_nr_rrc_maxNumOfPeriodicSRSposResourcesPerSlot_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17 },
  { &hf_nr_rrc_differentNumerologyBetweenSRSposAndInitialBWP_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_differentNumerologyBetweenSRSposAndInitialBWP_r17 },
  { &hf_nr_rrc_srsPosWithoutRestrictionOnBWP_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_srsPosWithoutRestrictionOnBWP_r17 },
  { &hf_nr_rrc_maxNumOfPeriodicAndSemipersistentSRSposResources_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumOfPeriodicAndSemipersistentSRSposResources_r17 },
  { &hf_nr_rrc_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17 },
  { &hf_nr_rrc_differentCenterFreqBetweenSRSposAndInitialBWP_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_differentCenterFreqBetweenSRSposAndInitialBWP_r17 },
  { &hf_nr_rrc_switchingTimeSRS_TX_OtherTX_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_switchingTimeSRS_TX_OtherTX_r17 },
  { &hf_nr_rrc_maxNumOfSemiPersistentSRSposResources_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumOfSemiPersistentSRSposResources_r17 },
  { &hf_nr_rrc_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17, PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_drx_Preference_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxCC_Preference_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxCC_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_releasePreference_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_releasePreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_minSchedulingOffsetPreference_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minSchedulingOffsetPreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PowSav_ParametersCommon_r16_sequence[] = {
  { &hf_nr_rrc_drx_Preference_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_Preference_r16 },
  { &hf_nr_rrc_maxCC_Preference_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxCC_Preference_r16 },
  { &hf_nr_rrc_releasePreference_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_releasePreference_r16 },
  { &hf_nr_rrc_minSchedulingOffsetPreference_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_minSchedulingOffsetPreference_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PowSav_ParametersCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PowSav_ParametersCommon_r16, PowSav_ParametersCommon_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxBW_Preference_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxBW_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxMIMO_LayerPreference_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxMIMO_LayerPreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PowSav_ParametersFRX_Diff_r16_sequence[] = {
  { &hf_nr_rrc_maxBW_Preference_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxBW_Preference_r16 },
  { &hf_nr_rrc_maxMIMO_LayerPreference_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxMIMO_LayerPreference_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PowSav_ParametersFRX_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PowSav_ParametersFRX_Diff_r16, PowSav_ParametersFRX_Diff_r16_sequence);

  return offset;
}


static const per_sequence_t PowSav_Parameters_r16_sequence[] = {
  { &hf_nr_rrc_powSav_ParametersCommon_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PowSav_ParametersCommon_r16 },
  { &hf_nr_rrc_powSav_ParametersFRX_Diff_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PowSav_ParametersFRX_Diff_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PowSav_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PowSav_Parameters_r16, PowSav_Parameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxBW_Preference_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxBW_Preference_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxMIMO_LayerPreference_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxMIMO_LayerPreference_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PowSav_ParametersFR2_2_r17_sequence[] = {
  { &hf_nr_rrc_maxBW_Preference_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxBW_Preference_r17 },
  { &hf_nr_rrc_maxMIMO_LayerPreference_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxMIMO_LayerPreference_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PowSav_ParametersFR2_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PowSav_ParametersFR2_2_r17, PowSav_ParametersFR2_2_r17_sequence);

  return offset;
}


static const per_sequence_t PowSav_Parameters_v1700_sequence[] = {
  { &hf_nr_rrc_powSav_ParametersFR2_2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_PowSav_ParametersFR2_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PowSav_Parameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PowSav_Parameters_v1700, PowSav_Parameters_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_prsProcessingType_r17_vals[] = {
  {   0, "type1A" },
  {   1, "type1B" },
  {   2, "type2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prsProcessingType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ppw_dl_PRS_BufferType_r17_vals[] = {
  {   0, "type1" },
  {   1, "type2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ppw_dl_PRS_BufferType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, TRUE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsN_r17_vals[] = {
  {   0, "msDot125" },
  {   1, "msDot25" },
  {   2, "msDot5" },
  {   3, "ms1" },
  {   4, "ms2" },
  {   5, "ms4" },
  {   6, "ms6" },
  {   7, "ms8" },
  {   8, "ms12" },
  {   9, "ms16" },
  {  10, "ms20" },
  {  11, "ms25" },
  {  12, "ms30" },
  {  13, "ms32" },
  {  14, "ms35" },
  {  15, "ms40" },
  {  16, "ms45" },
  {  17, "ms50" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsN_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     18, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsT_r17_vals[] = {
  {   0, "ms1" },
  {   1, "ms2" },
  {   2, "ms4" },
  {   3, "ms8" },
  {   4, "ms16" },
  {   5, "ms20" },
  {   6, "ms30" },
  {   7, "ms40" },
  {   8, "ms80" },
  {   9, "ms160" },
  {  10, "ms320" },
  {  11, "ms640" },
  {  12, "ms1280" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     13, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ppw_durationOfPRS_Processing1_r17_sequence[] = {
  { &hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsN_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsN_r17 },
  { &hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsT_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsT_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ppw_durationOfPRS_Processing1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ppw_durationOfPRS_Processing1_r17, T_ppw_durationOfPRS_Processing1_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsN2_r17_vals[] = {
  {   0, "msDot125" },
  {   1, "msDot25" },
  {   2, "msDot5" },
  {   3, "ms1" },
  {   4, "ms2" },
  {   5, "ms3" },
  {   6, "ms4" },
  {   7, "ms5" },
  {   8, "ms6" },
  {   9, "ms8" },
  {  10, "ms12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsN2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsT2_r17_vals[] = {
  {   0, "ms4" },
  {   1, "ms5" },
  {   2, "ms6" },
  {   3, "ms8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsT2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ppw_durationOfPRS_Processing2_r17_sequence[] = {
  { &hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsN2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsN2_r17 },
  { &hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsT2_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsT2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ppw_durationOfPRS_Processing2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ppw_durationOfPRS_Processing2_r17, T_ppw_durationOfPRS_Processing2_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ppw_durationOfPRS_Processing_r17_vals[] = {
  {   0, "ppw-durationOfPRS-Processing1-r17" },
  {   1, "ppw-durationOfPRS-Processing2-r17" },
  { 0, NULL }
};

static const per_choice_t T_ppw_durationOfPRS_Processing_r17_choice[] = {
  {   0, &hf_nr_rrc_ppw_durationOfPRS_Processing1_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_ppw_durationOfPRS_Processing1_r17 },
  {   1, &hf_nr_rrc_ppw_durationOfPRS_Processing2_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_ppw_durationOfPRS_Processing2_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ppw_durationOfPRS_Processing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ppw_durationOfPRS_Processing_r17, T_ppw_durationOfPRS_Processing_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_scs15_r17_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  {   7, "n24" },
  {   8, "n32" },
  {   9, "n48" },
  {  10, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs15_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs30_r17_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  {   7, "n24" },
  {   8, "n32" },
  {   9, "n48" },
  {  10, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs30_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs60_r17_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  {   7, "n24" },
  {   8, "n32" },
  {   9, "n48" },
  {  10, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs60_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs120_r17_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  {   7, "n24" },
  {   8, "n32" },
  {   9, "n48" },
  {  10, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs120_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17_sequence[] = {
  { &hf_nr_rrc_scs15_r17_02 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs15_r17_01 },
  { &hf_nr_rrc_scs30_r17_02 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs30_r17_01 },
  { &hf_nr_rrc_scs60_r17_02 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs60_r17_01 },
  { &hf_nr_rrc_scs120_r17_02, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs120_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17, T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_fr1_r17_02_vals[] = {
  {   0, "mhz5" },
  {   1, "mhz10" },
  {   2, "mhz20" },
  {   3, "mhz40" },
  {   4, "mhz50" },
  {   5, "mhz80" },
  {   6, "mhz100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr2_r17_02_vals[] = {
  {   0, "mhz50" },
  {   1, "mhz100" },
  {   2, "mhz200" },
  {   3, "mhz400" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr2_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ppw_maxNumOfDL_Bandwidth_r17_vals[] = {
  {   0, "fr1-r17" },
  {   1, "fr2-r17" },
  { 0, NULL }
};

static const per_choice_t T_ppw_maxNumOfDL_Bandwidth_r17_choice[] = {
  {   0, &hf_nr_rrc_fr1_r17_02   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r17_02 },
  {   1, &hf_nr_rrc_fr2_r17_02   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r17_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_ppw_maxNumOfDL_Bandwidth_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_ppw_maxNumOfDL_Bandwidth_r17, T_ppw_maxNumOfDL_Bandwidth_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_sequence[] = {
  { &hf_nr_rrc_prsProcessingType_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prsProcessingType_r17 },
  { &hf_nr_rrc_ppw_dl_PRS_BufferType_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ppw_dl_PRS_BufferType_r17 },
  { &hf_nr_rrc_ppw_durationOfPRS_Processing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ppw_durationOfPRS_Processing_r17 },
  { &hf_nr_rrc_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17 },
  { &hf_nr_rrc_ppw_maxNumOfDL_Bandwidth_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ppw_maxNumOfDL_Bandwidth_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17, PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_supportOfRedCap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportOfRedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_supportOf16DRB_RedCap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_supportOf16DRB_RedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RedCapParameters_r17_sequence[] = {
  { &hf_nr_rrc_supportOfRedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportOfRedCap_r17 },
  { &hf_nr_rrc_supportOf16DRB_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportOf16DRB_RedCap_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RedCapParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RedCapParameters_r17, RedCapParameters_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_ncd_SSB_ForRedCapInitialBWP_SDT_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ncd_SSB_ForRedCapInitialBWP_SDT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RedCapParameters_v1740_sequence[] = {
  { &hf_nr_rrc_ncd_SSB_ForRedCapInitialBWP_SDT_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ncd_SSB_ForRedCapInitialBWP_SDT_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RedCapParameters_v1740(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RedCapParameters_v1740, RedCapParameters_v1740_sequence);

  return offset;
}


static const value_string nr_rrc_T_extendedCP_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multipleTCI_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multipleTCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bwp_WithoutRestriction_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bwp_WithoutRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bwp_SameNumerology_vals[] = {
  {   0, "upto2" },
  {   1, "upto4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bwp_SameNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bwp_DiffNumerology_vals[] = {
  {   0, "upto4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bwp_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_crossCarrierScheduling_SameSCS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crossCarrierScheduling_SameSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_256QAM_FR2_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_256QAM_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_256QAM_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_256QAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_PowerClass_vals[] = {
  {   0, "pc1" },
  {   1, "pc2" },
  {   2, "pc3" },
  {   3, "pc4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_PowerClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rateMatchingLTE_CRS_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rateMatchingLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_sequence[] = {
  { &hf_nr_rrc_bandNR_channelBWs_DL_fr1_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_scs_30kHz_08 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_bandNR_channelBWs_DL_fr1_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1, T_fr1_sequence);

  return offset;
}


static const per_sequence_t T_fr2_sequence[] = {
  { &hf_nr_rrc_bandNR_channelBWs_DL_fr2_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_3 },
  { &hf_nr_rrc_bandNR_channelBWs_DL_fr2_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2, T_fr2_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelBWs_DL_vals[] = {
  {   0, "fr1" },
  {   1, "fr2" },
  { 0, NULL }
};

static const per_choice_t T_channelBWs_DL_choice[] = {
  {   0, &hf_nr_rrc_fr1          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1 },
  {   1, &hf_nr_rrc_fr2          , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelBWs_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelBWs_DL, T_channelBWs_DL_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_fr1_01_sequence[] = {
  { &hf_nr_rrc_bandNR_channelBWs_UL_fr1_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_scs_30kHz_08 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_bandNR_channelBWs_UL_fr1_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_01, T_fr1_01_sequence);

  return offset;
}


static const per_sequence_t T_fr2_01_sequence[] = {
  { &hf_nr_rrc_bandNR_channelBWs_UL_fr2_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_3 },
  { &hf_nr_rrc_bandNR_channelBWs_UL_fr2_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_01, T_fr2_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelBWs_UL_vals[] = {
  {   0, "fr1" },
  {   1, "fr2" },
  { 0, NULL }
};

static const per_choice_t T_channelBWs_UL_choice[] = {
  {   0, &hf_nr_rrc_fr1_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_01 },
  {   1, &hf_nr_rrc_fr2_01       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelBWs_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelBWs_UL, T_channelBWs_UL_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_maxUplinkDutyCycle_PC2_FR1_vals[] = {
  {   0, "n60" },
  {   1, "n70" },
  {   2, "n80" },
  {   3, "n90" },
  {   4, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxUplinkDutyCycle_PC2_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_1_sequence[] = {
  { &hf_nr_rrc_maxUplinkDutyCycle_PC2_FR1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_PC2_FR1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_powerBoosting_pi2BPSK_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_powerBoosting_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_2_sequence[] = {
  { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE },
  { &hf_nr_rrc_powerBoosting_pi2BPSK, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_powerBoosting_pi2BPSK },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxUplinkDutyCycle_FR2_vals[] = {
  {   0, "n15" },
  {   1, "n20" },
  {   2, "n25" },
  {   3, "n30" },
  {   4, "n40" },
  {   5, "n50" },
  {   6, "n60" },
  {   7, "n70" },
  {   8, "n80" },
  {   9, "n90" },
  {  10, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxUplinkDutyCycle_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_3_sequence[] = {
  { &hf_nr_rrc_maxUplinkDutyCycle_FR2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_FR2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_3_sequence);

  return offset;
}


static const per_sequence_t T_fr1_02_sequence[] = {
  { &hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr1_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_30kHz_09 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr1_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_02, T_fr1_02_sequence);

  return offset;
}


static const per_sequence_t T_fr2_02_sequence[] = {
  { &hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr2_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr2_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_02, T_fr2_02_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelBWs_DL_v1590_vals[] = {
  {   0, "fr1" },
  {   1, "fr2" },
  { 0, NULL }
};

static const per_choice_t T_channelBWs_DL_v1590_choice[] = {
  {   0, &hf_nr_rrc_fr1_02       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_02 },
  {   1, &hf_nr_rrc_fr2_02       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelBWs_DL_v1590(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelBWs_DL_v1590, T_channelBWs_DL_v1590_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_fr1_03_sequence[] = {
  { &hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr1_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_30kHz_09 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr1_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_03, T_fr1_03_sequence);

  return offset;
}


static const per_sequence_t T_fr2_03_sequence[] = {
  { &hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr2_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr2_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_03, T_fr2_03_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelBWs_UL_v1590_vals[] = {
  {   0, "fr1" },
  {   1, "fr2" },
  { 0, NULL }
};

static const per_choice_t T_channelBWs_UL_v1590_choice[] = {
  {   0, &hf_nr_rrc_fr1_03       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_03 },
  {   1, &hf_nr_rrc_fr2_03       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_03 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelBWs_UL_v1590(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelBWs_UL_v1590, T_channelBWs_UL_v1590_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_4_sequence[] = {
  { &hf_nr_rrc_channelBWs_DL_v1590, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelBWs_DL_v1590 },
  { &hf_nr_rrc_channelBWs_UL_v1590, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelBWs_UL_v1590 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_4_sequence);

  return offset;
}


static const per_sequence_t BandNR_eag_5_sequence[] = {
  { &hf_nr_rrc_asymmetricBandwidthCombinationSet, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_1_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_5_sequence);

  return offset;
}


static const value_string nr_rrc_T_ul_DynamicChAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_DynamicChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_Semi_StaticChAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_Semi_StaticChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_RRM_DynamicChAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_RRM_DynamicChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_RRM_Semi_StaticChAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_RRM_Semi_StaticChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mib_Acquisition_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mib_Acquisition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_RLM_DynamicChAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_RLM_DynamicChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_RLM_Semi_StaticChAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_RLM_Semi_StaticChAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sib1_Acquisition_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sib1_Acquisition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extRA_ResponseWindow_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extRA_ResponseWindow_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_BFD_CBD_dynamicChannelAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_BFD_CBD_dynamicChannelAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_BFD_CBD_semi_staticChannelAccess_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_BFD_CBD_semi_staticChannelAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_BFD_CBD_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RS_BFD_CBD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_ChannelBW_SCell_10mhz_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_ChannelBW_SCell_10mhz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rssi_ChannelOccupancyReporting_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rssi_ChannelOccupancyReporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srs_StartAnyOFDM_Symbol_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_StartAnyOFDM_Symbol_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_coreset_RB_Offset_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_coreset_RB_Offset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cgi_Acquisition_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cgi_Acquisition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredUL_Tx_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredUL_Tx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prach_Wideband_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prach_Wideband_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_AvailableRB_Set_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_AvailableRB_Set_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dci_ChOccupancyDuration_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dci_ChOccupancyDuration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_typeB_PDSCH_length_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_typeB_PDSCH_length_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_searchSpaceSwitchWithDCI_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_searchSpaceSwitchWithDCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_searchSpaceSwitchWithoutDCI_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_searchSpaceSwitchWithoutDCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_searchSpaceSwitchCapability2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_searchSpaceSwitchCapability2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_non_numericalPDSCH_HARQ_timing_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_non_numericalPDSCH_HARQ_timing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enhancedDynamicHARQ_codebook_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedDynamicHARQ_codebook_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneShotHARQ_feedback_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneShotHARQ_feedback_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiPUSCH_UL_grant_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiPUSCH_UL_grant_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_RLM_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RS_RLM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy_06_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_periodicAndSemi_PersistentCSI_RS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_periodicAndSemi_PersistentCSI_RS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_PRB_interlace_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_PRB_interlace_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_F0_F1_PRB_Interlace_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_F0_F1_PRB_Interlace_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_occ_PRB_PF2_PF3_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_occ_PRB_PF2_PF3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extCP_rangeCG_PUSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extCP_rangeCG_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredGrantWithReTx_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredGrantWithReTx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ed_Threshold_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ed_Threshold_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_DL_COT_Sharing_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_DL_COT_Sharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mux_CG_UCI_HARQ_ACK_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_CG_UCI_HARQ_ACK_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cg_resourceConfig_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cg_resourceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SharedSpectrumChAccessParamsPerBand_r16_sequence[] = {
  { &hf_nr_rrc_ul_DynamicChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_DynamicChAccess_r16 },
  { &hf_nr_rrc_ul_Semi_StaticChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_Semi_StaticChAccess_r16 },
  { &hf_nr_rrc_ssb_RRM_DynamicChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_RRM_DynamicChAccess_r16 },
  { &hf_nr_rrc_ssb_RRM_Semi_StaticChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_RRM_Semi_StaticChAccess_r16 },
  { &hf_nr_rrc_mib_Acquisition_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mib_Acquisition_r16 },
  { &hf_nr_rrc_ssb_RLM_DynamicChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_RLM_DynamicChAccess_r16 },
  { &hf_nr_rrc_ssb_RLM_Semi_StaticChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_RLM_Semi_StaticChAccess_r16 },
  { &hf_nr_rrc_sib1_Acquisition_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sib1_Acquisition_r16 },
  { &hf_nr_rrc_extRA_ResponseWindow_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extRA_ResponseWindow_r16 },
  { &hf_nr_rrc_ssb_BFD_CBD_dynamicChannelAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_BFD_CBD_dynamicChannelAccess_r16 },
  { &hf_nr_rrc_ssb_BFD_CBD_semi_staticChannelAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_BFD_CBD_semi_staticChannelAccess_r16 },
  { &hf_nr_rrc_csi_RS_BFD_CBD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RS_BFD_CBD_r16 },
  { &hf_nr_rrc_ul_ChannelBW_SCell_10mhz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_ChannelBW_SCell_10mhz_r16 },
  { &hf_nr_rrc_rssi_ChannelOccupancyReporting_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rssi_ChannelOccupancyReporting_r16 },
  { &hf_nr_rrc_srs_StartAnyOFDM_Symbol_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_StartAnyOFDM_Symbol_r16 },
  { &hf_nr_rrc_searchSpaceFreqMonitorLocation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_5 },
  { &hf_nr_rrc_coreset_RB_Offset_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_coreset_RB_Offset_r16 },
  { &hf_nr_rrc_cgi_Acquisition_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cgi_Acquisition_r16 },
  { &hf_nr_rrc_configuredUL_Tx_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredUL_Tx_r16 },
  { &hf_nr_rrc_prach_Wideband_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prach_Wideband_r16 },
  { &hf_nr_rrc_dci_AvailableRB_Set_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_AvailableRB_Set_r16 },
  { &hf_nr_rrc_dci_ChOccupancyDuration_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dci_ChOccupancyDuration_r16 },
  { &hf_nr_rrc_typeB_PDSCH_length_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_typeB_PDSCH_length_r16 },
  { &hf_nr_rrc_searchSpaceSwitchWithDCI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceSwitchWithDCI_r16 },
  { &hf_nr_rrc_searchSpaceSwitchWithoutDCI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceSwitchWithoutDCI_r16 },
  { &hf_nr_rrc_searchSpaceSwitchCapability2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceSwitchCapability2_r16 },
  { &hf_nr_rrc_non_numericalPDSCH_HARQ_timing_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_non_numericalPDSCH_HARQ_timing_r16 },
  { &hf_nr_rrc_enhancedDynamicHARQ_codebook_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedDynamicHARQ_codebook_r16 },
  { &hf_nr_rrc_oneShotHARQ_feedback_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_oneShotHARQ_feedback_r16 },
  { &hf_nr_rrc_multiPUSCH_UL_grant_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPUSCH_UL_grant_r16 },
  { &hf_nr_rrc_csi_RS_RLM_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RS_RLM_r16 },
  { &hf_nr_rrc_dummy_08     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dummy_06 },
  { &hf_nr_rrc_periodicAndSemi_PersistentCSI_RS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_periodicAndSemi_PersistentCSI_RS_r16 },
  { &hf_nr_rrc_pusch_PRB_interlace_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_PRB_interlace_r16 },
  { &hf_nr_rrc_pucch_F0_F1_PRB_Interlace_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_F0_F1_PRB_Interlace_r16 },
  { &hf_nr_rrc_occ_PRB_PF2_PF3_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_occ_PRB_PF2_PF3_r16 },
  { &hf_nr_rrc_extCP_rangeCG_PUSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extCP_rangeCG_PUSCH_r16 },
  { &hf_nr_rrc_configuredGrantWithReTx_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredGrantWithReTx_r16 },
  { &hf_nr_rrc_ed_Threshold_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ed_Threshold_r16 },
  { &hf_nr_rrc_ul_DL_COT_Sharing_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_DL_COT_Sharing_r16 },
  { &hf_nr_rrc_mux_CG_UCI_HARQ_ACK_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_CG_UCI_HARQ_ACK_r16 },
  { &hf_nr_rrc_cg_resourceConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_resourceConfig_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_r16, SharedSpectrumChAccessParamsPerBand_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_cancelOverlappingPUSCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cancelOverlappingPUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_2_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 6U, NULL, FALSE);

  return offset;
}


static const per_sequence_t T_multipleRateMatchingEUTRA_CRS_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberPatterns_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_6 },
  { &hf_nr_rrc_maxNumberNon_OverlapPatterns_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16, T_multipleRateMatchingEUTRA_CRS_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_overlapRateMatchingEUTRA_CRS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_overlapRateMatchingEUTRA_CRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_MappingTypeB_Alt_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_MappingTypeB_Alt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneSlotPeriodicTRS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneSlotPeriodicTRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnSRS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SpatialRelationsSRS_Pos_r16_sequence[] = {
  { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Serving_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 },
  { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 },
  { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Serving_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 },
  { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSRS_r16 },
  { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 },
  { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SpatialRelationsSRS_Pos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SpatialRelationsSRS_Pos_r16, SpatialRelationsSRS_Pos_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_simulSRS_MIMO_TransWithinBand_r16_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simulSRS_MIMO_TransWithinBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_05_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_100mhz_sequence[] = {
  { &hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz },
  { &hf_nr_rrc_scs_30kHz_10 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_05 },
  { &hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_100mhz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_100mhz, T_fr1_100mhz_sequence);

  return offset;
}


static const value_string nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr2_200mhz_sequence[] = {
  { &hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz },
  { &hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_200mhz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_200mhz, T_fr2_200mhz_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelBW_DL_IAB_r16_vals[] = {
  {   0, "fr1-100mhz" },
  {   1, "fr2-200mhz" },
  { 0, NULL }
};

static const per_choice_t T_channelBW_DL_IAB_r16_choice[] = {
  {   0, &hf_nr_rrc_fr1_100mhz   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_100mhz },
  {   1, &hf_nr_rrc_fr2_200mhz   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_200mhz },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelBW_DL_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelBW_DL_IAB_r16, T_channelBW_DL_IAB_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_30kHz_06_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_30kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_100mhz_01_sequence[] = {
  { &hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz },
  { &hf_nr_rrc_scs_30kHz_11 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_30kHz_06 },
  { &hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_100mhz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_100mhz_01, T_fr1_100mhz_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr2_200mhz_01_sequence[] = {
  { &hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz },
  { &hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_200mhz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_200mhz_01, T_fr2_200mhz_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_channelBW_UL_IAB_r16_vals[] = {
  {   0, "fr1-100mhz" },
  {   1, "fr2-200mhz" },
  { 0, NULL }
};

static const per_choice_t T_channelBW_UL_IAB_r16_choice[] = {
  {   0, &hf_nr_rrc_fr1_100mhz_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_100mhz_01 },
  {   1, &hf_nr_rrc_fr2_200mhz_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_200mhz_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_channelBW_UL_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_channelBW_UL_IAB_r16, T_channelBW_UL_IAB_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_rasterShift7dot5_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rasterShift7dot5_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_PowerClass_v1610_vals[] = {
  {   0, "pc1dot5" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_PowerClass_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condHandover_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condHandover_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condHandoverFailure_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condHandoverFailure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condHandoverTwoTriggerEvents_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condHandoverTwoTriggerEvents_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condPSCellChange_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condPSCellChange_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mpr_PowerBoost_FR2_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mpr_PowerBoost_FR2_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberConfigsPerBWP_r16_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberConfigsPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_activeConfiguredGrant_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberConfigsPerBWP_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberConfigsPerBWP_r16 },
  { &hf_nr_rrc_maxNumberConfigsAllCC_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_activeConfiguredGrant_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_activeConfiguredGrant_r16, T_activeConfiguredGrant_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_jointReleaseConfiguredGrantType2_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_jointReleaseConfiguredGrantType2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sps_r16_sequence[] = {
  { &hf_nr_rrc_maxNumberConfigsPerBWP_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_maxNumberConfigsAllCC_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_32 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sps_r16, T_sps_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_jointReleaseSPS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_jointReleaseSPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_simulSRS_TransWithinBand_r16_vals[] = {
  {   0, "n2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_simulSRS_TransWithinBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_trs_AdditionalBandwidth_r16_vals[] = {
  {   0, "trs-AddBW-Set1" },
  {   1, "trs-AddBW-Set2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_trs_AdditionalBandwidth_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_handoverIntraF_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverIntraF_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_6_sequence[] = {
  { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_r16 },
  { &hf_nr_rrc_cancelOverlappingPUSCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cancelOverlappingPUSCH_r16 },
  { &hf_nr_rrc_multipleRateMatchingEUTRA_CRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16 },
  { &hf_nr_rrc_overlapRateMatchingEUTRA_CRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_overlapRateMatchingEUTRA_CRS_r16 },
  { &hf_nr_rrc_pdsch_MappingTypeB_Alt_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_MappingTypeB_Alt_r16 },
  { &hf_nr_rrc_oneSlotPeriodicTRS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_oneSlotPeriodicTRS_r16 },
  { &hf_nr_rrc_olpc_SRS_Pos_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OLPC_SRS_Pos_r16 },
  { &hf_nr_rrc_spatialRelationsSRS_Pos_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SpatialRelationsSRS_Pos_r16 },
  { &hf_nr_rrc_simulSRS_MIMO_TransWithinBand_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simulSRS_MIMO_TransWithinBand_r16 },
  { &hf_nr_rrc_channelBW_DL_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelBW_DL_IAB_r16 },
  { &hf_nr_rrc_channelBW_UL_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelBW_UL_IAB_r16 },
  { &hf_nr_rrc_rasterShift7dot5_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rasterShift7dot5_IAB_r16 },
  { &hf_nr_rrc_ue_PowerClass_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_PowerClass_v1610 },
  { &hf_nr_rrc_condHandover_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandover_r16 },
  { &hf_nr_rrc_condHandoverFailure_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandoverFailure_r16 },
  { &hf_nr_rrc_condHandoverTwoTriggerEvents_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condHandoverTwoTriggerEvents_r16 },
  { &hf_nr_rrc_condPSCellChange_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condPSCellChange_r16 },
  { &hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16 },
  { &hf_nr_rrc_mpr_PowerBoost_FR2_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mpr_PowerBoost_FR2_r16_01 },
  { &hf_nr_rrc_activeConfiguredGrant_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_activeConfiguredGrant_r16 },
  { &hf_nr_rrc_jointReleaseConfiguredGrantType2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_jointReleaseConfiguredGrantType2_r16 },
  { &hf_nr_rrc_sps_r16      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_r16 },
  { &hf_nr_rrc_jointReleaseSPS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_jointReleaseSPS_r16 },
  { &hf_nr_rrc_simulSRS_TransWithinBand_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_simulSRS_TransWithinBand_r16 },
  { &hf_nr_rrc_trs_AdditionalBandwidth_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_trs_AdditionalBandwidth_r16 },
  { &hf_nr_rrc_handoverIntraF_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverIntraF_IAB_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_6_sequence);

  return offset;
}


static const value_string nr_rrc_T_dl_ReceptionIntraCellGuardband_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_ReceptionIntraCellGuardband_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_ReceptionLBT_subsetRB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_ReceptionLBT_subsetRB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SharedSpectrumChAccessParamsPerBand_v1630_sequence[] = {
  { &hf_nr_rrc_dl_ReceptionIntraCellGuardband_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_ReceptionIntraCellGuardband_r16 },
  { &hf_nr_rrc_dl_ReceptionLBT_subsetRB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_ReceptionLBT_subsetRB_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1630(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1630, SharedSpectrumChAccessParamsPerBand_v1630_sequence);

  return offset;
}


static const per_sequence_t BandNR_eag_7_sequence[] = {
  { &hf_nr_rrc_simulTX_SRS_AntSwitchingIntraBandUL_CA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SimulSRS_ForAntennaSwitching_r16 },
  { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1630 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_7_sequence);

  return offset;
}


static const value_string nr_rrc_T_handoverUTRA_FDD_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_handoverUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enhancedUL_TransientPeriod_r16_vals[] = {
  {   0, "us2" },
  {   1, "us4" },
  {   2, "us7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedUL_TransientPeriod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_SINR_Meas_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_SINR_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ssb_AndCSI_RS_RLM_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ssb_AndCSI_RS_RLM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_CFRA_ForHO_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RS_CFRA_ForHO_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SharedSpectrumChAccessParamsPerBand_v1640_sequence[] = {
  { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_r16 },
  { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_r16 },
  { &hf_nr_rrc_csi_SINR_Meas_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_SINR_Meas_r16 },
  { &hf_nr_rrc_ssb_AndCSI_RS_RLM_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ssb_AndCSI_RS_RLM_r16 },
  { &hf_nr_rrc_csi_RS_CFRA_ForHO_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_RS_CFRA_ForHO_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1640, SharedSpectrumChAccessParamsPerBand_v1640_sequence);

  return offset;
}


static const per_sequence_t BandNR_eag_8_sequence[] = {
  { &hf_nr_rrc_handoverUTRA_FDD_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_handoverUTRA_FDD_r16 },
  { &hf_nr_rrc_enhancedUL_TransientPeriod_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedUL_TransientPeriod_r16 },
  { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_8_sequence);

  return offset;
}


static const value_string nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_v1650_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_v1650_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepetitionMultiSlots_v1650_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepetitionMultiSlots_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredUL_GrantType1_v1650_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredUL_GrantType1_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_configuredUL_GrantType2_v1650_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_configuredUL_GrantType2_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedSearchSpaceSwitchWithDCI_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedSearchSpaceSwitchWithDCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SharedSpectrumChAccessParamsPerBand_v1650_sequence[] = {
  { &hf_nr_rrc_extendedSearchSpaceSwitchWithDCI_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedSearchSpaceSwitchWithDCI_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1650, SharedSpectrumChAccessParamsPerBand_v1650_sequence);

  return offset;
}


static const per_sequence_t BandNR_eag_9_sequence[] = {
  { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_v1650 },
  { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_v1650 },
  { &hf_nr_rrc_pusch_RepetitionMultiSlots_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepetitionMultiSlots_v1650 },
  { &hf_nr_rrc_configuredUL_GrantType1_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredUL_GrantType1_v1650 },
  { &hf_nr_rrc_configuredUL_GrantType2_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_configuredUL_GrantType2_v1650 },
  { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1650 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_9_sequence);

  return offset;
}


static const value_string nr_rrc_T_enhancedSkipUplinkTxConfigured_v1660_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedSkipUplinkTxConfigured_v1660(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enhancedSkipUplinkTxDynamic_v1660_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedSkipUplinkTxDynamic_v1660(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_10_sequence[] = {
  { &hf_nr_rrc_enhancedSkipUplinkTxConfigured_v1660, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedSkipUplinkTxConfigured_v1660 },
  { &hf_nr_rrc_enhancedSkipUplinkTxDynamic_v1660, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedSkipUplinkTxDynamic_v1660 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_10_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16_vals[] = {
  {   0, "n10" },
  {   1, "n15" },
  {   2, "n20" },
  {   3, "n25" },
  {   4, "n30" },
  {   5, "n40" },
  {   6, "n50" },
  {   7, "n60" },
  {   8, "n70" },
  {   9, "n80" },
  {  10, "n90" },
  {  11, "n100" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     12, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_txDiversity_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_txDiversity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_11_sequence[] = {
  { &hf_nr_rrc_maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16 },
  { &hf_nr_rrc_txDiversity_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_txDiversity_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_11_sequence);

  return offset;
}


static const value_string nr_rrc_T_pdsch_1024QAM_FR1_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_1024QAM_FR1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_PowerClass_v1700_vals[] = {
  {   0, "pc5" },
  {   1, "pc6" },
  {   2, "pc7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_PowerClass_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rlm_Relaxation_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rlm_Relaxation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bfd_Relaxation_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bfd_Relaxation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cg_SDT_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cg_SDT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_locationBasedCondHandover_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_locationBasedCondHandover_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_timeBasedCondHandover_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_timeBasedCondHandover_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_eventA4BasedCondHandover_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_eventA4BasedCondHandover_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mn_InitiatedCondPSCellChangeNRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mn_InitiatedCondPSCellChangeNRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sn_InitiatedCondPSCellChangeNRDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sn_InitiatedCondPSCellChangeNRDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcch_SkippingWithoutSSSG_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_SkippingWithoutSSSG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sssg_Switching_1BitInd_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sssg_Switching_1BitInd_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sssg_Switching_2BitInd_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sssg_Switching_2BitInd_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdcch_SkippingWithSSSG_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdcch_SkippingWithSSSG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_searchSpaceSetGrp_switchCap2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_searchSpaceSetGrp_switchCap2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplinkPreCompensation_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplinkPreCompensation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_uplink_TA_Reporting_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uplink_TA_Reporting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_max_HARQ_ProcessNumber_r17_vals[] = {
  {   0, "u16d32" },
  {   1, "u32d16" },
  {   2, "u32d32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_max_HARQ_ProcessNumber_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type2_HARQ_Codebook_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type2_HARQ_Codebook_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type1_HARQ_Codebook_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type1_HARQ_Codebook_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_type3_HARQ_Codebook_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_type3_HARQ_Codebook_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ue_specific_K_Offset_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_specific_K_Offset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_parallelPRS_MeasRRC_Inactive_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelPRS_MeasRRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nr_UE_TxTEG_ID_MaxSupport_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n6" },
  {   5, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nr_UE_TxTEG_ID_MaxSupport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prs_ProcessingRRC_Inactive_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prs_ProcessingRRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prs_ProcessingWindowType1A_r17_vals[] = {
  {   0, "option1" },
  {   1, "option2" },
  {   2, "option3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prs_ProcessingWindowType1A_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prs_ProcessingWindowType1B_r17_vals[] = {
  {   0, "option1" },
  {   1, "option2" },
  {   2, "option3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prs_ProcessingWindowType1B_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prs_ProcessingWindowType2_r17_vals[] = {
  {   0, "option1" },
  {   1, "option2" },
  {   2, "option3" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prs_ProcessingWindowType2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  {   5, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy1_05_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dummy2_03_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy2_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_srs_PosResourcesRRC_Inactive_r17_sequence[] = {
  { &hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r17 },
  { &hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r17 },
  { &hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r17 },
  { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r17 },
  { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17 },
  { &hf_nr_rrc_dummy1_05    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dummy1_05 },
  { &hf_nr_rrc_dummy2_03    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dummy2_03 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_PosResourcesRRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_PosResourcesRRC_Inactive_r17, T_srs_PosResourcesRRC_Inactive_r17_sequence);

  return offset;
}


static const per_sequence_t SRS_AllPosResourcesRRC_Inactive_r17_sequence[] = {
  { &hf_nr_rrc_srs_PosResourcesRRC_Inactive_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_srs_PosResourcesRRC_Inactive_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SRS_AllPosResourcesRRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SRS_AllPosResourcesRRC_Inactive_r17, SRS_AllPosResourcesRRC_Inactive_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPUSCH_TypeA_Repetition_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPUSCH_TypeA_Repetition_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_puschTypeA_RepetitionsAvailSlot_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_puschTypeA_RepetitionsAvailSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tb_ProcessingMultiSlotPUSCH_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tb_ProcessingMultiSlotPUSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tb_ProcessingRepMultiSlotPUSCH_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tb_ProcessingRepMultiSlotPUSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fdd_r17_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  {   3, "n32" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fdd_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tdd_r17_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tdd_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_maxDurationDMRS_Bundling_r17_sequence[] = {
  { &hf_nr_rrc_fdd_r17      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fdd_r17 },
  { &hf_nr_rrc_tdd_r17      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tdd_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_maxDurationDMRS_Bundling_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_maxDurationDMRS_Bundling_r17, T_maxDurationDMRS_Bundling_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepetitionMsg3_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepetitionMsg3_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_Semi_StaticChAccessDependentConfig_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_Semi_StaticChAccessDependentConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_Semi_StaticChAccessIndependentConfig_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_Semi_StaticChAccessIndependentConfig_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SharedSpectrumChAccessParamsPerBand_v1710_sequence[] = {
  { &hf_nr_rrc_ul_Semi_StaticChAccessDependentConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_Semi_StaticChAccessDependentConfig_r17 },
  { &hf_nr_rrc_ul_Semi_StaticChAccessIndependentConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_Semi_StaticChAccessIndependentConfig_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1710, SharedSpectrumChAccessParamsPerBand_v1710_sequence);

  return offset;
}


static const value_string nr_rrc_T_parallelMeasurementWithoutRestriction_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_parallelMeasurementWithoutRestriction_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumber_NGSO_SatellitesWithinOneSMTC_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumber_NGSO_SatellitesWithinOneSMTC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_k1_RangeExtension_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_k1_RangeExtension_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberAperiodicCSI_RS_PerCC_r17_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n48" },
  {   4, "n64" },
  {   5, "n128" },
  {   6, "n255" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_PerCC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberAperiodicCSI_RS_AcrossCCs_r17_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  {   2, "n32" },
  {   3, "n64" },
  {   4, "n128" },
  {   5, "n256" },
  {   6, "n512" },
  {   7, "n1024" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_AcrossCCs_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_aperiodicCSI_RS_FastScellActivation_r17_sequence[] = {
  { &hf_nr_rrc_maxNumberAperiodicCSI_RS_PerCC_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_PerCC_r17 },
  { &hf_nr_rrc_maxNumberAperiodicCSI_RS_AcrossCCs_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_AcrossCCs_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_aperiodicCSI_RS_FastScellActivation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_aperiodicCSI_RS_FastScellActivation_r17, T_aperiodicCSI_RS_FastScellActivation_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_aperiodicCSI_RS_AdditionalBandwidth_r17_vals[] = {
  {   0, "addBW-Set1" },
  {   1, "addBW-Set2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_aperiodicCSI_RS_AdditionalBandwidth_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_halfDuplexFDD_TypeA_RedCap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_halfDuplexFDD_TypeA_RedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_GapFR2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_GapFR2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneShotHARQ_feedbackTriggeredByDCI_1_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneShotHARQ_feedbackTriggeredByDCI_1_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_oneShotHARQ_feedbackPhy_Priority_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_oneShotHARQ_feedbackPhy_Priority_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enhancedType3_HARQ_Codebooks_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enhancedType3_HARQ_Codebooks_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumberPUCCH_Transmissions_r17_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n7" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumberPUCCH_Transmissions_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_enhancedType3_HARQ_CodebookFeedback_r17_sequence[] = {
  { &hf_nr_rrc_enhancedType3_HARQ_Codebooks_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_enhancedType3_HARQ_Codebooks_r17 },
  { &hf_nr_rrc_maxNumberPUCCH_Transmissions_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPUCCH_Transmissions_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_enhancedType3_HARQ_CodebookFeedback_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_enhancedType3_HARQ_CodebookFeedback_r17, T_enhancedType3_HARQ_CodebookFeedback_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_minHARQ_Retx_Offset_r17_vals[] = {
  {   0, "n-7" },
  {   1, "n-5" },
  {   2, "n-3" },
  {   3, "n-1" },
  {   4, "n1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_minHARQ_Retx_Offset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxHARQ_Retx_Offset_r17_vals[] = {
  {   0, "n4" },
  {   1, "n6" },
  {   2, "n8" },
  {   3, "n10" },
  {   4, "n12" },
  {   5, "n14" },
  {   6, "n16" },
  {   7, "n18" },
  {   8, "n20" },
  {   9, "n22" },
  {  10, "n24" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxHARQ_Retx_Offset_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_triggeredHARQ_CodebookRetx_r17_sequence[] = {
  { &hf_nr_rrc_minHARQ_Retx_Offset_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_minHARQ_Retx_Offset_r17 },
  { &hf_nr_rrc_maxHARQ_Retx_Offset_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxHARQ_Retx_Offset_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_triggeredHARQ_CodebookRetx_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_triggeredHARQ_CodebookRetx_r17, T_triggeredHARQ_CodebookRetx_r17_sequence);

  return offset;
}


static const per_sequence_t BandNR_eag_12_sequence[] = {
  { &hf_nr_rrc_pdsch_1024QAM_FR1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_1024QAM_FR1_r17 },
  { &hf_nr_rrc_ue_PowerClass_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_PowerClass_v1700 },
  { &hf_nr_rrc_fr2_2_AccessParamsPerBand_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FR2_2_AccessParamsPerBand_r17 },
  { &hf_nr_rrc_rlm_Relaxation_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rlm_Relaxation_r17 },
  { &hf_nr_rrc_bfd_Relaxation_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bfd_Relaxation_r17 },
  { &hf_nr_rrc_cg_SDT_r17   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cg_SDT_r17 },
  { &hf_nr_rrc_locationBasedCondHandover_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_locationBasedCondHandover_r17 },
  { &hf_nr_rrc_timeBasedCondHandover_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_timeBasedCondHandover_r17 },
  { &hf_nr_rrc_eventA4BasedCondHandover_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_eventA4BasedCondHandover_r17 },
  { &hf_nr_rrc_mn_InitiatedCondPSCellChangeNRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mn_InitiatedCondPSCellChangeNRDC_r17 },
  { &hf_nr_rrc_sn_InitiatedCondPSCellChangeNRDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sn_InitiatedCondPSCellChangeNRDC_r17 },
  { &hf_nr_rrc_pdcch_SkippingWithoutSSSG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_SkippingWithoutSSSG_r17 },
  { &hf_nr_rrc_sssg_Switching_1BitInd_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sssg_Switching_1BitInd_r17 },
  { &hf_nr_rrc_sssg_Switching_2BitInd_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sssg_Switching_2BitInd_r17 },
  { &hf_nr_rrc_pdcch_SkippingWithSSSG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdcch_SkippingWithSSSG_r17 },
  { &hf_nr_rrc_searchSpaceSetGrp_switchCap2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_searchSpaceSetGrp_switchCap2_r17 },
  { &hf_nr_rrc_uplinkPreCompensation_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplinkPreCompensation_r17 },
  { &hf_nr_rrc_uplink_TA_Reporting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uplink_TA_Reporting_r17 },
  { &hf_nr_rrc_max_HARQ_ProcessNumber_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_max_HARQ_ProcessNumber_r17 },
  { &hf_nr_rrc_type2_HARQ_Codebook_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type2_HARQ_Codebook_r17 },
  { &hf_nr_rrc_type1_HARQ_Codebook_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type1_HARQ_Codebook_r17 },
  { &hf_nr_rrc_type3_HARQ_Codebook_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_type3_HARQ_Codebook_r17 },
  { &hf_nr_rrc_ue_specific_K_Offset_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_specific_K_Offset_r17 },
  { &hf_nr_rrc_multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17 },
  { &hf_nr_rrc_multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17 },
  { &hf_nr_rrc_parallelPRS_MeasRRC_Inactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelPRS_MeasRRC_Inactive_r17 },
  { &hf_nr_rrc_nr_UE_TxTEG_ID_MaxSupport_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nr_UE_TxTEG_ID_MaxSupport_r17 },
  { &hf_nr_rrc_prs_ProcessingRRC_Inactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prs_ProcessingRRC_Inactive_r17 },
  { &hf_nr_rrc_prs_ProcessingWindowType1A_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prs_ProcessingWindowType1A_r17 },
  { &hf_nr_rrc_prs_ProcessingWindowType1B_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prs_ProcessingWindowType1B_r17 },
  { &hf_nr_rrc_prs_ProcessingWindowType2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prs_ProcessingWindowType2_r17 },
  { &hf_nr_rrc_srs_AllPosResourcesRRC_Inactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SRS_AllPosResourcesRRC_Inactive_r17 },
  { &hf_nr_rrc_olpc_SRS_PosRRC_Inactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OLPC_SRS_Pos_r16 },
  { &hf_nr_rrc_spatialRelationsSRS_PosRRC_Inactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SpatialRelationsSRS_Pos_r16 },
  { &hf_nr_rrc_maxNumberPUSCH_TypeA_Repetition_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumberPUSCH_TypeA_Repetition_r17 },
  { &hf_nr_rrc_puschTypeA_RepetitionsAvailSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_puschTypeA_RepetitionsAvailSlot_r17 },
  { &hf_nr_rrc_tb_ProcessingMultiSlotPUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tb_ProcessingMultiSlotPUSCH_r17 },
  { &hf_nr_rrc_tb_ProcessingRepMultiSlotPUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tb_ProcessingRepMultiSlotPUSCH_r17 },
  { &hf_nr_rrc_maxDurationDMRS_Bundling_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxDurationDMRS_Bundling_r17 },
  { &hf_nr_rrc_pusch_RepetitionMsg3_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepetitionMsg3_r17 },
  { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1710 },
  { &hf_nr_rrc_parallelMeasurementWithoutRestriction_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_parallelMeasurementWithoutRestriction_r17 },
  { &hf_nr_rrc_maxNumber_NGSO_SatellitesWithinOneSMTC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxNumber_NGSO_SatellitesWithinOneSMTC_r17 },
  { &hf_nr_rrc_k1_RangeExtension_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_k1_RangeExtension_r17 },
  { &hf_nr_rrc_aperiodicCSI_RS_FastScellActivation_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodicCSI_RS_FastScellActivation_r17 },
  { &hf_nr_rrc_aperiodicCSI_RS_AdditionalBandwidth_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_aperiodicCSI_RS_AdditionalBandwidth_r17 },
  { &hf_nr_rrc_bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17 },
  { &hf_nr_rrc_halfDuplexFDD_TypeA_RedCap_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_halfDuplexFDD_TypeA_RedCap_r17 },
  { &hf_nr_rrc_posSRS_RRC_Inactive_OutsideInitialUL_BWP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17 },
  { &hf_nr_rrc_channelBWs_DL_SCS_480kHz_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_channelBWs_UL_SCS_480kHz_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_channelBWs_DL_SCS_960kHz_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_channelBWs_UL_SCS_960kHz_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_ul_GapFR2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_GapFR2_r17 },
  { &hf_nr_rrc_oneShotHARQ_feedbackTriggeredByDCI_1_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_oneShotHARQ_feedbackTriggeredByDCI_1_2_r17 },
  { &hf_nr_rrc_oneShotHARQ_feedbackPhy_Priority_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_oneShotHARQ_feedbackPhy_Priority_r17 },
  { &hf_nr_rrc_enhancedType3_HARQ_CodebookFeedback_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enhancedType3_HARQ_CodebookFeedback_r17 },
  { &hf_nr_rrc_triggeredHARQ_CodebookRetx_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_triggeredHARQ_CodebookRetx_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_12_sequence);

  return offset;
}


static const value_string nr_rrc_T_ue_OneShotUL_TimingAdj_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_OneShotUL_TimingAdj_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pucch_Repetition_F0_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pucch_Repetition_F0_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mux_HARQ_ACK_DiffPriorities_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mux_HARQ_ACK_DiffPriorities_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ta_BasedPDC_NTN_SharedSpectrumChAccess_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ta_BasedPDC_NTN_SharedSpectrumChAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicMulticastDCI_Format4_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicMulticastDCI_Format4_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr1_r17_03_vals[] = {
  {   0, "qam256" },
  {   1, "qam1024" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr1_r17_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_fr2_r17_03_vals[] = {
  {   0, "qam64" },
  {   1, "qam256" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fr2_r17_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxModulationOrderForMulticast_r17_vals[] = {
  {   0, "fr1-r17" },
  {   1, "fr2-r17" },
  { 0, NULL }
};

static const per_choice_t T_maxModulationOrderForMulticast_r17_choice[] = {
  {   0, &hf_nr_rrc_fr1_r17_03   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r17_03 },
  {   1, &hf_nr_rrc_fr2_r17_03   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r17_03 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_maxModulationOrderForMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_maxModulationOrderForMulticast_r17, T_maxModulationOrderForMulticast_r17_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_re_LevelRateMatchingForMulticast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_re_LevelRateMatchingForMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pdsch_1024QAM_2MIMO_FR1_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pdsch_1024QAM_2MIMO_FR1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_prs_MeasurementWithoutMG_r17_vals[] = {
  {   0, "cpLength" },
  {   1, "quarterSymbol" },
  {   2, "halfSymbol" },
  {   3, "halfSlot" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_prs_MeasurementWithoutMG_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_3_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            3U, 4U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_sequence_of[1] = {
  { &hf_nr_rrc_prs_ProcessingCapabilityOutsideMGinPPW_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17, SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_sequence_of,
                                                  1, 3, FALSE);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfSemiPersistentSRSposResources_r17_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n16" },
  {   5, "n32" },
  {   6, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfSemiPersistentSRSposResources_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n3" },
  {   3, "n4" },
  {   4, "n5" },
  {   5, "n6" },
  {   6, "n8" },
  {   7, "n10" },
  {   8, "n12" },
  {   9, "n14" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17_sequence[] = {
  { &hf_nr_rrc_maxNumOfSemiPersistentSRSposResources_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumOfSemiPersistentSRSposResources_r17_01 },
  { &hf_nr_rrc_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17, T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17_sequence);

  return offset;
}


static const per_sequence_t BandNR_eag_13_sequence[] = {
  { &hf_nr_rrc_ue_OneShotUL_TimingAdj_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_OneShotUL_TimingAdj_r17 },
  { &hf_nr_rrc_pucch_Repetition_F0_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pucch_Repetition_F0_2_r17 },
  { &hf_nr_rrc_cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17 },
  { &hf_nr_rrc_mux_HARQ_ACK_DiffPriorities_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mux_HARQ_ACK_DiffPriorities_r17 },
  { &hf_nr_rrc_ta_BasedPDC_NTN_SharedSpectrumChAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ta_BasedPDC_NTN_SharedSpectrumChAccess_r17 },
  { &hf_nr_rrc_ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17 },
  { &hf_nr_rrc_maxNumberG_RNTI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_8 },
  { &hf_nr_rrc_dynamicMulticastDCI_Format4_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicMulticastDCI_Format4_2_r17 },
  { &hf_nr_rrc_maxModulationOrderForMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxModulationOrderForMulticast_r17 },
  { &hf_nr_rrc_dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17 },
  { &hf_nr_rrc_dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17 },
  { &hf_nr_rrc_nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17 },
  { &hf_nr_rrc_ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17 },
  { &hf_nr_rrc_maxNumberG_CS_RNTI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_2_8 },
  { &hf_nr_rrc_re_LevelRateMatchingForMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_re_LevelRateMatchingForMulticast_r17 },
  { &hf_nr_rrc_pdsch_1024QAM_2MIMO_FR1_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_1024QAM_2MIMO_FR1_r17 },
  { &hf_nr_rrc_prs_MeasurementWithoutMG_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_prs_MeasurementWithoutMG_r17 },
  { &hf_nr_rrc_maxNumber_LEO_SatellitesPerCarrier_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_3_4 },
  { &hf_nr_rrc_prs_ProcessingCapabilityOutsideMGinPPW_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 },
  { &hf_nr_rrc_srs_SemiPersistent_PosResourcesRRC_Inactive_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17 },
  { &hf_nr_rrc_channelBWs_DL_SCS_120kHz_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_channelBWs_UL_SCS_120kHz_FR2_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_13_sequence);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUSCH_RepTypeA_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingPUSCH_RepTypeA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUSCH_RepTypeB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingPUSCH_RepTypeB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUSCH_multiSlot_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingPUSCH_multiSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingPUCCH_Rep_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingPUCCH_Rep_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interSlotFreqHopInterSlotBundlingPUSCH_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interSlotFreqHopInterSlotBundlingPUSCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_interSlotFreqHopPUCCH_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_interSlotFreqHopPUCCH_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingRestart_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingRestart_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dmrs_BundlingNonBackToBackTX_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dmrs_BundlingNonBackToBackTX_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_14_sequence[] = {
  { &hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeA_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUSCH_RepTypeA_r17 },
  { &hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUSCH_RepTypeB_r17 },
  { &hf_nr_rrc_dmrs_BundlingPUSCH_multiSlot_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUSCH_multiSlot_r17 },
  { &hf_nr_rrc_dmrs_BundlingPUCCH_Rep_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingPUCCH_Rep_r17 },
  { &hf_nr_rrc_interSlotFreqHopInterSlotBundlingPUSCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interSlotFreqHopInterSlotBundlingPUSCH_r17 },
  { &hf_nr_rrc_interSlotFreqHopPUCCH_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_interSlotFreqHopPUCCH_r17 },
  { &hf_nr_rrc_dmrs_BundlingRestart_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingRestart_r17 },
  { &hf_nr_rrc_dmrs_BundlingNonBackToBackTX_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dmrs_BundlingNonBackToBackTX_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_14_sequence);

  return offset;
}


static const value_string nr_rrc_T_maxDynamicSlotRepetitionForSPS_Multicast_r17_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_maxDynamicSlotRepetitionForSPS_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sps_MulticastDCI_Format4_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sps_MulticastDCI_Format4_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_priorityIndicatorInDCI_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_priorityIndicatorInDCI_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_priorityIndicatorInDCI_SPS_Multicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_priorityIndicatorInDCI_SPS_Multicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_releaseSPS_MulticastWithCS_RNTI_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_releaseSPS_MulticastWithCS_RNTI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_eag_15_sequence[] = {
  { &hf_nr_rrc_maxDynamicSlotRepetitionForSPS_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_maxDynamicSlotRepetitionForSPS_Multicast_r17 },
  { &hf_nr_rrc_nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17 },
  { &hf_nr_rrc_sps_MulticastDCI_Format4_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sps_MulticastDCI_Format4_2_r17 },
  { &hf_nr_rrc_sps_MulticastMultiConfig_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_8 },
  { &hf_nr_rrc_priorityIndicatorInDCI_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_priorityIndicatorInDCI_Multicast_r17 },
  { &hf_nr_rrc_priorityIndicatorInDCI_SPS_Multicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_priorityIndicatorInDCI_SPS_Multicast_r17 },
  { &hf_nr_rrc_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17 },
  { &hf_nr_rrc_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17 },
  { &hf_nr_rrc_releaseSPS_MulticastWithCS_RNTI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_releaseSPS_MulticastWithCS_RNTI_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_eag_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_15_sequence);

  return offset;
}


static const per_sequence_t BandNR_sequence[] = {
  { &hf_nr_rrc_bandNR       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_modifiedMPR_Behaviour, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_8 },
  { &hf_nr_rrc_mimo_ParametersPerBand, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MIMO_ParametersPerBand },
  { &hf_nr_rrc_extendedCP   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedCP },
  { &hf_nr_rrc_multipleTCI  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleTCI },
  { &hf_nr_rrc_bwp_WithoutRestriction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_bwp_WithoutRestriction },
  { &hf_nr_rrc_bwp_SameNumerology, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_bwp_SameNumerology },
  { &hf_nr_rrc_bwp_DiffNumerology, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_bwp_DiffNumerology },
  { &hf_nr_rrc_crossCarrierScheduling_SameSCS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierScheduling_SameSCS },
  { &hf_nr_rrc_pdsch_256QAM_FR2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pdsch_256QAM_FR2 },
  { &hf_nr_rrc_pusch_256QAM , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_256QAM },
  { &hf_nr_rrc_ue_PowerClass, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_PowerClass },
  { &hf_nr_rrc_rateMatchingLTE_CRS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_rateMatchingLTE_CRS },
  { &hf_nr_rrc_channelBWs_DL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelBWs_DL },
  { &hf_nr_rrc_channelBWs_UL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_channelBWs_UL },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_6 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_7 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_8 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_9 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_10 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_11 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_12 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_13 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_14 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandNR, BandNR_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_BandNR_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandListNR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR, SEQUENCE_SIZE_1_maxBands_OF_BandNR_sequence_of,
                                                  1, maxBands, FALSE);

  return offset;
}


static const value_string nr_rrc_T_srs_SwitchingTimeRequested_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_SwitchingTimeRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_1_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1540 },
  { &hf_nr_rrc_srs_SwitchingTimeRequested, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_SwitchingTimeRequested },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_1_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_2_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1550, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1550 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_2_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_3_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1560 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_3_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_4_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1610 },
  { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationListSidelinkEUTRA_NR_r16 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_4_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_5_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1630 },
  { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1630 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_5_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_6_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1640 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_6_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_7_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1650 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1650 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_7_sequence);

  return offset;
}


static const value_string nr_rrc_T_extendedBand_n77_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedBand_n77_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_8_sequence[] = {
  { &hf_nr_rrc_extendedBand_n77_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedBand_n77_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_8_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_9_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1670, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_9_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_10_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1680, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1680 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_10_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_11_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1690, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1690 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1690, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1690 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_11_sequence);

  return offset;
}


static const value_string nr_rrc_T_sidelinkRequested_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sidelinkRequested_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedBand_n77_2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedBand_n77_2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_12_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1700 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700 },
  { &hf_nr_rrc_supportedBandCombinationListSL_RelayDiscovery_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_supportedBandCombinationListSL_NonRelayDiscovery_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1710 },
  { &hf_nr_rrc_sidelinkRequested_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sidelinkRequested_r17 },
  { &hf_nr_rrc_extendedBand_n77_2_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedBand_n77_2_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_12_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_13_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1720 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_13_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_14_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1730 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730 },
  { &hf_nr_rrc_supportedBandCombinationListSL_RelayDiscovery_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationListSL_Discovery_r17 },
  { &hf_nr_rrc_supportedBandCombinationListSL_NonRelayDiscovery_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationListSL_Discovery_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_14_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_eag_15_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1740, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1740 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1740, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_eag_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_15_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_sequence[] = {
  { &hf_nr_rrc_supportedBandListNR, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR },
  { &hf_nr_rrc_supportedBandCombinationList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList },
  { &hf_nr_rrc_appliedFreqBandListFilter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FreqBandList },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_6 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_7 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_8 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_9 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_10 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_11 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_12 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_13 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_14 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RF_Parameters, RF_Parameters_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_v15g0_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v15g0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RF_Parameters_v15g0, RF_Parameters_v15g0_sequence);

  return offset;
}


static const per_sequence_t RF_Parameters_v16a0_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v16a0 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v16a0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RF_Parameters_v16a0, RF_Parameters_v16a0_sequence);

  return offset;
}


static const value_string nr_rrc_T_pusch_RepetitionTypeA_v16c0_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pusch_RepetitionTypeA_v16c0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandNR_v16c0_sequence[] = {
  { &hf_nr_rrc_pusch_RepetitionTypeA_v16c0, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_pusch_RepetitionTypeA_v16c0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandNR_v16c0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandNR_v16c0, BandNR_v16c0_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandListNR_v16c0_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_v16c0 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0, SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0_sequence_of,
                                                  1, maxBands, FALSE);

  return offset;
}


static const per_sequence_t RF_Parameters_v16c0_sequence[] = {
  { &hf_nr_rrc_supportedBandListNR_v16c0, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_Parameters_v16c0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RF_Parameters_v16c0, RF_Parameters_v16c0_sequence);

  return offset;
}


static const value_string nr_rrc_T_srs_SwitchingTimeRequested_01_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_SwitchingTimeRequested_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_1_sequence[] = {
  { &hf_nr_rrc_srs_SwitchingTimeRequested_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_SwitchingTimeRequested_01 },
  { &hf_nr_rrc_supportedBandCombinationList_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1540 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_1_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_2_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1550, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1550 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_2_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_3_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1560 },
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_3_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_4_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1570, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1570 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_4_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_5_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1580, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1580 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_5_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_6_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1590, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1590 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_6_sequence);

  return offset;
}


static const per_sequence_t T_supportedBandCombinationListNEDC_Only_v15a0_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1540 },
  { &hf_nr_rrc_supportedBandCombinationList_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1560 },
  { &hf_nr_rrc_supportedBandCombinationList_v1570, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1570 },
  { &hf_nr_rrc_supportedBandCombinationList_v1580, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1580 },
  { &hf_nr_rrc_supportedBandCombinationList_v1590, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1590 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0, T_supportedBandCombinationListNEDC_Only_v15a0_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_7_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_7_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_8_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1610 },
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1610 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_8_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_9_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1630 },
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1630 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1630, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_9_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_10_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1640 },
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1640 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1640, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_10_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_11_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1670, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_11_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_12_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1700 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_12_sequence);

  return offset;
}


static const per_sequence_t T_supportedBandCombinationListNEDC_Only_v1720_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1700 },
  { &hf_nr_rrc_supportedBandCombinationList_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_supportedBandCombinationListNEDC_Only_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v1720, T_supportedBandCombinationListNEDC_Only_v1720_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_13_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1720 },
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_supportedBandCombinationListNEDC_Only_v1720 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_13_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_14_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1730 },
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1730 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_14_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_eag_15_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v1740, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1740 },
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1740, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v1740 },
  { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1740, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_eag_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_15_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList },
  { &hf_nr_rrc_appliedFreqBandListFilter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_FreqBandList },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_3 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_4 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_5 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_6 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_7 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_8 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_9 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_10 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_11 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_12 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_13 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_14 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_15 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RF_ParametersMRDC, RF_ParametersMRDC_sequence);

  return offset;
}


static const per_sequence_t RF_ParametersMRDC_v15g0_sequence[] = {
  { &hf_nr_rrc_supportedBandCombinationList_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v15g0 },
  { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationList_v15g0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RF_ParametersMRDC_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RF_ParametersMRDC_v15g0, RF_ParametersMRDC_v15g0_sequence);

  return offset;
}


static const value_string nr_rrc_T_am_WithShortSN_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_am_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_um_WithShortSN_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_um_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_um_WithLongSN_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_um_WithLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedT_PollRetransmit_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedT_PollRetransmit_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedT_StatusProhibit_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedT_StatusProhibit_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RLC_Parameters_eag_1_sequence[] = {
  { &hf_nr_rrc_extendedT_PollRetransmit_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedT_PollRetransmit_r16 },
  { &hf_nr_rrc_extendedT_StatusProhibit_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedT_StatusProhibit_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RLC_Parameters_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_am_WithLongSN_RedCap_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_am_WithLongSN_RedCap_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RLC_Parameters_eag_2_sequence[] = {
  { &hf_nr_rrc_am_WithLongSN_RedCap_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_am_WithLongSN_RedCap_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_Parameters_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RLC_Parameters_eag_2_sequence);

  return offset;
}


static const per_sequence_t RLC_Parameters_sequence[] = {
  { &hf_nr_rrc_am_WithShortSN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_am_WithShortSN },
  { &hf_nr_rrc_um_WithShortSN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_um_WithShortSN },
  { &hf_nr_rrc_um_WithLongSN, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_um_WithLongSN },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_Parameters_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_Parameters_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RLC_Parameters, RLC_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_as_ReflectiveQoS_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_as_ReflectiveQoS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sdap_QOS_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdap_QOS_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sdapHeaderIAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sdapHeaderIAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SDAP_Parameters_eag_1_sequence[] = {
  { &hf_nr_rrc_sdap_QOS_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdap_QOS_IAB_r16 },
  { &hf_nr_rrc_sdapHeaderIAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sdapHeaderIAB_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SDAP_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SDAP_Parameters_eag_1_sequence);

  return offset;
}


static const per_sequence_t SDAP_Parameters_sequence[] = {
  { &hf_nr_rrc_as_ReflectiveQoS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_as_ReflectiveQoS },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SDAP_Parameters_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SDAP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SDAP_Parameters, SDAP_Parameters_sequence);

  return offset;
}


static const value_string nr_rrc_T_am_WithLongSN_Sidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_am_WithLongSN_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_um_WithLongSN_Sidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_um_WithLongSN_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RLC_ParametersSidelink_r16_sequence[] = {
  { &hf_nr_rrc_am_WithLongSN_Sidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_am_WithLongSN_Sidelink_r16 },
  { &hf_nr_rrc_um_WithLongSN_Sidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_um_WithLongSN_Sidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RLC_ParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RLC_ParametersSidelink_r16, RLC_ParametersSidelink_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_lcp_RestrictionSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lcp_RestrictionSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_multipleConfiguredGrantsSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multipleConfiguredGrantsSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_drx_OnSidelink_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_OnSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersSidelinkCommon_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_drx_OnSidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_OnSidelink_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersSidelinkCommon_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersSidelinkCommon_r16_eag_1_sequence);

  return offset;
}


static const per_sequence_t MAC_ParametersSidelinkCommon_r16_sequence[] = {
  { &hf_nr_rrc_lcp_RestrictionSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_lcp_RestrictionSidelink_r16 },
  { &hf_nr_rrc_multipleConfiguredGrantsSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleConfiguredGrantsSidelink_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersSidelinkCommon_r16_eag_1 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersSidelinkCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_ParametersSidelinkCommon_r16, MAC_ParametersSidelinkCommon_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_multipleSR_ConfigurationsSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_multipleSR_ConfigurationsSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_logicalChannelSR_DelayTimerSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_logicalChannelSR_DelayTimerSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersSidelinkXDD_Diff_r16_sequence[] = {
  { &hf_nr_rrc_multipleSR_ConfigurationsSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_multipleSR_ConfigurationsSidelink_r16 },
  { &hf_nr_rrc_logicalChannelSR_DelayTimerSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_logicalChannelSR_DelayTimerSidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16, MAC_ParametersSidelinkXDD_Diff_r16_sequence);

  return offset;
}


static const per_sequence_t MAC_ParametersSidelink_r16_sequence[] = {
  { &hf_nr_rrc_mac_ParametersSidelinkCommon_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersSidelinkCommon_r16 },
  { &hf_nr_rrc_mac_ParametersSidelinkXDD_Diff_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_ParametersSidelink_r16, MAC_ParametersSidelink_r16_sequence);

  return offset;
}


static const per_sequence_t UE_SidelinkCapabilityAddXDD_Mode_r16_sequence[] = {
  { &hf_nr_rrc_mac_ParametersSidelinkXDD_Diff_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16, UE_SidelinkCapabilityAddXDD_Mode_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_harq_RxProcessSidelink_r16_vals[] = {
  {   0, "n16" },
  {   1, "n24" },
  {   2, "n32" },
  {   3, "n48" },
  {   4, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_RxProcessSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pscch_RxSidelink_r16_vals[] = {
  {   0, "value1" },
  {   1, "value2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pscch_RxSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_r16_sequence[] = {
  { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_r16, T_fr1_r16_sequence);

  return offset;
}


static const per_sequence_t T_fr2_r16_01_sequence[] = {
  { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_r16_01, T_fr2_r16_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_CP_PatternRxSidelink_r16_vals[] = {
  {   0, "fr1-r16" },
  {   1, "fr2-r16" },
  { 0, NULL }
};

static const per_choice_t T_scs_CP_PatternRxSidelink_r16_choice[] = {
  {   0, &hf_nr_rrc_fr1_r16      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r16 },
  {   1, &hf_nr_rrc_fr2_r16_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r16_01 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs_CP_PatternRxSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs_CP_PatternRxSidelink_r16, T_scs_CP_PatternRxSidelink_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedCP_RxSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCP_RxSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_Reception_r16_sequence[] = {
  { &hf_nr_rrc_harq_RxProcessSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_harq_RxProcessSidelink_r16 },
  { &hf_nr_rrc_pscch_RxSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pscch_RxSidelink_r16 },
  { &hf_nr_rrc_scs_CP_PatternRxSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_CP_PatternRxSidelink_r16 },
  { &hf_nr_rrc_extendedCP_RxSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedCP_RxSidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_Reception_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_Reception_r16, T_sl_Reception_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_harq_TxProcessModeOneSidelink_r16_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_TxProcessModeOneSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_r16_01_sequence[] = {
  { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_r16_01, T_fr1_r16_01_sequence);

  return offset;
}


static const per_sequence_t T_fr2_r16_02_sequence[] = {
  { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr2_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr2_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_r16_02, T_fr2_r16_02_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_CP_PatternTxSidelinkModeOne_r16_vals[] = {
  {   0, "fr1-r16" },
  {   1, "fr2-r16" },
  { 0, NULL }
};

static const per_choice_t T_scs_CP_PatternTxSidelinkModeOne_r16_choice[] = {
  {   0, &hf_nr_rrc_fr1_r16_01   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r16_01 },
  {   1, &hf_nr_rrc_fr2_r16_02   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r16_02 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeOne_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeOne_r16, T_scs_CP_PatternTxSidelinkModeOne_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedCP_TxSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCP_TxSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_ReportOnPUCCH_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_ReportOnPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_TransmissionMode1_r16_sequence[] = {
  { &hf_nr_rrc_harq_TxProcessModeOneSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_harq_TxProcessModeOneSidelink_r16 },
  { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeOne_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeOne_r16 },
  { &hf_nr_rrc_extendedCP_TxSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedCP_TxSidelink_r16 },
  { &hf_nr_rrc_harq_ReportOnPUCCH_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_harq_ReportOnPUCCH_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_TransmissionMode1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_TransmissionMode1_r16, T_sl_TransmissionMode1_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_gNB_Sync_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_Sync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sync_Sidelink_r16_sequence[] = {
  { &hf_nr_rrc_gNB_Sync_r16 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_Sync_r16 },
  { &hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16 },
  { &hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sync_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sync_Sidelink_r16, T_sync_Sidelink_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_Tx_256QAM_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Tx_256QAM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_psfch_RxNumber_vals[] = {
  {   0, "n5" },
  {   1, "n15" },
  {   2, "n25" },
  {   3, "n32" },
  {   4, "n35" },
  {   5, "n45" },
  {   6, "n50" },
  {   7, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_psfch_RxNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_psfch_TxNumber_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_psfch_TxNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_psfch_FormatZeroSidelink_r16_sequence[] = {
  { &hf_nr_rrc_psfch_RxNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_psfch_RxNumber },
  { &hf_nr_rrc_psfch_TxNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_psfch_TxNumber },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_psfch_FormatZeroSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_psfch_FormatZeroSidelink_r16, T_psfch_FormatZeroSidelink_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_lowSE_64QAM_MCS_TableSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lowSE_64QAM_MCS_TableSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_enb_sync_Sidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enb_sync_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_harq_TxProcessModeTwoSidelink_r16_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_TxProcessModeTwoSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_openLoopPC_Sidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_openLoopPC_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_TransmissionMode2_r16_sequence[] = {
  { &hf_nr_rrc_harq_TxProcessModeTwoSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_harq_TxProcessModeTwoSidelink_r16 },
  { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r16 },
  { &hf_nr_rrc_dl_openLoopPC_Sidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_openLoopPC_Sidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_TransmissionMode2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_TransmissionMode2_r16, T_sl_TransmissionMode2_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_cbr_ReportSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cbr_ReportSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_cbr_CR_TimeLimitSidelink_r16_vals[] = {
  {   0, "time1" },
  {   1, "time2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_cbr_CR_TimeLimitSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_congestionControlSidelink_r16_sequence[] = {
  { &hf_nr_rrc_cbr_ReportSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_cbr_ReportSidelink_r16 },
  { &hf_nr_rrc_cbr_CR_TimeLimitSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cbr_CR_TimeLimitSidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_congestionControlSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_congestionControlSidelink_r16, T_congestionControlSidelink_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_fewerSymbolSlotSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_fewerSymbolSlotSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_openLoopPC_RSRP_ReportSidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_openLoopPC_RSRP_ReportSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_Rx_256QAM_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Rx_256QAM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandSidelink_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_sl_TransmissionMode2_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TransmissionMode2_r16 },
  { &hf_nr_rrc_congestionControlSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_congestionControlSidelink_r16 },
  { &hf_nr_rrc_fewerSymbolSlotSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_fewerSymbolSlotSidelink_r16 },
  { &hf_nr_rrc_sl_openLoopPC_RSRP_ReportSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_openLoopPC_RSRP_ReportSidelink_r16 },
  { &hf_nr_rrc_sl_Rx_256QAM_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Rx_256QAM_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandSidelink_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandSidelink_r16_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_ue_PowerClassSidelink_r16_vals[] = {
  {   0, "pc2" },
  {   1, "pc3" },
  {   2, "spare6" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ue_PowerClassSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandSidelink_r16_eag_2_sequence[] = {
  { &hf_nr_rrc_ue_PowerClassSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ue_PowerClassSidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandSidelink_r16_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandSidelink_r16_eag_2_sequence);

  return offset;
}


static const value_string nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_02_vals[] = {
  {   0, "n8" },
  {   1, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_r17_04_sequence[] = {
  { &hf_nr_rrc_scs_15kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_30kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_r17_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_r17_04, T_fr1_r17_04_sequence);

  return offset;
}


static const per_sequence_t T_fr2_r17_04_sequence[] = {
  { &hf_nr_rrc_scs_60kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_scs_120kHz_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_r17_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_r17_04, T_fr2_r17_04_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_02_vals[] = {
  {   0, "fr1-r17" },
  {   1, "fr2-r17" },
  { 0, NULL }
};

static const per_choice_t T_scs_CP_PatternTxSidelinkModeTwo_r17_02_choice[] = {
  {   0, &hf_nr_rrc_fr1_r17_04   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r17_04 },
  {   1, &hf_nr_rrc_fr2_r17_04   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r17_04 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_02, T_scs_CP_PatternTxSidelinkModeTwo_r17_02_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedCP_Mode2Random_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCP_Mode2Random_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_openLoopPC_Sidelink_r17_02_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_openLoopPC_Sidelink_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_TransmissionMode2_RandomResourceSelection_r17_sequence[] = {
  { &hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_02 },
  { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_02 },
  { &hf_nr_rrc_extendedCP_Mode2Random_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedCP_Mode2Random_r17 },
  { &hf_nr_rrc_dl_openLoopPC_Sidelink_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_openLoopPC_Sidelink_r17_02 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_TransmissionMode2_RandomResourceSelection_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_TransmissionMode2_RandomResourceSelection_r17, T_sl_TransmissionMode2_RandomResourceSelection_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sync_GNSS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sync_GNSS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_Sync_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_Sync_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sync_Sidelink_v1710_sequence[] = {
  { &hf_nr_rrc_sync_GNSS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sync_GNSS_r17 },
  { &hf_nr_rrc_gNB_Sync_r17 , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_Sync_r17 },
  { &hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17 },
  { &hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sync_Sidelink_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sync_Sidelink_v1710, T_sync_Sidelink_v1710_sequence);

  return offset;
}


static const value_string nr_rrc_T_enb_sync_Sidelink_v1710_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_enb_sync_Sidelink_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme2_Mode2Sidelink_r17_vals[] = {
  {   0, "n5" },
  {   1, "n15" },
  {   2, "n25" },
  {   3, "n32" },
  {   4, "n35" },
  {   5, "n45" },
  {   6, "n50" },
  {   7, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme2_Mode2Sidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme1_SCI_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme1_SCI_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme1_SCI_ExplicitReq_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme1_SCI_ExplicitReq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandSidelink_r16_eag_3_sequence[] = {
  { &hf_nr_rrc_sl_TransmissionMode2_RandomResourceSelection_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TransmissionMode2_RandomResourceSelection_r17 },
  { &hf_nr_rrc_sync_Sidelink_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sync_Sidelink_v1710 },
  { &hf_nr_rrc_enb_sync_Sidelink_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_enb_sync_Sidelink_v1710 },
  { &hf_nr_rrc_rx_IUC_Scheme1_PreferredMode2Sidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17 },
  { &hf_nr_rrc_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17 },
  { &hf_nr_rrc_rx_IUC_Scheme2_Mode2Sidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme2_Mode2Sidelink_r17 },
  { &hf_nr_rrc_rx_IUC_Scheme1_SCI_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme1_SCI_r17 },
  { &hf_nr_rrc_rx_IUC_Scheme1_SCI_ExplicitReq_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme1_SCI_ExplicitReq_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandSidelink_r16_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandSidelink_r16_eag_3_sequence);

  return offset;
}


static const per_sequence_t BandSidelink_r16_sequence[] = {
  { &hf_nr_rrc_freqBandSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_sl_Reception_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Reception_r16 },
  { &hf_nr_rrc_sl_TransmissionMode1_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_TransmissionMode1_r16 },
  { &hf_nr_rrc_sync_Sidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sync_Sidelink_r16 },
  { &hf_nr_rrc_sl_Tx_256QAM_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Tx_256QAM_r16 },
  { &hf_nr_rrc_psfch_FormatZeroSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_psfch_FormatZeroSidelink_r16 },
  { &hf_nr_rrc_lowSE_64QAM_MCS_TableSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowSE_64QAM_MCS_TableSidelink_r16 },
  { &hf_nr_rrc_enb_sync_Sidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_enb_sync_Sidelink_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelink_r16_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelink_r16_eag_2 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelink_r16_eag_3 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandSidelink_r16, BandSidelink_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandListSidelink_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelink_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16, SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16_sequence_of,
                                                  1, maxBands, FALSE);

  return offset;
}


static const value_string nr_rrc_T_relayUE_Operation_L2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_relayUE_Operation_L2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_remoteUE_Operation_L2_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_remoteUE_Operation_L2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_remoteUE_PathSwitchToIdleInactiveRelay_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_remoteUE_PathSwitchToIdleInactiveRelay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t RelayParameters_r17_sequence[] = {
  { &hf_nr_rrc_relayUE_Operation_L2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_relayUE_Operation_L2_r17 },
  { &hf_nr_rrc_remoteUE_Operation_L2_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_remoteUE_Operation_L2_r17 },
  { &hf_nr_rrc_remoteUE_PathSwitchToIdleInactiveRelay_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_remoteUE_PathSwitchToIdleInactiveRelay_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RelayParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RelayParameters_r17, RelayParameters_r17_sequence);

  return offset;
}


static const per_sequence_t SidelinkParametersNR_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_relayParameters_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RelayParameters_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SidelinkParametersNR_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SidelinkParametersNR_r16_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_p0_OLPC_Sidelink_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_p0_OLPC_Sidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SidelinkParametersNR_r16_eag_2_sequence[] = {
  { &hf_nr_rrc_p0_OLPC_Sidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_p0_OLPC_Sidelink_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SidelinkParametersNR_r16_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SidelinkParametersNR_r16_eag_2_sequence);

  return offset;
}


static const per_sequence_t SidelinkParametersNR_r16_sequence[] = {
  { &hf_nr_rrc_rlc_ParametersSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RLC_ParametersSidelink_r16 },
  { &hf_nr_rrc_mac_ParametersSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersSidelink_r16 },
  { &hf_nr_rrc_fdd_Add_UE_Sidelink_Capabilities_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16 },
  { &hf_nr_rrc_tdd_Add_UE_Sidelink_Capabilities_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16 },
  { &hf_nr_rrc_supportedBandListSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SidelinkParametersNR_r16_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SidelinkParametersNR_r16_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SidelinkParametersNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SidelinkParametersNR_r16, SidelinkParametersNR_r16_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_sl_ParametersEUTRA1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_params_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_params_tvb);

  if (sl_params_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA1_r16);
    dissect_lte_rrc_SL_Parameters_v1430_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_sl_ParametersEUTRA2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_params_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_params_tvb);

  if (sl_params_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA2_r16);
    dissect_lte_rrc_SL_Parameters_v1530_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_nr_rrc_T_sl_ParametersEUTRA3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *sl_params_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, FALSE, &sl_params_tvb);

  if (sl_params_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA3_r16);
    dissect_lte_rrc_SL_Parameters_v1540_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16_vals[] = {
  {   0, "ms0" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  {   3, "ms0dot625" },
  {   4, "ms0dot75" },
  {   5, "ms1" },
  {   6, "ms1dot25" },
  {   7, "ms1dot5" },
  {   8, "ms1dot75" },
  {   9, "ms2" },
  {  10, "ms2dot5" },
  {  11, "ms3" },
  {  12, "ms4" },
  {  13, "ms5" },
  {  14, "ms6" },
  {  15, "ms8" },
  {  16, "ms10" },
  {  17, "ms20" },
  { 0, NULL }
};

static value_string_ext nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16_vals);


static int
dissect_nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     18, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_gnb_ScheduledMode3SidelinkEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_gnb_ScheduledMode3DelaySidelinkEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16, T_gnb_ScheduledMode3SidelinkEUTRA_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_gnb_ScheduledMode4SidelinkEUTRA_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gnb_ScheduledMode4SidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandSidelinkEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_freqBandSidelinkEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
  { &hf_nr_rrc_gnb_ScheduledMode3SidelinkEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16 },
  { &hf_nr_rrc_gnb_ScheduledMode4SidelinkEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gnb_ScheduledMode4SidelinkEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandSidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandSidelinkEUTRA_r16, BandSidelinkEUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandListSidelinkEUTRA_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelinkEUTRA_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16, SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16_sequence_of,
                                                  1, maxBandsEUTRA, FALSE);

  return offset;
}


static const per_sequence_t SidelinkParametersEUTRA_r16_sequence[] = {
  { &hf_nr_rrc_sl_ParametersEUTRA1_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ParametersEUTRA1_r16 },
  { &hf_nr_rrc_sl_ParametersEUTRA2_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ParametersEUTRA2_r16 },
  { &hf_nr_rrc_sl_ParametersEUTRA3_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ParametersEUTRA3_r16 },
  { &hf_nr_rrc_supportedBandListSidelinkEUTRA_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SidelinkParametersEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SidelinkParametersEUTRA_r16, SidelinkParametersEUTRA_r16_sequence);

  return offset;
}


static const per_sequence_t SidelinkParameters_r16_sequence[] = {
  { &hf_nr_rrc_sidelinkParametersNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SidelinkParametersNR_r16 },
  { &hf_nr_rrc_sidelinkParametersEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SidelinkParametersEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SidelinkParameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SidelinkParameters_r16, SidelinkParameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_srs_SwitchingTimeRequest_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srs_SwitchingTimeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sidelinkRequest_r17_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sidelinkRequest_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_53_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_53(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_53, T_nonCriticalExtension_53_sequence);

  return offset;
}


static const per_sequence_t UE_CapabilityRequestFilterNR_v1710_sequence[] = {
  { &hf_nr_rrc_sidelinkRequest_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sidelinkRequest_r17 },
  { &hf_nr_rrc_nonCriticalExtension_126, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_53 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_CapabilityRequestFilterNR_v1710, UE_CapabilityRequestFilterNR_v1710_sequence);

  return offset;
}


static const per_sequence_t UE_CapabilityRequestFilterNR_v1540_sequence[] = {
  { &hf_nr_rrc_srs_SwitchingTimeRequest, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srs_SwitchingTimeRequest },
  { &hf_nr_rrc_nonCriticalExtension_125, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1710 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_CapabilityRequestFilterNR_v1540, UE_CapabilityRequestFilterNR_v1540_sequence);

  return offset;
}


static const per_sequence_t UE_CapabilityRequestFilterNR_sequence[] = {
  { &hf_nr_rrc_frequencyBandListFilter, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqBandList },
  { &hf_nr_rrc_nonCriticalExtension_124, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1540 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_CapabilityRequestFilterNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_CapabilityRequestFilterNR, UE_CapabilityRequestFilterNR_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination_sequence_of[1] = {
  { &hf_nr_rrc_featureSetCombinations_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetCombination },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination, SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination_sequence_of,
                                                  1, maxFeatureSetCombinations, FALSE);

  return offset;
}



static int
dissect_nr_rrc_T_lateNonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_UE_MRDC_Capability_v15g0_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_receivedFilters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityEnquiry_v1560_IEs_PDU);

  return offset;
}


static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_v1560_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560, UE_MRDC_CapabilityAddXDD_Mode_v1560_sequence);

  return offset;
}


static const value_string nr_rrc_T_f1c_OverEUTRA_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_f1c_OverEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t GeneralParametersMRDC_v1610_sequence[] = {
  { &hf_nr_rrc_f1c_OverEUTRA_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_f1c_OverEUTRA_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_GeneralParametersMRDC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_GeneralParametersMRDC_v1610, GeneralParametersMRDC_v1610_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_54_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_54(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_54, T_nonCriticalExtension_54_sequence);

  return offset;
}


static const per_sequence_t UE_MRDC_Capability_v1730_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_v1730, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_v1730 },
  { &hf_nr_rrc_nonCriticalExtension_131, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_54 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_Capability_v1730(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_Capability_v1730, UE_MRDC_Capability_v1730_sequence);

  return offset;
}


static const per_sequence_t UE_MRDC_Capability_v1700_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_v1700, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersMRDC_v1700 },
  { &hf_nr_rrc_nonCriticalExtension_130, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_Capability_v1730 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_Capability_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_Capability_v1700, UE_MRDC_Capability_v1700_sequence);

  return offset;
}


static const per_sequence_t UE_MRDC_Capability_v1610_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_v1610 },
  { &hf_nr_rrc_generalParametersMRDC_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GeneralParametersMRDC_v1610 },
  { &hf_nr_rrc_pdcp_ParametersMRDC_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCP_ParametersMRDC_v1610 },
  { &hf_nr_rrc_nonCriticalExtension_129, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_Capability_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_Capability_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_Capability_v1610, UE_MRDC_Capability_v1610_sequence);

  return offset;
}


static const per_sequence_t UE_MRDC_Capability_v1560_sequence[] = {
  { &hf_nr_rrc_receivedFilters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_receivedFilters },
  { &hf_nr_rrc_measAndMobParametersMRDC_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC_v1560 },
  { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 },
  { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities_v1560, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 },
  { &hf_nr_rrc_nonCriticalExtension_128, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_Capability_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_Capability_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_Capability_v1560, UE_MRDC_Capability_v1560_sequence);

  return offset;
}


static const per_sequence_t UE_MRDC_Capability_sequence[] = {
  { &hf_nr_rrc_measAndMobParametersMRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParametersMRDC },
  { &hf_nr_rrc_phy_ParametersMRDC_v1530, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersMRDC },
  { &hf_nr_rrc_rf_ParametersMRDC, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC },
  { &hf_nr_rrc_generalParametersMRDC, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
  { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
  { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
  { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
  { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
  { &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
  { &hf_nr_rrc_pdcp_ParametersMRDC_v1530, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCP_ParametersMRDC },
  { &hf_nr_rrc_lateNonCriticalExtension_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lateNonCriticalExtension },
  { &hf_nr_rrc_nonCriticalExtension_127, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_MRDC_Capability_v1560 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_Capability, UE_MRDC_Capability_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_55_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_55(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_55, T_nonCriticalExtension_55_sequence);

  return offset;
}


static const per_sequence_t UE_MRDC_Capability_v15g0_sequence[] = {
  { &hf_nr_rrc_rf_ParametersMRDC_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RF_ParametersMRDC_v15g0 },
  { &hf_nr_rrc_nonCriticalExtension_132, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_55 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_MRDC_Capability_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_MRDC_Capability_v15g0, UE_MRDC_Capability_v15g0_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_lateNonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_UE_NR_Capability_v15c0_PDU);

  return offset;
}


static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_v1530_sequence[] = {
  { &hf_nr_rrc_eutra_ParametersXDD_Diff, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ParametersXDD_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530, UE_NR_CapabilityAddXDD_Mode_v1530_sequence);

  return offset;
}


static const value_string nr_rrc_T_uE_NR_Capability_v1530_dummy_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_uE_NR_Capability_v1530_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_inactiveState_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inactiveState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_delayBudgetReporting_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_delayBudgetReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_overheatingInd_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_overheatingInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_v1540_sequence[] = {
  { &hf_nr_rrc_ims_ParametersFRX_Diff, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IMS_ParametersFRX_Diff },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540, UE_NR_CapabilityAddFRX_Mode_v1540_sequence);

  return offset;
}


static const value_string nr_rrc_T_reducedCP_Latency_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_reducedCP_Latency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_T_receivedFilters_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityEnquiry_v1560_IEs_PDU);

  return offset;
}


static const value_string nr_rrc_T_inDeviceCoexInd_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inDeviceCoexInd_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_dl_DedicatedMessageSegmentation_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dl_DedicatedMessageSegmentation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_v1610_sequence[] = {
  { &hf_nr_rrc_powSav_ParametersFRX_Diff_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PowSav_ParametersFRX_Diff_r16 },
  { &hf_nr_rrc_mac_ParametersFRX_Diff_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersFRX_Diff_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610, UE_NR_CapabilityAddFRX_Mode_v1610_sequence);

  return offset;
}


static const value_string nr_rrc_T_bh_RLF_Indication_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bh_RLF_Indication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_directSN_AdditionFirstRRC_IAB_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_directSN_AdditionFirstRRC_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_flowControlBH_RLC_ChannelBased_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_flowControlBH_RLC_ChannelBased_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_flowControlRouting_ID_Based_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_flowControlRouting_ID_Based_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BAP_Parameters_r16_sequence[] = {
  { &hf_nr_rrc_flowControlBH_RLC_ChannelBased_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_flowControlBH_RLC_ChannelBased_r16 },
  { &hf_nr_rrc_flowControlRouting_ID_Based_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_flowControlRouting_ID_Based_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BAP_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BAP_Parameters_r16, BAP_Parameters_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_referenceTimeProvision_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_referenceTimeProvision_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mcgRLF_RecoveryViaSCG_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mcgRLF_RecoveryViaSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resumeWithStoredMCG_SCells_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resumeWithStoredMCG_SCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resumeWithStoredSCG_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resumeWithStoredSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_resumeWithSCG_Config_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_resumeWithSCG_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_onDemandSIB_Connected_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_onDemandSIB_Connected_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_redirectAtResumeByNAS_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_redirectAtResumeByNAS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_mpsPriorityIndication_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_mpsPriorityIndication_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ul_RRC_Segmentation_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ul_RRC_Segmentation_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_inactiveStatePO_Determination_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_inactiveStatePO_Determination_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ra_SDT_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ra_SDT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_srb_SDT_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_srb_SDT_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_gNB_SideRTT_BasedPDC_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_gNB_SideRTT_BasedPDC_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bh_RLF_DetectionRecovery_Indication_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bh_RLF_DetectionRecovery_Indication_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bapHeaderRewriting_Rerouting_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bapHeaderRewriting_Rerouting_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_bapHeaderRewriting_Routing_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_bapHeaderRewriting_Routing_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BAP_Parameters_v1700_sequence[] = {
  { &hf_nr_rrc_bapHeaderRewriting_Rerouting_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bapHeaderRewriting_Rerouting_r17 },
  { &hf_nr_rrc_bapHeaderRewriting_Routing_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bapHeaderRewriting_Routing_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BAP_Parameters_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BAP_Parameters_v1700, BAP_Parameters_v1700_sequence);

  return offset;
}


static const value_string nr_rrc_T_musim_GapPreference_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_musim_GapPreference_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_musimLeaveConnected_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_musimLeaveConnected_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MBS_Parameters_r17_sequence[] = {
  { &hf_nr_rrc_maxMRB_Add_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_1_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MBS_Parameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MBS_Parameters_r17, MBS_Parameters_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_nonTerrestrialNetwork_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_nonTerrestrialNetwork_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_ntn_ScenarioSupport_r17_vals[] = {
  {   0, "gso" },
  {   1, "ngso" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_ntn_ScenarioSupport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sliceInfoforCellReselection_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sliceInfoforCellReselection_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t UE_RadioPagingInfo_r17_sequence[] = {
  { &hf_nr_rrc_pei_SubgroupingSupportBandList_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_RadioPagingInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_RadioPagingInfo_r17, UE_RadioPagingInfo_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_crossCarrierSchedulingConfigurationRelease_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_crossCarrierSchedulingConfigurationRelease_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_57_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_57(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_57, T_nonCriticalExtension_57_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1750_sequence[] = {
  { &hf_nr_rrc_crossCarrierSchedulingConfigurationRelease_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_crossCarrierSchedulingConfigurationRelease_r17 },
  { &hf_nr_rrc_nonCriticalExtension_151, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_57 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1750(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1750, UE_NR_Capability_v1750_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1740_sequence[] = {
  { &hf_nr_rrc_redCapParameters_v1740, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RedCapParameters_v1740 },
  { &hf_nr_rrc_nonCriticalExtension_150, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1750 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1740(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1740, UE_NR_Capability_v1740_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1700_sequence[] = {
  { &hf_nr_rrc_inactiveStatePO_Determination_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inactiveStatePO_Determination_r17_01 },
  { &hf_nr_rrc_highSpeedParameters_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_HighSpeedParameters_v1700 },
  { &hf_nr_rrc_powSav_Parameters_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PowSav_Parameters_v1700 },
  { &hf_nr_rrc_mac_Parameters_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_Parameters_v1700 },
  { &hf_nr_rrc_ims_Parameters_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IMS_Parameters_v1700 },
  { &hf_nr_rrc_measAndMobParameters_v1700, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParameters_v1700 },
  { &hf_nr_rrc_appLayerMeasParameters_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_AppLayerMeasParameters_r17 },
  { &hf_nr_rrc_redCapParameters_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RedCapParameters_r17 },
  { &hf_nr_rrc_ra_SDT_r17   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ra_SDT_r17 },
  { &hf_nr_rrc_srb_SDT_r17  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_srb_SDT_r17 },
  { &hf_nr_rrc_gNB_SideRTT_BasedPDC_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_gNB_SideRTT_BasedPDC_r17 },
  { &hf_nr_rrc_bh_RLF_DetectionRecovery_Indication_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bh_RLF_DetectionRecovery_Indication_r17 },
  { &hf_nr_rrc_nrdc_Parameters_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NRDC_Parameters_v1700 },
  { &hf_nr_rrc_bap_Parameters_v1700, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BAP_Parameters_v1700 },
  { &hf_nr_rrc_musim_GapPreference_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_musim_GapPreference_r17 },
  { &hf_nr_rrc_musimLeaveConnected_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_musimLeaveConnected_r17 },
  { &hf_nr_rrc_mbs_Parameters_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MBS_Parameters_r17 },
  { &hf_nr_rrc_nonTerrestrialNetwork_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonTerrestrialNetwork_r17 },
  { &hf_nr_rrc_ntn_ScenarioSupport_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ntn_ScenarioSupport_r17 },
  { &hf_nr_rrc_sliceInfoforCellReselection_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sliceInfoforCellReselection_r17 },
  { &hf_nr_rrc_ue_RadioPagingInfo_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_RadioPagingInfo_r17 },
  { &hf_nr_rrc_ul_GapFR2_Pattern_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_4 },
  { &hf_nr_rrc_ntn_Parameters_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NTN_Parameters_r17 },
  { &hf_nr_rrc_nonCriticalExtension_149, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1740 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1700(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1700, UE_NR_Capability_v1700_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1690_sequence[] = {
  { &hf_nr_rrc_ul_RRC_Segmentation_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_ul_RRC_Segmentation_r16_01 },
  { &hf_nr_rrc_nonCriticalExtension_145, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1700 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1690(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1690, UE_NR_Capability_v1690_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1650_sequence[] = {
  { &hf_nr_rrc_mpsPriorityIndication_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mpsPriorityIndication_r16_01 },
  { &hf_nr_rrc_highSpeedParameters_v1650, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_HighSpeedParameters_v1650 },
  { &hf_nr_rrc_nonCriticalExtension_144, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1690 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1650(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1650, UE_NR_Capability_v1650_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1640_sequence[] = {
  { &hf_nr_rrc_redirectAtResumeByNAS_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_redirectAtResumeByNAS_r16 },
  { &hf_nr_rrc_phy_ParametersSharedSpectrumChAccess_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_ParametersSharedSpectrumChAccess_r16 },
  { &hf_nr_rrc_nonCriticalExtension_143, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1650 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1640, UE_NR_Capability_v1640_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1610_sequence[] = {
  { &hf_nr_rrc_inDeviceCoexInd_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inDeviceCoexInd_r16 },
  { &hf_nr_rrc_dl_DedicatedMessageSegmentation_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_dl_DedicatedMessageSegmentation_r16 },
  { &hf_nr_rrc_nrdc_Parameters_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NRDC_Parameters_v1610 },
  { &hf_nr_rrc_powSav_Parameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PowSav_Parameters_r16 },
  { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610 },
  { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610 },
  { &hf_nr_rrc_bh_RLF_Indication_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_bh_RLF_Indication_r16 },
  { &hf_nr_rrc_directSN_AdditionFirstRRC_IAB_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_directSN_AdditionFirstRRC_IAB_r16 },
  { &hf_nr_rrc_bap_Parameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BAP_Parameters_r16 },
  { &hf_nr_rrc_referenceTimeProvision_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_referenceTimeProvision_r16 },
  { &hf_nr_rrc_sidelinkParameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SidelinkParameters_r16 },
  { &hf_nr_rrc_highSpeedParameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_HighSpeedParameters_r16 },
  { &hf_nr_rrc_mac_Parameters_v1610, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_Parameters_v1610 },
  { &hf_nr_rrc_mcgRLF_RecoveryViaSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_mcgRLF_RecoveryViaSCG_r16 },
  { &hf_nr_rrc_resumeWithStoredMCG_SCells_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resumeWithStoredMCG_SCells_r16 },
  { &hf_nr_rrc_resumeWithStoredSCG_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resumeWithStoredSCG_r16 },
  { &hf_nr_rrc_resumeWithSCG_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_resumeWithSCG_Config_r16 },
  { &hf_nr_rrc_ue_BasedPerfMeas_Parameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_BasedPerfMeas_Parameters_r16 },
  { &hf_nr_rrc_son_Parameters_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SON_Parameters_r16 },
  { &hf_nr_rrc_onDemandSIB_Connected_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_onDemandSIB_Connected_r16 },
  { &hf_nr_rrc_nonCriticalExtension_142, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1640 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1610, UE_NR_Capability_v1610_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1570_sequence[] = {
  { &hf_nr_rrc_nrdc_Parameters_v1570, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NRDC_Parameters_v1570 },
  { &hf_nr_rrc_nonCriticalExtension_138, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1610 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1570, UE_NR_Capability_v1570_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1560_sequence[] = {
  { &hf_nr_rrc_nrdc_Parameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NRDC_Parameters },
  { &hf_nr_rrc_receivedFilters_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_receivedFilters_01 },
  { &hf_nr_rrc_nonCriticalExtension_137, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1570 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1560, UE_NR_Capability_v1560_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1550_sequence[] = {
  { &hf_nr_rrc_reducedCP_Latency, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_reducedCP_Latency },
  { &hf_nr_rrc_nonCriticalExtension_136, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1560 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1550(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1550, UE_NR_Capability_v1550_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1540_sequence[] = {
  { &hf_nr_rrc_sdap_Parameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SDAP_Parameters },
  { &hf_nr_rrc_overheatingInd, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_overheatingInd },
  { &hf_nr_rrc_ims_Parameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_IMS_Parameters },
  { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 },
  { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1540, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 },
  { &hf_nr_rrc_fr1_fr2_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
  { &hf_nr_rrc_nonCriticalExtension_135, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1550 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1540, UE_NR_Capability_v1540_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v1530_sequence[] = {
  { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities_v1530, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530 },
  { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities_v1530, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530 },
  { &hf_nr_rrc_uE_NR_Capability_v1530_dummy, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_uE_NR_Capability_v1530_dummy },
  { &hf_nr_rrc_interRAT_Parameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_InterRAT_Parameters },
  { &hf_nr_rrc_inactiveState, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_inactiveState },
  { &hf_nr_rrc_delayBudgetReporting, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_delayBudgetReporting },
  { &hf_nr_rrc_nonCriticalExtension_134, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1540 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v1530, UE_NR_Capability_v1530_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_sequence[] = {
  { &hf_nr_rrc_accessStratumRelease, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AccessStratumRelease },
  { &hf_nr_rrc_pdcp_Parameters, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Parameters },
  { &hf_nr_rrc_rlc_Parameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RLC_Parameters },
  { &hf_nr_rrc_mac_Parameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_Parameters },
  { &hf_nr_rrc_phy_Parameters, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_Parameters },
  { &hf_nr_rrc_rf_Parameters, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters },
  { &hf_nr_rrc_measAndMobParameters, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MeasAndMobParameters },
  { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
  { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
  { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
  { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
  { &hf_nr_rrc_featureSets  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeatureSets },
  { &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
  { &hf_nr_rrc_lateNonCriticalExtension_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_lateNonCriticalExtension_01 },
  { &hf_nr_rrc_nonCriticalExtension_133, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v1530 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability, UE_NR_Capability_sequence);

  return offset;
}


static const value_string nr_rrc_T_partialFR2_FallbackRX_Req_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_partialFR2_FallbackRX_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_56_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_56, T_nonCriticalExtension_56_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v16d0_sequence[] = {
  { &hf_nr_rrc_featureSets_v16d0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FeatureSets_v16d0 },
  { &hf_nr_rrc_nonCriticalExtension_148, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_56 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v16d0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v16d0, UE_NR_Capability_v16d0_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v16c0_sequence[] = {
  { &hf_nr_rrc_rf_Parameters_v16c0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RF_Parameters_v16c0 },
  { &hf_nr_rrc_nonCriticalExtension_147, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v16d0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v16c0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v16c0, UE_NR_Capability_v16c0_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v16a0_sequence[] = {
  { &hf_nr_rrc_phy_Parameters_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_Phy_Parameters_v16a0 },
  { &hf_nr_rrc_rf_Parameters_v16a0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RF_Parameters_v16a0 },
  { &hf_nr_rrc_nonCriticalExtension_146, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v16c0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v16a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v16a0, UE_NR_Capability_v16a0_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v15j0_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_141, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v16a0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v15j0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v15j0, UE_NR_Capability_v15j0_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v15g0_sequence[] = {
  { &hf_nr_rrc_rf_Parameters_v15g0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RF_Parameters_v15g0 },
  { &hf_nr_rrc_nonCriticalExtension_140, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v15j0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v15g0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v15g0, UE_NR_Capability_v15g0_sequence);

  return offset;
}


static const per_sequence_t UE_NR_Capability_v15c0_sequence[] = {
  { &hf_nr_rrc_nrdc_Parameters_v15c0, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_NRDC_Parameters_v15c0 },
  { &hf_nr_rrc_partialFR2_FallbackRX_Req, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_partialFR2_FallbackRX_Req },
  { &hf_nr_rrc_nonCriticalExtension_139, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UE_NR_Capability_v15g0 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UE_NR_Capability_v15c0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UE_NR_Capability_v15c0, UE_NR_Capability_v15c0_sequence);

  return offset;
}


static const per_sequence_t MasterInformationBlockSidelink_sequence[] = {
  { &hf_nr_rrc_sl_TDD_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_12 },
  { &hf_nr_rrc_inCoverage_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
  { &hf_nr_rrc_directFrameNumber_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 },
  { &hf_nr_rrc_masterInformationBlockSidelink_slotIndex_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_7 },
  { &hf_nr_rrc_reservedBits_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MasterInformationBlockSidelink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Master Information Block Sidelink");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MasterInformationBlockSidelink, MasterInformationBlockSidelink_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_18_vals[] = {
  {   0, "masterInformationBlockSidelink" },
  {   1, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c1_18_choice[] = {
  {   0, &hf_nr_rrc_masterInformationBlockSidelink, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MasterInformationBlockSidelink },
  {   1, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_18, T_c1_18_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtension_09_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtension_09, T_messageClassExtension_09_sequence);

  return offset;
}


static const value_string nr_rrc_SBCCH_SL_BCH_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t SBCCH_SL_BCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_18        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_18 },
  {   1, &hf_nr_rrc_messageClassExtension_09, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_09 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SBCCH_SL_BCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SBCCH_SL_BCH_MessageType, SBCCH_SL_BCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SBCCH_SL_BCH_Message_sequence[] = {
  { &hf_nr_rrc_message_09   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SBCCH_SL_BCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SBCCH_SL_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SBCCH_SL_BCH_Message, SBCCH_SL_BCH_Message_sequence);

  return offset;
}


static const per_sequence_t SL_MeasQuantityResult_r16_sequence[] = {
  { &hf_nr_rrc_sl_RSRP_r16  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_RSRP_Range },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasQuantityResult_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasQuantityResult_r16, SL_MeasQuantityResult_r16_sequence);

  return offset;
}


static const per_sequence_t SL_MeasResult_r16_sequence[] = {
  { &hf_nr_rrc_sl_ResultDMRS_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_MeasQuantityResult_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasResult_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasResult_r16, SL_MeasResult_r16_sequence);

  return offset;
}


static const per_sequence_t SL_MeasResults_r16_sequence[] = {
  { &hf_nr_rrc_sl_MeasId_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasId_r16 },
  { &hf_nr_rrc_sl_MeasResult_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasResult_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasResults_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasResults_r16, SL_MeasResults_r16_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_58_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_58(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_58, T_nonCriticalExtension_58_sequence);

  return offset;
}


static const per_sequence_t MeasurementReportSidelink_r16_IEs_sequence[] = {
  { &hf_nr_rrc_sl_measResults_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasResults_r16 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_152, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_58 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementReportSidelink_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementReportSidelink_r16_IEs, MeasurementReportSidelink_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_51_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_51, T_criticalExtensionsFuture_51_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_51_vals[] = {
  {   0, "measurementReportSidelink-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_51_choice[] = {
  {   0, &hf_nr_rrc_measurementReportSidelink_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasurementReportSidelink_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_51, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_51 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_51, T_criticalExtensions_51_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MeasurementReportSidelink_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_51, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_51 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MeasurementReportSidelink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report Sidelink");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MeasurementReportSidelink, MeasurementReportSidelink_sequence);

  return offset;
}



static int
dissect_nr_rrc_SLRB_PC5_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxNrofSLRB_r16, NULL, FALSE);

  return offset;
}



static int
dissect_nr_rrc_SL_PQFI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 64U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16_sequence_of[1] = {
  { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PQFI_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16, SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16_sequence_of,
                                                  1, maxNrofSL_QFIsPerDest_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_SDAP_Header_r16_01_vals[] = {
  {   0, "present" },
  {   1, "absent" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_SDAP_Header_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_SDAP_ConfigPC5_r16_sequence[] = {
  { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16 },
  { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16 },
  { &hf_nr_rrc_sl_SDAP_Header_r16_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_SDAP_Header_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_SDAP_ConfigPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_SDAP_ConfigPC5_r16, SL_SDAP_ConfigPC5_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_PDCP_SN_Size_r16_01_vals[] = {
  {   0, "len12bits" },
  {   1, "len18bits" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_PDCP_SN_Size_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_OutOfOrderDelivery_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_OutOfOrderDelivery_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_PDCP_ConfigPC5_r16_sequence[] = {
  { &hf_nr_rrc_sl_PDCP_SN_Size_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PDCP_SN_Size_r16_01 },
  { &hf_nr_rrc_sl_OutOfOrderDelivery_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_OutOfOrderDelivery_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PDCP_ConfigPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PDCP_ConfigPC5_r16, SL_PDCP_ConfigPC5_r16_sequence);

  return offset;
}


static const per_sequence_t T_sl_AM_RLC_r16_01_sequence[] = {
  { &hf_nr_rrc_sl_SN_FieldLengthAM_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthAM },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_AM_RLC_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_AM_RLC_r16_01, T_sl_AM_RLC_r16_01_sequence);

  return offset;
}


static const per_sequence_t T_sl_UM_Bi_Directional_RLC_r16_sequence[] = {
  { &hf_nr_rrc_sl_SN_FieldLengthUM_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthUM },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16, T_sl_UM_Bi_Directional_RLC_r16_sequence);

  return offset;
}


static const per_sequence_t T_sl_UM_Uni_Directional_RLC_r16_sequence[] = {
  { &hf_nr_rrc_sl_SN_FieldLengthUM_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SN_FieldLengthUM },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16, T_sl_UM_Uni_Directional_RLC_r16_sequence);

  return offset;
}


static const value_string nr_rrc_SL_RLC_ConfigPC5_r16_vals[] = {
  {   0, "sl-AM-RLC-r16" },
  {   1, "sl-UM-Bi-Directional-RLC-r16" },
  {   2, "sl-UM-Uni-Directional-RLC-r16" },
  { 0, NULL }
};

static const per_choice_t SL_RLC_ConfigPC5_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_AM_RLC_r16_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sl_AM_RLC_r16_01 },
  {   1, &hf_nr_rrc_sl_UM_Bi_Directional_RLC_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16 },
  {   2, &hf_nr_rrc_sl_UM_Uni_Directional_RLC_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SL_RLC_ConfigPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SL_RLC_ConfigPC5_r16, SL_RLC_ConfigPC5_r16_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_LogicalChannelConfigPC5_r16_sequence[] = {
  { &hf_nr_rrc_sl_LogicalChannelIdentity_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_LogicalChannelConfigPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_LogicalChannelConfigPC5_r16, SL_LogicalChannelConfigPC5_r16_sequence);

  return offset;
}


static const per_sequence_t SLRB_Config_r16_sequence[] = {
  { &hf_nr_rrc_slrb_PC5_ConfigIndex_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_PC5_ConfigIndex_r16 },
  { &hf_nr_rrc_sl_SDAP_ConfigPC5_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_SDAP_ConfigPC5_r16 },
  { &hf_nr_rrc_sl_PDCP_ConfigPC5_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_PDCP_ConfigPC5_r16 },
  { &hf_nr_rrc_sl_RLC_ConfigPC5_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RLC_ConfigPC5_r16 },
  { &hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_LogicalChannelConfigPC5_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SLRB_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SLRB_Config_r16, SLRB_Config_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16_sequence_of[1] = {
  { &hf_nr_rrc_slrb_ConfigToAddModList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_Config_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16_sequence_of,
                                                  1, maxNrofSLRB_r16, FALSE);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16_sequence_of[1] = {
  { &hf_nr_rrc_slrb_ConfigToReleaseList_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_PC5_ConfigIndex_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16_sequence_of,
                                                  1, maxNrofSLRB_r16, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_MeasConfig_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_MeasConfig_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_204    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_MeasConfig_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_MeasConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_MeasConfig_r16, T_sl_MeasConfig_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_CSI_RS_FreqAllocation_r16_vals[] = {
  {   0, "sl-OneAntennaPort-r16" },
  {   1, "sl-TwoAntennaPort-r16" },
  { 0, NULL }
};

static const per_choice_t T_sl_CSI_RS_FreqAllocation_r16_choice[] = {
  {   0, &hf_nr_rrc_sl_OneAntennaPort_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_12 },
  {   1, &hf_nr_rrc_sl_TwoAntennaPort_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_BIT_STRING_SIZE_6 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16, T_sl_CSI_RS_FreqAllocation_r16_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_3_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            3U, 12U, NULL, FALSE);

  return offset;
}


static const per_sequence_t SL_CSI_RS_Config_r16_sequence[] = {
  { &hf_nr_rrc_sl_CSI_RS_FreqAllocation_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16 },
  { &hf_nr_rrc_sl_CSI_RS_FirstSymbol_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_3_12 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_CSI_RS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_CSI_RS_Config_r16, SL_CSI_RS_Config_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_CSI_RS_Config_r16_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_CSI_RS_Config_r16_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_205    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_CSI_RS_Config_r16 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_CSI_RS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_CSI_RS_Config_r16, T_sl_CSI_RS_Config_r16_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_ResetConfig_r16_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_ResetConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}



static int
dissect_nr_rrc_INTEGER_3_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            3U, 160U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_ConfigUC_PC5_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_DRX_ConfigUC_PC5_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_206    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_DRX_ConfigUC_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_DRX_ConfigUC_PC5_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_DRX_ConfigUC_PC5_r17, T_sl_DRX_ConfigUC_PC5_r17_choice,
                                 NULL);

  return offset;
}



static int
dissect_nr_rrc_SL_LatencyBoundIUC_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            3U, 160U, NULL, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_LatencyBoundIUC_Report_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_LatencyBoundIUC_Report_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_207    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_LatencyBoundIUC_Report_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_LatencyBoundIUC_Report_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_LatencyBoundIUC_Report_r17, T_sl_LatencyBoundIUC_Report_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_RLC_ChannelConfigPC5_r17_sequence[] = {
  { &hf_nr_rrc_sl_RLC_ChannelID_PC5_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_ChannelID_r17 },
  { &hf_nr_rrc_sl_RLC_ConfigPC5_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_RLC_ConfigPC5_r16 },
  { &hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r17, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_SL_LogicalChannelConfigPC5_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_RLC_ChannelConfigPC5_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_RLC_ChannelConfigPC5_r17, SL_RLC_ChannelConfigPC5_r17_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17_sequence_of[1] = {
  { &hf_nr_rrc_sl_RLC_ChannelToAddModListPC5_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_ChannelConfigPC5_r17 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17, SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17_sequence_of,
                                                  1, maxSL_LCID_r16, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_61_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_61(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_61, T_nonCriticalExtension_61_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationSidelink_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_sl_DRX_ConfigUC_PC5_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DRX_ConfigUC_PC5_r17 },
  { &hf_nr_rrc_sl_LatencyBoundIUC_Report_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_LatencyBoundIUC_Report_r17 },
  { &hf_nr_rrc_sl_RLC_ChannelToReleaseListPC5_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17 },
  { &hf_nr_rrc_sl_RLC_ChannelToAddModListPC5_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17 },
  { &hf_nr_rrc_nonCriticalExtension_156, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_61 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationSidelink_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationSidelink_v1700_IEs, RRCReconfigurationSidelink_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationSidelink_r16_IEs_sequence[] = {
  { &hf_nr_rrc_slrb_ConfigToAddModList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16 },
  { &hf_nr_rrc_slrb_ConfigToReleaseList_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16 },
  { &hf_nr_rrc_sl_MeasConfig_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_MeasConfig_r16 },
  { &hf_nr_rrc_sl_CSI_RS_Config_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_CSI_RS_Config_r16 },
  { &hf_nr_rrc_sl_ResetConfig_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_ResetConfig_r16 },
  { &hf_nr_rrc_sl_LatencyBoundCSI_Report_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_INTEGER_3_160 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_155, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationSidelink_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationSidelink_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationSidelink_r16_IEs, RRCReconfigurationSidelink_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_54_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_54(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_54, T_criticalExtensionsFuture_54_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_54_vals[] = {
  {   0, "rrcReconfigurationSidelink-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_54_choice[] = {
  {   0, &hf_nr_rrc_rrcReconfigurationSidelink_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfigurationSidelink_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_54, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_54 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_54(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_54, T_criticalExtensions_54_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCReconfigurationSidelink_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_54, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_54 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationSidelink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Sidelink");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationSidelink, RRCReconfigurationSidelink_sequence);

  return offset;
}


static const value_string nr_rrc_T_dummy_07_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_dummy_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_DRX_ConfigReject_v1720_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_DRX_ConfigReject_v1720(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_62_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_62(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_62, T_nonCriticalExtension_62_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationCompleteSidelink_v1720_IEs_sequence[] = {
  { &hf_nr_rrc_sl_DRX_ConfigReject_v1720, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_DRX_ConfigReject_v1720 },
  { &hf_nr_rrc_nonCriticalExtension_159, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_62 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationCompleteSidelink_v1720_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationCompleteSidelink_v1720_IEs, RRCReconfigurationCompleteSidelink_v1720_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationCompleteSidelink_v1710_IEs_sequence[] = {
  { &hf_nr_rrc_dummy_09     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dummy_07 },
  { &hf_nr_rrc_nonCriticalExtension_158, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationCompleteSidelink_v1720_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationCompleteSidelink_v1710_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationCompleteSidelink_v1710_IEs, RRCReconfigurationCompleteSidelink_v1710_IEs_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationCompleteSidelink_r16_IEs_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_157, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RRCReconfigurationCompleteSidelink_v1710_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationCompleteSidelink_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationCompleteSidelink_r16_IEs, RRCReconfigurationCompleteSidelink_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_55_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_55(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_55, T_criticalExtensionsFuture_55_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_55_vals[] = {
  {   0, "rrcReconfigurationCompleteSidelink-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_55_choice[] = {
  {   0, &hf_nr_rrc_rrcReconfigurationCompleteSidelink_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfigurationCompleteSidelink_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_55, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_55 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_55(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_55, T_criticalExtensions_55_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCReconfigurationCompleteSidelink_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_55, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_55 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationCompleteSidelink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete Sidelink");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationCompleteSidelink, RRCReconfigurationCompleteSidelink_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_63_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_63, T_nonCriticalExtension_63_sequence);

  return offset;
}


static const per_sequence_t RRCReconfigurationFailureSidelink_r16_IEs_sequence[] = {
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_160, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_63 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationFailureSidelink_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationFailureSidelink_r16_IEs, RRCReconfigurationFailureSidelink_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_56_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_56, T_criticalExtensionsFuture_56_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_56_vals[] = {
  {   0, "rrcReconfigurationFailureSidelink-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_56_choice[] = {
  {   0, &hf_nr_rrc_rrcReconfigurationFailureSidelink_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfigurationFailureSidelink_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_56, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_56 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_56, T_criticalExtensions_56_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RRCReconfigurationFailureSidelink_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_56, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_56 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RRCReconfigurationFailureSidelink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Failure Sidelink");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RRCReconfigurationFailureSidelink, RRCReconfigurationFailureSidelink_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_65_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_65(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_65, T_nonCriticalExtension_65_sequence);

  return offset;
}


static const per_sequence_t UECapabilityEnquirySidelink_r16_IEs_sequence[] = {
  { &hf_nr_rrc_frequencyBandListFilterSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqBandList },
  { &hf_nr_rrc_ue_CapabilityInformationSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_162, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_65 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityEnquirySidelink_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityEnquirySidelink_r16_IEs, UECapabilityEnquirySidelink_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_58_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_58(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_58, T_criticalExtensionsFuture_58_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_58_vals[] = {
  {   0, "ueCapabilityEnquirySidelink-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_58_choice[] = {
  {   0, &hf_nr_rrc_ueCapabilityEnquirySidelink_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UECapabilityEnquirySidelink_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_58, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_58 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_58(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_58, T_criticalExtensions_58_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UECapabilityEnquirySidelink_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_58, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_58 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityEnquirySidelink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry Sidelink");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityEnquirySidelink, UECapabilityEnquirySidelink_sequence);

  return offset;
}


static const value_string nr_rrc_AccessStratumReleaseSidelink_r16_vals[] = {
  {   0, "rel16" },
  {   1, "rel17" },
  {   2, "spare6" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_AccessStratumReleaseSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, TRUE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_outOfOrderDeliverySidelink_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_outOfOrderDeliverySidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t PDCP_ParametersSidelink_r16_sequence[] = {
  { &hf_nr_rrc_outOfOrderDeliverySidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_outOfOrderDeliverySidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_PDCP_ParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_PDCP_ParametersSidelink_r16, PDCP_ParametersSidelink_r16_sequence);

  return offset;
}


static const per_sequence_t BandCombinationParametersSidelinkNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationParametersSidelinkNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelink_r16 },
};

static int
dissect_nr_rrc_BandCombinationParametersSidelinkNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationParametersSidelinkNR_r16, BandCombinationParametersSidelinkNR_r16_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandCombinationListSidelinkNR_r16_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationListSidelinkNR_r16_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersSidelinkNR_r16 },
};

static int
dissect_nr_rrc_BandCombinationListSidelinkNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationListSidelinkNR_r16, BandCombinationListSidelinkNR_r16_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const value_string nr_rrc_T_harq_RxProcessSidelink_r16_01_vals[] = {
  {   0, "n16" },
  {   1, "n24" },
  {   2, "n32" },
  {   3, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_harq_RxProcessSidelink_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_pscch_RxSidelink_r16_01_vals[] = {
  {   0, "value1" },
  {   1, "value2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_pscch_RxSidelink_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_fr1_r16_02_sequence[] = {
  { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_30kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr1_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr1_r16_02, T_fr1_r16_02_sequence);

  return offset;
}


static const per_sequence_t T_fr2_r16_03_sequence[] = {
  { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_60kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_120kHz_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BIT_STRING_SIZE_16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_fr2_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_fr2_r16_03, T_fr2_r16_03_sequence);

  return offset;
}


static const value_string nr_rrc_T_scs_CP_PatternRxSidelink_r16_01_vals[] = {
  {   0, "fr1-r16" },
  {   1, "fr2-r16" },
  { 0, NULL }
};

static const per_choice_t T_scs_CP_PatternRxSidelink_r16_01_choice[] = {
  {   0, &hf_nr_rrc_fr1_r16_02   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr1_r16_02 },
  {   1, &hf_nr_rrc_fr2_r16_03   , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_fr2_r16_03 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_scs_CP_PatternRxSidelink_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_scs_CP_PatternRxSidelink_r16_01, T_scs_CP_PatternRxSidelink_r16_01_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_extendedCP_RxSidelink_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_extendedCP_RxSidelink_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_sl_Reception_r16_01_sequence[] = {
  { &hf_nr_rrc_harq_RxProcessSidelink_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_harq_RxProcessSidelink_r16_01 },
  { &hf_nr_rrc_pscch_RxSidelink_r16_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pscch_RxSidelink_r16_01 },
  { &hf_nr_rrc_scs_CP_PatternRxSidelink_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scs_CP_PatternRxSidelink_r16_01 },
  { &hf_nr_rrc_extendedCP_RxSidelink_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_extendedCP_RxSidelink_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_Reception_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_sl_Reception_r16_01, T_sl_Reception_r16_01_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_Tx_256QAM_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Tx_256QAM_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_lowSE_64QAM_MCS_TableSidelink_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_lowSE_64QAM_MCS_TableSidelink_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_csi_RS_PortsSidelink_r16_vals[] = {
  {   0, "p1" },
  {   1, "p2" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_csi_RS_PortsSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_csi_ReportSidelink_r16_sequence[] = {
  { &hf_nr_rrc_csi_RS_PortsSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_PortsSidelink_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_csi_ReportSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_csi_ReportSidelink_r16, T_csi_ReportSidelink_r16_sequence);

  return offset;
}


static const value_string nr_rrc_T_rankTwoReception_r16_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rankTwoReception_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_openLoopPC_RSRP_ReportSidelink_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_openLoopPC_RSRP_ReportSidelink_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_sl_Rx_256QAM_r16_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_sl_Rx_256QAM_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandSidelinkPC5_r16_eag_1_sequence[] = {
  { &hf_nr_rrc_csi_ReportSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_csi_ReportSidelink_r16 },
  { &hf_nr_rrc_rankTwoReception_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rankTwoReception_r16 },
  { &hf_nr_rrc_sl_openLoopPC_RSRP_ReportSidelink_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_openLoopPC_RSRP_ReportSidelink_r16_01 },
  { &hf_nr_rrc_sl_Rx_256QAM_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Rx_256QAM_r16_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandSidelinkPC5_r16_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandSidelinkPC5_r16_eag_1_sequence);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme2_Mode2Sidelink_r17_01_vals[] = {
  {   0, "n5" },
  {   1, "n15" },
  {   2, "n25" },
  {   3, "n32" },
  {   4, "n35" },
  {   5, "n45" },
  {   6, "n50" },
  {   7, "n64" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme2_Mode2Sidelink_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme1_SCI_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme1_SCI_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_scheme2_ConflictDeterminationRSRP_r17_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_scheme2_ConflictDeterminationRSRP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandSidelinkPC5_r16_eag_2_sequence[] = {
  { &hf_nr_rrc_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01 },
  { &hf_nr_rrc_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01 },
  { &hf_nr_rrc_rx_IUC_Scheme2_Mode2Sidelink_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme2_Mode2Sidelink_r17_01 },
  { &hf_nr_rrc_rx_IUC_Scheme1_SCI_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme1_SCI_r17_01 },
  { &hf_nr_rrc_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01 },
  { &hf_nr_rrc_scheme2_ConflictDeterminationRSRP_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_scheme2_ConflictDeterminationRSRP_r17 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandSidelinkPC5_r16_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandSidelinkPC5_r16_eag_2_sequence);

  return offset;
}


static const per_sequence_t BandSidelinkPC5_r16_sequence[] = {
  { &hf_nr_rrc_freqBandSidelink_r16, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
  { &hf_nr_rrc_sl_Reception_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Reception_r16_01 },
  { &hf_nr_rrc_sl_Tx_256QAM_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_Tx_256QAM_r16_01 },
  { &hf_nr_rrc_lowSE_64QAM_MCS_TableSidelink_r16_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_lowSE_64QAM_MCS_TableSidelink_r16_01 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelinkPC5_r16_eag_1 },
  { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelinkPC5_r16_eag_2 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandSidelinkPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandSidelinkPC5_r16, BandSidelinkPC5_r16_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16_sequence_of[1] = {
  { &hf_nr_rrc_supportedBandListSidelink_r16_item_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelinkPC5_r16 },
};

static int
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16, SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16_sequence_of,
                                                  1, maxBands, FALSE);

  return offset;
}


static const value_string nr_rrc_T_drx_OnSidelink_r17_01_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_drx_OnSidelink_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t MAC_ParametersSidelink_r17_sequence[] = {
  { &hf_nr_rrc_drx_OnSidelink_r17_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_nr_rrc_T_drx_OnSidelink_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_MAC_ParametersSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_MAC_ParametersSidelink_r17, MAC_ParametersSidelink_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_02_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, FALSE, 0, NULL);

  return offset;
}


static const value_string nr_rrc_T_tx_IUC_Scheme2_Mode2Sidelink_r17_01_vals[] = {
  {   0, "n4" },
  {   1, "n8" },
  {   2, "n16" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_tx_IUC_Scheme2_Mode2Sidelink_r17_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t BandParametersSidelink_v1710_sequence[] = {
  { &hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17_02, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_02 },
  { &hf_nr_rrc_tx_IUC_Scheme2_Mode2Sidelink_r17_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_tx_IUC_Scheme2_Mode2Sidelink_r17_01 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_BandParametersSidelink_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_BandParametersSidelink_v1710, BandParametersSidelink_v1710_sequence);

  return offset;
}


static const per_sequence_t BandCombinationParametersSidelinkNR_v1710_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationParametersSidelinkNR_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelink_v1710 },
};

static int
dissect_nr_rrc_BandCombinationParametersSidelinkNR_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationParametersSidelinkNR_v1710, BandCombinationParametersSidelinkNR_v1710_sequence_of,
                                                  1, maxSimultaneousBands, FALSE);

  return offset;
}


static const per_sequence_t BandCombinationListSidelinkNR_v1710_sequence_of[1] = {
  { &hf_nr_rrc_BandCombinationListSidelinkNR_v1710_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersSidelinkNR_v1710 },
};

static int
dissect_nr_rrc_BandCombinationListSidelinkNR_v1710(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_BandCombinationListSidelinkNR_v1710, BandCombinationListSidelinkNR_v1710_sequence_of,
                                                  1, maxBandComb, FALSE);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_66_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_66(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_66, T_nonCriticalExtension_66_sequence);

  return offset;
}


static const per_sequence_t UECapabilityInformationSidelink_v1700_IEs_sequence[] = {
  { &hf_nr_rrc_mac_ParametersSidelink_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_MAC_ParametersSidelink_r17 },
  { &hf_nr_rrc_supportedBandCombinationListSidelinkNR_v1710, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationListSidelinkNR_v1710 },
  { &hf_nr_rrc_nonCriticalExtension_164, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_66 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityInformationSidelink_v1700_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityInformationSidelink_v1700_IEs, UECapabilityInformationSidelink_v1700_IEs_sequence);

  return offset;
}


static const per_sequence_t UECapabilityInformationSidelink_r16_IEs_sequence[] = {
  { &hf_nr_rrc_accessStratumReleaseSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AccessStratumReleaseSidelink_r16 },
  { &hf_nr_rrc_pdcp_ParametersSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PDCP_ParametersSidelink_r16 },
  { &hf_nr_rrc_rlc_ParametersSidelink_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_RLC_ParametersSidelink_r16 },
  { &hf_nr_rrc_supportedBandCombinationListSidelinkNR_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_BandCombinationListSidelinkNR_r16 },
  { &hf_nr_rrc_supportedBandListSidelink_r16_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16 },
  { &hf_nr_rrc_appliedFreqBandListFilter_r16, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_FreqBandList },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_163, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_UECapabilityInformationSidelink_v1700_IEs },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityInformationSidelink_r16_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityInformationSidelink_r16_IEs, UECapabilityInformationSidelink_r16_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_59_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_59, T_criticalExtensionsFuture_59_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_59_vals[] = {
  {   0, "ueCapabilityInformationSidelink-r16" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_59_choice[] = {
  {   0, &hf_nr_rrc_ueCapabilityInformationSidelink_r16, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UECapabilityInformationSidelink_r16_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_59, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_59 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_59, T_criticalExtensions_59_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UECapabilityInformationSidelink_sequence[] = {
  { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
  { &hf_nr_rrc_criticalExtensions_59, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_59 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UECapabilityInformationSidelink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information Sidelink");

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UECapabilityInformationSidelink, UECapabilityInformationSidelink_sequence);

  return offset;
}



static int
dissect_nr_rrc_T_sl_PagingDelivery_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_PagingRecord_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_sl_SIB1_Delivery_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_SIB1_PDU);

  return offset;
}



static int
dissect_nr_rrc_T_sl_SystemInformationDelivery_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
                                                                NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformation_PDU);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_67_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_67, T_nonCriticalExtension_67_sequence);

  return offset;
}


static const per_sequence_t UuMessageTransferSidelink_r17_IEs_sequence[] = {
  { &hf_nr_rrc_sl_PagingDelivery_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PagingDelivery_r17 },
  { &hf_nr_rrc_sl_SIB1_Delivery_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_SIB1_Delivery_r17 },
  { &hf_nr_rrc_sl_SystemInformationDelivery_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_SystemInformationDelivery_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_165, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_67 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UuMessageTransferSidelink_r17_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UuMessageTransferSidelink_r17_IEs, UuMessageTransferSidelink_r17_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_60_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_60, T_criticalExtensionsFuture_60_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_60_vals[] = {
  {   0, "uuMessageTransferSidelink-r17" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_60_choice[] = {
  {   0, &hf_nr_rrc_uuMessageTransferSidelink_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UuMessageTransferSidelink_r17_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_60, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_60 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_60, T_criticalExtensions_60_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UuMessageTransferSidelink_r17_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_60, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_60 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UuMessageTransferSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UuMessageTransferSidelink_r17, UuMessageTransferSidelink_r17_sequence);

  return offset;
}


static const value_string nr_rrc_SL_SIB_ReqInfo_r17_vals[] = {
  {   0, "sib1" },
  {   1, "sib2" },
  {   2, "sib3" },
  {   3, "sib4" },
  {   4, "sib5" },
  {   5, "sib6" },
  {   6, "sib7" },
  {   7, "sib8" },
  {   8, "sib9" },
  {   9, "sib10" },
  {  10, "sib11" },
  {  11, "sib12" },
  {  12, "sib13" },
  {  13, "sib14" },
  {  14, "sib15" },
  {  15, "sib16" },
  {  16, "sib17" },
  {  17, "sib18" },
  {  18, "sib19" },
  {  19, "sib20" },
  {  20, "sib21" },
  {  21, "sibNotReq11" },
  {  22, "sibNotReq10" },
  {  23, "sibNotReq9" },
  {  24, "sibNotReq8" },
  {  25, "sibNotReq7" },
  {  26, "sibNotReq6" },
  {  27, "sibNotReq5" },
  {  28, "sibNotReq4" },
  {  29, "sibNotReq3" },
  {  30, "sibNotReq2" },
  {  31, "sibNotReq1" },
  { 0, NULL }
};


static int
dissect_nr_rrc_SL_SIB_ReqInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, TRUE, 0, NULL);

  return offset;
}


static const per_sequence_t SL_RequestedSIB_List_r17_sequence_of[1] = {
  { &hf_nr_rrc_SL_RequestedSIB_List_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_SIB_ReqInfo_r17 },
};

static int
dissect_nr_rrc_SL_RequestedSIB_List_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_RequestedSIB_List_r17, SL_RequestedSIB_List_r17_sequence_of,
                                                  maxSIB_MessagePlus1_r17, maxSIB_MessagePlus1_r17, FALSE);

  return offset;
}


static const value_string nr_rrc_T_sl_RequestedSIB_List_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_RequestedSIB_List_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_202    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_RequestedSIB_List_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_RequestedSIB_List_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_RequestedSIB_List_r17, T_sl_RequestedSIB_List_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SL_PagingInfo_RemoteUE_r17_sequence[] = {
  { &hf_nr_rrc_sl_PagingIdentityRemoteUE_r17, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PagingIdentityRemoteUE_r17 },
  { &hf_nr_rrc_sl_PagingCycleRemoteUE_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_PagingCycle },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_PagingInfo_RemoteUE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_PagingInfo_RemoteUE_r17, SL_PagingInfo_RemoteUE_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_sl_PagingInfo_RemoteUE_r17_vals[] = {
  {   0, "release" },
  {   1, "setup" },
  { 0, NULL }
};

static const per_choice_t T_sl_PagingInfo_RemoteUE_r17_choice[] = {
  {   0, &hf_nr_rrc_release      , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   1, &hf_nr_rrc_setup_203    , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_SL_PagingInfo_RemoteUE_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_sl_PagingInfo_RemoteUE_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_sl_PagingInfo_RemoteUE_r17, T_sl_PagingInfo_RemoteUE_r17_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_60_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_60, T_nonCriticalExtension_60_sequence);

  return offset;
}


static const per_sequence_t RemoteUEInformationSidelink_r17_IEs_sequence[] = {
  { &hf_nr_rrc_sl_RequestedSIB_List_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_RequestedSIB_List_r17 },
  { &hf_nr_rrc_sl_PagingInfo_RemoteUE_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_sl_PagingInfo_RemoteUE_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_154, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_60 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RemoteUEInformationSidelink_r17_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RemoteUEInformationSidelink_r17_IEs, RemoteUEInformationSidelink_r17_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_53_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_53(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_53, T_criticalExtensionsFuture_53_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_53_vals[] = {
  {   0, "remoteUEInformationSidelink-r17" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_53_choice[] = {
  {   0, &hf_nr_rrc_remoteUEInformationSidelink_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RemoteUEInformationSidelink_r17_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_53, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_53 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_53(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_53, T_criticalExtensions_53_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RemoteUEInformationSidelink_r17_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_53, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_53 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_RemoteUEInformationSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_RemoteUEInformationSidelink_r17, RemoteUEInformationSidelink_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_c1_19_vals[] = {
  {   0, "measurementReportSidelink" },
  {   1, "rrcReconfigurationSidelink" },
  {   2, "rrcReconfigurationCompleteSidelink" },
  {   3, "rrcReconfigurationFailureSidelink" },
  {   4, "ueCapabilityEnquirySidelink" },
  {   5, "ueCapabilityInformationSidelink" },
  {   6, "uuMessageTransferSidelink-r17" },
  {   7, "remoteUEInformationSidelink-r17" },
  { 0, NULL }
};

static const per_choice_t T_c1_19_choice[] = {
  {   0, &hf_nr_rrc_measurementReportSidelink, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_MeasurementReportSidelink },
  {   1, &hf_nr_rrc_rrcReconfigurationSidelink, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfigurationSidelink },
  {   2, &hf_nr_rrc_rrcReconfigurationCompleteSidelink, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfigurationCompleteSidelink },
  {   3, &hf_nr_rrc_rrcReconfigurationFailureSidelink, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RRCReconfigurationFailureSidelink },
  {   4, &hf_nr_rrc_ueCapabilityEnquirySidelink, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UECapabilityEnquirySidelink },
  {   5, &hf_nr_rrc_ueCapabilityInformationSidelink, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UECapabilityInformationSidelink },
  {   6, &hf_nr_rrc_uuMessageTransferSidelink_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UuMessageTransferSidelink_r17 },
  {   7, &hf_nr_rrc_remoteUEInformationSidelink_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_RemoteUEInformationSidelink_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c1_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c1_19, T_c1_19_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_T_indicationType_r17_vals[] = {
  {   0, "relayUE-Uu-RLF" },
  {   1, "relayUE-HO" },
  {   2, "relayUE-CellReselection" },
  {   3, "relayUE-Uu-RRC-Failure" },
  { 0, NULL }
};


static int
dissect_nr_rrc_T_indicationType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, FALSE, 0, NULL);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_59_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_59, T_nonCriticalExtension_59_sequence);

  return offset;
}


static const per_sequence_t NotificationMessageSidelink_r17_IEs_sequence[] = {
  { &hf_nr_rrc_indicationType_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_indicationType_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_153, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_59 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NotificationMessageSidelink_r17_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NotificationMessageSidelink_r17_IEs, NotificationMessageSidelink_r17_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_52_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_52, T_criticalExtensionsFuture_52_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_52_vals[] = {
  {   0, "notificationMessageSidelink-r17" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_52_choice[] = {
  {   0, &hf_nr_rrc_notificationMessageSidelink_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NotificationMessageSidelink_r17_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_52, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_52 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_52, T_criticalExtensions_52_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t NotificationMessageSidelink_r17_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_52, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_52 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_NotificationMessageSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_NotificationMessageSidelink_r17, NotificationMessageSidelink_r17_sequence);

  return offset;
}


static const per_sequence_t T_nonCriticalExtension_64_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_nonCriticalExtension_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_nonCriticalExtension_64, T_nonCriticalExtension_64_sequence);

  return offset;
}


static const per_sequence_t UEAssistanceInformationSidelink_r17_IEs_sequence[] = {
  { &hf_nr_rrc_sl_PreferredDRX_ConfigList_r17, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17 },
  { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_OCTET_STRING },
  { &hf_nr_rrc_nonCriticalExtension_161, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_nr_rrc_T_nonCriticalExtension_64 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEAssistanceInformationSidelink_r17_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEAssistanceInformationSidelink_r17_IEs, UEAssistanceInformationSidelink_r17_IEs_sequence);

  return offset;
}


static const per_sequence_t T_criticalExtensionsFuture_57_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensionsFuture_57(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_criticalExtensionsFuture_57, T_criticalExtensionsFuture_57_sequence);

  return offset;
}


static const value_string nr_rrc_T_criticalExtensions_57_vals[] = {
  {   0, "ueAssistanceInformationSidelink-r17" },
  {   1, "criticalExtensionsFuture" },
  { 0, NULL }
};

static const per_choice_t T_criticalExtensions_57_choice[] = {
  {   0, &hf_nr_rrc_ueAssistanceInformationSidelink_r17_01, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEAssistanceInformationSidelink_r17_IEs },
  {   1, &hf_nr_rrc_criticalExtensionsFuture_57, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_criticalExtensionsFuture_57 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_criticalExtensions_57(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_criticalExtensions_57, T_criticalExtensions_57_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UEAssistanceInformationSidelink_r17_sequence[] = {
  { &hf_nr_rrc_criticalExtensions_57, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_57 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_UEAssistanceInformationSidelink_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_UEAssistanceInformationSidelink_r17, UEAssistanceInformationSidelink_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_c2_01_vals[] = {
  {   0, "notificationMessageSidelink-r17" },
  {   1, "ueAssistanceInformationSidelink-r17" },
  {   2, "spare6" },
  {   3, "spare5" },
  {   4, "spare4" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};

static const per_choice_t T_c2_01_choice[] = {
  {   0, &hf_nr_rrc_notificationMessageSidelink_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NotificationMessageSidelink_r17 },
  {   1, &hf_nr_rrc_ueAssistanceInformationSidelink_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_UEAssistanceInformationSidelink_r17 },
  {   2, &hf_nr_rrc_spare6       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   3, &hf_nr_rrc_spare5       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   4, &hf_nr_rrc_spare4       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   5, &hf_nr_rrc_spare3       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   6, &hf_nr_rrc_spare2       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  {   7, &hf_nr_rrc_spare1       , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_NULL },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_c2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_c2_01, T_c2_01_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t T_messageClassExtensionFuture_r17_sequence[] = {
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtensionFuture_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_T_messageClassExtensionFuture_r17, T_messageClassExtensionFuture_r17_sequence);

  return offset;
}


static const value_string nr_rrc_T_messageClassExtension_10_vals[] = {
  {   0, "c2" },
  {   1, "messageClassExtensionFuture-r17" },
  { 0, NULL }
};

static const per_choice_t T_messageClassExtension_10_choice[] = {
  {   0, &hf_nr_rrc_c2_01        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c2_01 },
  {   1, &hf_nr_rrc_messageClassExtensionFuture_r17, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtensionFuture_r17 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_T_messageClassExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_T_messageClassExtension_10, T_messageClassExtension_10_choice,
                                 NULL);

  return offset;
}


static const value_string nr_rrc_SCCH_MessageType_vals[] = {
  {   0, "c1" },
  {   1, "messageClassExtension" },
  { 0, NULL }
};

static const per_choice_t SCCH_MessageType_choice[] = {
  {   0, &hf_nr_rrc_c1_19        , ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_c1_19 },
  {   1, &hf_nr_rrc_messageClassExtension_10, ASN1_NO_EXTENSIONS     , dissect_nr_rrc_T_messageClassExtension_10 },
  { 0, NULL, 0, NULL }
};

static int
dissect_nr_rrc_SCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_nr_rrc_SCCH_MessageType, SCCH_MessageType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SCCH_Message_sequence[] = {
  { &hf_nr_rrc_message_10   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCCH_MessageType },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SCCH_Message, SCCH_Message_sequence);

  return offset;
}


static const per_sequence_t SL_MeasResultRelay_r17_sequence[] = {
  { &hf_nr_rrc_cellIdentity_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo },
  { &hf_nr_rrc_sl_RelayUE_Identity_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_SourceIdentity_r17 },
  { &hf_nr_rrc_sl_MeasResult_r17, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasResult_r16 },
  { NULL, 0, 0, NULL }
};

static int
dissect_nr_rrc_SL_MeasResultRelay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_nr_rrc_SL_MeasResultRelay_r17, SL_MeasResultRelay_r17_sequence);

  return offset;
}


static const per_sequence_t SL_MeasResultListRelay_r17_sequence_of[1] = {
  { &hf_nr_rrc_SL_MeasResultListRelay_r17_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasResultRelay_r17 },
};

static int
dissect_nr_rrc_SL_MeasResultListRelay_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_nr_rrc_SL_MeasResultListRelay_r17, SL_MeasResultListRelay_r17_sequence_of,
                                                  1, maxNrofRelayMeas_r17, FALSE);

  return offset;
}

/*--- PDUs ---*/

int dissect_nr_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_HandoverCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_HandoverPreparationInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_ConfigRestrictInfoDAPS_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_ConfigRestrictInfoDAPS_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_ConfigRestrictInfoDAPS_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_CG_Config(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CG_Config_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_PH_TypeListSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_PH_TypeListSCG(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_PH_TypeListSCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_BandCombinationIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_BandCombinationIndex(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_BandCombinationIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_BandCombinationInfoSN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_BandCombinationInfoSN(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_CG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_CG_ConfigInfo(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_ConfigRestrictInfoSCG(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_PH_TypeListMCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_PH_TypeListMCG(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_PH_TypeListMCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_FeatureSetEntryIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_FeatureSetEntryIndex(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_FeatureSetEntryIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MeasurementTimingConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MeasurementTimingConfiguration(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UERadioPagingInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UERadioPagingInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UERadioPagingInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UERadioAccessCapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UERadioAccessCapabilityInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UERadioAccessCapabilityInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BCCH_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_BCCH_BCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_BCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BCCH_DL_SCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_BCCH_DL_SCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DL_CCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_DL_CCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_DL_CCCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_DL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_DL_DCCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MCCH_Message_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MCCH_Message_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_MCCH_Message_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_PCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_PCCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_CCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UL_CCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UL_CCCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_CCCH1_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UL_CCCH1_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UL_CCCH1_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MBSInterestIndication_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MBSInterestIndication_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MBSInterestIndication_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MIB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MIB(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MIB_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_RRCReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_RRCReconfiguration(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_RRCReconfigurationComplete(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SDT_MAC_PHY_CG_Config_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SDT_MAC_PHY_CG_Config_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SDT_MAC_PHY_CG_Config_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SRS_PosRRC_InactiveConfig_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SRS_PosRRC_InactiveConfig_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SRS_PosRRC_InactiveConfig_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB1(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB1_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SidelinkUEInformationNR_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SidelinkUEInformationNR_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UEAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UEAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UEAssistanceInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_OverheatingAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_OverheatingAssistance(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_OverheatingAssistance_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_OverheatingAssistance_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_OverheatingAssistance_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_OverheatingAssistance_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_RA_ReportList_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_RA_ReportList_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RA_ReportList_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SuccessHO_Report_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SuccessHO_Report_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SuccessHO_Report_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB2(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB2_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB3(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB3_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB4_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB4(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB4_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB5_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB5(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB5_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB6_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB6(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB6_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB7_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB7(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB7_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB8_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB8(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB8_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB9_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB9(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB9_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB10_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB10_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB10_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB11_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB11_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB11_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB12_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB12_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB12_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB13_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB13_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB13_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB14_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB14_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB14_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB15_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB15_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB15_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB16_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB16_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB16_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB17_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB17_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB17_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB18_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB18_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB18_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB19_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB19_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB19_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB20_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB20_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB20_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SIB21_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SIB21_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB21_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_CellGroupConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CellGroupConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_CondReconfigExecCondSCG_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_CondReconfigExecCondSCG_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CondReconfigExecCondSCG_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_DRX_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_DRX_Config(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_DRX_Config_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_LocationMeasurementInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_LocationMeasurementInfo(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_LocationMeasurementInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MeasConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MeasConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MeasGapConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MeasGapConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasGapConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_PosMeasGapPreConfigToAddModList_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_PosMeasGapPreConfigToAddModList_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_PosMeasGapPreConfigToAddModList_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_PosMeasGapPreConfigToReleaseList_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MeasGapSharingConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MeasGapSharingConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasGapSharingConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MeasObjectToAddMod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MeasObjectToAddMod(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasObjectToAddMod_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MeasResultSCG_Failure(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MUSIM_GapConfig_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MUSIM_GapConfig_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MUSIM_GapConfig_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_NeedForGapsInfoNR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_NeedForGapsInfoNR_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_NeedForGapsInfoNR_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_NeedForGapNCSG_InfoNR_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_NeedForGapNCSG_InfoNR_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_NeedForGapNCSG_InfoNR_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_NonCellDefiningSSB_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_NonCellDefiningSSB_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_NonCellDefiningSSB_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_NZP_CSI_RS_Resource(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_NZP_CSI_RS_Resource_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_P_Max_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_P_Max(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_P_Max_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_PDCCH_ConfigSIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_PDCCH_ConfigSIB1(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_PDCCH_ConfigSIB1_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_RACH_ConfigCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_RACH_ConfigCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RACH_ConfigCommon_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_RadioBearerConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_ReferenceTime_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_ReferenceTime_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_ReferenceTime_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_ReportConfigToAddMod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_ReportConfigToAddMod(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_ReportConfigToAddMod_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_RLC_BearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_RLC_BearerConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RLC_BearerConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SchedulingRequestResourceConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SchedulingRequestResourceConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_TDD_UL_DL_ConfigCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_TDD_UL_DL_ConfigCommon_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UL_GapFR2_Config_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UL_GapFR2_Config_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UL_GapFR2_Config_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UplinkTxDirectCurrentList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_BandParametersSidelink_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_BandParametersSidelink_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_BandParametersSidelink_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_FreqBandList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_FreqBandList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_FreqBandList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SidelinkParametersNR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SidelinkParametersNR_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SidelinkParametersNR_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UE_CapabilityRAT_ContainerList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UE_CapabilityRequestFilterCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UE_CapabilityRequestFilterCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterCommon_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UE_CapabilityRequestFilterNR(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterNR_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UE_MRDC_Capability(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UE_NR_Capability(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_VisitedCellInfoList_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_VisitedCellInfoList_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_VisitedCellInfoList_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SL_ConfigDedicatedNR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SL_ConfigDedicatedNR_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SL_ConfigDedicatedNR_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_SL_RLC_ChannelToAddModList_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SL_RLC_ChannelToAddModList_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SL_RLC_ChannelToAddModList_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MBS_NeighbourCellList_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MBS_NeighbourCellList_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MBS_NeighbourCellList_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_nr_rrc_MRB_PDCP_ConfigBroadcast_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MRB_PDCP_ConfigBroadcast_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MRB_PDCP_ConfigBroadcast_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SBCCH_SL_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SBCCH_SL_BCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SBCCH_SL_BCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SCCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SL_MeasResultListRelay_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SL_MeasResultListRelay_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SL_MeasResultListRelay_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SL_MeasResultRelay_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SL_MeasResultRelay_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SL_MeasResultRelay_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UECapabilityInformationSidelink_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UECapabilityInformationSidelink(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UECapabilityInformationSidelink_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_MeasResultList2NR(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_MeasResultList2NR_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_RadioPagingInfo_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UE_RadioPagingInfo_r17(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UE_RadioPagingInfo_r17_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_SystemInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SystemInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosSystemInformation_r16_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_PosSystemInformation_r16_IEs(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_PosSystemInformation_r16_IEs_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Paging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_Paging(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_Paging_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UECapabilityEnquiry_v1560_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UECapabilityEnquiry_v1560_IEs(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UECapabilityEnquiry_v1560_IEs_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MRDC_Capability_v15g0_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UE_MRDC_Capability_v15g0(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UE_MRDC_Capability_v15g0_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_NR_Capability_v15c0_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_UE_NR_Capability_v15c0(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UE_NR_Capability_v15c0_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PagingRecord_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_PagingRecord(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_PagingRecord_PDU);
  offset += 7; offset >>= 3;
  return offset;
}


int
dissect_nr_rrc_nr_RLF_Report_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_T_nr_RLF_Report_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}

int
dissect_nr_rrc_subCarrierSpacingCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_T_subCarrierSpacingCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}

int
dissect_nr_rrc_rach_ConfigCommonIAB_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  proto_item_set_hidden(prot_ti);
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
  offset = dissect_nr_rrc_T_rach_ConfigCommonIAB_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}

void
proto_register_nr_rrc(void) {

  /* List of fields */
  static hf_register_info hf[] = {

    { &hf_nr_rrc_nr_rrc_HandoverCommand_PDU,
      { "HandoverCommand", "nr-rrc.HandoverCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU,
      { "HandoverPreparationInformation", "nr-rrc.HandoverPreparationInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_ConfigRestrictInfoDAPS_r16_PDU,
      { "ConfigRestrictInfoDAPS-r16", "nr-rrc.ConfigRestrictInfoDAPS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_CG_Config_PDU,
      { "CG-Config", "nr-rrc.CG_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_PH_TypeListSCG_PDU,
      { "PH-TypeListSCG", "nr-rrc.PH_TypeListSCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_BandCombinationIndex_PDU,
      { "BandCombinationIndex", "nr-rrc.BandCombinationIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU,
      { "BandCombinationInfoSN", "nr-rrc.BandCombinationInfoSN_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU,
      { "CG-ConfigInfo", "nr-rrc.CG_ConfigInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU,
      { "ConfigRestrictInfoSCG", "nr-rrc.ConfigRestrictInfoSCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_PH_TypeListMCG_PDU,
      { "PH-TypeListMCG", "nr-rrc.PH_TypeListMCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_FeatureSetEntryIndex_PDU,
      { "FeatureSetEntryIndex", "nr-rrc.FeatureSetEntryIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU,
      { "MeasurementTimingConfiguration", "nr-rrc.MeasurementTimingConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UERadioPagingInformation_PDU,
      { "UERadioPagingInformation", "nr-rrc.UERadioPagingInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UERadioAccessCapabilityInformation_PDU,
      { "UERadioAccessCapabilityInformation", "nr-rrc.UERadioAccessCapabilityInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BCCH_BCH_Message_PDU,
      { "BCCH-BCH-Message", "nr-rrc.BCCH_BCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BCCH_DL_SCH_Message_PDU,
      { "BCCH-DL-SCH-Message", "nr-rrc.BCCH_DL_SCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_DL_CCCH_Message_PDU,
      { "DL-CCCH-Message", "nr-rrc.DL_CCCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_DL_DCCH_Message_PDU,
      { "DL-DCCH-Message", "nr-rrc.DL_DCCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MCCH_Message_r17_PDU,
      { "MCCH-Message-r17", "nr-rrc.MCCH_Message_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PCCH_Message_PDU,
      { "PCCH-Message", "nr-rrc.PCCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UL_CCCH_Message_PDU,
      { "UL-CCCH-Message", "nr-rrc.UL_CCCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UL_CCCH1_Message_PDU,
      { "UL-CCCH1-Message", "nr-rrc.UL_CCCH1_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU,
      { "UL-DCCH-Message", "nr-rrc.UL_DCCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MBSInterestIndication_r17_PDU,
      { "MBSInterestIndication-r17", "nr-rrc.MBSInterestIndication_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MIB_PDU,
      { "MIB", "nr-rrc.MIB_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU,
      { "RRCReconfiguration", "nr-rrc.RRCReconfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16_PDU,
      { "SL-ConfigDedicatedEUTRA-Info-r16", "nr-rrc.SL_ConfigDedicatedEUTRA_Info_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU,
      { "RRCReconfigurationComplete", "nr-rrc.RRCReconfigurationComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SDT_MAC_PHY_CG_Config_r17_PDU,
      { "SDT-MAC-PHY-CG-Config-r17", "nr-rrc.SDT_MAC_PHY_CG_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SRS_PosRRC_InactiveConfig_r17_PDU,
      { "SRS-PosRRC-InactiveConfig-r17", "nr-rrc.SRS_PosRRC_InactiveConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB1_PDU,
      { "SIB1", "nr-rrc.SIB1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SidelinkUEInformationNR_r16_PDU,
      { "SidelinkUEInformationNR-r16", "nr-rrc.SidelinkUEInformationNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UEAssistanceInformation_PDU,
      { "UEAssistanceInformation", "nr-rrc.UEAssistanceInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_OverheatingAssistance_PDU,
      { "OverheatingAssistance", "nr-rrc.OverheatingAssistance_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_OverheatingAssistance_r17_PDU,
      { "OverheatingAssistance-r17", "nr-rrc.OverheatingAssistance_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_RA_ReportList_r16_PDU,
      { "RA-ReportList-r16", "nr-rrc.RA_ReportList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SuccessHO_Report_r17_PDU,
      { "SuccessHO-Report-r17", "nr-rrc.SuccessHO_Report_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB2_PDU,
      { "SIB2", "nr-rrc.SIB2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB3_PDU,
      { "SIB3", "nr-rrc.SIB3_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB4_PDU,
      { "SIB4", "nr-rrc.SIB4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB5_PDU,
      { "SIB5", "nr-rrc.SIB5_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB6_PDU,
      { "SIB6", "nr-rrc.SIB6_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB7_PDU,
      { "SIB7", "nr-rrc.SIB7_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB8_PDU,
      { "SIB8", "nr-rrc.SIB8_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB9_PDU,
      { "SIB9", "nr-rrc.SIB9_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB10_r16_PDU,
      { "SIB10-r16", "nr-rrc.SIB10_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB11_r16_PDU,
      { "SIB11-r16", "nr-rrc.SIB11_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB12_r16_PDU,
      { "SIB12-r16", "nr-rrc.SIB12_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB13_r16_PDU,
      { "SIB13-r16", "nr-rrc.SIB13_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB14_r16_PDU,
      { "SIB14-r16", "nr-rrc.SIB14_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB15_r17_PDU,
      { "SIB15-r17", "nr-rrc.SIB15_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB16_r17_PDU,
      { "SIB16-r17", "nr-rrc.SIB16_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB17_r17_PDU,
      { "SIB17-r17", "nr-rrc.SIB17_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB18_r17_PDU,
      { "SIB18-r17", "nr-rrc.SIB18_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB19_r17_PDU,
      { "SIB19-r17", "nr-rrc.SIB19_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB20_r17_PDU,
      { "SIB20-r17", "nr-rrc.SIB20_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SIB21_r17_PDU,
      { "SIB21-r17", "nr-rrc.SIB21_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_CellGroupConfig_PDU,
      { "CellGroupConfig", "nr-rrc.CellGroupConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_CondReconfigExecCondSCG_r17_PDU,
      { "CondReconfigExecCondSCG-r17", "nr-rrc.CondReconfigExecCondSCG_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_DRX_Config_PDU,
      { "DRX-Config", "nr-rrc.DRX_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_LocationMeasurementInfo_PDU,
      { "LocationMeasurementInfo", "nr-rrc.LocationMeasurementInfo",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_LocationMeasurementInfo_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MeasConfig_PDU,
      { "MeasConfig", "nr-rrc.MeasConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MeasGapConfig_PDU,
      { "MeasGapConfig", "nr-rrc.MeasGapConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_PosMeasGapPreConfigToAddModList_r17_PDU,
      { "PosMeasGapPreConfigToAddModList-r17", "nr-rrc.PosMeasGapPreConfigToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_PDU,
      { "PosMeasGapPreConfigToReleaseList-r17", "nr-rrc.PosMeasGapPreConfigToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MeasGapSharingConfig_PDU,
      { "MeasGapSharingConfig", "nr-rrc.MeasGapSharingConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MeasObjectToAddMod_PDU,
      { "MeasObjectToAddMod", "nr-rrc.MeasObjectToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU,
      { "MeasResultSCG-Failure", "nr-rrc.MeasResultSCG_Failure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MUSIM_GapConfig_r17_PDU,
      { "MUSIM-GapConfig-r17", "nr-rrc.MUSIM_GapConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_NeedForGapsInfoNR_r16_PDU,
      { "NeedForGapsInfoNR-r16", "nr-rrc.NeedForGapsInfoNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17_PDU,
      { "NeedForGapNCSG-InfoEUTRA-r17", "nr-rrc.NeedForGapNCSG_InfoEUTRA_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_NeedForGapNCSG_InfoNR_r17_PDU,
      { "NeedForGapNCSG-InfoNR-r17", "nr-rrc.NeedForGapNCSG_InfoNR_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_NonCellDefiningSSB_r17_PDU,
      { "NonCellDefiningSSB-r17", "nr-rrc.NonCellDefiningSSB_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_NZP_CSI_RS_Resource_PDU,
      { "NZP-CSI-RS-Resource", "nr-rrc.NZP_CSI_RS_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_P_Max_PDU,
      { "P-Max", "nr-rrc.P_Max",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_PDCCH_ConfigSIB1_PDU,
      { "PDCCH-ConfigSIB1", "nr-rrc.PDCCH_ConfigSIB1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_RACH_ConfigCommon_PDU,
      { "RACH-ConfigCommon", "nr-rrc.RACH_ConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU,
      { "RadioBearerConfig", "nr-rrc.RadioBearerConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_ReferenceTime_r16_PDU,
      { "ReferenceTime-r16", "nr-rrc.ReferenceTime_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_ReportConfigToAddMod_PDU,
      { "ReportConfigToAddMod", "nr-rrc.ReportConfigToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_RLC_BearerConfig_PDU,
      { "RLC-BearerConfig", "nr-rrc.RLC_BearerConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SchedulingRequestResourceConfig_PDU,
      { "SchedulingRequestResourceConfig", "nr-rrc.SchedulingRequestResourceConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_TDD_UL_DL_ConfigCommon_PDU,
      { "TDD-UL-DL-ConfigCommon", "nr-rrc.TDD_UL_DL_ConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UL_GapFR2_Config_r17_PDU,
      { "UL-GapFR2-Config-r17", "nr-rrc.UL_GapFR2_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU,
      { "UplinkTxDirectCurrentList", "nr-rrc.UplinkTxDirectCurrentList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_PDU,
      { "UplinkTxDirectCurrentTwoCarrierList-r16", "nr-rrc.UplinkTxDirectCurrentTwoCarrierList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_BandParametersSidelink_r16_PDU,
      { "BandParametersSidelink-r16", "nr-rrc.BandParametersSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_FreqBandList_PDU,
      { "FreqBandList", "nr-rrc.FreqBandList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SidelinkParametersNR_r16_PDU,
      { "SidelinkParametersNR-r16", "nr-rrc.SidelinkParametersNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU,
      { "UE-CapabilityRAT-ContainerList", "nr-rrc.UE_CapabilityRAT_ContainerList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterCommon_PDU,
      { "UE-CapabilityRequestFilterCommon", "nr-rrc.UE_CapabilityRequestFilterCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterNR_PDU,
      { "UE-CapabilityRequestFilterNR", "nr-rrc.UE_CapabilityRequestFilterNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU,
      { "UE-MRDC-Capability", "nr-rrc.UE_MRDC_Capability_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU,
      { "UE-NR-Capability", "nr-rrc.UE_NR_Capability_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_VisitedCellInfoList_r16_PDU,
      { "VisitedCellInfoList-r16", "nr-rrc.VisitedCellInfoList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SL_ConfigDedicatedNR_r16_PDU,
      { "SL-ConfigDedicatedNR-r16", "nr-rrc.SL_ConfigDedicatedNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU,
      { "SL-PHY-MAC-RLC-Config-r16", "nr-rrc.SL_PHY_MAC_RLC_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_SL_RLC_ChannelToAddModList_r17_PDU,
      { "SL-RLC-ChannelToAddModList-r17", "nr-rrc.SL_RLC_ChannelToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MBS_NeighbourCellList_r17_PDU,
      { "MBS-NeighbourCellList-r17", "nr-rrc.MBS_NeighbourCellList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_rrc_MRB_PDCP_ConfigBroadcast_r17_PDU,
      { "MRB-PDCP-ConfigBroadcast-r17", "nr-rrc.MRB_PDCP_ConfigBroadcast_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SBCCH_SL_BCH_Message_PDU,
      { "SBCCH-SL-BCH-Message", "nr-rrc.SBCCH_SL_BCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SCCH_Message_PDU,
      { "SCCH-Message", "nr-rrc.SCCH_Message_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_MeasResultListRelay_r17_PDU,
      { "SL-MeasResultListRelay-r17", "nr-rrc.SL_MeasResultListRelay_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_MeasResultRelay_r17_PDU,
      { "SL-MeasResultRelay-r17", "nr-rrc.SL_MeasResultRelay_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UECapabilityInformationSidelink_PDU,
      { "UECapabilityInformationSidelink", "nr-rrc.UECapabilityInformationSidelink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultList2NR_PDU,
      { "MeasResultList2NR", "nr-rrc.MeasResultList2NR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UE_RadioPagingInfo_r17_PDU,
      { "UE-RadioPagingInfo-r17", "nr-rrc.UE_RadioPagingInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SystemInformation_PDU,
      { "SystemInformation", "nr-rrc.SystemInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PosSystemInformation_r16_IEs_PDU,
      { "PosSystemInformation-r16-IEs", "nr-rrc.PosSystemInformation_r16_IEs_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_Paging_PDU,
      { "Paging", "nr-rrc.Paging_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UECapabilityEnquiry_v1560_IEs_PDU,
      { "UECapabilityEnquiry-v1560-IEs", "nr-rrc.UECapabilityEnquiry_v1560_IEs_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UE_MRDC_Capability_v15g0_PDU,
      { "UE-MRDC-Capability-v15g0", "nr-rrc.UE_MRDC_Capability_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UE_NR_Capability_v15c0_PDU,
      { "UE-NR-Capability-v15c0", "nr-rrc.UE_NR_Capability_v15c0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PagingRecord_PDU,
      { "PagingRecord", "nr-rrc.PagingRecord_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_c1,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverCommand,
      { "handoverCommand", "nr-rrc.handoverCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "HandoverCommand_IEs", HFILL }},
    { &hf_nr_rrc_spare3,
      { "spare3", "nr-rrc.spare3_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare2,
      { "spare2", "nr-rrc.spare2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare1,
      { "spare1", "nr-rrc.spare1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverCommandMessage,
      { "handoverCommandMessage", "nr-rrc.handoverCommandMessage",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_01,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_01_vals), 0,
        "T_criticalExtensions_01", HFILL }},
    { &hf_nr_rrc_c1_01,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_01_vals), 0,
        "T_c1_01", HFILL }},
    { &hf_nr_rrc_handoverPreparationInformation,
      { "handoverPreparationInformation", "nr-rrc.handoverPreparationInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "HandoverPreparationInformation_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_01,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_01", HFILL }},
    { &hf_nr_rrc_ue_CapabilityRAT_List,
      { "ue-CapabilityRAT-List", "nr-rrc.ue_CapabilityRAT_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UE_CapabilityRAT_ContainerList", HFILL }},
    { &hf_nr_rrc_sourceConfig,
      { "sourceConfig", "nr-rrc.sourceConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "AS_Config", HFILL }},
    { &hf_nr_rrc_rrm_Config,
      { "rrm-Config", "nr-rrc.rrm_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_as_Context,
      { "as-Context", "nr-rrc.as_Context_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_01,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_01", HFILL }},
    { &hf_nr_rrc_rrcReconfiguration,
      { "rrcReconfiguration", "nr-rrc.rrcReconfiguration",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourceRB_SN_Config,
      { "sourceRB-SN-Config", "nr-rrc.sourceRB_SN_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourceSCG_NR_Config,
      { "sourceSCG-NR-Config", "nr-rrc.sourceSCG_NR_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourceSCG_EUTRA_Config,
      { "sourceSCG-EUTRA-Config", "nr-rrc.sourceSCG_EUTRA_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourceSCG_Configured,
      { "sourceSCG-Configured", "nr-rrc.sourceSCG_Configured",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sourceSCG_Configured_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sdt_Config_r17,
      { "sdt-Config-r17", "nr-rrc.sdt_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reestablishmentInfo,
      { "reestablishmentInfo", "nr-rrc.reestablishmentInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configRestrictInfo,
      { "configRestrictInfo", "nr-rrc.configRestrictInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ConfigRestrictInfoSCG", HFILL }},
    { &hf_nr_rrc_ran_NotificationAreaInfo,
      { "ran-NotificationAreaInfo", "nr-rrc.ran_NotificationAreaInfo",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RAN_NotificationAreaInfo_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueAssistanceInformation,
      { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_selectedBandCombinationSN,
      { "selectedBandCombinationSN", "nr-rrc.selectedBandCombinationSN_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BandCombinationInfoSN", HFILL }},
    { &hf_nr_rrc_configRestrictInfoDAPS_r16,
      { "configRestrictInfoDAPS-r16", "nr-rrc.configRestrictInfoDAPS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sidelinkUEInformationNR_r16,
      { "sidelinkUEInformationNR-r16", "nr-rrc.sidelinkUEInformationNR_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sidelinkUEInformationEUTRA_r16,
      { "sidelinkUEInformationEUTRA-r16", "nr-rrc.sidelinkUEInformationEUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueAssistanceInformationEUTRA_r16,
      { "ueAssistanceInformationEUTRA-r16", "nr-rrc.ueAssistanceInformationEUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueAssistanceInformationSCG_r16,
      { "ueAssistanceInformationSCG-r16", "nr-rrc.ueAssistanceInformationSCG_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_needForGapsInfoNR_r16,
      { "needForGapsInfoNR-r16", "nr-rrc.needForGapsInfoNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configRestrictInfoDAPS_v1640,
      { "configRestrictInfoDAPS-v1640", "nr-rrc.configRestrictInfoDAPS_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_needForGapNCSG_InfoNR_r17,
      { "needForGapNCSG-InfoNR-r17", "nr-rrc.needForGapNCSG_InfoNR_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_needForGapNCSG_InfoEUTRA_r17,
      { "needForGapNCSG-InfoEUTRA-r17", "nr-rrc.needForGapNCSG_InfoEUTRA_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mbsInterestIndication_r17,
      { "mbsInterestIndication-r17", "nr-rrc.mbsInterestIndication_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powerCoordination_r16,
      { "powerCoordination-r16", "nr-rrc.powerCoordination_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p_DAPS_Source_r16,
      { "p-DAPS-Source-r16", "nr-rrc.p_DAPS_Source_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_p_DAPS_Target_r16,
      { "p-DAPS-Target-r16", "nr-rrc.p_DAPS_Target_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16,
      { "uplinkPowerSharingDAPS-Mode-r16", "nr-rrc.uplinkPowerSharingDAPS_Mode_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourceFeatureSetPerDownlinkCC_r16,
      { "sourceFeatureSetPerDownlinkCC-r16", "nr-rrc.sourceFeatureSetPerDownlinkCC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetDownlinkPerCC_Id", HFILL }},
    { &hf_nr_rrc_sourceFeatureSetPerUplinkCC_r16,
      { "sourceFeatureSetPerUplinkCC-r16", "nr-rrc.sourceFeatureSetPerUplinkCC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetUplinkPerCC_Id", HFILL }},
    { &hf_nr_rrc_sourcePhysCellId,
      { "sourcePhysCellId", "nr-rrc.sourcePhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_targetCellShortMAC_I,
      { "targetCellShortMAC-I", "nr-rrc.targetCellShortMAC_I",
        FT_BYTES, BASE_NONE, NULL, 0,
        "ShortMAC_I", HFILL }},
    { &hf_nr_rrc_additionalReestabInfoList,
      { "additionalReestabInfoList", "nr-rrc.additionalReestabInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ReestabNCellInfoList", HFILL }},
    { &hf_nr_rrc_ReestabNCellInfoList_item,
      { "ReestabNCellInfo", "nr-rrc.ReestabNCellInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellIdentity,
      { "cellIdentity", "nr-rrc.cellIdentity",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_key_gNodeB_Star,
      { "key-gNodeB-Star", "nr-rrc.key_gNodeB_Star",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_256", HFILL }},
    { &hf_nr_rrc_shortMAC_I,
      { "shortMAC-I", "nr-rrc.shortMAC_I",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_InactiveTime,
      { "ue-InactiveTime", "nr-rrc.ue_InactiveTime",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_ue_InactiveTime_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_candidateCellInfoList,
      { "candidateCellInfoList", "nr-rrc.candidateCellInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2NR", HFILL }},
    { &hf_nr_rrc_rRM_Config_eag_1_candidateCellInfoListSN_EUTRA,
      { "candidateCellInfoListSN-EUTRA", "nr-rrc.rRM_Config.eag_1.candidateCellInfoListSN_EUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultServFreqListEUTRA_SCG", HFILL }},
    { &hf_nr_rrc_criticalExtensions_02,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_02_vals), 0,
        "T_criticalExtensions_02", HFILL }},
    { &hf_nr_rrc_c1_02,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_02_vals), 0,
        "T_c1_02", HFILL }},
    { &hf_nr_rrc_cg_Config,
      { "cg-Config", "nr-rrc.cg_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_02,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_02", HFILL }},
    { &hf_nr_rrc_scg_CellGroupConfig,
      { "scg-CellGroupConfig", "nr-rrc.scg_CellGroupConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_RB_Config,
      { "scg-RB-Config", "nr-rrc.scg_RB_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configRestrictModReq,
      { "configRestrictModReq", "nr-rrc.configRestrictModReq_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ConfigRestrictModReqSCG", HFILL }},
    { &hf_nr_rrc_drx_InfoSCG,
      { "drx-InfoSCG", "nr-rrc.drx_InfoSCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_Info", HFILL }},
    { &hf_nr_rrc_candidateCellInfoListSN,
      { "candidateCellInfoListSN", "nr-rrc.candidateCellInfoListSN",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measConfigSN,
      { "measConfigSN", "nr-rrc.measConfigSN_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_selectedBandCombination,
      { "selectedBandCombination", "nr-rrc.selectedBandCombination_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BandCombinationInfoSN", HFILL }},
    { &hf_nr_rrc_fr_InfoListSCG,
      { "fr-InfoListSCG", "nr-rrc.fr_InfoListSCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FR_InfoList", HFILL }},
    { &hf_nr_rrc_candidateServingFreqListNR,
      { "candidateServingFreqListNR", "nr-rrc.candidateServingFreqListNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_02,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1540_IEs", HFILL }},
    { &hf_nr_rrc_pSCellFrequency,
      { "pSCellFrequency", "nr-rrc.pSCellFrequency",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_reportCGI_RequestNR,
      { "reportCGI-RequestNR", "nr-rrc.reportCGI_RequestNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_requestedCellInfo,
      { "requestedCellInfo", "nr-rrc.requestedCellInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssbFrequency,
      { "ssbFrequency", "nr-rrc.ssbFrequency",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_cellForWhichToReportCGI,
      { "cellForWhichToReportCGI", "nr-rrc.cellForWhichToReportCGI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_ph_InfoSCG,
      { "ph-InfoSCG", "nr-rrc.ph_InfoSCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PH_TypeListSCG", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_03,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1560_IEs", HFILL }},
    { &hf_nr_rrc_pSCellFrequencyEUTRA,
      { "pSCellFrequencyEUTRA", "nr-rrc.pSCellFrequencyEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueEUTRA", HFILL }},
    { &hf_nr_rrc_scg_CellGroupConfigEUTRA,
      { "scg-CellGroupConfigEUTRA", "nr-rrc.scg_CellGroupConfigEUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cG_Config_v1560_IEs_candidateCellInfoListSN_EUTRA,
      { "candidateCellInfoListSN-EUTRA", "nr-rrc.cG_Config_v1560_IEs.candidateCellInfoListSN_EUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_cG_Config_v1560_IEs_candidateCellInfoListSN_EUTRA", HFILL }},
    { &hf_nr_rrc_candidateServingFreqListEUTRA,
      { "candidateServingFreqListEUTRA", "nr-rrc.candidateServingFreqListEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_needForGaps,
      { "needForGaps", "nr-rrc.needForGaps",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGaps_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_ConfigSCG,
      { "drx-ConfigSCG", "nr-rrc.drx_ConfigSCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_Config", HFILL }},
    { &hf_nr_rrc_reportCGI_RequestEUTRA,
      { "reportCGI-RequestEUTRA", "nr-rrc.reportCGI_RequestEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_requestedCellInfoEUTRA,
      { "requestedCellInfoEUTRA", "nr-rrc.requestedCellInfoEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutraFrequency,
      { "eutraFrequency", "nr-rrc.eutraFrequency",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueEUTRA", HFILL }},
    { &hf_nr_rrc_cellForWhichToReportCGI_EUTRA,
      { "cellForWhichToReportCGI-EUTRA", "nr-rrc.cellForWhichToReportCGI_EUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_PhysCellId", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_04,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1590_IEs", HFILL }},
    { &hf_nr_rrc_scellFrequenciesSN_NR,
      { "scellFrequenciesSN-NR", "nr-rrc.scellFrequenciesSN_NR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_scellFrequenciesSN_NR_item,
      { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scellFrequenciesSN_EUTRA,
      { "scellFrequenciesSN-EUTRA", "nr-rrc.scellFrequenciesSN_EUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA", HFILL }},
    { &hf_nr_rrc_scellFrequenciesSN_EUTRA_item,
      { "ARFCN-ValueEUTRA", "nr-rrc.ARFCN_ValueEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_05,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1610_IEs", HFILL }},
    { &hf_nr_rrc_drx_InfoSCG2,
      { "drx-InfoSCG2", "nr-rrc.drx_InfoSCG2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_Info2", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_06,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1620_IEs", HFILL }},
    { &hf_nr_rrc_ueAssistanceInformationSCG_r16_01,
      { "ueAssistanceInformationSCG-r16", "nr-rrc.ueAssistanceInformationSCG_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_ueAssistanceInformationSCG_r16_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_07,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1630_IEs", HFILL }},
    { &hf_nr_rrc_selectedToffset_r16,
      { "selectedToffset-r16", "nr-rrc.selectedToffset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_Offset_r16_vals), 0,
        "T_Offset_r16", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_08,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1640_IEs", HFILL }},
    { &hf_nr_rrc_servCellInfoListSCG_NR_r16,
      { "servCellInfoListSCG-NR-r16", "nr-rrc.servCellInfoListSCG_NR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servCellInfoListSCG_EUTRA_r16,
      { "servCellInfoListSCG-EUTRA-r16", "nr-rrc.servCellInfoListSCG_EUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_09,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1700_IEs", HFILL }},
    { &hf_nr_rrc_candidateCellInfoListCPC_r17,
      { "candidateCellInfoListCPC-r17", "nr-rrc.candidateCellInfoListCPC_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPHRModeSCG_r17,
      { "twoPHRModeSCG-r17", "nr-rrc.twoPHRModeSCG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPHRModeSCG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_10,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_Config_v1730_IEs", HFILL }},
    { &hf_nr_rrc_fr1_Carriers_SCG_r17,
      { "fr1-Carriers-SCG-r17", "nr-rrc.fr1_Carriers_SCG_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_fr2_Carriers_SCG_r17,
      { "fr2-Carriers-SCG-r17", "nr-rrc.fr2_Carriers_SCG_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_11,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_02", HFILL }},
    { &hf_nr_rrc_ServCellInfoListSCG_NR_r16_item,
      { "ServCellInfoXCG-NR-r16", "nr-rrc.ServCellInfoXCG_NR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_FreqInfo_NR_r16,
      { "dl-FreqInfo-NR-r16", "nr-rrc.dl_FreqInfo_NR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FrequencyConfig_NR_r16", HFILL }},
    { &hf_nr_rrc_ul_FreqInfo_NR_r16,
      { "ul-FreqInfo-NR-r16", "nr-rrc.ul_FreqInfo_NR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FrequencyConfig_NR_r16", HFILL }},
    { &hf_nr_rrc_freqBandIndicatorNR_r16,
      { "freqBandIndicatorNR-r16", "nr-rrc.freqBandIndicatorNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_carrierCenterFreq_NR_r16,
      { "carrierCenterFreq-NR-r16", "nr-rrc.carrierCenterFreq_NR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_carrierBandwidth_NR_r16,
      { "carrierBandwidth-NR-r16", "nr-rrc.carrierBandwidth_NR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofPhysicalResourceBlocks", HFILL }},
    { &hf_nr_rrc_subcarrierSpacing_NR_r16,
      { "subcarrierSpacing-NR-r16", "nr-rrc.subcarrierSpacing_NR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_ServCellInfoListSCG_EUTRA_r16_item,
      { "ServCellInfoXCG-EUTRA-r16", "nr-rrc.ServCellInfoXCG_EUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_CarrierFreq_EUTRA_r16,
      { "dl-CarrierFreq-EUTRA-r16", "nr-rrc.dl_CarrierFreq_EUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueEUTRA", HFILL }},
    { &hf_nr_rrc_ul_CarrierFreq_EUTRA_r16,
      { "ul-CarrierFreq-EUTRA-r16", "nr-rrc.ul_CarrierFreq_EUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueEUTRA", HFILL }},
    { &hf_nr_rrc_transmissionBandwidth_EUTRA_r16,
      { "transmissionBandwidth-EUTRA-r16", "nr-rrc.transmissionBandwidth_EUTRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TransmissionBandwidth_EUTRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PH_TypeListSCG_item,
      { "PH-InfoSCG", "nr-rrc.PH_InfoSCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servCellIndex,
      { "servCellIndex", "nr-rrc.servCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ph_Uplink,
      { "ph-Uplink", "nr-rrc.ph_Uplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PH_UplinkCarrierSCG", HFILL }},
    { &hf_nr_rrc_ph_SupplementaryUplink,
      { "ph-SupplementaryUplink", "nr-rrc.ph_SupplementaryUplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PH_UplinkCarrierSCG", HFILL }},
    { &hf_nr_rrc_twoSRS_PUSCH_Repetition_r17,
      { "twoSRS-PUSCH-Repetition-r17", "nr-rrc.twoSRS_PUSCH_Repetition_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoSRS_PUSCH_Repetition_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ph_Type1or3,
      { "ph-Type1or3", "nr-rrc.ph_Type1or3",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ph_Type1or3_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measuredFrequenciesSN,
      { "measuredFrequenciesSN", "nr-rrc.measuredFrequenciesSN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo", HFILL }},
    { &hf_nr_rrc_measuredFrequenciesSN_item,
      { "NR-FreqInfo", "nr-rrc.NR_FreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measuredFrequency,
      { "measuredFrequency", "nr-rrc.measuredFrequency",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_requestedBC_MRDC,
      { "requestedBC-MRDC", "nr-rrc.requestedBC_MRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BandCombinationInfoSN", HFILL }},
    { &hf_nr_rrc_requestedP_MaxFR1,
      { "requestedP-MaxFR1", "nr-rrc.requestedP_MaxFR1",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_requestedPDCCH_BlindDetectionSCG,
      { "requestedPDCCH-BlindDetectionSCG", "nr-rrc.requestedPDCCH_BlindDetectionSCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_requestedP_MaxEUTRA,
      { "requestedP-MaxEUTRA", "nr-rrc.requestedP_MaxEUTRA",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_requestedP_MaxFR2_r16,
      { "requestedP-MaxFR2-r16", "nr-rrc.requestedP_MaxFR2_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_requestedMaxInterFreqMeasIdSCG_r16,
      { "requestedMaxInterFreqMeasIdSCG-r16", "nr-rrc.requestedMaxInterFreqMeasIdSCG_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxMeasIdentitiesMN", HFILL }},
    { &hf_nr_rrc_requestedMaxIntraFreqMeasIdSCG_r16,
      { "requestedMaxIntraFreqMeasIdSCG-r16", "nr-rrc.requestedMaxIntraFreqMeasIdSCG_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxMeasIdentitiesMN", HFILL }},
    { &hf_nr_rrc_requestedToffset_r16,
      { "requestedToffset-r16", "nr-rrc.requestedToffset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_Offset_r16_vals), 0,
        "T_Offset_r16", HFILL }},
    { &hf_nr_rrc_bandCombinationIndex,
      { "bandCombinationIndex", "nr-rrc.bandCombinationIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_requestedFeatureSets,
      { "requestedFeatureSets", "nr-rrc.requestedFeatureSets",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetEntryIndex", HFILL }},
    { &hf_nr_rrc_FR_InfoList_item,
      { "FR-Info", "nr-rrc.FR_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr_Type,
      { "fr-Type", "nr-rrc.fr_Type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr_Type_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CandidateServingFreqListNR_item,
      { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CandidateServingFreqListEUTRA_item,
      { "ARFCN-ValueEUTRA", "nr-rrc.ARFCN_ValueEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CandidateCellInfoListCPC_r17_item,
      { "CandidateCellInfo-r17", "nr-rrc.CandidateCellInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssbFrequency_r17,
      { "ssbFrequency-r17", "nr-rrc.ssbFrequency_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_candidateList_r17,
      { "candidateList-r17", "nr-rrc.candidateList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17", HFILL }},
    { &hf_nr_rrc_candidateList_r17_item,
      { "CandidateCell-r17", "nr-rrc.CandidateCell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_physCellId_r17,
      { "physCellId-r17", "nr-rrc.physCellId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_condExecutionCondSCG_r17,
      { "condExecutionCondSCG-r17", "nr-rrc.condExecutionCondSCG_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_03,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0,
        "T_criticalExtensions_03", HFILL }},
    { &hf_nr_rrc_c1_03,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_03_vals), 0,
        "T_c1_03", HFILL }},
    { &hf_nr_rrc_cg_ConfigInfo,
      { "cg-ConfigInfo", "nr-rrc.cg_ConfigInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_03,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_03", HFILL }},
    { &hf_nr_rrc_ue_CapabilityInfo,
      { "ue-CapabilityInfo", "nr-rrc.ue_CapabilityInfo",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_candidateCellInfoListMN,
      { "candidateCellInfoListMN", "nr-rrc.candidateCellInfoListMN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2NR", HFILL }},
    { &hf_nr_rrc_candidateCellInfoListSN_01,
      { "candidateCellInfoListSN", "nr-rrc.candidateCellInfoListSN",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_candidateCellInfoListSN_01", HFILL }},
    { &hf_nr_rrc_measResultCellListSFTD_NR,
      { "measResultCellListSFTD-NR", "nr-rrc.measResultCellListSFTD_NR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scgFailureInfo,
      { "scgFailureInfo", "nr-rrc.scgFailureInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureType,
      { "failureType", "nr-rrc.failureType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultSCG,
      { "measResultSCG", "nr-rrc.measResultSCG",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_InfoMCG,
      { "drx-InfoMCG", "nr-rrc.drx_InfoMCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_Info", HFILL }},
    { &hf_nr_rrc_measConfigMN,
      { "measConfigMN", "nr-rrc.measConfigMN_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourceConfigSCG,
      { "sourceConfigSCG", "nr-rrc.sourceConfigSCG",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_RB_Config_01,
      { "scg-RB-Config", "nr-rrc.scg_RB_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_scg_RB_Config_01", HFILL }},
    { &hf_nr_rrc_mcg_RB_Config,
      { "mcg-RB-Config", "nr-rrc.mcg_RB_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_AssistanceInfo,
      { "mrdc-AssistanceInfo", "nr-rrc.mrdc_AssistanceInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_12,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1540_IEs", HFILL }},
    { &hf_nr_rrc_ph_InfoMCG,
      { "ph-InfoMCG", "nr-rrc.ph_InfoMCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PH_TypeListMCG", HFILL }},
    { &hf_nr_rrc_measResultReportCGI,
      { "measResultReportCGI", "nr-rrc.measResultReportCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cgi_Info,
      { "cgi-Info", "nr-rrc.cgi_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_InfoNR", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_13,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1560_IEs", HFILL }},
    { &hf_nr_rrc_candidateCellInfoListMN_EUTRA,
      { "candidateCellInfoListMN-EUTRA", "nr-rrc.candidateCellInfoListMN_EUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cG_ConfigInfo_v1560_IEs_candidateCellInfoListSN_EUTRA,
      { "candidateCellInfoListSN-EUTRA", "nr-rrc.cG_ConfigInfo_v1560_IEs.candidateCellInfoListSN_EUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_cG_ConfigInfo_v1560_IEs_candidateCellInfoListSN_EUTRA", HFILL }},
    { &hf_nr_rrc_sourceConfigSCG_EUTRA,
      { "sourceConfigSCG-EUTRA", "nr-rrc.sourceConfigSCG_EUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scgFailureInfoEUTRA,
      { "scgFailureInfoEUTRA", "nr-rrc.scgFailureInfoEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureTypeEUTRA,
      { "failureTypeEUTRA", "nr-rrc.failureTypeEUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureTypeEUTRA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultSCG_EUTRA,
      { "measResultSCG-EUTRA", "nr-rrc.measResultSCG_EUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_ConfigMCG,
      { "drx-ConfigMCG", "nr-rrc.drx_ConfigMCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_Config", HFILL }},
    { &hf_nr_rrc_measResultReportCGI_EUTRA,
      { "measResultReportCGI-EUTRA", "nr-rrc.measResultReportCGI_EUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cgi_InfoEUTRA,
      { "cgi-InfoEUTRA", "nr-rrc.cgi_InfoEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultCellListSFTD_EUTRA,
      { "measResultCellListSFTD-EUTRA", "nr-rrc.measResultCellListSFTD_EUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr_InfoListMCG,
      { "fr-InfoListMCG", "nr-rrc.fr_InfoListMCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FR_InfoList", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_14,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1570_IEs", HFILL }},
    { &hf_nr_rrc_sftdFrequencyList_NR,
      { "sftdFrequencyList-NR", "nr-rrc.sftdFrequencyList_NR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SFTD_FrequencyList_NR", HFILL }},
    { &hf_nr_rrc_sftdFrequencyList_EUTRA,
      { "sftdFrequencyList-EUTRA", "nr-rrc.sftdFrequencyList_EUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SFTD_FrequencyList_EUTRA", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_15,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1590_IEs", HFILL }},
    { &hf_nr_rrc_servFrequenciesMN_NR,
      { "servFrequenciesMN-NR", "nr-rrc.servFrequenciesMN_NR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_servFrequenciesMN_NR_item,
      { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_16,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1610_IEs", HFILL }},
    { &hf_nr_rrc_drx_InfoMCG2,
      { "drx-InfoMCG2", "nr-rrc.drx_InfoMCG2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_Info2", HFILL }},
    { &hf_nr_rrc_alignedDRX_Indication,
      { "alignedDRX-Indication", "nr-rrc.alignedDRX_Indication",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_alignedDRX_Indication_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scgFailureInfo_r16,
      { "scgFailureInfo-r16", "nr-rrc.scgFailureInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureType_r16,
      { "failureType-r16", "nr-rrc.failureType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultSCG_r16,
      { "measResultSCG-r16", "nr-rrc.measResultSCG_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy1,
      { "dummy1", "nr-rrc.dummy1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureTypeEUTRA_r16,
      { "failureTypeEUTRA-r16", "nr-rrc.failureTypeEUTRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureTypeEUTRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultSCG_EUTRA_r16,
      { "measResultSCG-EUTRA-r16", "nr-rrc.measResultSCG_EUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_sidelinkUEInformationNR_r16_01,
      { "sidelinkUEInformationNR-r16", "nr-rrc.sidelinkUEInformationNR_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_sidelinkUEInformationNR_r16_01", HFILL }},
    { &hf_nr_rrc_sidelinkUEInformationEUTRA_r16_01,
      { "sidelinkUEInformationEUTRA-r16", "nr-rrc.sidelinkUEInformationEUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_17,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1620_IEs", HFILL }},
    { &hf_nr_rrc_ueAssistanceInformationSourceSCG_r16,
      { "ueAssistanceInformationSourceSCG-r16", "nr-rrc.ueAssistanceInformationSourceSCG_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_18,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1640_IEs", HFILL }},
    { &hf_nr_rrc_servCellInfoListMCG_NR_r16,
      { "servCellInfoListMCG-NR-r16", "nr-rrc.servCellInfoListMCG_NR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servCellInfoListMCG_EUTRA_r16,
      { "servCellInfoListMCG-EUTRA-r16", "nr-rrc.servCellInfoListMCG_EUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_19,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1700_IEs", HFILL }},
    { &hf_nr_rrc_candidateCellListCPC_r17,
      { "candidateCellListCPC-r17", "nr-rrc.candidateCellListCPC_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPHRModeMCG_r17,
      { "twoPHRModeMCG-r17", "nr-rrc.twoPHRModeMCG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPHRModeMCG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lowMobilityEvaluationConnectedInPCell_r17,
      { "lowMobilityEvaluationConnectedInPCell-r17", "nr-rrc.lowMobilityEvaluationConnectedInPCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowMobilityEvaluationConnectedInPCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_20,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_ConfigInfo_v1730_IEs", HFILL }},
    { &hf_nr_rrc_fr1_Carriers_MCG_r17,
      { "fr1-Carriers-MCG-r17", "nr-rrc.fr1_Carriers_MCG_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_fr2_Carriers_MCG_r17,
      { "fr2-Carriers-MCG-r17", "nr-rrc.fr2_Carriers_MCG_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_21,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_03", HFILL }},
    { &hf_nr_rrc_ServCellInfoListMCG_NR_r16_item,
      { "ServCellInfoXCG-NR-r16", "nr-rrc.ServCellInfoXCG_NR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ServCellInfoListMCG_EUTRA_r16_item,
      { "ServCellInfoXCG-EUTRA-r16", "nr-rrc.ServCellInfoXCG_EUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SFTD_FrequencyList_NR_item,
      { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SFTD_FrequencyList_EUTRA_item,
      { "ARFCN-ValueEUTRA", "nr-rrc.ARFCN_ValueEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowedBC_ListMRDC,
      { "allowedBC-ListMRDC", "nr-rrc.allowedBC_ListMRDC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationInfoList", HFILL }},
    { &hf_nr_rrc_powerCoordination_FR1,
      { "powerCoordination-FR1", "nr-rrc.powerCoordination_FR1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p_maxNR_FR1,
      { "p-maxNR-FR1", "nr-rrc.p_maxNR_FR1",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_p_maxEUTRA,
      { "p-maxEUTRA", "nr-rrc.p_maxEUTRA",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_p_maxUE_FR1,
      { "p-maxUE-FR1", "nr-rrc.p_maxUE_FR1",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_servCellIndexRangeSCG,
      { "servCellIndexRangeSCG", "nr-rrc.servCellIndexRangeSCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lowBound,
      { "lowBound", "nr-rrc.lowBound",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_upBound,
      { "upBound", "nr-rrc.upBound",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_maxMeasFreqsSCG,
      { "maxMeasFreqsSCG", "nr-rrc.maxMeasFreqsSCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxMeasFreqsMN", HFILL }},
    { &hf_nr_rrc_configRestrictInfoSCG_dummy,
      { "dummy", "nr-rrc.configRestrictInfoSCG.dummy",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxMeasIdentitiesMN", HFILL }},
    { &hf_nr_rrc_selectedBandEntriesMNList,
      { "selectedBandEntriesMNList", "nr-rrc.selectedBandEntriesMNList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN", HFILL }},
    { &hf_nr_rrc_selectedBandEntriesMNList_item,
      { "SelectedBandEntriesMN", "nr-rrc.SelectedBandEntriesMN",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG,
      { "pdcch-BlindDetectionSCG", "nr-rrc.pdcch_BlindDetectionSCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_maxNumberROHC_ContextSessionsSN,
      { "maxNumberROHC-ContextSessionsSN", "nr-rrc.maxNumberROHC_ContextSessionsSN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_16384", HFILL }},
    { &hf_nr_rrc_maxIntraFreqMeasIdentitiesSCG,
      { "maxIntraFreqMeasIdentitiesSCG", "nr-rrc.maxIntraFreqMeasIdentitiesSCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxMeasIdentitiesMN", HFILL }},
    { &hf_nr_rrc_maxInterFreqMeasIdentitiesSCG,
      { "maxInterFreqMeasIdentitiesSCG", "nr-rrc.maxInterFreqMeasIdentitiesSCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxMeasIdentitiesMN", HFILL }},
    { &hf_nr_rrc_p_maxNR_FR1_MCG_r16,
      { "p-maxNR-FR1-MCG-r16", "nr-rrc.p_maxNR_FR1_MCG_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_powerCoordination_FR2_r16,
      { "powerCoordination-FR2-r16", "nr-rrc.powerCoordination_FR2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p_maxNR_FR2_MCG_r16,
      { "p-maxNR-FR2-MCG-r16", "nr-rrc.p_maxNR_FR2_MCG_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_p_maxNR_FR2_SCG_r16,
      { "p-maxNR-FR2-SCG-r16", "nr-rrc.p_maxNR_FR2_SCG_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_p_maxUE_FR2_r16,
      { "p-maxUE-FR2-r16", "nr-rrc.p_maxUE_FR2_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_nrdc_PC_mode_FR1_r16,
      { "nrdc-PC-mode-FR1-r16", "nr-rrc.nrdc_PC_mode_FR1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrdc_PC_mode_FR1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrdc_PC_mode_FR2_r16,
      { "nrdc-PC-mode-FR2-r16", "nr-rrc.nrdc_PC_mode_FR2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrdc_PC_mode_FR2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMeasSRS_ResourceSCG_r16,
      { "maxMeasSRS-ResourceSCG-r16", "nr-rrc.maxMeasSRS_ResourceSCG_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCLI_SRS_Resources_r16", HFILL }},
    { &hf_nr_rrc_maxMeasCLI_ResourceSCG_r16,
      { "maxMeasCLI-ResourceSCG-r16", "nr-rrc.maxMeasCLI_ResourceSCG_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCLI_RSSI_Resources_r16", HFILL }},
    { &hf_nr_rrc_maxNumberEHC_ContextsSN_r16,
      { "maxNumberEHC-ContextsSN-r16", "nr-rrc.maxNumberEHC_ContextsSN_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65536", HFILL }},
    { &hf_nr_rrc_allowedReducedConfigForOverheating_r16,
      { "allowedReducedConfigForOverheating-r16", "nr-rrc.allowedReducedConfigForOverheating_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "OverheatingAssistance", HFILL }},
    { &hf_nr_rrc_maxToffset_r16,
      { "maxToffset-r16", "nr-rrc.maxToffset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_Offset_r16_vals), 0,
        "T_Offset_r16", HFILL }},
    { &hf_nr_rrc_allowedReducedConfigForOverheating_r17,
      { "allowedReducedConfigForOverheating-r17", "nr-rrc.allowedReducedConfigForOverheating_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "OverheatingAssistance_r17", HFILL }},
    { &hf_nr_rrc_maxNumberUDC_DRB_r17,
      { "maxNumberUDC-DRB-r17", "nr-rrc.maxNumberUDC_DRB_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2", HFILL }},
    { &hf_nr_rrc_maxNumberCPCCandidates_r17,
      { "maxNumberCPCCandidates-r17", "nr-rrc.maxNumberCPCCandidates_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCondCells_1_r17", HFILL }},
    { &hf_nr_rrc_SelectedBandEntriesMN_item,
      { "BandEntryIndex", "nr-rrc.BandEntryIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PH_TypeListMCG_item,
      { "PH-InfoMCG", "nr-rrc.PH_InfoMCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ph_Uplink_01,
      { "ph-Uplink", "nr-rrc.ph_Uplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PH_UplinkCarrierMCG", HFILL }},
    { &hf_nr_rrc_ph_SupplementaryUplink_01,
      { "ph-SupplementaryUplink", "nr-rrc.ph_SupplementaryUplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PH_UplinkCarrierMCG", HFILL }},
    { &hf_nr_rrc_twoSRS_PUSCH_Repetition_r17_01,
      { "twoSRS-PUSCH-Repetition-r17", "nr-rrc.twoSRS_PUSCH_Repetition_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoSRS_PUSCH_Repetition_r17_01_vals), 0,
        "T_twoSRS_PUSCH_Repetition_r17_01", HFILL }},
    { &hf_nr_rrc_ph_Type1or3_01,
      { "ph-Type1or3", "nr-rrc.ph_Type1or3",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ph_Type1or3_01_vals), 0,
        "T_ph_Type1or3_01", HFILL }},
    { &hf_nr_rrc_BandCombinationInfoList_item,
      { "BandCombinationInfo", "nr-rrc.BandCombinationInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowedFeatureSetsList,
      { "allowedFeatureSetsList", "nr-rrc.allowedFeatureSetsList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex", HFILL }},
    { &hf_nr_rrc_allowedFeatureSetsList_item,
      { "FeatureSetEntryIndex", "nr-rrc.FeatureSetEntryIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_LongCycleStartOffset,
      { "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ms10,
      { "ms10", "nr-rrc.ms10",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_ms20,
      { "ms20", "nr-rrc.ms20",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_ms32,
      { "ms32", "nr-rrc.ms32",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_ms40,
      { "ms40", "nr-rrc.ms40",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_ms60,
      { "ms60", "nr-rrc.ms60",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_59", HFILL }},
    { &hf_nr_rrc_ms64,
      { "ms64", "nr-rrc.ms64",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_ms70,
      { "ms70", "nr-rrc.ms70",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_69", HFILL }},
    { &hf_nr_rrc_ms80,
      { "ms80", "nr-rrc.ms80",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_ms128,
      { "ms128", "nr-rrc.ms128",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_ms160,
      { "ms160", "nr-rrc.ms160",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_ms256,
      { "ms256", "nr-rrc.ms256",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_ms320,
      { "ms320", "nr-rrc.ms320",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_ms512,
      { "ms512", "nr-rrc.ms512",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_511", HFILL }},
    { &hf_nr_rrc_ms640,
      { "ms640", "nr-rrc.ms640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_ms1024,
      { "ms1024", "nr-rrc.ms1024",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_ms1280,
      { "ms1280", "nr-rrc.ms1280",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1279", HFILL }},
    { &hf_nr_rrc_ms2048,
      { "ms2048", "nr-rrc.ms2048",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2047", HFILL }},
    { &hf_nr_rrc_ms2560,
      { "ms2560", "nr-rrc.ms2560",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2559", HFILL }},
    { &hf_nr_rrc_ms5120,
      { "ms5120", "nr-rrc.ms5120",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119", HFILL }},
    { &hf_nr_rrc_ms10240,
      { "ms10240", "nr-rrc.ms10240",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_10239", HFILL }},
    { &hf_nr_rrc_shortDRX,
      { "shortDRX", "nr-rrc.shortDRX_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_ShortCycle,
      { "drx-ShortCycle", "nr-rrc.drx_ShortCycle",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_ShortCycleTimer,
      { "drx-ShortCycleTimer", "nr-rrc.drx_ShortCycleTimer",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_drx_onDurationTimer,
      { "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subMilliSeconds,
      { "subMilliSeconds", "nr-rrc.subMilliSeconds",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_31", HFILL }},
    { &hf_nr_rrc_milliSeconds,
      { "milliSeconds", "nr-rrc.milliSeconds",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measuredFrequenciesMN,
      { "measuredFrequenciesMN", "nr-rrc.measuredFrequenciesMN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo", HFILL }},
    { &hf_nr_rrc_measuredFrequenciesMN_item,
      { "NR-FreqInfo", "nr-rrc.NR_FreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measGapConfig,
      { "measGapConfig", "nr-rrc.measGapConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measGapConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_release,
      { "release", "nr-rrc.release_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GapConfig", HFILL }},
    { &hf_nr_rrc_gapPurpose,
      { "gapPurpose", "nr-rrc.gapPurpose",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapPurpose_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measGapConfigFR2,
      { "measGapConfigFR2", "nr-rrc.measGapConfigFR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measGapConfigFR2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqNoGap_r16,
      { "interFreqNoGap-r16", "nr-rrc.interFreqNoGap_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqNoGap_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC,
      { "affectedCarrierFreqCombInfoListMRDC", "nr-rrc.affectedCarrierFreqCombInfoListMRDC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC", HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item,
      { "AffectedCarrierFreqCombInfoMRDC", "nr-rrc.AffectedCarrierFreqCombInfoMRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_overheatingAssistanceSCG_r16,
      { "overheatingAssistanceSCG-r16", "nr-rrc.overheatingAssistanceSCG_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_overheatingAssistanceSCG_FR2_2_r17,
      { "overheatingAssistanceSCG-FR2-2-r17", "nr-rrc.overheatingAssistanceSCG_FR2_2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_victimSystemType,
      { "victimSystemType", "nr-rrc.victimSystemType_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interferenceDirectionMRDC,
      { "interferenceDirectionMRDC", "nr-rrc.interferenceDirectionMRDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interferenceDirectionMRDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqCombMRDC,
      { "affectedCarrierFreqCombMRDC", "nr-rrc.affectedCarrierFreqCombMRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqCombEUTRA,
      { "affectedCarrierFreqCombEUTRA", "nr-rrc.affectedCarrierFreqCombEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqCombNR,
      { "affectedCarrierFreqCombNR", "nr-rrc.affectedCarrierFreqCombNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gps,
      { "gps", "nr-rrc.gps",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gps_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_glonass,
      { "glonass", "nr-rrc.glonass",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_glonass_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bds,
      { "bds", "nr-rrc.bds",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bds_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_galileo,
      { "galileo", "nr-rrc.galileo",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_galileo_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_wlan,
      { "wlan", "nr-rrc.wlan",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlan_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bluetooth,
      { "bluetooth", "nr-rrc.bluetooth",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bluetooth_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item,
      { "ARFCN-ValueEUTRA", "nr-rrc.ARFCN_ValueEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_AffectedCarrierFreqCombNR_item,
      { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CandidateCellListCPC_r17_item,
      { "CandidateCellCPC-r17", "nr-rrc.CandidateCellCPC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_candidateCellList_r17,
      { "candidateCellList-r17", "nr-rrc.candidateCellList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId", HFILL }},
    { &hf_nr_rrc_candidateCellList_r17_item,
      { "PhysCellId", "nr-rrc.PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_04,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_04_vals), 0,
        "T_criticalExtensions_04", HFILL }},
    { &hf_nr_rrc_c1_04,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_04_vals), 0,
        "T_c1_04", HFILL }},
    { &hf_nr_rrc_measTimingConf,
      { "measTimingConf", "nr-rrc.measTimingConf_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasurementTimingConfiguration_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_04,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_04", HFILL }},
    { &hf_nr_rrc_measTiming,
      { "measTiming", "nr-rrc.measTiming",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasTimingList", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_22,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasurementTimingConfiguration_v1550_IEs", HFILL }},
    { &hf_nr_rrc_campOnFirstSSB,
      { "campOnFirstSSB", "nr-rrc.campOnFirstSSB",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_psCellOnlyOnFirstSSB,
      { "psCellOnlyOnFirstSSB", "nr-rrc.psCellOnlyOnFirstSSB",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_23,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasurementTimingConfiguration_v1610_IEs", HFILL }},
    { &hf_nr_rrc_csi_RS_Config_r16,
      { "csi-RS-Config-r16", "nr-rrc.csi_RS_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_SubcarrierSpacing_r16,
      { "csi-RS-SubcarrierSpacing-r16", "nr-rrc.csi_RS_SubcarrierSpacing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_csi_RS_CellMobility_r16,
      { "csi-RS-CellMobility-r16", "nr-rrc.csi_RS_CellMobility_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CSI_RS_CellMobility", HFILL }},
    { &hf_nr_rrc_refSSBFreq_r16,
      { "refSSBFreq-r16", "nr-rrc.refSSBFreq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_24,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_04", HFILL }},
    { &hf_nr_rrc_MeasTimingList_item,
      { "MeasTiming", "nr-rrc.MeasTiming_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyAndTiming,
      { "frequencyAndTiming", "nr-rrc.frequencyAndTiming_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierFreq,
      { "carrierFreq", "nr-rrc.carrierFreq",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_ssbSubcarrierSpacing,
      { "ssbSubcarrierSpacing", "nr-rrc.ssbSubcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_ssb_MeasurementTimingConfiguration,
      { "ssb-MeasurementTimingConfiguration", "nr-rrc.ssb_MeasurementTimingConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_MTC", HFILL }},
    { &hf_nr_rrc_ss_RSSI_Measurement,
      { "ss-RSSI-Measurement", "nr-rrc.ss_RSSI_Measurement_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_ToMeasure,
      { "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_physCellId,
      { "physCellId", "nr-rrc.physCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_05,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_05_vals), 0,
        "T_criticalExtensions_05", HFILL }},
    { &hf_nr_rrc_c1_05,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_05_vals), 0,
        "T_c1_05", HFILL }},
    { &hf_nr_rrc_ueRadioPagingInformation,
      { "ueRadioPagingInformation", "nr-rrc.ueRadioPagingInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UERadioPagingInformation_IEs", HFILL }},
    { &hf_nr_rrc_spare7,
      { "spare7", "nr-rrc.spare7_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare6,
      { "spare6", "nr-rrc.spare6_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare5,
      { "spare5", "nr-rrc.spare5_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare4,
      { "spare4", "nr-rrc.spare4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_05,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_05", HFILL }},
    { &hf_nr_rrc_supportedBandListNRForPaging,
      { "supportedBandListNRForPaging", "nr-rrc.supportedBandListNRForPaging",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_supportedBandListNRForPaging_item,
      { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_25,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UERadioPagingInformation_v15e0_IEs", HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1,
      { "dl-SchedulingOffset-PDSCH-TypeA-FDD-FR1", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeA_FDD_FR1", HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1,
      { "dl-SchedulingOffset-PDSCH-TypeA-TDD-FR1", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR1", HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2,
      { "dl-SchedulingOffset-PDSCH-TypeA-TDD-FR2", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeA_TDD_FR2", HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1,
      { "dl-SchedulingOffset-PDSCH-TypeB-FDD-FR1", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeB_FDD_FR1", HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1,
      { "dl-SchedulingOffset-PDSCH-TypeB-TDD-FR1", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR1", HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2,
      { "dl-SchedulingOffset-PDSCH-TypeB-TDD-FR2", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeB_TDD_FR2", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_26,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UERadioPagingInformation_v1700_IEs", HFILL }},
    { &hf_nr_rrc_ue_RadioPagingInfo_r17,
      { "ue-RadioPagingInfo-r17", "nr-rrc.ue_RadioPagingInfo_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_inactiveStatePO_Determination_r17,
      { "inactiveStatePO-Determination-r17", "nr-rrc.inactiveStatePO_Determination_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inactiveStatePO_Determination_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfRxRedCap_r17,
      { "numberOfRxRedCap-r17", "nr-rrc.numberOfRxRedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfRxRedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_halfDuplexFDD_TypeA_RedCap_r17,
      { "halfDuplexFDD-TypeA-RedCap-r17", "nr-rrc.halfDuplexFDD_TypeA_RedCap_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_halfDuplexFDD_TypeA_RedCap_r17_item,
      { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_27,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_05", HFILL }},
    { &hf_nr_rrc_criticalExtensions_06,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_06_vals), 0,
        "T_criticalExtensions_06", HFILL }},
    { &hf_nr_rrc_c1_06,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_06_vals), 0,
        "T_c1_06", HFILL }},
    { &hf_nr_rrc_ueRadioAccessCapabilityInformation,
      { "ueRadioAccessCapabilityInformation", "nr-rrc.ueRadioAccessCapabilityInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UERadioAccessCapabilityInformation_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_06,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_06", HFILL }},
    { &hf_nr_rrc_ue_RadioAccessCapabilityInfo,
      { "ue-RadioAccessCapabilityInfo", "nr-rrc.ue_RadioAccessCapabilityInfo",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_28,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_06", HFILL }},
    { &hf_nr_rrc_message,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_BCH_MessageType_vals), 0,
        "BCCH_BCH_MessageType", HFILL }},
    { &hf_nr_rrc_mib,
      { "mib", "nr-rrc.mib_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_message_01,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_DL_SCH_MessageType_vals), 0,
        "BCCH_DL_SCH_MessageType", HFILL }},
    { &hf_nr_rrc_c1_07,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_07_vals), 0,
        "T_c1_07", HFILL }},
    { &hf_nr_rrc_systemInformation,
      { "systemInformation", "nr-rrc.systemInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_systemInformationBlockType1,
      { "systemInformationBlockType1", "nr-rrc.systemInformationBlockType1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB1", HFILL }},
    { &hf_nr_rrc_messageClassExtension_01,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_messageClassExtension_01", HFILL }},
    { &hf_nr_rrc_message_02,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_CCCH_MessageType_vals), 0,
        "DL_CCCH_MessageType", HFILL }},
    { &hf_nr_rrc_c1_08,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_08_vals), 0,
        "T_c1_08", HFILL }},
    { &hf_nr_rrc_rrcReject,
      { "rrcReject", "nr-rrc.rrcReject_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcSetup,
      { "rrcSetup", "nr-rrc.rrcSetup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_02,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_messageClassExtension_02", HFILL }},
    { &hf_nr_rrc_message_03,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_DCCH_MessageType_vals), 0,
        "DL_DCCH_MessageType", HFILL }},
    { &hf_nr_rrc_c1_09,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_09_vals), 0,
        "T_c1_09", HFILL }},
    { &hf_nr_rrc_rrcReconfiguration_01,
      { "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcResume,
      { "rrcResume", "nr-rrc.rrcResume_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcRelease,
      { "rrcRelease", "nr-rrc.rrcRelease_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcReestablishment,
      { "rrcReestablishment", "nr-rrc.rrcReestablishment_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_securityModeCommand,
      { "securityModeCommand", "nr-rrc.securityModeCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dlInformationTransfer,
      { "dlInformationTransfer", "nr-rrc.dlInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueCapabilityEnquiry,
      { "ueCapabilityEnquiry", "nr-rrc.ueCapabilityEnquiry_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_counterCheck,
      { "counterCheck", "nr-rrc.counterCheck_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mobilityFromNRCommand,
      { "mobilityFromNRCommand", "nr-rrc.mobilityFromNRCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dlDedicatedMessageSegment_r16,
      { "dlDedicatedMessageSegment-r16", "nr-rrc.dlDedicatedMessageSegment_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueInformationRequest_r16,
      { "ueInformationRequest-r16", "nr-rrc.ueInformationRequest_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dlInformationTransferMRDC_r16,
      { "dlInformationTransferMRDC-r16", "nr-rrc.dlInformationTransferMRDC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_loggedMeasurementConfiguration_r16,
      { "loggedMeasurementConfiguration-r16", "nr-rrc.loggedMeasurementConfiguration_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_03,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_messageClassExtension_03", HFILL }},
    { &hf_nr_rrc_message_04,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MCCH_MessageType_r17_vals), 0,
        "MCCH_MessageType_r17", HFILL }},
    { &hf_nr_rrc_c1_10,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_10_vals), 0,
        "T_c1_10", HFILL }},
    { &hf_nr_rrc_mbsBroadcastConfiguration_r17,
      { "mbsBroadcastConfiguration-r17", "nr-rrc.mbsBroadcastConfiguration_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_04,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_messageClassExtension_04", HFILL }},
    { &hf_nr_rrc_message_05,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PCCH_MessageType_vals), 0,
        "PCCH_MessageType", HFILL }},
    { &hf_nr_rrc_c1_11,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_11_vals), 0,
        "T_c1_11", HFILL }},
    { &hf_nr_rrc_paging,
      { "paging", "nr-rrc.paging_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_05,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_messageClassExtension_05", HFILL }},
    { &hf_nr_rrc_message_06,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_CCCH_MessageType_vals), 0,
        "UL_CCCH_MessageType", HFILL }},
    { &hf_nr_rrc_c1_12,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_12_vals), 0,
        "T_c1_12", HFILL }},
    { &hf_nr_rrc_rrcSetupRequest,
      { "rrcSetupRequest", "nr-rrc.rrcSetupRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcResumeRequest,
      { "rrcResumeRequest", "nr-rrc.rrcResumeRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcReestablishmentRequest,
      { "rrcReestablishmentRequest", "nr-rrc.rrcReestablishmentRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcSystemInfoRequest,
      { "rrcSystemInfoRequest", "nr-rrc.rrcSystemInfoRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_06,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_messageClassExtension_06", HFILL }},
    { &hf_nr_rrc_message_07,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_CCCH1_MessageType_vals), 0,
        "UL_CCCH1_MessageType", HFILL }},
    { &hf_nr_rrc_c1_13,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_13_vals), 0,
        "T_c1_13", HFILL }},
    { &hf_nr_rrc_rrcResumeRequest1,
      { "rrcResumeRequest1", "nr-rrc.rrcResumeRequest1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_07,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_messageClassExtension_07", HFILL }},
    { &hf_nr_rrc_message_08,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_DCCH_MessageType_vals), 0,
        "UL_DCCH_MessageType", HFILL }},
    { &hf_nr_rrc_c1_14,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_14_vals), 0,
        "T_c1_14", HFILL }},
    { &hf_nr_rrc_measurementReport,
      { "measurementReport", "nr-rrc.measurementReport_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcReconfigurationComplete,
      { "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcSetupComplete,
      { "rrcSetupComplete", "nr-rrc.rrcSetupComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcReestablishmentComplete,
      { "rrcReestablishmentComplete", "nr-rrc.rrcReestablishmentComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcResumeComplete,
      { "rrcResumeComplete", "nr-rrc.rrcResumeComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_securityModeComplete,
      { "securityModeComplete", "nr-rrc.securityModeComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_securityModeFailure,
      { "securityModeFailure", "nr-rrc.securityModeFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ulInformationTransfer,
      { "ulInformationTransfer", "nr-rrc.ulInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_locationMeasurementIndication,
      { "locationMeasurementIndication", "nr-rrc.locationMeasurementIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueCapabilityInformation,
      { "ueCapabilityInformation", "nr-rrc.ueCapabilityInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_counterCheckResponse,
      { "counterCheckResponse", "nr-rrc.counterCheckResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueAssistanceInformation_01,
      { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureInformation,
      { "failureInformation", "nr-rrc.failureInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ulInformationTransferMRDC,
      { "ulInformationTransferMRDC", "nr-rrc.ulInformationTransferMRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scgFailureInformation,
      { "scgFailureInformation", "nr-rrc.scgFailureInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scgFailureInformationEUTRA,
      { "scgFailureInformationEUTRA", "nr-rrc.scgFailureInformationEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_08,
      { "messageClassExtension", "nr-rrc.messageClassExtension",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messageClassExtension_08_vals), 0,
        "T_messageClassExtension_08", HFILL }},
    { &hf_nr_rrc_c2,
      { "c2", "nr-rrc.c2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ulDedicatedMessageSegment_r16,
      { "ulDedicatedMessageSegment-r16", "nr-rrc.ulDedicatedMessageSegment_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dedicatedSIBRequest_r16,
      { "dedicatedSIBRequest-r16", "nr-rrc.dedicatedSIBRequest_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcgFailureInformation_r16,
      { "mcgFailureInformation-r16", "nr-rrc.mcgFailureInformation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueInformationResponse_r16,
      { "ueInformationResponse-r16", "nr-rrc.ueInformationResponse_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sidelinkUEInformationNR_r16_02,
      { "sidelinkUEInformationNR-r16", "nr-rrc.sidelinkUEInformationNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ulInformationTransferIRAT_r16,
      { "ulInformationTransferIRAT-r16", "nr-rrc.ulInformationTransferIRAT_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iabOtherInformation_r16,
      { "iabOtherInformation-r16", "nr-rrc.iabOtherInformation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mbsInterestIndication_r17_01,
      { "mbsInterestIndication-r17", "nr-rrc.mbsInterestIndication_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uePositioningAssistanceInfo_r17,
      { "uePositioningAssistanceInfo-r17", "nr-rrc.uePositioningAssistanceInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measurementReportAppLayer_r17,
      { "measurementReportAppLayer-r17", "nr-rrc.measurementReportAppLayer_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtensionFuture_r16,
      { "messageClassExtensionFuture-r16", "nr-rrc.messageClassExtensionFuture_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrc_TransactionIdentifier,
      { "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_07,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_07_vals), 0,
        "T_criticalExtensions_07", HFILL }},
    { &hf_nr_rrc_counterCheck_01,
      { "counterCheck", "nr-rrc.counterCheck_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CounterCheck_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_07,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_07", HFILL }},
    { &hf_nr_rrc_drb_CountMSB_InfoList,
      { "drb-CountMSB-InfoList", "nr-rrc.drb_CountMSB_InfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lateNonCriticalExtension,
      { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_29,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_07", HFILL }},
    { &hf_nr_rrc_DRB_CountMSB_InfoList_item,
      { "DRB-CountMSB-Info", "nr-rrc.DRB_CountMSB_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_Identity,
      { "drb-Identity", "nr-rrc.drb_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_countMSB_Uplink,
      { "countMSB-Uplink", "nr-rrc.countMSB_Uplink",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_33554431", HFILL }},
    { &hf_nr_rrc_countMSB_Downlink,
      { "countMSB-Downlink", "nr-rrc.countMSB_Downlink",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_33554431", HFILL }},
    { &hf_nr_rrc_criticalExtensions_08,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_08_vals), 0,
        "T_criticalExtensions_08", HFILL }},
    { &hf_nr_rrc_counterCheckResponse_01,
      { "counterCheckResponse", "nr-rrc.counterCheckResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CounterCheckResponse_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_08,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_08", HFILL }},
    { &hf_nr_rrc_drb_CountInfoList,
      { "drb-CountInfoList", "nr-rrc.drb_CountInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_30,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_08", HFILL }},
    { &hf_nr_rrc_DRB_CountInfoList_item,
      { "DRB-CountInfo", "nr-rrc.DRB_CountInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_count_Uplink,
      { "count-Uplink", "nr-rrc.count_Uplink",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4294967295", HFILL }},
    { &hf_nr_rrc_count_Downlink,
      { "count-Downlink", "nr-rrc.count_Downlink",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4294967295", HFILL }},
    { &hf_nr_rrc_criticalExtensions_09,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_09_vals), 0,
        "T_criticalExtensions_09", HFILL }},
    { &hf_nr_rrc_dedicatedSIBRequest_r16_01,
      { "dedicatedSIBRequest-r16", "nr-rrc.dedicatedSIBRequest_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DedicatedSIBRequest_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_09,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_09", HFILL }},
    { &hf_nr_rrc_onDemandSIB_RequestList_r16,
      { "onDemandSIB-RequestList-r16", "nr-rrc.onDemandSIB_RequestList_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_onDemandSIB_RequestList_r16", HFILL }},
    { &hf_nr_rrc_requestedSIB_List_r16,
      { "requestedSIB-List-r16", "nr-rrc.requestedSIB_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16", HFILL }},
    { &hf_nr_rrc_requestedSIB_List_r16_item,
      { "SIB-ReqInfo-r16", "nr-rrc.SIB_ReqInfo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SIB_ReqInfo_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_requestedPosSIB_List_r16,
      { "requestedPosSIB-List-r16", "nr-rrc.requestedPosSIB_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16", HFILL }},
    { &hf_nr_rrc_requestedPosSIB_List_r16_item,
      { "PosSIB-ReqInfo-r16", "nr-rrc.PosSIB_ReqInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_31,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_09", HFILL }},
    { &hf_nr_rrc_gnss_id_r16,
      { "gnss-id-r16", "nr-rrc.gnss_id_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sbas_id_r16,
      { "sbas-id-r16", "nr-rrc.sbas_id_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSibType_r16,
      { "posSibType-r16", "nr-rrc.posSibType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSibType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_10,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_10_vals), 0,
        "T_criticalExtensions_10", HFILL }},
    { &hf_nr_rrc_dlDedicatedMessageSegment_r16_01,
      { "dlDedicatedMessageSegment-r16", "nr-rrc.dlDedicatedMessageSegment_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DLDedicatedMessageSegment_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_10,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_10", HFILL }},
    { &hf_nr_rrc_segmentNumber_r16,
      { "segmentNumber-r16", "nr-rrc.segmentNumber_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_rrc_MessageSegmentContainer_r16,
      { "rrc-MessageSegmentContainer-r16", "nr-rrc.rrc_MessageSegmentContainer_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_rrc_MessageSegmentType_r16,
      { "rrc-MessageSegmentType-r16", "nr-rrc.rrc_MessageSegmentType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrc_MessageSegmentType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_32,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_10", HFILL }},
    { &hf_nr_rrc_criticalExtensions_11,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_11_vals), 0,
        "T_criticalExtensions_11", HFILL }},
    { &hf_nr_rrc_dlInformationTransfer_01,
      { "dlInformationTransfer", "nr-rrc.dlInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DLInformationTransfer_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_11,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_11", HFILL }},
    { &hf_nr_rrc_dedicatedNAS_Message,
      { "dedicatedNAS-Message", "nr-rrc.dedicatedNAS_Message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_33,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DLInformationTransfer_v1610_IEs", HFILL }},
    { &hf_nr_rrc_referenceTimeInfo_r16,
      { "referenceTimeInfo-r16", "nr-rrc.referenceTimeInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_34,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DLInformationTransfer_v1700_IEs", HFILL }},
    { &hf_nr_rrc_dedicatedInfoF1c_r17,
      { "dedicatedInfoF1c-r17", "nr-rrc.dedicatedInfoF1c_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rxTxTimeDiff_gNB_r17,
      { "rxTxTimeDiff-gNB-r17", "nr-rrc.rxTxTimeDiff_gNB_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RxTxTimeDiff_r17", HFILL }},
    { &hf_nr_rrc_ta_PDC_r17,
      { "ta-PDC-r17", "nr-rrc.ta_PDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ta_PDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib9Fallback_r17,
      { "sib9Fallback-r17", "nr-rrc.sib9Fallback_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sib9Fallback_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_35,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_11", HFILL }},
    { &hf_nr_rrc_criticalExtensions_12,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_12_vals), 0,
        "T_criticalExtensions_12", HFILL }},
    { &hf_nr_rrc_c1_15,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_15_vals), 0,
        "T_c1_15", HFILL }},
    { &hf_nr_rrc_dlInformationTransferMRDC_r16_01,
      { "dlInformationTransferMRDC-r16", "nr-rrc.dlInformationTransferMRDC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DLInformationTransferMRDC_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_12,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_12", HFILL }},
    { &hf_nr_rrc_dl_DCCH_MessageNR_r16,
      { "dl-DCCH-MessageNR-r16", "nr-rrc.dl_DCCH_MessageNR_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_DCCH_MessageEUTRA_r16,
      { "dl-DCCH-MessageEUTRA-r16", "nr-rrc.dl_DCCH_MessageEUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_36,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_12", HFILL }},
    { &hf_nr_rrc_criticalExtensions_13,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_13_vals), 0,
        "T_criticalExtensions_13", HFILL }},
    { &hf_nr_rrc_failureInformation_01,
      { "failureInformation", "nr-rrc.failureInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FailureInformation_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_13,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_13", HFILL }},
    { &hf_nr_rrc_failureInfoRLC_Bearer,
      { "failureInfoRLC-Bearer", "nr-rrc.failureInfoRLC_Bearer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_37,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FailureInformation_v1610_IEs", HFILL }},
    { &hf_nr_rrc_cellGroupId,
      { "cellGroupId", "nr-rrc.cellGroupId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logicalChannelIdentity,
      { "logicalChannelIdentity", "nr-rrc.logicalChannelIdentity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureType_01,
      { "failureType", "nr-rrc.failureType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_01_vals), 0,
        "T_failureType_01", HFILL }},
    { &hf_nr_rrc_failureInfoDAPS_r16,
      { "failureInfoDAPS-r16", "nr-rrc.failureInfoDAPS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_38,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_13", HFILL }},
    { &hf_nr_rrc_failureType_r16_01,
      { "failureType-r16", "nr-rrc.failureType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_r16_01_vals), 0,
        "T_failureType_r16_01", HFILL }},
    { &hf_nr_rrc_criticalExtensions_14,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_14_vals), 0,
        "T_criticalExtensions_14", HFILL }},
    { &hf_nr_rrc_iabOtherInformation_r16_01,
      { "iabOtherInformation-r16", "nr-rrc.iabOtherInformation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IABOtherInformation_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_14,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_14", HFILL }},
    { &hf_nr_rrc_ip_InfoType_r16,
      { "ip-InfoType-r16", "nr-rrc.ip_InfoType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ip_InfoType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_IP_Request_r16,
      { "iab-IP-Request-r16", "nr-rrc.iab_IP_Request_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_iab_IP_Request_r16", HFILL }},
    { &hf_nr_rrc_iab_IPv4_AddressNumReq_r16,
      { "iab-IPv4-AddressNumReq-r16", "nr-rrc.iab_IPv4_AddressNumReq_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_IP_AddressNumReq_r16", HFILL }},
    { &hf_nr_rrc_iab_IPv6_AddressReq_r16,
      { "iab-IPv6-AddressReq-r16", "nr-rrc.iab_IPv6_AddressReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_IPv6_AddressReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_IPv6_AddressNumReq_r16,
      { "iab-IPv6-AddressNumReq-r16", "nr-rrc.iab_IPv6_AddressNumReq_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_IP_AddressNumReq_r16", HFILL }},
    { &hf_nr_rrc_iab_IPv6_AddressPrefixReq_r16,
      { "iab-IPv6-AddressPrefixReq-r16", "nr-rrc.iab_IPv6_AddressPrefixReq_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_IP_AddressPrefixReq_r16", HFILL }},
    { &hf_nr_rrc_iab_IP_Report_r16,
      { "iab-IP-Report-r16", "nr-rrc.iab_IP_Report_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_iab_IP_Report_r16", HFILL }},
    { &hf_nr_rrc_iab_IPv4_AddressReport_r16,
      { "iab-IPv4-AddressReport-r16", "nr-rrc.iab_IPv4_AddressReport_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_IP_AddressAndTraffic_r16", HFILL }},
    { &hf_nr_rrc_iab_IPv6_Report_r16,
      { "iab-IPv6-Report-r16", "nr-rrc.iab_IPv6_Report_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_IPv6_Report_r16_vals), 0,
        "T_iab_IPv6_Report_r16", HFILL }},
    { &hf_nr_rrc_iab_IPv6_AddressReport_r16,
      { "iab-IPv6-AddressReport-r16", "nr-rrc.iab_IPv6_AddressReport_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_IP_AddressAndTraffic_r16", HFILL }},
    { &hf_nr_rrc_iab_IPv6_PrefixReport_r16,
      { "iab-IPv6-PrefixReport-r16", "nr-rrc.iab_IPv6_PrefixReport_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_IP_PrefixAndTraffic_r16", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_39,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_14", HFILL }},
    { &hf_nr_rrc_all_Traffic_NumReq_r16,
      { "all-Traffic-NumReq-r16", "nr-rrc.all_Traffic_NumReq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_f1_C_Traffic_NumReq_r16,
      { "f1-C-Traffic-NumReq-r16", "nr-rrc.f1_C_Traffic_NumReq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_f1_U_Traffic_NumReq_r16,
      { "f1-U-Traffic-NumReq-r16", "nr-rrc.f1_U_Traffic_NumReq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_non_F1_Traffic_NumReq_r16,
      { "non-F1-Traffic-NumReq-r16", "nr-rrc.non_F1_Traffic_NumReq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_all_Traffic_PrefixReq_r16,
      { "all-Traffic-PrefixReq-r16", "nr-rrc.all_Traffic_PrefixReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_all_Traffic_PrefixReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_f1_C_Traffic_PrefixReq_r16,
      { "f1-C-Traffic-PrefixReq-r16", "nr-rrc.f1_C_Traffic_PrefixReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1_C_Traffic_PrefixReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_f1_U_Traffic_PrefixReq_r16,
      { "f1-U-Traffic-PrefixReq-r16", "nr-rrc.f1_U_Traffic_PrefixReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1_U_Traffic_PrefixReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_F1_Traffic_PrefixReq_r16,
      { "non-F1-Traffic-PrefixReq-r16", "nr-rrc.non_F1_Traffic_PrefixReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_F1_Traffic_PrefixReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16,
      { "all-Traffic-IAB-IP-Address-r16", "nr-rrc.all_Traffic_IAB_IP_Address_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16", HFILL }},
    { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_item,
      { "IAB-IP-Address-r16", "nr-rrc.IAB_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16,
      { "f1-C-Traffic-IP-Address-r16", "nr-rrc.f1_C_Traffic_IP_Address_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16", HFILL }},
    { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16_item,
      { "IAB-IP-Address-r16", "nr-rrc.IAB_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16,
      { "f1-U-Traffic-IP-Address-r16", "nr-rrc.f1_U_Traffic_IP_Address_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16", HFILL }},
    { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16_item,
      { "IAB-IP-Address-r16", "nr-rrc.IAB_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16,
      { "non-F1-Traffic-IP-Address-r16", "nr-rrc.non_F1_Traffic_IP_Address_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16", HFILL }},
    { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16_item,
      { "IAB-IP-Address-r16", "nr-rrc.IAB_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_01,
      { "all-Traffic-IAB-IP-Address-r16", "nr-rrc.all_Traffic_IAB_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        "IAB_IP_Address_r16", HFILL }},
    { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16_01,
      { "f1-C-Traffic-IP-Address-r16", "nr-rrc.f1_C_Traffic_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        "IAB_IP_Address_r16", HFILL }},
    { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16_01,
      { "f1-U-Traffic-IP-Address-r16", "nr-rrc.f1_U_Traffic_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        "IAB_IP_Address_r16", HFILL }},
    { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16_01,
      { "non-F1-Traffic-IP-Address-r16", "nr-rrc.non_F1_Traffic_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        "IAB_IP_Address_r16", HFILL }},
    { &hf_nr_rrc_criticalExtensions_15,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_15_vals), 0,
        "T_criticalExtensions_15", HFILL }},
    { &hf_nr_rrc_locationMeasurementIndication_01,
      { "locationMeasurementIndication", "nr-rrc.locationMeasurementIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LocationMeasurementIndication_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_15,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_15", HFILL }},
    { &hf_nr_rrc_measurementIndication,
      { "measurementIndication", "nr-rrc.measurementIndication",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementIndication_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_01,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_LocationMeasurementInfo_vals), 0,
        "LocationMeasurementInfo", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_40,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_15", HFILL }},
    { &hf_nr_rrc_criticalExtensions_16,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_16_vals), 0,
        "T_criticalExtensions_16", HFILL }},
    { &hf_nr_rrc_loggedMeasurementConfiguration_r16_01,
      { "loggedMeasurementConfiguration-r16", "nr-rrc.loggedMeasurementConfiguration_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LoggedMeasurementConfiguration_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_16,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_16", HFILL }},
    { &hf_nr_rrc_traceReference_r16,
      { "traceReference-r16", "nr-rrc.traceReference_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_traceRecordingSessionRef_r16,
      { "traceRecordingSessionRef-r16", "nr-rrc.traceRecordingSessionRef_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_tce_Id_r16,
      { "tce-Id-r16", "nr-rrc.tce_Id_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_1", HFILL }},
    { &hf_nr_rrc_absoluteTimeInfo_r16,
      { "absoluteTimeInfo-r16", "nr-rrc.absoluteTimeInfo_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_areaConfiguration_r16,
      { "areaConfiguration-r16", "nr-rrc.areaConfiguration_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_IdentityList_r16,
      { "plmn-IdentityList-r16", "nr-rrc.plmn_IdentityList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PLMN_IdentityList2_r16", HFILL }},
    { &hf_nr_rrc_bt_NameList_r16,
      { "bt-NameList-r16", "nr-rrc.bt_NameList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bt_NameList_r16_vals), 0,
        "T_bt_NameList_r16", HFILL }},
    { &hf_nr_rrc_setup_02,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BT_NameList_r16", HFILL }},
    { &hf_nr_rrc_wlan_NameList_r16,
      { "wlan-NameList-r16", "nr-rrc.wlan_NameList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlan_NameList_r16_vals), 0,
        "T_wlan_NameList_r16", HFILL }},
    { &hf_nr_rrc_setup_03,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "WLAN_NameList_r16", HFILL }},
    { &hf_nr_rrc_sensor_NameList_r16,
      { "sensor-NameList-r16", "nr-rrc.sensor_NameList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sensor_NameList_r16_vals), 0,
        "T_sensor_NameList_r16", HFILL }},
    { &hf_nr_rrc_setup_04,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Sensor_NameList_r16", HFILL }},
    { &hf_nr_rrc_loggingDuration_r16,
      { "loggingDuration-r16", "nr-rrc.loggingDuration_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_LoggingDuration_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportType,
      { "reportType", "nr-rrc.reportType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodical,
      { "periodical", "nr-rrc.periodical_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LoggedPeriodicalReportConfig_r16", HFILL }},
    { &hf_nr_rrc_eventTriggered,
      { "eventTriggered", "nr-rrc.eventTriggered_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LoggedEventTriggerConfig_r16", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_41,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LoggedMeasurementConfiguration_v1700_IEs", HFILL }},
    { &hf_nr_rrc_sigLoggedMeasType_r17,
      { "sigLoggedMeasType-r17", "nr-rrc.sigLoggedMeasType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sigLoggedMeasType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_earlyMeasIndication_r17,
      { "earlyMeasIndication-r17", "nr-rrc.earlyMeasIndication_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_earlyMeasIndication_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_areaConfiguration_v1700,
      { "areaConfiguration-v1700", "nr-rrc.areaConfiguration_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_42,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_16", HFILL }},
    { &hf_nr_rrc_loggingInterval_r16,
      { "loggingInterval-r16", "nr-rrc.loggingInterval_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_LoggingInterval_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventType_r16,
      { "eventType-r16", "nr-rrc.eventType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_EventType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_outOfCoverage,
      { "outOfCoverage", "nr-rrc.outOfCoverage_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventL1,
      { "eventL1", "nr-rrc.eventL1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_l1_Threshold,
      { "l1-Threshold", "nr-rrc.l1_Threshold",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_hysteresis,
      { "hysteresis", "nr-rrc.hysteresis",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeToTrigger,
      { "timeToTrigger", "nr-rrc.timeToTrigger",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_17,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_17_vals), 0,
        "T_criticalExtensions_17", HFILL }},
    { &hf_nr_rrc_mbsBroadcastConfiguration_r17_01,
      { "mbsBroadcastConfiguration-r17", "nr-rrc.mbsBroadcastConfiguration_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MBSBroadcastConfiguration_r17_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_17,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_17", HFILL }},
    { &hf_nr_rrc_mbs_SessionInfoList_r17,
      { "mbs-SessionInfoList-r17", "nr-rrc.mbs_SessionInfoList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mbs_NeighbourCellList_r17,
      { "mbs-NeighbourCellList-r17", "nr-rrc.mbs_NeighbourCellList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_ConfigPTM_List_r17,
      { "drx-ConfigPTM-List-r17", "nr-rrc.drx_ConfigPTM_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17", HFILL }},
    { &hf_nr_rrc_drx_ConfigPTM_List_r17_item,
      { "DRX-ConfigPTM-r17", "nr-rrc.DRX_ConfigPTM_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_ConfigMTCH_r17,
      { "pdsch-ConfigMTCH-r17", "nr-rrc.pdsch_ConfigMTCH_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDSCH_ConfigBroadcast_r17", HFILL }},
    { &hf_nr_rrc_mtch_SSB_MappingWindowList_r17,
      { "mtch-SSB-MappingWindowList-r17", "nr-rrc.mtch_SSB_MappingWindowList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_43,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_17", HFILL }},
    { &hf_nr_rrc_criticalExtensions_18,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_18_vals), 0,
        "T_criticalExtensions_18", HFILL }},
    { &hf_nr_rrc_mbsInterestIndication_r17_02,
      { "mbsInterestIndication-r17", "nr-rrc.mbsInterestIndication_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MBSInterestIndication_r17_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_18,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_18", HFILL }},
    { &hf_nr_rrc_mbs_FreqList_r17,
      { "mbs-FreqList-r17", "nr-rrc.mbs_FreqList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CarrierFreqListMBS_r17", HFILL }},
    { &hf_nr_rrc_mbs_Priority_r17,
      { "mbs-Priority-r17", "nr-rrc.mbs_Priority_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mbs_Priority_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mbs_ServiceList_r17,
      { "mbs-ServiceList-r17", "nr-rrc.mbs_ServiceList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_44,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_18", HFILL }},
    { &hf_nr_rrc_criticalExtensions_19,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_19_vals), 0,
        "T_criticalExtensions_19", HFILL }},
    { &hf_nr_rrc_mcgFailureInformation_r16_01,
      { "mcgFailureInformation-r16", "nr-rrc.mcgFailureInformation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MCGFailureInformation_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_19,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_19", HFILL }},
    { &hf_nr_rrc_failureReportMCG_r16,
      { "failureReportMCG-r16", "nr-rrc.failureReportMCG_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_45,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_19", HFILL }},
    { &hf_nr_rrc_failureType_r16_02,
      { "failureType-r16", "nr-rrc.failureType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_r16_02_vals), 0,
        "T_failureType_r16_02", HFILL }},
    { &hf_nr_rrc_measResultFreqList_r16,
      { "measResultFreqList-r16", "nr-rrc.measResultFreqList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2NR", HFILL }},
    { &hf_nr_rrc_measResultFreqListEUTRA_r16,
      { "measResultFreqListEUTRA-r16", "nr-rrc.measResultFreqListEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2EUTRA", HFILL }},
    { &hf_nr_rrc_measResultSCG_r16_01,
      { "measResultSCG-r16", "nr-rrc.measResultSCG_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_measResultSCG_r16_01", HFILL }},
    { &hf_nr_rrc_measResultSCG_EUTRA_r16_01,
      { "measResultSCG-EUTRA-r16", "nr-rrc.measResultSCG_EUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultFreqListUTRA_FDD_r16,
      { "measResultFreqListUTRA-FDD-r16", "nr-rrc.measResultFreqListUTRA_FDD_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2UTRA", HFILL }},
    { &hf_nr_rrc_MeasResultList2UTRA_item,
      { "MeasResult2UTRA-FDD-r16", "nr-rrc.MeasResult2UTRA_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierFreq_r16,
      { "carrierFreq-r16", "nr-rrc.carrierFreq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueUTRA_FDD_r16", HFILL }},
    { &hf_nr_rrc_measResultNeighCellList_r16,
      { "measResultNeighCellList-r16", "nr-rrc.measResultNeighCellList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultListUTRA_FDD_r16", HFILL }},
    { &hf_nr_rrc_MeasResultList2EUTRA_item,
      { "MeasResult2EUTRA-r16", "nr-rrc.MeasResult2EUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_20,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_20_vals), 0,
        "T_criticalExtensions_20", HFILL }},
    { &hf_nr_rrc_measurementReport_01,
      { "measurementReport", "nr-rrc.measurementReport_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasurementReport_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_20,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_20", HFILL }},
    { &hf_nr_rrc_measResults,
      { "measResults", "nr-rrc.measResults_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_46,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_20", HFILL }},
    { &hf_nr_rrc_criticalExtensions_21,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_21_vals), 0,
        "T_criticalExtensions_21", HFILL }},
    { &hf_nr_rrc_measurementReportAppLayer_r17_01,
      { "measurementReportAppLayer-r17", "nr-rrc.measurementReportAppLayer_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasurementReportAppLayer_r17_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_21,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_21", HFILL }},
    { &hf_nr_rrc_measurementReportAppLayerList_r17,
      { "measurementReportAppLayerList-r17", "nr-rrc.measurementReportAppLayerList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_47,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_21", HFILL }},
    { &hf_nr_rrc_MeasurementReportAppLayerList_r17_item,
      { "MeasReportAppLayer-r17", "nr-rrc.MeasReportAppLayer_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measConfigAppLayerId_r17,
      { "measConfigAppLayerId-r17", "nr-rrc.measConfigAppLayerId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measReportAppLayerContainer_r17,
      { "measReportAppLayerContainer-r17", "nr-rrc.measReportAppLayerContainer_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_appLayerSessionStatus_r17,
      { "appLayerSessionStatus-r17", "nr-rrc.appLayerSessionStatus_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_appLayerSessionStatus_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ran_VisibleMeasurements_r17,
      { "ran-VisibleMeasurements-r17", "nr-rrc.ran_VisibleMeasurements_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_appLayerBufferLevelList_r17,
      { "appLayerBufferLevelList-r17", "nr-rrc.appLayerBufferLevelList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17", HFILL }},
    { &hf_nr_rrc_appLayerBufferLevelList_r17_item,
      { "AppLayerBufferLevel-r17", "nr-rrc.AppLayerBufferLevel_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_playoutDelayForMediaStartup_r17,
      { "playoutDelayForMediaStartup-r17", "nr-rrc.playoutDelayForMediaStartup_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_30000", HFILL }},
    { &hf_nr_rrc_pdu_SessionIdList_r17,
      { "pdu-SessionIdList-r17", "nr-rrc.pdu_SessionIdList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID", HFILL }},
    { &hf_nr_rrc_pdu_SessionIdList_r17_item,
      { "PDU-SessionID", "nr-rrc.PDU_SessionID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_systemFrameNumber,
      { "systemFrameNumber", "nr-rrc.systemFrameNumber",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_subCarrierSpacingCommon,
      { "subCarrierSpacingCommon", "nr-rrc.subCarrierSpacingCommon",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subCarrierSpacingCommon_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_SubcarrierOffset,
      { "ssb-SubcarrierOffset", "nr-rrc.ssb_SubcarrierOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_dmrs_TypeA_Position,
      { "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_ConfigSIB1,
      { "pdcch-ConfigSIB1", "nr-rrc.pdcch_ConfigSIB1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellBarred,
      { "cellBarred", "nr-rrc.cellBarred",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellBarred_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqReselection,
      { "intraFreqReselection", "nr-rrc.intraFreqReselection",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqReselection_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare,
      { "spare", "nr-rrc.spare",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1", HFILL }},
    { &hf_nr_rrc_criticalExtensions_22,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_22_vals), 0,
        "T_criticalExtensions_22", HFILL }},
    { &hf_nr_rrc_mobilityFromNRCommand_01,
      { "mobilityFromNRCommand", "nr-rrc.mobilityFromNRCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MobilityFromNRCommand_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_22,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_22", HFILL }},
    { &hf_nr_rrc_targetRAT_Type,
      { "targetRAT-Type", "nr-rrc.targetRAT_Type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_targetRAT_Type_vals), 0,
        "T_targetRAT_Type", HFILL }},
    { &hf_nr_rrc_targetRAT_MessageContainer,
      { "targetRAT-MessageContainer", "nr-rrc.targetRAT_MessageContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_targetRAT_MessageContainer", HFILL }},
    { &hf_nr_rrc_nas_SecurityParamFromNR,
      { "nas-SecurityParamFromNR", "nr-rrc.nas_SecurityParamFromNR",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_48,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MobilityFromNRCommand_v1610_IEs", HFILL }},
    { &hf_nr_rrc_voiceFallbackIndication_r16,
      { "voiceFallbackIndication-r16", "nr-rrc.voiceFallbackIndication_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceFallbackIndication_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_49,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_22", HFILL }},
    { &hf_nr_rrc_pagingRecordList,
      { "pagingRecordList", "nr-rrc.pagingRecordList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_50,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Paging_v1700_IEs", HFILL }},
    { &hf_nr_rrc_pagingRecordList_v1700,
      { "pagingRecordList-v1700", "nr-rrc.pagingRecordList_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pagingGroupList_r17,
      { "pagingGroupList-r17", "nr-rrc.pagingGroupList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_51,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_23", HFILL }},
    { &hf_nr_rrc_PagingRecordList_item,
      { "PagingRecord", "nr-rrc.PagingRecord_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PagingRecordList_v1700_item,
      { "PagingRecord-v1700", "nr-rrc.PagingRecord_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PagingGroupList_r17_item,
      { "TMGI-r17", "nr-rrc.TMGI_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_Identity,
      { "ue-Identity", "nr-rrc.ue_Identity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingUE_Identity_vals), 0,
        "PagingUE_Identity", HFILL }},
    { &hf_nr_rrc_accessType,
      { "accessType", "nr-rrc.accessType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_accessType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pagingCause_r17,
      { "pagingCause-r17", "nr-rrc.pagingCause_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pagingCause_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ng_5G_S_TMSI,
      { "ng-5G-S-TMSI", "nr-rrc.ng_5G_S_TMSI",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fullI_RNTI,
      { "fullI-RNTI", "nr-rrc.fullI_RNTI",
        FT_BYTES, BASE_NONE, NULL, 0,
        "I_RNTI_Value", HFILL }},
    { &hf_nr_rrc_criticalExtensions_23,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_23_vals), 0,
        "T_criticalExtensions_23", HFILL }},
    { &hf_nr_rrc_rrcReestablishment_01,
      { "rrcReestablishment", "nr-rrc.rrcReestablishment_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReestablishment_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_23,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_23", HFILL }},
    { &hf_nr_rrc_nextHopChainingCount,
      { "nextHopChainingCount", "nr-rrc.nextHopChainingCount",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_52,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReestablishment_v1700_IEs", HFILL }},
    { &hf_nr_rrc_sl_L2RemoteUE_Config_r17,
      { "sl-L2RemoteUE-Config-r17", "nr-rrc.sl_L2RemoteUE_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_L2RemoteUE_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_05,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_L2RemoteUE_Config_r17", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_53,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_24", HFILL }},
    { &hf_nr_rrc_criticalExtensions_24,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_24_vals), 0,
        "T_criticalExtensions_24", HFILL }},
    { &hf_nr_rrc_rrcReestablishmentComplete_01,
      { "rrcReestablishmentComplete", "nr-rrc.rrcReestablishmentComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReestablishmentComplete_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_24,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_24", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_54,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReestablishmentComplete_v1610_IEs", HFILL }},
    { &hf_nr_rrc_ue_MeasurementsAvailable_r16,
      { "ue-MeasurementsAvailable-r16", "nr-rrc.ue_MeasurementsAvailable_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_55,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_25", HFILL }},
    { &hf_nr_rrc_rrcReestablishmentRequest_01,
      { "rrcReestablishmentRequest", "nr-rrc.rrcReestablishmentRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReestablishmentRequest_IEs", HFILL }},
    { &hf_nr_rrc_ue_Identity_01,
      { "ue-Identity", "nr-rrc.ue_Identity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReestabUE_Identity", HFILL }},
    { &hf_nr_rrc_reestablishmentCause,
      { "reestablishmentCause", "nr-rrc.reestablishmentCause",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ReestablishmentCause_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_c_RNTI,
      { "c-RNTI", "nr-rrc.c_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_criticalExtensions_25,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_25_vals), 0,
        "T_criticalExtensions_25", HFILL }},
    { &hf_nr_rrc_rrcReconfiguration_02,
      { "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfiguration_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_25,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_25", HFILL }},
    { &hf_nr_rrc_radioBearerConfig,
      { "radioBearerConfig", "nr-rrc.radioBearerConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_secondaryCellGroup,
      { "secondaryCellGroup", "nr-rrc.secondaryCellGroup",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measConfig,
      { "measConfig", "nr-rrc.measConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_56,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfiguration_v1530_IEs", HFILL }},
    { &hf_nr_rrc_masterCellGroup,
      { "masterCellGroup", "nr-rrc.masterCellGroup",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fullConfig,
      { "fullConfig", "nr-rrc.fullConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fullConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dedicatedNAS_MessageList,
      { "dedicatedNAS-MessageList", "nr-rrc.dedicatedNAS_MessageList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message", HFILL }},
    { &hf_nr_rrc_dedicatedNAS_MessageList_item,
      { "DedicatedNAS-Message", "nr-rrc.DedicatedNAS_Message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_masterKeyUpdate,
      { "masterKeyUpdate", "nr-rrc.masterKeyUpdate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dedicatedSIB1_Delivery,
      { "dedicatedSIB1-Delivery", "nr-rrc.dedicatedSIB1_Delivery",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dedicatedSystemInformationDelivery,
      { "dedicatedSystemInformationDelivery", "nr-rrc.dedicatedSystemInformationDelivery",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_otherConfig,
      { "otherConfig", "nr-rrc.otherConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_57,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfiguration_v1540_IEs", HFILL }},
    { &hf_nr_rrc_otherConfig_v1540,
      { "otherConfig-v1540", "nr-rrc.otherConfig_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_58,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfiguration_v1560_IEs", HFILL }},
    { &hf_nr_rrc_mrdc_SecondaryCellGroupConfig,
      { "mrdc-SecondaryCellGroupConfig", "nr-rrc.mrdc_SecondaryCellGroupConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_SecondaryCellGroupConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_06,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MRDC_SecondaryCellGroupConfig", HFILL }},
    { &hf_nr_rrc_radioBearerConfig2,
      { "radioBearerConfig2", "nr-rrc.radioBearerConfig2",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sk_Counter,
      { "sk-Counter", "nr-rrc.sk_Counter",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_59,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfiguration_v1610_IEs", HFILL }},
    { &hf_nr_rrc_otherConfig_v1610,
      { "otherConfig-v1610", "nr-rrc.otherConfig_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bap_Config_r16,
      { "bap-Config-r16", "nr-rrc.bap_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bap_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_07,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BAP_Config_r16", HFILL }},
    { &hf_nr_rrc_iab_IP_AddressConfigurationList_r16,
      { "iab-IP-AddressConfigurationList-r16", "nr-rrc.iab_IP_AddressConfigurationList_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_conditionalReconfiguration_r16,
      { "conditionalReconfiguration-r16", "nr-rrc.conditionalReconfiguration_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_daps_SourceRelease_r16,
      { "daps-SourceRelease-r16", "nr-rrc.daps_SourceRelease_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_daps_SourceRelease_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t316_r16,
      { "t316-r16", "nr-rrc.t316_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t316_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_08,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T316_r16_vals), 0,
        "T316_r16", HFILL }},
    { &hf_nr_rrc_needForGapsConfigNR_r16,
      { "needForGapsConfigNR-r16", "nr-rrc.needForGapsConfigNR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGapsConfigNR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_09,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NeedForGapsConfigNR_r16", HFILL }},
    { &hf_nr_rrc_onDemandSIB_Request_r16,
      { "onDemandSIB-Request-r16", "nr-rrc.onDemandSIB_Request_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onDemandSIB_Request_r16_vals), 0,
        "T_onDemandSIB_Request_r16", HFILL }},
    { &hf_nr_rrc_setup_10,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "OnDemandSIB_Request_r16", HFILL }},
    { &hf_nr_rrc_dedicatedPosSysInfoDelivery_r16,
      { "dedicatedPosSysInfoDelivery-r16", "nr-rrc.dedicatedPosSysInfoDelivery_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ConfigDedicatedNR_r16,
      { "sl-ConfigDedicatedNR-r16", "nr-rrc.sl_ConfigDedicatedNR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ConfigDedicatedNR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_11,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_ConfigDedicatedNR_r16", HFILL }},
    { &hf_nr_rrc_sl_ConfigDedicatedEUTRA_Info_r16,
      { "sl-ConfigDedicatedEUTRA-Info-r16", "nr-rrc.sl_ConfigDedicatedEUTRA_Info_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_12,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_ConfigDedicatedEUTRA_Info_r16", HFILL }},
    { &hf_nr_rrc_targetCellSMTC_SCG_r16,
      { "targetCellSMTC-SCG-r16", "nr-rrc.targetCellSMTC_SCG_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_MTC", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_60,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfiguration_v1700_IEs", HFILL }},
    { &hf_nr_rrc_otherConfig_v1700,
      { "otherConfig-v1700", "nr-rrc.otherConfig_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_L2RelayUE_Config_r17,
      { "sl-L2RelayUE-Config-r17", "nr-rrc.sl_L2RelayUE_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_L2RelayUE_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_13,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_L2RelayUE_Config_r17", HFILL }},
    { &hf_nr_rrc_sl_L2RemoteUE_Config_r17_01,
      { "sl-L2RemoteUE-Config-r17", "nr-rrc.sl_L2RemoteUE_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_L2RemoteUE_Config_r17_01_vals), 0,
        "T_sl_L2RemoteUE_Config_r17_01", HFILL }},
    { &hf_nr_rrc_dedicatedPagingDelivery_r17,
      { "dedicatedPagingDelivery-r17", "nr-rrc.dedicatedPagingDelivery_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_needForGapNCSG_ConfigNR_r17,
      { "needForGapNCSG-ConfigNR-r17", "nr-rrc.needForGapNCSG_ConfigNR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGapNCSG_ConfigNR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_14,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NeedForGapNCSG_ConfigNR_r17", HFILL }},
    { &hf_nr_rrc_needForGapNCSG_ConfigEUTRA_r17,
      { "needForGapNCSG-ConfigEUTRA-r17", "nr-rrc.needForGapNCSG_ConfigEUTRA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_15,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NeedForGapNCSG_ConfigEUTRA_r17", HFILL }},
    { &hf_nr_rrc_musim_GapConfig_r17,
      { "musim-GapConfig-r17", "nr-rrc.musim_GapConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_GapConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_16,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MUSIM_GapConfig_r17", HFILL }},
    { &hf_nr_rrc_ul_GapFR2_Config_r17,
      { "ul-GapFR2-Config-r17", "nr-rrc.ul_GapFR2_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_GapFR2_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_17,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UL_GapFR2_Config_r17", HFILL }},
    { &hf_nr_rrc_scg_State_r17,
      { "scg-State-r17", "nr-rrc.scg_State_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_State_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_appLayerMeasConfig_r17,
      { "appLayerMeasConfig-r17", "nr-rrc.appLayerMeasConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_TxTEG_RequestUL_TDOA_Config_r17,
      { "ue-TxTEG-RequestUL-TDOA-Config-r17", "nr-rrc.ue_TxTEG_RequestUL_TDOA_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_TxTEG_RequestUL_TDOA_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_18,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_UE_TxTEG_RequestUL_TDOA_Config_r17_vals), 0,
        "UE_TxTEG_RequestUL_TDOA_Config_r17", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_61,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_26", HFILL }},
    { &hf_nr_rrc_mrdc_ReleaseAndAdd,
      { "mrdc-ReleaseAndAdd", "nr-rrc.mrdc_ReleaseAndAdd",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_ReleaseAndAdd_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_SecondaryCellGroup,
      { "mrdc-SecondaryCellGroup", "nr-rrc.mrdc_SecondaryCellGroup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_SecondaryCellGroup_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_SCG,
      { "nr-SCG", "nr-rrc.nr_SCG",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_SCG,
      { "eutra-SCG", "nr-rrc.eutra_SCG",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bap_Address_r16,
      { "bap-Address-r16", "nr-rrc.bap_Address_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_defaultUL_BAP_RoutingID_r16,
      { "defaultUL-BAP-RoutingID-r16", "nr-rrc.defaultUL_BAP_RoutingID_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BAP_RoutingID_r16", HFILL }},
    { &hf_nr_rrc_defaultUL_BH_RLC_Channel_r16,
      { "defaultUL-BH-RLC-Channel-r16", "nr-rrc.defaultUL_BH_RLC_Channel_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BH_RLC_ChannelID_r16", HFILL }},
    { &hf_nr_rrc_flowControlFeedbackType_r16,
      { "flowControlFeedbackType-r16", "nr-rrc.flowControlFeedbackType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_flowControlFeedbackType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_keySetChangeIndicator,
      { "keySetChangeIndicator", "nr-rrc.keySetChangeIndicator",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_nas_Container,
      { "nas-Container", "nr-rrc.nas_Container",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_onDemandSIB_RequestProhibitTimer_r16,
      { "onDemandSIB-RequestProhibitTimer-r16", "nr-rrc.onDemandSIB_RequestProhibitTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onDemandSIB_RequestProhibitTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_IP_AddressToAddModList_r16,
      { "iab-IP-AddressToAddModList-r16", "nr-rrc.iab_IP_AddressToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16", HFILL }},
    { &hf_nr_rrc_iab_IP_AddressToAddModList_r16_item,
      { "IAB-IP-AddressConfiguration-r16", "nr-rrc.IAB_IP_AddressConfiguration_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_IP_AddressToReleaseList_r16,
      { "iab-IP-AddressToReleaseList-r16", "nr-rrc.iab_IP_AddressToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16", HFILL }},
    { &hf_nr_rrc_iab_IP_AddressToReleaseList_r16_item,
      { "IAB-IP-AddressIndex-r16", "nr-rrc.IAB_IP_AddressIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_IP_AddressIndex_r16,
      { "iab-IP-AddressIndex-r16", "nr-rrc.iab_IP_AddressIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_IP_Address_r16,
      { "iab-IP-Address-r16", "nr-rrc.iab_IP_Address_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_IP_Usage_r16,
      { "iab-IP-Usage-r16", "nr-rrc.iab_IP_Usage_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Usage_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_donor_DU_BAP_Address_r16,
      { "iab-donor-DU-BAP-Address-r16", "nr-rrc.iab_donor_DU_BAP_Address_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_sl_ConfigDedicatedEUTRA_r16,
      { "sl-ConfigDedicatedEUTRA-r16", "nr-rrc.sl_ConfigDedicatedEUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16,
      { "sl-TimeOffsetEUTRA-List-r16", "nr-rrc.sl_TimeOffsetEUTRA_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16", HFILL }},
    { &hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16_item,
      { "SL-TimeOffsetEUTRA-r16", "nr-rrc.SL_TimeOffsetEUTRA_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SL_TimeOffsetEUTRA_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneShot_r17,
      { "oneShot-r17", "nr-rrc.oneShot_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicReporting_r17,
      { "periodicReporting-r17", "nr-rrc.periodicReporting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicReporting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_26,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_26_vals), 0,
        "T_criticalExtensions_26", HFILL }},
    { &hf_nr_rrc_rrcReconfigurationComplete_01,
      { "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationComplete_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_26,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_26", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_62,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationComplete_v1530_IEs", HFILL }},
    { &hf_nr_rrc_uplinkTxDirectCurrentList,
      { "uplinkTxDirectCurrentList", "nr-rrc.uplinkTxDirectCurrentList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_63,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationComplete_v1560_IEs", HFILL }},
    { &hf_nr_rrc_scg_Response,
      { "scg-Response", "nr-rrc.scg_Response",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_Response_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_SCG_Response,
      { "nr-SCG-Response", "nr-rrc.nr_SCG_Response",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_SCG_Response,
      { "eutra-SCG-Response", "nr-rrc.eutra_SCG_Response",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_64,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationComplete_v1610_IEs", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_65,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationComplete_v1640_IEs", HFILL }},
    { &hf_nr_rrc_uplinkTxDirectCurrentTwoCarrierList_r16,
      { "uplinkTxDirectCurrentTwoCarrierList-r16", "nr-rrc.uplinkTxDirectCurrentTwoCarrierList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_66,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationComplete_v1700_IEs", HFILL }},
    { &hf_nr_rrc_selectedCondRRCReconfig_r17,
      { "selectedCondRRCReconfig-r17", "nr-rrc.selectedCondRRCReconfig_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CondReconfigId_r16", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_67,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationComplete_v1720_IEs", HFILL }},
    { &hf_nr_rrc_uplinkTxDirectCurrentMoreCarrierList_r17,
      { "uplinkTxDirectCurrentMoreCarrierList-r17", "nr-rrc.uplinkTxDirectCurrentMoreCarrierList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_68,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_27", HFILL }},
    { &hf_nr_rrc_criticalExtensions_27,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_27_vals), 0,
        "T_criticalExtensions_27", HFILL }},
    { &hf_nr_rrc_rrcReject_01,
      { "rrcReject", "nr-rrc.rrcReject_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReject_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_27,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_27", HFILL }},
    { &hf_nr_rrc_waitTime,
      { "waitTime", "nr-rrc.waitTime",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        "RejectWaitTime", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_69,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_28", HFILL }},
    { &hf_nr_rrc_criticalExtensions_28,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_28_vals), 0,
        "T_criticalExtensions_28", HFILL }},
    { &hf_nr_rrc_rrcRelease_01,
      { "rrcRelease", "nr-rrc.rrcRelease_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCRelease_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_28,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_28", HFILL }},
    { &hf_nr_rrc_redirectedCarrierInfo,
      { "redirectedCarrierInfo", "nr-rrc.redirectedCarrierInfo",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RedirectedCarrierInfo_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellReselectionPriorities,
      { "cellReselectionPriorities", "nr-rrc.cellReselectionPriorities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_suspendConfig,
      { "suspendConfig", "nr-rrc.suspendConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_deprioritisationReq,
      { "deprioritisationReq", "nr-rrc.deprioritisationReq_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_deprioritisationType,
      { "deprioritisationType", "nr-rrc.deprioritisationType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deprioritisationType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_deprioritisationTimer,
      { "deprioritisationTimer", "nr-rrc.deprioritisationTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deprioritisationTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_70,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCRelease_v1540_IEs", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_71,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCRelease_v1610_IEs", HFILL }},
    { &hf_nr_rrc_voiceFallbackIndication_r16_01,
      { "voiceFallbackIndication-r16", "nr-rrc.voiceFallbackIndication_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceFallbackIndication_r16_01_vals), 0,
        "T_voiceFallbackIndication_r16_01", HFILL }},
    { &hf_nr_rrc_measIdleConfig_r16,
      { "measIdleConfig-r16", "nr-rrc.measIdleConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measIdleConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_19,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasIdleConfigDedicated_r16", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_72,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCRelease_v1650_IEs", HFILL }},
    { &hf_nr_rrc_mpsPriorityIndication_r16,
      { "mpsPriorityIndication-r16", "nr-rrc.mpsPriorityIndication_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpsPriorityIndication_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_73,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCRelease_v1710_IEs", HFILL }},
    { &hf_nr_rrc_noLastCellUpdate_r17,
      { "noLastCellUpdate-r17", "nr-rrc.noLastCellUpdate_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_noLastCellUpdate_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_74,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_29", HFILL }},
    { &hf_nr_rrc_nr,
      { "nr", "nr-rrc.nr_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CarrierInfoNR", HFILL }},
    { &hf_nr_rrc_eutra,
      { "eutra", "nr-rrc.eutra_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RedirectedCarrierInfo_EUTRA", HFILL }},
    { &hf_nr_rrc_cnType,
      { "cnType", "nr-rrc.cnType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cnType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_smtc,
      { "smtc", "nr-rrc.smtc_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_MTC", HFILL }},
    { &hf_nr_rrc_shortI_RNTI,
      { "shortI-RNTI", "nr-rrc.shortI_RNTI",
        FT_BYTES, BASE_NONE, NULL, 0,
        "ShortI_RNTI_Value", HFILL }},
    { &hf_nr_rrc_ran_PagingCycle,
      { "ran-PagingCycle", "nr-rrc.ran_PagingCycle",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingCycle_vals), 0,
        "PagingCycle", HFILL }},
    { &hf_nr_rrc_t380,
      { "t380", "nr-rrc.t380",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PeriodicRNAU_TimerValue_vals), 0,
        "PeriodicRNAU_TimerValue", HFILL }},
    { &hf_nr_rrc_sl_UEIdentityRemote_r17,
      { "sl-UEIdentityRemote-r17", "nr-rrc.sl_UEIdentityRemote_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_sdt_Config_r17_01,
      { "sdt-Config-r17", "nr-rrc.sdt_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_Config_r17_vals), 0,
        "T_sdt_Config_r17", HFILL }},
    { &hf_nr_rrc_setup_20,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SDT_Config_r17", HFILL }},
    { &hf_nr_rrc_srs_PosRRC_Inactive_r17,
      { "srs-PosRRC-Inactive-r17", "nr-rrc.srs_PosRRC_Inactive_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_PosRRC_Inactive_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_21,
      { "setup", "nr-rrc.setup",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SRS_PosRRC_Inactive_r17", HFILL }},
    { &hf_nr_rrc_ran_ExtendedPagingCycle_r17,
      { "ran-ExtendedPagingCycle-r17", "nr-rrc.ran_ExtendedPagingCycle_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ExtendedPagingCycle_r17_vals), 0,
        "ExtendedPagingCycle_r17", HFILL }},
    { &hf_nr_rrc_ncd_SSB_RedCapInitialBWP_SDT_r17,
      { "ncd-SSB-RedCapInitialBWP-SDT-r17", "nr-rrc.ncd_SSB_RedCapInitialBWP_SDT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ncd_SSB_RedCapInitialBWP_SDT_r17_vals), 0,
        "T_ncd_SSB_RedCapInitialBWP_SDT_r17", HFILL }},
    { &hf_nr_rrc_setup_22,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NonCellDefiningSSB_r17", HFILL }},
    { &hf_nr_rrc_freqPriorityListEUTRA,
      { "freqPriorityListEUTRA", "nr-rrc.freqPriorityListEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_freqPriorityListNR,
      { "freqPriorityListNR", "nr-rrc.freqPriorityListNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t320,
      { "t320", "nr-rrc.t320",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t320_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_freqPriorityListDedicatedSlicing_r17,
      { "freqPriorityListDedicatedSlicing-r17", "nr-rrc.freqPriorityListDedicatedSlicing_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_FreqPriorityListEUTRA_item,
      { "FreqPriorityEUTRA", "nr-rrc.FreqPriorityEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_FreqPriorityListNR_item,
      { "FreqPriorityNR", "nr-rrc.FreqPriorityNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierFreq_01,
      { "carrierFreq", "nr-rrc.carrierFreq",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueEUTRA", HFILL }},
    { &hf_nr_rrc_cellReselectionPriority,
      { "cellReselectionPriority", "nr-rrc.cellReselectionPriority",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellReselectionSubPriority,
      { "cellReselectionSubPriority", "nr-rrc.cellReselectionSubPriority",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CellReselectionSubPriority_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellList,
      { "cellList", "nr-rrc.cellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PLMN_RAN_AreaCellList", HFILL }},
    { &hf_nr_rrc_ran_AreaConfigList,
      { "ran-AreaConfigList", "nr-rrc.ran_AreaConfigList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PLMN_RAN_AreaConfigList", HFILL }},
    { &hf_nr_rrc_PLMN_RAN_AreaCellList_item,
      { "PLMN-RAN-AreaCell", "nr-rrc.PLMN_RAN_AreaCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_Identity,
      { "plmn-Identity", "nr-rrc.plmn_Identity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ran_AreaCells,
      { "ran-AreaCells", "nr-rrc.ran_AreaCells",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_32_OF_CellIdentity", HFILL }},
    { &hf_nr_rrc_ran_AreaCells_item,
      { "CellIdentity", "nr-rrc.CellIdentity",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PLMN_RAN_AreaConfigList_item,
      { "PLMN-RAN-AreaConfig", "nr-rrc.PLMN_RAN_AreaConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ran_Area,
      { "ran-Area", "nr-rrc.ran_Area",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig", HFILL }},
    { &hf_nr_rrc_ran_Area_item,
      { "RAN-AreaConfig", "nr-rrc.RAN_AreaConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_trackingAreaCode,
      { "trackingAreaCode", "nr-rrc.trackingAreaCode",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ran_AreaCodeList,
      { "ran-AreaCodeList", "nr-rrc.ran_AreaCodeList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_32_OF_RAN_AreaCode", HFILL }},
    { &hf_nr_rrc_ran_AreaCodeList_item,
      { "RAN-AreaCode", "nr-rrc.RAN_AreaCode",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sdt_DRB_List_r17,
      { "sdt-DRB-List-r17", "nr-rrc.sdt_DRB_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity", HFILL }},
    { &hf_nr_rrc_sdt_DRB_List_r17_item,
      { "DRB-Identity", "nr-rrc.DRB_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sdt_SRB2_Indication_r17,
      { "sdt-SRB2-Indication-r17", "nr-rrc.sdt_SRB2_Indication_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_SRB2_Indication_r17_vals), 0,
        "T_sdt_SRB2_Indication_r17", HFILL }},
    { &hf_nr_rrc_sdt_MAC_PHY_CG_Config_r17,
      { "sdt-MAC-PHY-CG-Config-r17", "nr-rrc.sdt_MAC_PHY_CG_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_MAC_PHY_CG_Config_r17_vals), 0,
        "T_sdt_MAC_PHY_CG_Config_r17", HFILL }},
    { &hf_nr_rrc_setup_23,
      { "setup", "nr-rrc.setup",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SDT_CG_Config_r17", HFILL }},
    { &hf_nr_rrc_sdt_DRB_ContinueROHC_r17,
      { "sdt-DRB-ContinueROHC-r17", "nr-rrc.sdt_DRB_ContinueROHC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_DRB_ContinueROHC_r17_vals), 0,
        "T_sdt_DRB_ContinueROHC_r17", HFILL }},
    { &hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToAddModList_r17,
      { "cg-SDT-ConfigLCH-RestrictionToAddModList-r17", "nr-rrc.cg_SDT_ConfigLCH_RestrictionToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17", HFILL }},
    { &hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToAddModList_r17_item,
      { "CG-SDT-ConfigLCH-Restriction-r17", "nr-rrc.CG_SDT_ConfigLCH_Restriction_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToReleaseList_r17,
      { "cg-SDT-ConfigLCH-RestrictionToReleaseList-r17", "nr-rrc.cg_SDT_ConfigLCH_RestrictionToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity", HFILL }},
    { &hf_nr_rrc_cg_SDT_ConfigLCH_RestrictionToReleaseList_r17_item,
      { "LogicalChannelIdentity", "nr-rrc.LogicalChannelIdentity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_SDT_ConfigInitialBWP_NUL_r17,
      { "cg-SDT-ConfigInitialBWP-NUL-r17", "nr-rrc.cg_SDT_ConfigInitialBWP_NUL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_SDT_ConfigInitialBWP_NUL_r17_vals), 0,
        "T_cg_SDT_ConfigInitialBWP_NUL_r17", HFILL }},
    { &hf_nr_rrc_setup_24,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_UplinkDedicatedSDT_r17", HFILL }},
    { &hf_nr_rrc_cg_SDT_ConfigInitialBWP_SUL_r17,
      { "cg-SDT-ConfigInitialBWP-SUL-r17", "nr-rrc.cg_SDT_ConfigInitialBWP_SUL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_SDT_ConfigInitialBWP_SUL_r17_vals), 0,
        "T_cg_SDT_ConfigInitialBWP_SUL_r17", HFILL }},
    { &hf_nr_rrc_cg_SDT_ConfigInitialBWP_DL_r17,
      { "cg-SDT-ConfigInitialBWP-DL-r17", "nr-rrc.cg_SDT_ConfigInitialBWP_DL_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_DownlinkDedicatedSDT_r17", HFILL }},
    { &hf_nr_rrc_cg_SDT_TimeAlignmentTimer_r17,
      { "cg-SDT-TimeAlignmentTimer-r17", "nr-rrc.cg_SDT_TimeAlignmentTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
        "TimeAlignmentTimer", HFILL }},
    { &hf_nr_rrc_cg_SDT_RSRP_ThresholdSSB_r17,
      { "cg-SDT-RSRP-ThresholdSSB-r17", "nr-rrc.cg_SDT_RSRP_ThresholdSSB_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_cg_SDT_TA_ValidationConfig_r17,
      { "cg-SDT-TA-ValidationConfig-r17", "nr-rrc.cg_SDT_TA_ValidationConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_SDT_TA_ValidationConfig_r17_vals), 0,
        "T_cg_SDT_TA_ValidationConfig_r17", HFILL }},
    { &hf_nr_rrc_setup_25,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CG_SDT_TA_ValidationConfig_r17", HFILL }},
    { &hf_nr_rrc_cg_SDT_CS_RNTI_r17,
      { "cg-SDT-CS-RNTI-r17", "nr-rrc.cg_SDT_CS_RNTI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_cg_SDT_RSRP_ChangeThreshold_r17,
      { "cg-SDT-RSRP-ChangeThreshold-r17", "nr-rrc.cg_SDT_RSRP_ChangeThreshold_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_SDT_RSRP_ChangeThreshold_r17_vals), 0,
        "T_cg_SDT_RSRP_ChangeThreshold_r17", HFILL }},
    { &hf_nr_rrc_pdcch_Config_r17,
      { "pdcch-Config-r17", "nr-rrc.pdcch_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_26,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_Config", HFILL }},
    { &hf_nr_rrc_pdsch_Config_r17,
      { "pdsch-Config-r17", "nr-rrc.pdsch_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_27,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDSCH_Config", HFILL }},
    { &hf_nr_rrc_pusch_Config_r17,
      { "pusch-Config-r17", "nr-rrc.pusch_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_28,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUSCH_Config", HFILL }},
    { &hf_nr_rrc_configuredGrantConfigToAddModList_r17,
      { "configuredGrantConfigToAddModList-r17", "nr-rrc.configuredGrantConfigToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ConfiguredGrantConfigToAddModList_r16", HFILL }},
    { &hf_nr_rrc_configuredGrantConfigToReleaseList_r17,
      { "configuredGrantConfigToReleaseList-r17", "nr-rrc.configuredGrantConfigToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ConfiguredGrantConfigToReleaseList_r16", HFILL }},
    { &hf_nr_rrc_logicalChannelIdentity_r17,
      { "logicalChannelIdentity-r17", "nr-rrc.logicalChannelIdentity_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LogicalChannelIdentity", HFILL }},
    { &hf_nr_rrc_configuredGrantType1Allowed_r17,
      { "configuredGrantType1Allowed-r17", "nr-rrc.configuredGrantType1Allowed_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantType1Allowed_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowedCG_List_r17,
      { "allowedCG-List-r17", "nr-rrc.allowedCG_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16", HFILL }},
    { &hf_nr_rrc_allowedCG_List_r17_item,
      { "ConfiguredGrantConfigIndexMAC-r16", "nr-rrc.ConfiguredGrantConfigIndexMAC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosConfigNUL_r17,
      { "srs-PosConfigNUL-r17", "nr-rrc.srs_PosConfigNUL_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_PosConfig_r17", HFILL }},
    { &hf_nr_rrc_srs_PosConfigSUL_r17,
      { "srs-PosConfigSUL-r17", "nr-rrc.srs_PosConfigSUL_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_PosConfig_r17", HFILL }},
    { &hf_nr_rrc_bwp_NUL_r17,
      { "bwp-NUL-r17", "nr-rrc.bwp_NUL_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP", HFILL }},
    { &hf_nr_rrc_bwp_SUL_r17,
      { "bwp-SUL-r17", "nr-rrc.bwp_SUL_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP", HFILL }},
    { &hf_nr_rrc_inactivePosSRS_TimeAlignmentTimer_r17,
      { "inactivePosSRS-TimeAlignmentTimer-r17", "nr-rrc.inactivePosSRS_TimeAlignmentTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
        "TimeAlignmentTimer", HFILL }},
    { &hf_nr_rrc_inactivePosSRS_RSRP_ChangeThreshold_r17,
      { "inactivePosSRS-RSRP-ChangeThreshold-r17", "nr-rrc.inactivePosSRS_RSRP_ChangeThreshold_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RSRP_ChangeThreshold_r17_vals), 0,
        "RSRP_ChangeThreshold_r17", HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r17,
      { "srs-PosResourceSetToReleaseList-r17", "nr-rrc.srs_PosResourceSetToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r17_item,
      { "SRS-PosResourceSetId-r16", "nr-rrc.SRS_PosResourceSetId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetToAddModList_r17,
      { "srs-PosResourceSetToAddModList-r17", "nr-rrc.srs_PosResourceSetToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetToAddModList_r17_item,
      { "SRS-PosResourceSet-r16", "nr-rrc.SRS_PosResourceSet_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceToReleaseList_r17,
      { "srs-PosResourceToReleaseList-r17", "nr-rrc.srs_PosResourceToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceToReleaseList_r17_item,
      { "SRS-PosResourceId-r16", "nr-rrc.SRS_PosResourceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceToAddModList_r17,
      { "srs-PosResourceToAddModList-r17", "nr-rrc.srs_PosResourceToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceToAddModList_r17_item,
      { "SRS-PosResource-r16", "nr-rrc.SRS_PosResource_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_29,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_29_vals), 0,
        "T_criticalExtensions_29", HFILL }},
    { &hf_nr_rrc_rrcResume_01,
      { "rrcResume", "nr-rrc.rrcResume_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResume_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_29,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_29", HFILL }},
    { &hf_nr_rrc_masterCellGroup_01,
      { "masterCellGroup", "nr-rrc.masterCellGroup",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_masterCellGroup_01", HFILL }},
    { &hf_nr_rrc_fullConfig_01,
      { "fullConfig", "nr-rrc.fullConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fullConfig_01_vals), 0,
        "T_fullConfig_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_75,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResume_v1560_IEs", HFILL }},
    { &hf_nr_rrc_radioBearerConfig2_01,
      { "radioBearerConfig2", "nr-rrc.radioBearerConfig2",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_radioBearerConfig2_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_76,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResume_v1610_IEs", HFILL }},
    { &hf_nr_rrc_idleModeMeasurementReq_r16,
      { "idleModeMeasurementReq-r16", "nr-rrc.idleModeMeasurementReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasurementReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_restoreMCG_SCells_r16,
      { "restoreMCG-SCells-r16", "nr-rrc.restoreMCG_SCells_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restoreMCG_SCells_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_restoreSCG_r16,
      { "restoreSCG-r16", "nr-rrc.restoreSCG_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restoreSCG_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_SecondaryCellGroup_r16,
      { "mrdc-SecondaryCellGroup-r16", "nr-rrc.mrdc_SecondaryCellGroup_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_SecondaryCellGroup_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_SCG_r16,
      { "nr-SCG-r16", "nr-rrc.nr_SCG_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_SCG_r16,
      { "eutra-SCG-r16", "nr-rrc.eutra_SCG_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_needForGapsConfigNR_r16_01,
      { "needForGapsConfigNR-r16", "nr-rrc.needForGapsConfigNR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGapsConfigNR_r16_01_vals), 0,
        "T_needForGapsConfigNR_r16_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_77,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResume_v1700_IEs", HFILL }},
    { &hf_nr_rrc_sl_ConfigDedicatedNR_r17,
      { "sl-ConfigDedicatedNR-r17", "nr-rrc.sl_ConfigDedicatedNR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ConfigDedicatedNR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_L2RemoteUE_Config_r17_02,
      { "sl-L2RemoteUE-Config-r17", "nr-rrc.sl_L2RemoteUE_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_L2RemoteUE_Config_r17_02_vals), 0,
        "T_sl_L2RemoteUE_Config_r17_02", HFILL }},
    { &hf_nr_rrc_needForGapNCSG_ConfigNR_r17_01,
      { "needForGapNCSG-ConfigNR-r17", "nr-rrc.needForGapNCSG_ConfigNR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGapNCSG_ConfigNR_r17_01_vals), 0,
        "T_needForGapNCSG_ConfigNR_r17_01", HFILL }},
    { &hf_nr_rrc_needForGapNCSG_ConfigEUTRA_r17_01,
      { "needForGapNCSG-ConfigEUTRA-r17", "nr-rrc.needForGapNCSG_ConfigEUTRA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_01_vals), 0,
        "T_needForGapNCSG_ConfigEUTRA_r17_01", HFILL }},
    { &hf_nr_rrc_scg_State_r17_01,
      { "scg-State-r17", "nr-rrc.scg_State_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_State_r17_01_vals), 0,
        "T_scg_State_r17_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_78,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_30", HFILL }},
    { &hf_nr_rrc_criticalExtensions_30,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_30_vals), 0,
        "T_criticalExtensions_30", HFILL }},
    { &hf_nr_rrc_rrcResumeComplete_01,
      { "rrcResumeComplete", "nr-rrc.rrcResumeComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResumeComplete_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_30,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_30", HFILL }},
    { &hf_nr_rrc_selectedPLMN_Identity,
      { "selectedPLMN-Identity", "nr-rrc.selectedPLMN_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxPLMN", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_79,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResumeComplete_v1610_IEs", HFILL }},
    { &hf_nr_rrc_idleMeasAvailable_r16,
      { "idleMeasAvailable-r16", "nr-rrc.idleMeasAvailable_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleMeasAvailable_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultIdleEUTRA_r16,
      { "measResultIdleEUTRA-r16", "nr-rrc.measResultIdleEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultIdleNR_r16,
      { "measResultIdleNR-r16", "nr-rrc.measResultIdleNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_Response_r16,
      { "scg-Response-r16", "nr-rrc.scg_Response_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_Response_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_SCG_Response_01,
      { "nr-SCG-Response", "nr-rrc.nr_SCG_Response",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_nr_SCG_Response_01", HFILL }},
    { &hf_nr_rrc_eutra_SCG_Response_01,
      { "eutra-SCG-Response", "nr-rrc.eutra_SCG_Response",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_eutra_SCG_Response_01", HFILL }},
    { &hf_nr_rrc_mobilityHistoryAvail_r16,
      { "mobilityHistoryAvail-r16", "nr-rrc.mobilityHistoryAvail_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityHistoryAvail_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mobilityState_r16,
      { "mobilityState-r16", "nr-rrc.mobilityState_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityState_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_80,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResumeComplete_v1640_IEs", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_81,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResumeComplete_v1700_IEs", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_82,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResumeComplete_v1720_IEs", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_83,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_31", HFILL }},
    { &hf_nr_rrc_rrcResumeRequest_01,
      { "rrcResumeRequest", "nr-rrc.rrcResumeRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResumeRequest_IEs", HFILL }},
    { &hf_nr_rrc_resumeIdentity,
      { "resumeIdentity", "nr-rrc.resumeIdentity",
        FT_BYTES, BASE_NONE, NULL, 0,
        "ShortI_RNTI_Value", HFILL }},
    { &hf_nr_rrc_resumeMAC_I,
      { "resumeMAC-I", "nr-rrc.resumeMAC_I",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_resumeCause,
      { "resumeCause", "nr-rrc.resumeCause",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ResumeCause_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcResumeRequest1_01,
      { "rrcResumeRequest1", "nr-rrc.rrcResumeRequest1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCResumeRequest1_IEs", HFILL }},
    { &hf_nr_rrc_resumeIdentity_01,
      { "resumeIdentity", "nr-rrc.resumeIdentity",
        FT_BYTES, BASE_NONE, NULL, 0,
        "I_RNTI_Value", HFILL }},
    { &hf_nr_rrc_criticalExtensions_31,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_31_vals), 0,
        "T_criticalExtensions_31", HFILL }},
    { &hf_nr_rrc_rrcSetup_01,
      { "rrcSetup", "nr-rrc.rrcSetup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCSetup_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_31,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_31", HFILL }},
    { &hf_nr_rrc_masterCellGroup_02,
      { "masterCellGroup", "nr-rrc.masterCellGroup",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_masterCellGroup_02", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_84,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCSetup_v1700_IEs", HFILL }},
    { &hf_nr_rrc_sl_ConfigDedicatedNR_r17_01,
      { "sl-ConfigDedicatedNR-r17", "nr-rrc.sl_ConfigDedicatedNR_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_ConfigDedicatedNR_r16", HFILL }},
    { &hf_nr_rrc_sl_L2RemoteUE_Config_r17_03,
      { "sl-L2RemoteUE-Config-r17", "nr-rrc.sl_L2RemoteUE_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_85,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_32", HFILL }},
    { &hf_nr_rrc_criticalExtensions_32,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_32_vals), 0,
        "T_criticalExtensions_32", HFILL }},
    { &hf_nr_rrc_rrcSetupComplete_01,
      { "rrcSetupComplete", "nr-rrc.rrcSetupComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCSetupComplete_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_32,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_32", HFILL }},
    { &hf_nr_rrc_registeredAMF,
      { "registeredAMF", "nr-rrc.registeredAMF_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_guami_Type,
      { "guami-Type", "nr-rrc.guami_Type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_guami_Type_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_NSSAI_List,
      { "s-NSSAI-List", "nr-rrc.s_NSSAI_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI", HFILL }},
    { &hf_nr_rrc_s_NSSAI_List_item,
      { "S-NSSAI", "nr-rrc.S_NSSAI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_S_NSSAI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ng_5G_S_TMSI_Value,
      { "ng-5G-S-TMSI-Value", "nr-rrc.ng_5G_S_TMSI_Value",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ng_5G_S_TMSI_Value_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ng_5G_S_TMSI_Part2,
      { "ng-5G-S-TMSI-Part2", "nr-rrc.ng_5G_S_TMSI_Part2",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_9", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_86,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCSetupComplete_v1610_IEs", HFILL }},
    { &hf_nr_rrc_iab_NodeIndication_r16,
      { "iab-NodeIndication-r16", "nr-rrc.iab_NodeIndication_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_NodeIndication_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_idleMeasAvailable_r16_01,
      { "idleMeasAvailable-r16", "nr-rrc.idleMeasAvailable_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleMeasAvailable_r16_01_vals), 0,
        "T_idleMeasAvailable_r16_01", HFILL }},
    { &hf_nr_rrc_mobilityHistoryAvail_r16_01,
      { "mobilityHistoryAvail-r16", "nr-rrc.mobilityHistoryAvail_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityHistoryAvail_r16_01_vals), 0,
        "T_mobilityHistoryAvail_r16_01", HFILL }},
    { &hf_nr_rrc_mobilityState_r16_01,
      { "mobilityState-r16", "nr-rrc.mobilityState_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityState_r16_01_vals), 0,
        "T_mobilityState_r16_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_87,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCSetupComplete_v1690_IEs", HFILL }},
    { &hf_nr_rrc_ul_RRC_Segmentation_r16,
      { "ul-RRC-Segmentation-r16", "nr-rrc.ul_RRC_Segmentation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_RRC_Segmentation_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_88,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCSetupComplete_v1700_IEs", HFILL }},
    { &hf_nr_rrc_onboardingRequest_r17,
      { "onboardingRequest-r17", "nr-rrc.onboardingRequest_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onboardingRequest_r17_vals), 0,
        "T_onboardingRequest_r17", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_89,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_33", HFILL }},
    { &hf_nr_rrc_amf_Identifier,
      { "amf-Identifier", "nr-rrc.amf_Identifier",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcSetupRequest_01,
      { "rrcSetupRequest", "nr-rrc.rrcSetupRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCSetupRequest_IEs", HFILL }},
    { &hf_nr_rrc_ue_Identity_02,
      { "ue-Identity", "nr-rrc.ue_Identity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_InitialUE_Identity_vals), 0,
        "InitialUE_Identity", HFILL }},
    { &hf_nr_rrc_establishmentCause,
      { "establishmentCause", "nr-rrc.establishmentCause",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_EstablishmentCause_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ng_5G_S_TMSI_Part1,
      { "ng-5G-S-TMSI-Part1", "nr-rrc.ng_5G_S_TMSI_Part1",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_39", HFILL }},
    { &hf_nr_rrc_randomValue,
      { "randomValue", "nr-rrc.randomValue",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_39", HFILL }},
    { &hf_nr_rrc_criticalExtensions_33,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_33_vals), 0,
        "T_criticalExtensions_33", HFILL }},
    { &hf_nr_rrc_rrcSystemInfoRequest_01,
      { "rrcSystemInfoRequest", "nr-rrc.rrcSystemInfoRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCSystemInfoRequest_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_r16,
      { "criticalExtensionsFuture-r16", "nr-rrc.criticalExtensionsFuture_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensionsFuture_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcPosSystemInfoRequest_r16,
      { "rrcPosSystemInfoRequest-r16", "nr-rrc.rrcPosSystemInfoRequest_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRC_PosSystemInfoRequest_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_33,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_33", HFILL }},
    { &hf_nr_rrc_requested_SI_List,
      { "requested-SI-List", "nr-rrc.requested_SI_List",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_maxSI_Message", HFILL }},
    { &hf_nr_rrc_spare_01,
      { "spare", "nr-rrc.spare",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_12", HFILL }},
    { &hf_nr_rrc_requestedPosSI_List,
      { "requestedPosSI-List", "nr-rrc.requestedPosSI_List",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_maxSI_Message", HFILL }},
    { &hf_nr_rrc_spare_02,
      { "spare", "nr-rrc.spare",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_11", HFILL }},
    { &hf_nr_rrc_criticalExtensions_34,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_34_vals), 0,
        "T_criticalExtensions_34", HFILL }},
    { &hf_nr_rrc_scgFailureInformation_01,
      { "scgFailureInformation", "nr-rrc.scgFailureInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SCGFailureInformation_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_34,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_34", HFILL }},
    { &hf_nr_rrc_failureReportSCG,
      { "failureReportSCG", "nr-rrc.failureReportSCG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_90,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SCGFailureInformation_v1590_IEs", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_91,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_34", HFILL }},
    { &hf_nr_rrc_failureType_02,
      { "failureType", "nr-rrc.failureType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_02_vals), 0,
        "T_failureType_02", HFILL }},
    { &hf_nr_rrc_measResultFreqList,
      { "measResultFreqList", "nr-rrc.measResultFreqList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultSCG_Failure,
      { "measResultSCG-Failure", "nr-rrc.measResultSCG_Failure",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_locationInfo_r16,
      { "locationInfo-r16", "nr-rrc.locationInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureType_v1610,
      { "failureType-v1610", "nr-rrc.failureType_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_previousPSCellId_r17,
      { "previousPSCellId-r17", "nr-rrc.previousPSCellId_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierFreq_r17,
      { "carrierFreq-r17", "nr-rrc.carrierFreq_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_failedPSCellId_r17,
      { "failedPSCellId-r17", "nr-rrc.failedPSCellId_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeSCGFailure_r17,
      { "timeSCGFailure-r17", "nr-rrc.timeSCGFailure_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_perRAInfoList_r17,
      { "perRAInfoList-r17", "nr-rrc.perRAInfoList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PerRAInfoList_r16", HFILL }},
    { &hf_nr_rrc_MeasResultFreqList_item,
      { "MeasResult2NR", "nr-rrc.MeasResult2NR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_35,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_35_vals), 0,
        "T_criticalExtensions_35", HFILL }},
    { &hf_nr_rrc_scgFailureInformationEUTRA_01,
      { "scgFailureInformationEUTRA", "nr-rrc.scgFailureInformationEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SCGFailureInformationEUTRA_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_35,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_35", HFILL }},
    { &hf_nr_rrc_failureReportSCG_EUTRA,
      { "failureReportSCG-EUTRA", "nr-rrc.failureReportSCG_EUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_92,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SCGFailureInformationEUTRA_v1590_IEs", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_93,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_35", HFILL }},
    { &hf_nr_rrc_failureType_03,
      { "failureType", "nr-rrc.failureType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_03_vals), 0,
        "T_failureType_03", HFILL }},
    { &hf_nr_rrc_measResultFreqListMRDC,
      { "measResultFreqListMRDC", "nr-rrc.measResultFreqListMRDC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultFreqListFailMRDC", HFILL }},
    { &hf_nr_rrc_measResultSCG_FailureMRDC,
      { "measResultSCG-FailureMRDC", "nr-rrc.measResultSCG_FailureMRDC",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultFreqListFailMRDC_item,
      { "MeasResult2EUTRA", "nr-rrc.MeasResult2EUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_36,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_36_vals), 0,
        "T_criticalExtensions_36", HFILL }},
    { &hf_nr_rrc_securityModeCommand_01,
      { "securityModeCommand", "nr-rrc.securityModeCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SecurityModeCommand_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_36,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_36", HFILL }},
    { &hf_nr_rrc_securityConfigSMC,
      { "securityConfigSMC", "nr-rrc.securityConfigSMC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_94,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_36", HFILL }},
    { &hf_nr_rrc_securityAlgorithmConfig,
      { "securityAlgorithmConfig", "nr-rrc.securityAlgorithmConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_37,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_37_vals), 0,
        "T_criticalExtensions_37", HFILL }},
    { &hf_nr_rrc_securityModeComplete_01,
      { "securityModeComplete", "nr-rrc.securityModeComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SecurityModeComplete_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_37,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_37", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_95,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_37", HFILL }},
    { &hf_nr_rrc_criticalExtensions_38,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_38_vals), 0,
        "T_criticalExtensions_38", HFILL }},
    { &hf_nr_rrc_securityModeFailure_01,
      { "securityModeFailure", "nr-rrc.securityModeFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SecurityModeFailure_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_38,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_38", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_96,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_38", HFILL }},
    { &hf_nr_rrc_cellSelectionInfo,
      { "cellSelectionInfo", "nr-rrc.cellSelectionInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_q_RxLevMin,
      { "q-RxLevMin", "nr-rrc.q_RxLevMin",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Q_RxLevMin_fmt), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_q_RxLevMinOffset,
      { "q-RxLevMinOffset", "nr-rrc.q_RxLevMinOffset",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_q_RxLevMinSUL,
      { "q-RxLevMinSUL", "nr-rrc.q_RxLevMinSUL",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Q_RxLevMin_fmt), 0,
        "Q_RxLevMin", HFILL }},
    { &hf_nr_rrc_q_QualMin,
      { "q-QualMin", "nr-rrc.q_QualMin",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_q_QualMinOffset,
      { "q-QualMinOffset", "nr-rrc.q_QualMinOffset",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_cellAccessRelatedInfo,
      { "cellAccessRelatedInfo", "nr-rrc.cellAccessRelatedInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_connEstFailureControl,
      { "connEstFailureControl", "nr-rrc.connEstFailureControl_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_si_SchedulingInfo,
      { "si-SchedulingInfo", "nr-rrc.si_SchedulingInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servingCellConfigCommon,
      { "servingCellConfigCommon", "nr-rrc.servingCellConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ServingCellConfigCommonSIB", HFILL }},
    { &hf_nr_rrc_ims_EmergencySupport,
      { "ims-EmergencySupport", "nr-rrc.ims_EmergencySupport",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ims_EmergencySupport_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eCallOverIMS_Support,
      { "eCallOverIMS-Support", "nr-rrc.eCallOverIMS_Support",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eCallOverIMS_Support_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_TimersAndConstants,
      { "ue-TimersAndConstants", "nr-rrc.ue_TimersAndConstants_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_BarringInfo,
      { "uac-BarringInfo", "nr-rrc.uac_BarringInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_BarringForCommon,
      { "uac-BarringForCommon", "nr-rrc.uac_BarringForCommon",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UAC_BarringPerCatList", HFILL }},
    { &hf_nr_rrc_uac_BarringPerPLMN_List,
      { "uac-BarringPerPLMN-List", "nr-rrc.uac_BarringPerPLMN_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_BarringInfoSetList,
      { "uac-BarringInfoSetList", "nr-rrc.uac_BarringInfoSetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo,
      { "uac-AccessCategory1-SelectionAssistanceInfo", "nr-rrc.uac_AccessCategory1_SelectionAssistanceInfo",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmnCommon,
      { "plmnCommon", "nr-rrc.plmnCommon",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals), 0,
        "UAC_AccessCategory1_SelectionAssistanceInfo", HFILL }},
    { &hf_nr_rrc_individualPLMNList,
      { "individualPLMNList", "nr-rrc.individualPLMNList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo", HFILL }},
    { &hf_nr_rrc_individualPLMNList_item,
      { "UAC-AccessCategory1-SelectionAssistanceInfo", "nr-rrc.UAC_AccessCategory1_SelectionAssistanceInfo",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_useFullResumeID,
      { "useFullResumeID", "nr-rrc.useFullResumeID",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useFullResumeID_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_97,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB1_v1610_IEs", HFILL }},
    { &hf_nr_rrc_idleModeMeasurementsEUTRA_r16,
      { "idleModeMeasurementsEUTRA-r16", "nr-rrc.idleModeMeasurementsEUTRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasurementsEUTRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_idleModeMeasurementsNR_r16,
      { "idleModeMeasurementsNR-r16", "nr-rrc.idleModeMeasurementsNR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasurementsNR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSI_SchedulingInfo_r16,
      { "posSI-SchedulingInfo-r16", "nr-rrc.posSI_SchedulingInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_98,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB1_v1630_IEs", HFILL }},
    { &hf_nr_rrc_uac_BarringInfo_v1630,
      { "uac-BarringInfo-v1630", "nr-rrc.uac_BarringInfo_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_AC1_SelectAssistInfo_r16,
      { "uac-AC1-SelectAssistInfo-r16", "nr-rrc.uac_AC1_SelectAssistInfo_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16", HFILL }},
    { &hf_nr_rrc_uac_AC1_SelectAssistInfo_r16_item,
      { "UAC-AC1-SelectAssistInfo-r16", "nr-rrc.UAC_AC1_SelectAssistInfo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_UAC_AC1_SelectAssistInfo_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_99,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB1_v1700_IEs", HFILL }},
    { &hf_nr_rrc_hsdn_Cell_r17,
      { "hsdn-Cell-r17", "nr-rrc.hsdn_Cell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_hsdn_Cell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_BarringInfo_v1700,
      { "uac-BarringInfo-v1700", "nr-rrc.uac_BarringInfo_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_BarringInfoSetList_v1700,
      { "uac-BarringInfoSetList-v1700", "nr-rrc.uac_BarringInfoSetList_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sdt_ConfigCommon_r17,
      { "sdt-ConfigCommon-r17", "nr-rrc.sdt_ConfigCommon_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SDT_ConfigCommonSIB_r17", HFILL }},
    { &hf_nr_rrc_redCap_ConfigCommon_r17,
      { "redCap-ConfigCommon-r17", "nr-rrc.redCap_ConfigCommon_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RedCap_ConfigCommonSIB_r17", HFILL }},
    { &hf_nr_rrc_featurePriorities_r17,
      { "featurePriorities-r17", "nr-rrc.featurePriorities_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_redCapPriority_r17,
      { "redCapPriority-r17", "nr-rrc.redCapPriority_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeaturePriority_r17", HFILL }},
    { &hf_nr_rrc_slicingPriority_r17,
      { "slicingPriority-r17", "nr-rrc.slicingPriority_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeaturePriority_r17", HFILL }},
    { &hf_nr_rrc_msg3_Repetitions_Priority_r17,
      { "msg3-Repetitions-Priority-r17", "nr-rrc.msg3_Repetitions_Priority_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeaturePriority_r17", HFILL }},
    { &hf_nr_rrc_sdt_Priority_r17,
      { "sdt-Priority-r17", "nr-rrc.sdt_Priority_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeaturePriority_r17", HFILL }},
    { &hf_nr_rrc_si_SchedulingInfo_v1700,
      { "si-SchedulingInfo-v1700", "nr-rrc.si_SchedulingInfo_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_hyperSFN_r17,
      { "hyperSFN-r17", "nr-rrc.hyperSFN_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_eDRX_AllowedIdle_r17,
      { "eDRX-AllowedIdle-r17", "nr-rrc.eDRX_AllowedIdle_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eDRX_AllowedIdle_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eDRX_AllowedInactive_r17,
      { "eDRX-AllowedInactive-r17", "nr-rrc.eDRX_AllowedInactive_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eDRX_AllowedInactive_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqReselectionRedCap_r17,
      { "intraFreqReselectionRedCap-r17", "nr-rrc.intraFreqReselectionRedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqReselectionRedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellBarredNTN_r17,
      { "cellBarredNTN-r17", "nr-rrc.cellBarredNTN_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellBarredNTN_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_100,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB1_v1740_IEs", HFILL }},
    { &hf_nr_rrc_si_SchedulingInfo_v1740,
      { "si-SchedulingInfo-v1740", "nr-rrc.si_SchedulingInfo_v1740_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_101,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_39", HFILL }},
    { &hf_nr_rrc_sdt_RSRP_Threshold_r17,
      { "sdt-RSRP-Threshold-r17", "nr-rrc.sdt_RSRP_Threshold_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_sdt_LogicalChannelSR_DelayTimer_r17,
      { "sdt-LogicalChannelSR-DelayTimer-r17", "nr-rrc.sdt_LogicalChannelSR_DelayTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_LogicalChannelSR_DelayTimer_r17_vals), 0,
        "T_sdt_LogicalChannelSR_DelayTimer_r17", HFILL }},
    { &hf_nr_rrc_sdt_DataVolumeThreshold_r17,
      { "sdt-DataVolumeThreshold-r17", "nr-rrc.sdt_DataVolumeThreshold_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_DataVolumeThreshold_r17_vals), 0,
        "T_sdt_DataVolumeThreshold_r17", HFILL }},
    { &hf_nr_rrc_t319a_r17,
      { "t319a-r17", "nr-rrc.t319a_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t319a_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_halfDuplexRedCapAllowed_r17,
      { "halfDuplexRedCapAllowed-r17", "nr-rrc.halfDuplexRedCapAllowed_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_halfDuplexRedCapAllowed_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellBarredRedCap_r17,
      { "cellBarredRedCap-r17", "nr-rrc.cellBarredRedCap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellBarredRedCap1Rx_r17,
      { "cellBarredRedCap1Rx-r17", "nr-rrc.cellBarredRedCap1Rx_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellBarredRedCap1Rx_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellBarredRedCap2Rx_r17,
      { "cellBarredRedCap2Rx-r17", "nr-rrc.cellBarredRedCap2Rx_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellBarredRedCap2Rx_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_39,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_39_vals), 0,
        "T_criticalExtensions_39", HFILL }},
    { &hf_nr_rrc_sidelinkUEInformationNR_r16_03,
      { "sidelinkUEInformationNR-r16", "nr-rrc.sidelinkUEInformationNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SidelinkUEInformationNR_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_39,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_39", HFILL }},
    { &hf_nr_rrc_sl_RxInterestedFreqList_r16,
      { "sl-RxInterestedFreqList-r16", "nr-rrc.sl_RxInterestedFreqList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_InterestedFreqList_r16", HFILL }},
    { &hf_nr_rrc_sl_TxResourceReqList_r16,
      { "sl-TxResourceReqList-r16", "nr-rrc.sl_TxResourceReqList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_FailureList_r16,
      { "sl-FailureList-r16", "nr-rrc.sl_FailureList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_102,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SidelinkUEInformationNR_v1700_IEs", HFILL }},
    { &hf_nr_rrc_sl_TxResourceReqList_v1700,
      { "sl-TxResourceReqList-v1700", "nr-rrc.sl_TxResourceReqList_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RxDRX_ReportList_v1700,
      { "sl-RxDRX-ReportList-v1700", "nr-rrc.sl_RxDRX_ReportList_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RxInterestedGC_BC_DestList_r17,
      { "sl-RxInterestedGC-BC-DestList-r17", "nr-rrc.sl_RxInterestedGC_BC_DestList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RxInterestedFreqListDisc_r17,
      { "sl-RxInterestedFreqListDisc-r17", "nr-rrc.sl_RxInterestedFreqListDisc_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_InterestedFreqList_r16", HFILL }},
    { &hf_nr_rrc_sl_TxResourceReqListDisc_r17,
      { "sl-TxResourceReqListDisc-r17", "nr-rrc.sl_TxResourceReqListDisc_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TxResourceReqListCommRelay_r17,
      { "sl-TxResourceReqListCommRelay-r17", "nr-rrc.sl_TxResourceReqListCommRelay_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_Type_r17,
      { "ue-Type-r17", "nr-rrc.ue_Type_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_Type_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SourceIdentityRemoteUE_r17,
      { "sl-SourceIdentityRemoteUE-r17", "nr-rrc.sl_SourceIdentityRemoteUE_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SL_SourceIdentity_r17", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_103,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_40", HFILL }},
    { &hf_nr_rrc_SL_InterestedFreqList_r16_item,
      { "SL-InterestedFreqList-r16 item", "nr-rrc.SL_InterestedFreqList_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofFreqSL_r16", HFILL }},
    { &hf_nr_rrc_SL_TxResourceReqList_r16_item,
      { "SL-TxResourceReq-r16", "nr-rrc.SL_TxResourceReq_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DestinationIdentity_r16,
      { "sl-DestinationIdentity-r16", "nr-rrc.sl_DestinationIdentity_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CastType_r16,
      { "sl-CastType-r16", "nr-rrc.sl_CastType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CastType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RLC_ModeIndicationList_r16,
      { "sl-RLC-ModeIndicationList-r16", "nr-rrc.sl_RLC_ModeIndicationList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16", HFILL }},
    { &hf_nr_rrc_sl_RLC_ModeIndicationList_r16_item,
      { "SL-RLC-ModeIndication-r16", "nr-rrc.SL_RLC_ModeIndication_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_QoS_InfoList_r16,
      { "sl-QoS-InfoList-r16", "nr-rrc.sl_QoS_InfoList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16", HFILL }},
    { &hf_nr_rrc_sl_QoS_InfoList_r16_item,
      { "SL-QoS-Info-r16", "nr-rrc.SL_QoS_Info_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TypeTxSyncList_r16,
      { "sl-TypeTxSyncList-r16", "nr-rrc.sl_TypeTxSyncList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16", HFILL }},
    { &hf_nr_rrc_sl_TypeTxSyncList_r16_item,
      { "SL-TypeTxSync-r16", "nr-rrc.SL_TypeTxSync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TypeTxSync_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TxInterestedFreqList_r16,
      { "sl-TxInterestedFreqList-r16", "nr-rrc.sl_TxInterestedFreqList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CapabilityInformationSidelink_r16,
      { "sl-CapabilityInformationSidelink-r16", "nr-rrc.sl_CapabilityInformationSidelink_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_TxResourceReqList_v1700_item,
      { "SL-TxResourceReq-v1700", "nr-rrc.SL_TxResourceReq_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_RxDRX_ReportList_v1700_item,
      { "SL-RxDRX-Report-v1700", "nr-rrc.SL_RxDRX_Report_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_InfoFromRxList_r17,
      { "sl-DRX-InfoFromRxList-r17", "nr-rrc.sl_DRX_InfoFromRxList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17", HFILL }},
    { &hf_nr_rrc_sl_DRX_InfoFromRxList_r17_item,
      { "SL-DRX-ConfigUC-SemiStatic-r17", "nr-rrc.SL_DRX_ConfigUC_SemiStatic_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_Indication_r17,
      { "sl-DRX-Indication-r17", "nr-rrc.sl_DRX_Indication_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_Indication_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigFromTx_r17,
      { "sl-DRX-ConfigFromTx-r17", "nr-rrc.sl_DRX_ConfigFromTx_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_DRX_ConfigUC_SemiStatic_r17", HFILL }},
    { &hf_nr_rrc_SL_RxInterestedGC_BC_DestList_r17_item,
      { "SL-RxInterestedGC-BC-Dest-r17", "nr-rrc.SL_RxInterestedGC_BC_Dest_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RxInterestedQoS_InfoList_r17,
      { "sl-RxInterestedQoS-InfoList-r17", "nr-rrc.sl_RxInterestedQoS_InfoList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16", HFILL }},
    { &hf_nr_rrc_sl_RxInterestedQoS_InfoList_r17_item,
      { "SL-QoS-Info-r16", "nr-rrc.SL_QoS_Info_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_TxResourceReqListDisc_r17_item,
      { "SL-TxResourceReqDisc-r17", "nr-rrc.SL_TxResourceReqDisc_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DestinationIdentityDisc_r17,
      { "sl-DestinationIdentityDisc-r17", "nr-rrc.sl_DestinationIdentityDisc_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SL_DestinationIdentity_r16", HFILL }},
    { &hf_nr_rrc_sl_SourceIdentityRelayUE_r17,
      { "sl-SourceIdentityRelayUE-r17", "nr-rrc.sl_SourceIdentityRelayUE_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SL_SourceIdentity_r17", HFILL }},
    { &hf_nr_rrc_sl_CastTypeDisc_r17,
      { "sl-CastTypeDisc-r17", "nr-rrc.sl_CastTypeDisc_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CastTypeDisc_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TxInterestedFreqListDisc_r17,
      { "sl-TxInterestedFreqListDisc-r17", "nr-rrc.sl_TxInterestedFreqListDisc_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_TxInterestedFreqList_r16", HFILL }},
    { &hf_nr_rrc_sl_TypeTxSyncListDisc_r17,
      { "sl-TypeTxSyncListDisc-r17", "nr-rrc.sl_TypeTxSyncListDisc_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16", HFILL }},
    { &hf_nr_rrc_sl_TypeTxSyncListDisc_r17_item,
      { "SL-TypeTxSync-r16", "nr-rrc.SL_TypeTxSync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TypeTxSync_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DiscoveryType_r17,
      { "sl-DiscoveryType-r17", "nr-rrc.sl_DiscoveryType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DiscoveryType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_TxResourceReqListCommRelay_r17_item,
      { "SL-TxResourceReqCommRelayInfo-r17", "nr-rrc.SL_TxResourceReqCommRelayInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RelayDRXConfig_r17,
      { "sl-RelayDRXConfig-r17", "nr-rrc.sl_RelayDRXConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_TxResourceReq_v1700", HFILL }},
    { &hf_nr_rrc_sl_TxResourceReqCommRelay_r17,
      { "sl-TxResourceReqCommRelay-r17", "nr-rrc.sl_TxResourceReqCommRelay_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TxResourceReqCommRelay_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TxResourceReqL2U2N_Relay_r17,
      { "sl-TxResourceReqL2U2N-Relay-r17", "nr-rrc.sl_TxResourceReqL2U2N_Relay_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TxResourceReqL3U2N_Relay_r17,
      { "sl-TxResourceReqL3U2N-Relay-r17", "nr-rrc.sl_TxResourceReqL3U2N_Relay_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_TxResourceReq_r16", HFILL }},
    { &hf_nr_rrc_sl_DestinationIdentityL2U2N_r17,
      { "sl-DestinationIdentityL2U2N-r17", "nr-rrc.sl_DestinationIdentityL2U2N_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SL_DestinationIdentity_r16", HFILL }},
    { &hf_nr_rrc_sl_TxInterestedFreqListL2U2N_r17,
      { "sl-TxInterestedFreqListL2U2N-r17", "nr-rrc.sl_TxInterestedFreqListL2U2N_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_TxInterestedFreqList_r16", HFILL }},
    { &hf_nr_rrc_sl_TypeTxSyncListL2U2N_r17,
      { "sl-TypeTxSyncListL2U2N-r17", "nr-rrc.sl_TypeTxSyncListL2U2N_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16", HFILL }},
    { &hf_nr_rrc_sl_TypeTxSyncListL2U2N_r17_item,
      { "SL-TypeTxSync-r16", "nr-rrc.SL_TypeTxSync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TypeTxSync_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_LocalID_Request_r17,
      { "sl-LocalID-Request-r17", "nr-rrc.sl_LocalID_Request_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_LocalID_Request_r17_vals), 0,
        "T_sl_LocalID_Request_r17", HFILL }},
    { &hf_nr_rrc_sl_PagingIdentityRemoteUE_r17,
      { "sl-PagingIdentityRemoteUE-r17", "nr-rrc.sl_PagingIdentityRemoteUE_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CapabilityInformationSidelink_r17,
      { "sl-CapabilityInformationSidelink-r17", "nr-rrc.sl_CapabilityInformationSidelink_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_TxInterestedFreqList_r16_item,
      { "SL-TxInterestedFreqList-r16 item", "nr-rrc.SL_TxInterestedFreqList_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofFreqSL_r16", HFILL }},
    { &hf_nr_rrc_sl_QoS_FlowIdentity_r16,
      { "sl-QoS-FlowIdentity-r16", "nr-rrc.sl_QoS_FlowIdentity_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_QoS_Profile_r16,
      { "sl-QoS-Profile-r16", "nr-rrc.sl_QoS_Profile_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Mode_r16,
      { "sl-Mode-r16", "nr-rrc.sl_Mode_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Mode_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_AM_Mode_r16,
      { "sl-AM-Mode-r16", "nr-rrc.sl_AM_Mode_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_UM_Mode_r16,
      { "sl-UM-Mode-r16", "nr-rrc.sl_UM_Mode_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_FailureList_r16_item,
      { "SL-Failure-r16", "nr-rrc.SL_Failure_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Failure_r16,
      { "sl-Failure-r16", "nr-rrc.sl_Failure_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Failure_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_40,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_40_vals), 0,
        "T_criticalExtensions_40", HFILL }},
    { &hf_nr_rrc_systemInformation_01,
      { "systemInformation", "nr-rrc.systemInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SystemInformation_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_r16_01,
      { "criticalExtensionsFuture-r16", "nr-rrc.criticalExtensionsFuture_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensionsFuture_r16_01_vals), 0,
        "T_criticalExtensionsFuture_r16_01", HFILL }},
    { &hf_nr_rrc_posSystemInformation_r16,
      { "posSystemInformation-r16", "nr-rrc.posSystemInformation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PosSystemInformation_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_40,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_40", HFILL }},
    { &hf_nr_rrc_sib_TypeAndInfo,
      { "sib-TypeAndInfo", "nr-rrc.sib_TypeAndInfo",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib_TypeAndInfo_item,
      { "sib-TypeAndInfo item", "nr-rrc.sib_TypeAndInfo_item",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sib_TypeAndInfo_item_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib2,
      { "sib2", "nr-rrc.sib2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib3,
      { "sib3", "nr-rrc.sib3_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib4,
      { "sib4", "nr-rrc.sib4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib5,
      { "sib5", "nr-rrc.sib5_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib6,
      { "sib6", "nr-rrc.sib6_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7,
      { "sib7", "nr-rrc.sib7_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8,
      { "sib8", "nr-rrc.sib8_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib9,
      { "sib9", "nr-rrc.sib9_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib10_v1610,
      { "sib10-v1610", "nr-rrc.sib10_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB10_r16", HFILL }},
    { &hf_nr_rrc_sib11_v1610,
      { "sib11-v1610", "nr-rrc.sib11_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB11_r16", HFILL }},
    { &hf_nr_rrc_sib12_v1610,
      { "sib12-v1610", "nr-rrc.sib12_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB12_r16", HFILL }},
    { &hf_nr_rrc_sib13_v1610,
      { "sib13-v1610", "nr-rrc.sib13_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB13_r16", HFILL }},
    { &hf_nr_rrc_sib14_v1610,
      { "sib14-v1610", "nr-rrc.sib14_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB14_r16", HFILL }},
    { &hf_nr_rrc_sib15_v1700,
      { "sib15-v1700", "nr-rrc.sib15_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB15_r17", HFILL }},
    { &hf_nr_rrc_sib16_v1700,
      { "sib16-v1700", "nr-rrc.sib16_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB16_r17", HFILL }},
    { &hf_nr_rrc_sib17_v1700,
      { "sib17-v1700", "nr-rrc.sib17_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB17_r17", HFILL }},
    { &hf_nr_rrc_sib18_v1700,
      { "sib18-v1700", "nr-rrc.sib18_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB18_r17", HFILL }},
    { &hf_nr_rrc_sib19_v1700,
      { "sib19-v1700", "nr-rrc.sib19_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB19_r17", HFILL }},
    { &hf_nr_rrc_sib20_v1700,
      { "sib20-v1700", "nr-rrc.sib20_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB20_r17", HFILL }},
    { &hf_nr_rrc_sib21_v1700,
      { "sib21-v1700", "nr-rrc.sib21_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SIB21_r17", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_104,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_41", HFILL }},
    { &hf_nr_rrc_criticalExtensions_41,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_41_vals), 0,
        "T_criticalExtensions_41", HFILL }},
    { &hf_nr_rrc_ueAssistanceInformation_02,
      { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEAssistanceInformation_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_41,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_41", HFILL }},
    { &hf_nr_rrc_delayBudgetReport,
      { "delayBudgetReport", "nr-rrc.delayBudgetReport",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DelayBudgetReport_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_105,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEAssistanceInformation_v1540_IEs", HFILL }},
    { &hf_nr_rrc_type1,
      { "type1", "nr-rrc.type1",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_type1_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_overheatingAssistance,
      { "overheatingAssistance", "nr-rrc.overheatingAssistance_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_106,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEAssistanceInformation_v1610_IEs", HFILL }},
    { &hf_nr_rrc_reducedMaxCCs,
      { "reducedMaxCCs", "nr-rrc.reducedMaxCCs_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReducedMaxCCs_r16", HFILL }},
    { &hf_nr_rrc_reducedMaxBW_FR1,
      { "reducedMaxBW-FR1", "nr-rrc.reducedMaxBW_FR1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReducedMaxBW_FRx_r16", HFILL }},
    { &hf_nr_rrc_reducedMaxBW_FR2,
      { "reducedMaxBW-FR2", "nr-rrc.reducedMaxBW_FR2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReducedMaxBW_FRx_r16", HFILL }},
    { &hf_nr_rrc_reducedMaxMIMO_LayersFR1,
      { "reducedMaxMIMO-LayersFR1", "nr-rrc.reducedMaxMIMO_LayersFR1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR1_DL,
      { "reducedMIMO-LayersFR1-DL", "nr-rrc.reducedMIMO_LayersFR1_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0,
        "MIMO_LayersDL", HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR1_UL,
      { "reducedMIMO-LayersFR1-UL", "nr-rrc.reducedMIMO_LayersFR1_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
        "MIMO_LayersUL", HFILL }},
    { &hf_nr_rrc_reducedMaxMIMO_LayersFR2,
      { "reducedMaxMIMO-LayersFR2", "nr-rrc.reducedMaxMIMO_LayersFR2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR2_DL,
      { "reducedMIMO-LayersFR2-DL", "nr-rrc.reducedMIMO_LayersFR2_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0,
        "MIMO_LayersDL", HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR2_UL,
      { "reducedMIMO-LayersFR2-UL", "nr-rrc.reducedMIMO_LayersFR2_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
        "MIMO_LayersUL", HFILL }},
    { &hf_nr_rrc_reducedMaxBW_FR2_2_r17,
      { "reducedMaxBW-FR2-2-r17", "nr-rrc.reducedMaxBW_FR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedBW_FR2_2_DL_r17,
      { "reducedBW-FR2-2-DL-r17", "nr-rrc.reducedBW_FR2_2_DL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_r17_vals), 0,
        "ReducedAggregatedBandwidth_r17", HFILL }},
    { &hf_nr_rrc_reducedBW_FR2_2_UL_r17,
      { "reducedBW-FR2-2-UL-r17", "nr-rrc.reducedBW_FR2_2_UL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_r17_vals), 0,
        "ReducedAggregatedBandwidth_r17", HFILL }},
    { &hf_nr_rrc_reducedMaxMIMO_LayersFR2_2,
      { "reducedMaxMIMO-LayersFR2-2", "nr-rrc.reducedMaxMIMO_LayersFR2_2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR2_2_DL,
      { "reducedMIMO-LayersFR2-2-DL", "nr-rrc.reducedMIMO_LayersFR2_2_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0,
        "MIMO_LayersDL", HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR2_2_UL,
      { "reducedMIMO-LayersFR2-2-UL", "nr-rrc.reducedMIMO_LayersFR2_2_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
        "MIMO_LayersUL", HFILL }},
    { &hf_nr_rrc_idc_Assistance_r16,
      { "idc-Assistance-r16", "nr-rrc.idc_Assistance_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_Preference_r16,
      { "drx-Preference-r16", "nr-rrc.drx_Preference_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxBW_Preference_r16,
      { "maxBW-Preference-r16", "nr-rrc.maxBW_Preference_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCC_Preference_r16,
      { "maxCC-Preference-r16", "nr-rrc.maxCC_Preference_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMIMO_LayerPreference_r16,
      { "maxMIMO-LayerPreference-r16", "nr-rrc.maxMIMO_LayerPreference_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minSchedulingOffsetPreference_r16,
      { "minSchedulingOffsetPreference-r16", "nr-rrc.minSchedulingOffsetPreference_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_releasePreference_r16,
      { "releasePreference-r16", "nr-rrc.releasePreference_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_UE_AssistanceInformationNR_r16,
      { "sl-UE-AssistanceInformationNR-r16", "nr-rrc.sl_UE_AssistanceInformationNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceTimeInfoPreference_r16,
      { "referenceTimeInfoPreference-r16", "nr-rrc.referenceTimeInfoPreference_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_107,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEAssistanceInformation_v1700_IEs", HFILL }},
    { &hf_nr_rrc_ul_GapFR2_Preference_r17,
      { "ul-GapFR2-Preference-r17", "nr-rrc.ul_GapFR2_Preference_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_Assistance_r17,
      { "musim-Assistance-r17", "nr-rrc.musim_Assistance_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_overheatingAssistance_r17,
      { "overheatingAssistance-r17", "nr-rrc.overheatingAssistance_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxBW_PreferenceFR2_2_r17,
      { "maxBW-PreferenceFR2-2-r17", "nr-rrc.maxBW_PreferenceFR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMIMO_LayerPreferenceFR2_2_r17,
      { "maxMIMO-LayerPreferenceFR2-2-r17", "nr-rrc.maxMIMO_LayerPreferenceFR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minSchedulingOffsetPreferenceExt_r17,
      { "minSchedulingOffsetPreferenceExt-r17", "nr-rrc.minSchedulingOffsetPreferenceExt_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlm_MeasRelaxationState_r17,
      { "rlm-MeasRelaxationState-r17", "nr-rrc.rlm_MeasRelaxationState_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_bfd_MeasRelaxationState_r17,
      { "bfd-MeasRelaxationState-r17", "nr-rrc.bfd_MeasRelaxationState_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxNrofServingCells", HFILL }},
    { &hf_nr_rrc_nonSDT_DataIndication_r17,
      { "nonSDT-DataIndication-r17", "nr-rrc.nonSDT_DataIndication_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonSDT_DataIndication_r17", HFILL }},
    { &hf_nr_rrc_resumeCause_r17,
      { "resumeCause-r17", "nr-rrc.resumeCause_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ResumeCause_vals), 0,
        "ResumeCause", HFILL }},
    { &hf_nr_rrc_scg_DeactivationPreference_r17,
      { "scg-DeactivationPreference-r17", "nr-rrc.scg_DeactivationPreference_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_DeactivationPreference_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkData_r17,
      { "uplinkData-r17", "nr-rrc.uplinkData_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkData_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrm_MeasRelaxationFulfilment_r17,
      { "rrm-MeasRelaxationFulfilment-r17", "nr-rrc.rrm_MeasRelaxationFulfilment_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_propagationDelayDifference_r17,
      { "propagationDelayDifference-r17", "nr-rrc.propagationDelayDifference_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_108,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_42", HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqList_r16,
      { "affectedCarrierFreqList-r16", "nr-rrc.affectedCarrierFreqList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqCombList_r16,
      { "affectedCarrierFreqCombList-r16", "nr-rrc.affectedCarrierFreqCombList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_AffectedCarrierFreqList_r16_item,
      { "AffectedCarrierFreq-r16", "nr-rrc.AffectedCarrierFreq_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierFreq_r16_01,
      { "carrierFreq-r16", "nr-rrc.carrierFreq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_interferenceDirection_r16,
      { "interferenceDirection-r16", "nr-rrc.interferenceDirection_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interferenceDirection_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_AffectedCarrierFreqCombList_r16_item,
      { "AffectedCarrierFreqComb-r16", "nr-rrc.AffectedCarrierFreqComb_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqComb_r16,
      { "affectedCarrierFreqComb-r16", "nr-rrc.affectedCarrierFreqComb_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_affectedCarrierFreqComb_r16_item,
      { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_victimSystemType_r16,
      { "victimSystemType-r16", "nr-rrc.victimSystemType_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gps_r16,
      { "gps-r16", "nr-rrc.gps_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gps_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_glonass_r16,
      { "glonass-r16", "nr-rrc.glonass_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_glonass_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bds_r16,
      { "bds-r16", "nr-rrc.bds_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bds_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_galileo_r16,
      { "galileo-r16", "nr-rrc.galileo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_galileo_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_navIC_r16,
      { "navIC-r16", "nr-rrc.navIC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_navIC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_wlan_r16,
      { "wlan-r16", "nr-rrc.wlan_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlan_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bluetooth_r16,
      { "bluetooth-r16", "nr-rrc.bluetooth_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bluetooth_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredDRX_InactivityTimer_r16,
      { "preferredDRX-InactivityTimer-r16", "nr-rrc.preferredDRX_InactivityTimer_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_preferredDRX_InactivityTimer_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredDRX_LongCycle_r16,
      { "preferredDRX-LongCycle-r16", "nr-rrc.preferredDRX_LongCycle_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_preferredDRX_LongCycle_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredDRX_ShortCycle_r16,
      { "preferredDRX-ShortCycle-r16", "nr-rrc.preferredDRX_ShortCycle_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_preferredDRX_ShortCycle_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredDRX_ShortCycleTimer_r16,
      { "preferredDRX-ShortCycleTimer-r16", "nr-rrc.preferredDRX_ShortCycleTimer_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_reducedMaxBW_FR1_r16,
      { "reducedMaxBW-FR1-r16", "nr-rrc.reducedMaxBW_FR1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReducedMaxBW_FRx_r16", HFILL }},
    { &hf_nr_rrc_reducedMaxBW_FR2_r16,
      { "reducedMaxBW-FR2-r16", "nr-rrc.reducedMaxBW_FR2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReducedMaxBW_FRx_r16", HFILL }},
    { &hf_nr_rrc_reducedMaxBW_FR2_2_r17_01,
      { "reducedMaxBW-FR2-2-r17", "nr-rrc.reducedMaxBW_FR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_reducedMaxBW_FR2_2_r17_01", HFILL }},
    { &hf_nr_rrc_reducedMaxCCs_r16,
      { "reducedMaxCCs-r16", "nr-rrc.reducedMaxCCs_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedMaxMIMO_LayersFR1_r16,
      { "reducedMaxMIMO-LayersFR1-r16", "nr-rrc.reducedMaxMIMO_LayersFR1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR1_DL_r16,
      { "reducedMIMO-LayersFR1-DL-r16", "nr-rrc.reducedMIMO_LayersFR1_DL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR1_UL_r16,
      { "reducedMIMO-LayersFR1-UL-r16", "nr-rrc.reducedMIMO_LayersFR1_UL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_reducedMaxMIMO_LayersFR2_r16,
      { "reducedMaxMIMO-LayersFR2-r16", "nr-rrc.reducedMaxMIMO_LayersFR2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR2_DL_r16,
      { "reducedMIMO-LayersFR2-DL-r16", "nr-rrc.reducedMIMO_LayersFR2_DL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR2_UL_r16,
      { "reducedMIMO-LayersFR2-UL-r16", "nr-rrc.reducedMIMO_LayersFR2_UL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_reducedMaxMIMO_LayersFR2_2_r17,
      { "reducedMaxMIMO-LayersFR2-2-r17", "nr-rrc.reducedMaxMIMO_LayersFR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR2_2_DL_r17,
      { "reducedMIMO-LayersFR2-2-DL-r17", "nr-rrc.reducedMIMO_LayersFR2_2_DL_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_reducedMIMO_LayersFR2_2_UL_r17,
      { "reducedMIMO-LayersFR2-2-UL-r17", "nr-rrc.reducedMIMO_LayersFR2_2_UL_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_preferredK0_r16,
      { "preferredK0-r16", "nr-rrc.preferredK0_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK0_SCS_15kHz_r16,
      { "preferredK0-SCS-15kHz-r16", "nr-rrc.preferredK0_SCS_15kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_15kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK0_SCS_30kHz_r16,
      { "preferredK0-SCS-30kHz-r16", "nr-rrc.preferredK0_SCS_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_30kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK0_SCS_60kHz_r16,
      { "preferredK0-SCS-60kHz-r16", "nr-rrc.preferredK0_SCS_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_60kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK0_SCS_120kHz_r16,
      { "preferredK0-SCS-120kHz-r16", "nr-rrc.preferredK0_SCS_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_120kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK2_r16,
      { "preferredK2-r16", "nr-rrc.preferredK2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK2_SCS_15kHz_r16,
      { "preferredK2-SCS-15kHz-r16", "nr-rrc.preferredK2_SCS_15kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_15kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK2_SCS_30kHz_r16,
      { "preferredK2-SCS-30kHz-r16", "nr-rrc.preferredK2_SCS_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_30kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK2_SCS_60kHz_r16,
      { "preferredK2-SCS-60kHz-r16", "nr-rrc.preferredK2_SCS_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_60kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK2_SCS_120kHz_r16,
      { "preferredK2-SCS-120kHz-r16", "nr-rrc.preferredK2_SCS_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_120kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK0_r17,
      { "preferredK0-r17", "nr-rrc.preferredK0_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK0_SCS_480kHz_r17,
      { "preferredK0-SCS-480kHz-r17", "nr-rrc.preferredK0_SCS_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK0_SCS_960kHz_r17,
      { "preferredK0-SCS-960kHz-r17", "nr-rrc.preferredK0_SCS_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_960kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK2_r17,
      { "preferredK2-r17", "nr-rrc.preferredK2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK2_SCS_480kHz_r17,
      { "preferredK2-SCS-480kHz-r17", "nr-rrc.preferredK2_SCS_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredK2_SCS_960kHz_r17,
      { "preferredK2-SCS-960kHz-r17", "nr-rrc.preferredK2_SCS_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_960kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_PreferredRRC_State_r17,
      { "musim-PreferredRRC-State-r17", "nr-rrc.musim_PreferredRRC_State_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_PreferredRRC_State_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapPreferenceList_r17,
      { "musim-GapPreferenceList-r17", "nr-rrc.musim_GapPreferenceList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MUSIM_GapPreferenceList_r17_item,
      { "MUSIM-GapInfo-r17", "nr-rrc.MUSIM_GapInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preferredRRC_State_r16,
      { "preferredRRC-State-r16", "nr-rrc.preferredRRC_State_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredRRC_State_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reducedBW_DL_r16,
      { "reducedBW-DL-r16", "nr-rrc.reducedBW_DL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0,
        "ReducedAggregatedBandwidth", HFILL }},
    { &hf_nr_rrc_reducedBW_UL_r16,
      { "reducedBW-UL-r16", "nr-rrc.reducedBW_UL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0,
        "ReducedAggregatedBandwidth", HFILL }},
    { &hf_nr_rrc_reducedCCsDL_r16,
      { "reducedCCsDL-r16", "nr-rrc.reducedCCsDL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_reducedCCsUL_r16,
      { "reducedCCsUL-r16", "nr-rrc.reducedCCsUL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_SL_UE_AssistanceInformationNR_r16_item,
      { "SL-TrafficPatternInfo-r16", "nr-rrc.SL_TrafficPatternInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_trafficPeriodicity_r16,
      { "trafficPeriodicity-r16", "nr-rrc.trafficPeriodicity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_trafficPeriodicity_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timingOffset_r16,
      { "timingOffset-r16", "nr-rrc.timingOffset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_10239", HFILL }},
    { &hf_nr_rrc_messageSize_r16,
      { "messageSize-r16", "nr-rrc.messageSize_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_ul_GapFR2_PatternPreference_r17,
      { "ul-GapFR2-PatternPreference-r17", "nr-rrc.ul_GapFR2_PatternPreference_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_PropagationDelayDifference_r17_item,
      { "PropagationDelayDifference-r17 item", "nr-rrc.PropagationDelayDifference_r17_item",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M270_270", HFILL }},
    { &hf_nr_rrc_criticalExtensions_42,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_42_vals), 0,
        "T_criticalExtensions_42", HFILL }},
    { &hf_nr_rrc_ueCapabilityEnquiry_01,
      { "ueCapabilityEnquiry", "nr-rrc.ueCapabilityEnquiry_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UECapabilityEnquiry_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_42,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_42", HFILL }},
    { &hf_nr_rrc_ue_CapabilityRAT_RequestList,
      { "ue-CapabilityRAT-RequestList", "nr-rrc.ue_CapabilityRAT_RequestList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_CapabilityEnquiryExt,
      { "ue-CapabilityEnquiryExt", "nr-rrc.ue_CapabilityEnquiryExt",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_capabilityRequestFilterCommon,
      { "capabilityRequestFilterCommon", "nr-rrc.capabilityRequestFilterCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_CapabilityRequestFilterCommon", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_109,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UECapabilityEnquiry_v1610_IEs", HFILL }},
    { &hf_nr_rrc_rrc_SegAllowed_r16,
      { "rrc-SegAllowed-r16", "nr-rrc.rrc_SegAllowed_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrc_SegAllowed_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_110,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_43", HFILL }},
    { &hf_nr_rrc_criticalExtensions_43,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_43_vals), 0,
        "T_criticalExtensions_43", HFILL }},
    { &hf_nr_rrc_ueCapabilityInformation_01,
      { "ueCapabilityInformation", "nr-rrc.ueCapabilityInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UECapabilityInformation_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_43,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_43", HFILL }},
    { &hf_nr_rrc_ue_CapabilityRAT_ContainerList,
      { "ue-CapabilityRAT-ContainerList", "nr-rrc.ue_CapabilityRAT_ContainerList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_111,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_44", HFILL }},
    { &hf_nr_rrc_criticalExtensions_44,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_44_vals), 0,
        "T_criticalExtensions_44", HFILL }},
    { &hf_nr_rrc_ueInformationRequest_r16_01,
      { "ueInformationRequest-r16", "nr-rrc.ueInformationRequest_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEInformationRequest_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_44,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_44", HFILL }},
    { &hf_nr_rrc_idleModeMeasurementReq_r16_01,
      { "idleModeMeasurementReq-r16", "nr-rrc.idleModeMeasurementReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasurementReq_r16_01_vals), 0,
        "T_idleModeMeasurementReq_r16_01", HFILL }},
    { &hf_nr_rrc_logMeasReportReq_r16,
      { "logMeasReportReq-r16", "nr-rrc.logMeasReportReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasReportReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_connEstFailReportReq_r16,
      { "connEstFailReportReq-r16", "nr-rrc.connEstFailReportReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailReportReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_ReportReq_r16,
      { "ra-ReportReq-r16", "nr-rrc.ra_ReportReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ReportReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlf_ReportReq_r16,
      { "rlf-ReportReq-r16", "nr-rrc.rlf_ReportReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_ReportReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mobilityHistoryReportReq_r16,
      { "mobilityHistoryReportReq-r16", "nr-rrc.mobilityHistoryReportReq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityHistoryReportReq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_112,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEInformationRequest_v1700_IEs", HFILL }},
    { &hf_nr_rrc_successHO_ReportReq_r17,
      { "successHO-ReportReq-r17", "nr-rrc.successHO_ReportReq_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_successHO_ReportReq_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_coarseLocationRequest_r17,
      { "coarseLocationRequest-r17", "nr-rrc.coarseLocationRequest_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_coarseLocationRequest_r17_vals), 0,
        "T_coarseLocationRequest_r17", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_113,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_45", HFILL }},
    { &hf_nr_rrc_criticalExtensions_45,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_45_vals), 0,
        "T_criticalExtensions_45", HFILL }},
    { &hf_nr_rrc_ueInformationResponse_r16_01,
      { "ueInformationResponse-r16", "nr-rrc.ueInformationResponse_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEInformationResponse_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_45,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_45", HFILL }},
    { &hf_nr_rrc_logMeasReport_r16,
      { "logMeasReport-r16", "nr-rrc.logMeasReport_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_connEstFailReport_r16,
      { "connEstFailReport-r16", "nr-rrc.connEstFailReport_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_ReportList_r16,
      { "ra-ReportList-r16", "nr-rrc.ra_ReportList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlf_Report_r16,
      { "rlf-Report-r16", "nr-rrc.rlf_Report_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RLF_Report_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mobilityHistoryReport_r16,
      { "mobilityHistoryReport-r16", "nr-rrc.mobilityHistoryReport_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_114,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEInformationResponse_v1700_IEs", HFILL }},
    { &hf_nr_rrc_successHO_Report_r17,
      { "successHO-Report-r17", "nr-rrc.successHO_Report_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_connEstFailReportList_r17,
      { "connEstFailReportList-r17", "nr-rrc.connEstFailReportList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_coarseLocationInfo_r17,
      { "coarseLocationInfo-r17", "nr-rrc.coarseLocationInfo_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_115,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_46", HFILL }},
    { &hf_nr_rrc_absoluteTimeStamp_r16,
      { "absoluteTimeStamp-r16", "nr-rrc.absoluteTimeStamp_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "AbsoluteTimeInfo_r16", HFILL }},
    { &hf_nr_rrc_logMeasInfoList_r16,
      { "logMeasInfoList-r16", "nr-rrc.logMeasInfoList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logMeasAvailable_r16,
      { "logMeasAvailable-r16", "nr-rrc.logMeasAvailable_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailable_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logMeasAvailableBT_r16,
      { "logMeasAvailableBT-r16", "nr-rrc.logMeasAvailableBT_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailableBT_r16_vals), 0,
        "T_logMeasAvailableBT_r16", HFILL }},
    { &hf_nr_rrc_logMeasAvailableWLAN_r16,
      { "logMeasAvailableWLAN-r16", "nr-rrc.logMeasAvailableWLAN_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailableWLAN_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_LogMeasInfoList_r16_item,
      { "LogMeasInfo-r16", "nr-rrc.LogMeasInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_relativeTimeStamp_r16,
      { "relativeTimeStamp-r16", "nr-rrc.relativeTimeStamp_r16",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        "INTEGER_0_7200", HFILL }},
    { &hf_nr_rrc_servCellIdentity_r16,
      { "servCellIdentity-r16", "nr-rrc.servCellIdentity_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_measResultServingCell_r16,
      { "measResultServingCell-r16", "nr-rrc.measResultServingCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultNeighCells_r16,
      { "measResultNeighCells-r16", "nr-rrc.measResultNeighCells_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultNeighCellListNR,
      { "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultListLogging2NR_r16", HFILL }},
    { &hf_nr_rrc_measResultNeighCellListEUTRA,
      { "measResultNeighCellListEUTRA", "nr-rrc.measResultNeighCellListEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2EUTRA_r16", HFILL }},
    { &hf_nr_rrc_anyCellSelectionDetected_r16,
      { "anyCellSelectionDetected-r16", "nr-rrc.anyCellSelectionDetected_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_anyCellSelectionDetected_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_inDeviceCoexDetected_r17,
      { "inDeviceCoexDetected-r17", "nr-rrc.inDeviceCoexDetected_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inDeviceCoexDetected_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultFailedCell_r16,
      { "measResultFailedCell-r16", "nr-rrc.measResultFailedCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultNeighCells_r16_01,
      { "measResultNeighCells-r16", "nr-rrc.measResultNeighCells_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_measResultNeighCells_r16_01", HFILL }},
    { &hf_nr_rrc_measResultNeighCellListNR_01,
      { "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2NR_r16", HFILL }},
    { &hf_nr_rrc_numberOfConnFail_r16,
      { "numberOfConnFail-r16", "nr-rrc.numberOfConnFail_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_perRAInfoList_r16,
      { "perRAInfoList-r16", "nr-rrc.perRAInfoList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeSinceFailure_r16,
      { "timeSinceFailure-r16", "nr-rrc.timeSinceFailure_r16",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ConnEstFailReportList_r17_item,
      { "ConnEstFailReport-r16", "nr-rrc.ConnEstFailReport_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resultsSSB_Cell,
      { "resultsSSB-Cell", "nr-rrc.resultsSSB_Cell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_resultsSSB,
      { "resultsSSB", "nr-rrc.resultsSSB_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_best_ssb_Index,
      { "best-ssb-Index", "nr-rrc.best_ssb_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_Index", HFILL }},
    { &hf_nr_rrc_best_ssb_Results,
      { "best-ssb-Results", "nr-rrc.best_ssb_Results_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_numberOfGoodSSB,
      { "numberOfGoodSSB", "nr-rrc.numberOfGoodSSB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSSBs_r16", HFILL }},
    { &hf_nr_rrc_cgi_Info_01,
      { "cgi-Info", "nr-rrc.cgi_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_measResult_r16,
      { "measResult-r16", "nr-rrc.measResult_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_measResult_r16", HFILL }},
    { &hf_nr_rrc_cellResults_r16,
      { "cellResults-r16", "nr-rrc.cellResults_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resultsSSB_Cell_r16,
      { "resultsSSB-Cell-r16", "nr-rrc.resultsSSB_Cell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_rsIndexResults_r16,
      { "rsIndexResults-r16", "nr-rrc.rsIndexResults_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resultsSSB_Indexes_r16,
      { "resultsSSB-Indexes-r16", "nr-rrc.resultsSSB_Indexes_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ResultsPerSSB_IndexList", HFILL }},
    { &hf_nr_rrc_RA_ReportList_r16_item,
      { "RA-Report-r16", "nr-rrc.RA_Report_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellId_r16,
      { "cellId-r16", "nr-rrc.cellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellGlobalId_r16,
      { "cellGlobalId-r16", "nr-rrc.cellGlobalId_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_pci_arfcn_r16,
      { "pci-arfcn-r16", "nr-rrc.pci_arfcn_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PCI_ARFCN_NR_r16", HFILL }},
    { &hf_nr_rrc_ra_InformationCommon_r16,
      { "ra-InformationCommon-r16", "nr-rrc.ra_InformationCommon_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_raPurpose_r16,
      { "raPurpose-r16", "nr-rrc.raPurpose_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_raPurpose_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spCellID_r17,
      { "spCellID-r17", "nr-rrc.spCellID_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_absoluteFrequencyPointA_r16,
      { "absoluteFrequencyPointA-r16", "nr-rrc.absoluteFrequencyPointA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_locationAndBandwidth_r16,
      { "locationAndBandwidth-r16", "nr-rrc.locationAndBandwidth_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_37949", HFILL }},
    { &hf_nr_rrc_subcarrierSpacing_r16,
      { "subcarrierSpacing-r16", "nr-rrc.subcarrierSpacing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_msg1_FrequencyStart_r16,
      { "msg1-FrequencyStart-r16", "nr-rrc.msg1_FrequencyStart_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_msg1_FrequencyStartCFRA_r16,
      { "msg1-FrequencyStartCFRA-r16", "nr-rrc.msg1_FrequencyStartCFRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_msg1_SubcarrierSpacing_r16,
      { "msg1-SubcarrierSpacing-r16", "nr-rrc.msg1_SubcarrierSpacing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_msg1_SubcarrierSpacingCFRA_r16,
      { "msg1-SubcarrierSpacingCFRA-r16", "nr-rrc.msg1_SubcarrierSpacingCFRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_msg1_FDM_r16,
      { "msg1-FDM-r16", "nr-rrc.msg1_FDM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDM_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msg1_FDMCFRA_r16,
      { "msg1-FDMCFRA-r16", "nr-rrc.msg1_FDMCFRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDMCFRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_perRAInfoList_v1660,
      { "perRAInfoList-v1660", "nr-rrc.perRAInfoList_v1660",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msg1_SCS_From_prach_ConfigurationIndex_r16,
      { "msg1-SCS-From-prach-ConfigurationIndex-r16", "nr-rrc.msg1_SCS_From_prach_ConfigurationIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_SCS_From_prach_ConfigurationIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msg1_SCS_From_prach_ConfigurationIndexCFRA_r16,
      { "msg1-SCS-From-prach-ConfigurationIndexCFRA-r16", "nr-rrc.msg1_SCS_From_prach_ConfigurationIndexCFRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_SCS_From_prach_ConfigurationIndexCFRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_RO_FrequencyStart_r17,
      { "msgA-RO-FrequencyStart-r17", "nr-rrc.msgA_RO_FrequencyStart_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_msgA_RO_FrequencyStartCFRA_r17,
      { "msgA-RO-FrequencyStartCFRA-r17", "nr-rrc.msgA_RO_FrequencyStartCFRA_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_msgA_SubcarrierSpacing_r17,
      { "msgA-SubcarrierSpacing-r17", "nr-rrc.msgA_SubcarrierSpacing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_msgA_RO_FDM_r17,
      { "msgA-RO-FDM-r17", "nr-rrc.msgA_RO_FDM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_RO_FDM_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_RO_FDMCFRA_r17,
      { "msgA-RO-FDMCFRA-r17", "nr-rrc.msgA_RO_FDMCFRA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_RO_FDMCFRA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_SCS_From_prach_ConfigurationIndex_r17,
      { "msgA-SCS-From-prach-ConfigurationIndex-r17", "nr-rrc.msgA_SCS_From_prach_ConfigurationIndex_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_SCS_From_prach_ConfigurationIndex_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_TransMax_r17,
      { "msgA-TransMax-r17", "nr-rrc.msgA_TransMax_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_TransMax_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_MCS_r17,
      { "msgA-MCS-r17", "nr-rrc.msgA_MCS_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_nrofPRBs_PerMsgA_PO_r17,
      { "nrofPRBs-PerMsgA-PO-r17", "nr-rrc.nrofPRBs_PerMsgA_PO_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r17,
      { "msgA-PUSCH-TimeDomainAllocation-r17", "nr-rrc.msgA_PUSCH_TimeDomainAllocation_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofUL_Allocations", HFILL }},
    { &hf_nr_rrc_frequencyStartMsgA_PUSCH_r17,
      { "frequencyStartMsgA-PUSCH-r17", "nr-rrc.frequencyStartMsgA_PUSCH_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_nrofMsgA_PO_FDM_r17,
      { "nrofMsgA-PO-FDM-r17", "nr-rrc.nrofMsgA_PO_FDM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofMsgA_PO_FDM_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dlPathlossRSRP_r17,
      { "dlPathlossRSRP-r17", "nr-rrc.dlPathlossRSRP_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_intendedSIBs_r17,
      { "intendedSIBs-r17", "nr-rrc.intendedSIBs_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17", HFILL }},
    { &hf_nr_rrc_intendedSIBs_r17_item,
      { "SIB-Type-r17", "nr-rrc.SIB_Type_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SIB_Type_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssbsForSI_Acquisition_r17,
      { "ssbsForSI-Acquisition-r17", "nr-rrc.ssbsForSI_Acquisition_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index", HFILL }},
    { &hf_nr_rrc_ssbsForSI_Acquisition_r17_item,
      { "SSB-Index", "nr-rrc.SSB_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_PayloadSize_r17,
      { "msgA-PUSCH-PayloadSize-r17", "nr-rrc.msgA_PUSCH_PayloadSize_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_5", HFILL }},
    { &hf_nr_rrc_onDemandSISuccess_r17,
      { "onDemandSISuccess-r17", "nr-rrc.onDemandSISuccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onDemandSISuccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PerRAInfoList_r16_item,
      { "PerRAInfo-r16", "nr-rrc.PerRAInfo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PerRAInfo_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PerRAInfoList_v1660_item,
      { "PerRACSI-RSInfo-v1660", "nr-rrc.PerRACSI_RSInfo_v1660_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_perRASSBInfoList_r16,
      { "perRASSBInfoList-r16", "nr-rrc.perRASSBInfoList_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PerRASSBInfo_r16", HFILL }},
    { &hf_nr_rrc_perRACSI_RSInfoList_r16,
      { "perRACSI-RSInfoList-r16", "nr-rrc.perRACSI_RSInfoList_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PerRACSI_RSInfo_r16", HFILL }},
    { &hf_nr_rrc_ssb_Index_r16,
      { "ssb-Index-r16", "nr-rrc.ssb_Index_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_Index", HFILL }},
    { &hf_nr_rrc_numberOfPreamblesSentOnSSB_r16,
      { "numberOfPreamblesSentOnSSB-r16", "nr-rrc.numberOfPreamblesSentOnSSB_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_200", HFILL }},
    { &hf_nr_rrc_perRAAttemptInfoList_r16,
      { "perRAAttemptInfoList-r16", "nr-rrc.perRAAttemptInfoList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_Index_r16,
      { "csi-RS-Index-r16", "nr-rrc.csi_RS_Index_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_RS_Index", HFILL }},
    { &hf_nr_rrc_numberOfPreamblesSentOnCSI_RS_r16,
      { "numberOfPreamblesSentOnCSI-RS-r16", "nr-rrc.numberOfPreamblesSentOnCSI_RS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_200", HFILL }},
    { &hf_nr_rrc_csi_RS_Index_v1660,
      { "csi-RS-Index-v1660", "nr-rrc.csi_RS_Index_v1660",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_96", HFILL }},
    { &hf_nr_rrc_PerRAAttemptInfoList_r16_item,
      { "PerRAAttemptInfo-r16", "nr-rrc.PerRAAttemptInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_contentionDetected_r16,
      { "contentionDetected-r16", "nr-rrc.contentionDetected_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_dlRSRPAboveThreshold_r16,
      { "dlRSRPAboveThreshold-r16", "nr-rrc.dlRSRPAboveThreshold_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_fallbackToFourStepRA_r17,
      { "fallbackToFourStepRA-r17", "nr-rrc.fallbackToFourStepRA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fallbackToFourStepRA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_RLF_Report_r16,
      { "nr-RLF-Report-r16", "nr-rrc.nr_RLF_Report_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nr_RLF_Report_r16", HFILL }},
    { &hf_nr_rrc_measResultLastServCell_r16,
      { "measResultLastServCell-r16", "nr-rrc.measResultLastServCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasResultRLFNR_r16", HFILL }},
    { &hf_nr_rrc_measResultNeighCells_r16_02,
      { "measResultNeighCells-r16", "nr-rrc.measResultNeighCells_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_measResultNeighCells_r16_02", HFILL }},
    { &hf_nr_rrc_measResultListNR_r16,
      { "measResultListNR-r16", "nr-rrc.measResultListNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2NR_r16", HFILL }},
    { &hf_nr_rrc_measResultListEUTRA_r16,
      { "measResultListEUTRA-r16", "nr-rrc.measResultListEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2EUTRA_r16", HFILL }},
    { &hf_nr_rrc_c_RNTI_r16,
      { "c-RNTI-r16", "nr-rrc.c_RNTI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_previousPCellId_r16,
      { "previousPCellId-r16", "nr-rrc.previousPCellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_previousPCellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrPreviousCell_r16,
      { "nrPreviousCell-r16", "nr-rrc.nrPreviousCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_eutraPreviousCell_r16,
      { "eutraPreviousCell-r16", "nr-rrc.eutraPreviousCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_InfoEUTRALogging", HFILL }},
    { &hf_nr_rrc_failedPCellId_r16,
      { "failedPCellId-r16", "nr-rrc.failedPCellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failedPCellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrFailedPCellId_r16,
      { "nrFailedPCellId-r16", "nr-rrc.nrFailedPCellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrFailedPCellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutraFailedPCellId_r16,
      { "eutraFailedPCellId-r16", "nr-rrc.eutraFailedPCellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutraFailedPCellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellGlobalId_r16_01,
      { "cellGlobalId-r16", "nr-rrc.cellGlobalId_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_InfoEUTRALogging", HFILL }},
    { &hf_nr_rrc_pci_arfcn_r16_01,
      { "pci-arfcn-r16", "nr-rrc.pci_arfcn_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PCI_ARFCN_EUTRA_r16", HFILL }},
    { &hf_nr_rrc_reconnectCellId_r16,
      { "reconnectCellId-r16", "nr-rrc.reconnectCellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reconnectCellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrReconnectCellId_r16,
      { "nrReconnectCellId-r16", "nr-rrc.nrReconnectCellId_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_eutraReconnectCellId_r16,
      { "eutraReconnectCellId-r16", "nr-rrc.eutraReconnectCellId_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_InfoEUTRALogging", HFILL }},
    { &hf_nr_rrc_timeUntilReconnection_r16,
      { "timeUntilReconnection-r16", "nr-rrc.timeUntilReconnection_r16",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reestablishmentCellId_r16,
      { "reestablishmentCellId-r16", "nr-rrc.reestablishmentCellId_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_timeConnFailure_r16,
      { "timeConnFailure-r16", "nr-rrc.timeConnFailure_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_timeConnFailure_r16_fmt), 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_connectionFailureType_r16,
      { "connectionFailureType-r16", "nr-rrc.connectionFailureType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connectionFailureType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlf_Cause_r16,
      { "rlf-Cause-r16", "nr-rrc.rlf_Cause_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_Cause_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_noSuitableCellFound_r16,
      { "noSuitableCellFound-r16", "nr-rrc.noSuitableCellFound_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_noSuitableCellFound_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_rsRLMConfigBitmap_v1650,
      { "csi-rsRLMConfigBitmap-v1650", "nr-rrc.csi_rsRLMConfigBitmap_v1650",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_96", HFILL }},
    { &hf_nr_rrc_lastHO_Type_r17,
      { "lastHO-Type-r17", "nr-rrc.lastHO_Type_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lastHO_Type_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeConnSourceDAPS_Failure_r17,
      { "timeConnSourceDAPS-Failure-r17", "nr-rrc.timeConnSourceDAPS_Failure_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeSinceCHO_Reconfig_r17,
      { "timeSinceCHO-Reconfig-r17", "nr-rrc.timeSinceCHO_Reconfig_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_TimeSinceCHO_Reconfig_r17_fmt), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_choCellId_r17,
      { "choCellId-r17", "nr-rrc.choCellId_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_choCellId_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellGlobalId_r17,
      { "cellGlobalId-r17", "nr-rrc.cellGlobalId_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_pci_arfcn_r17,
      { "pci-arfcn-r17", "nr-rrc.pci_arfcn_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PCI_ARFCN_NR_r16", HFILL }},
    { &hf_nr_rrc_choCandidateCellList_r17,
      { "choCandidateCellList-r17", "nr-rrc.choCandidateCellList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_RLF_Report_r16,
      { "eutra-RLF-Report-r16", "nr-rrc.eutra_RLF_Report_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_eutra_RLF_Report_r16", HFILL }},
    { &hf_nr_rrc_failedPCellId_EUTRA,
      { "failedPCellId-EUTRA", "nr-rrc.failedPCellId_EUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_InfoEUTRALogging", HFILL }},
    { &hf_nr_rrc_measResult_RLF_Report_EUTRA_r16,
      { "measResult-RLF-Report-EUTRA-r16", "nr-rrc.measResult_RLF_Report_EUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_measResult_RLF_Report_EUTRA_r16", HFILL }},
    { &hf_nr_rrc_measResult_RLF_Report_EUTRA_v1690,
      { "measResult-RLF-Report-EUTRA-v1690", "nr-rrc.measResult_RLF_Report_EUTRA_v1690",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_measResult_RLF_Report_EUTRA_v1690", HFILL }},
    { &hf_nr_rrc_sourceCellInfo_r17,
      { "sourceCellInfo-r17", "nr-rrc.sourceCellInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourcePCellId_r17,
      { "sourcePCellId-r17", "nr-rrc.sourcePCellId_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_sourceCellMeas_r17,
      { "sourceCellMeas-r17", "nr-rrc.sourceCellMeas_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasResultSuccessHONR_r17", HFILL }},
    { &hf_nr_rrc_rlf_InSourceDAPS_r17,
      { "rlf-InSourceDAPS-r17", "nr-rrc.rlf_InSourceDAPS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_InSourceDAPS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_targetCellInfo_r17,
      { "targetCellInfo-r17", "nr-rrc.targetCellInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_targetPCellId_r17,
      { "targetPCellId-r17", "nr-rrc.targetPCellId_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_targetCellMeas_r17,
      { "targetCellMeas-r17", "nr-rrc.targetCellMeas_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasResultSuccessHONR_r17", HFILL }},
    { &hf_nr_rrc_measResultNeighCells_r17,
      { "measResultNeighCells-r17", "nr-rrc.measResultNeighCells_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultListNR_r17,
      { "measResultListNR-r17", "nr-rrc.measResultListNR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2NR_r16", HFILL }},
    { &hf_nr_rrc_measResultListEUTRA_r17,
      { "measResultListEUTRA-r17", "nr-rrc.measResultListEUTRA_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2EUTRA_r16", HFILL }},
    { &hf_nr_rrc_locationInfo_r17,
      { "locationInfo-r17", "nr-rrc.locationInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LocationInfo_r16", HFILL }},
    { &hf_nr_rrc_shr_Cause_r17,
      { "shr-Cause-r17", "nr-rrc.shr_Cause_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_InformationCommon_r17,
      { "ra-InformationCommon-r17", "nr-rrc.ra_InformationCommon_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RA_InformationCommon_r16", HFILL }},
    { &hf_nr_rrc_upInterruptionTimeAtHO_r17,
      { "upInterruptionTimeAtHO-r17", "nr-rrc.upInterruptionTimeAtHO_r17",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_c_RNTI_r17,
      { "c-RNTI-r17", "nr-rrc.c_RNTI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_MeasResultList2NR_r16_item,
      { "MeasResult2NR-r16", "nr-rrc.MeasResult2NR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultList2EUTRA_r16_item,
      { "MeasResult2EUTRA-r16", "nr-rrc.MeasResult2EUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssbFrequency_r16,
      { "ssbFrequency-r16", "nr-rrc.ssbFrequency_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_refFreqCSI_RS_r16,
      { "refFreqCSI-RS-r16", "nr-rrc.refFreqCSI_RS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_measResultList_r16,
      { "measResultList-r16", "nr-rrc.measResultList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultListNR", HFILL }},
    { &hf_nr_rrc_MeasResultListLogging2NR_r16_item,
      { "MeasResultLogging2NR-r16", "nr-rrc.MeasResultLogging2NR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultListLoggingNR_r16,
      { "measResultListLoggingNR-r16", "nr-rrc.measResultListLoggingNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultListLoggingNR_r16_item,
      { "MeasResultLoggingNR-r16", "nr-rrc.MeasResultLoggingNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_physCellId_r16,
      { "physCellId-r16", "nr-rrc.physCellId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_numberOfGoodSSB_r16,
      { "numberOfGoodSSB-r16", "nr-rrc.numberOfGoodSSB_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSSBs_r16", HFILL }},
    { &hf_nr_rrc_carrierFreq_r16_02,
      { "carrierFreq-r16", "nr-rrc.carrierFreq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueEUTRA", HFILL }},
    { &hf_nr_rrc_measResultList_r16_01,
      { "measResultList-r16", "nr-rrc.measResultList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultListEUTRA", HFILL }},
    { &hf_nr_rrc_measResult_r16_01,
      { "measResult-r16", "nr-rrc.measResult_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_measResult_r16_01", HFILL }},
    { &hf_nr_rrc_cellResults_r16_01,
      { "cellResults-r16", "nr-rrc.cellResults_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_cellResults_r16_01", HFILL }},
    { &hf_nr_rrc_resultsCSI_RS_Cell_r16,
      { "resultsCSI-RS-Cell-r16", "nr-rrc.resultsCSI_RS_Cell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_rsIndexResults_r16_01,
      { "rsIndexResults-r16", "nr-rrc.rsIndexResults_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_rsIndexResults_r16_01", HFILL }},
    { &hf_nr_rrc_ssbRLMConfigBitmap_r16,
      { "ssbRLMConfigBitmap-r16", "nr-rrc.ssbRLMConfigBitmap_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_resultsCSI_RS_Indexes_r16,
      { "resultsCSI-RS-Indexes-r16", "nr-rrc.resultsCSI_RS_Indexes_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ResultsPerCSI_RS_IndexList", HFILL }},
    { &hf_nr_rrc_csi_rsRLMConfigBitmap_r16,
      { "csi-rsRLMConfigBitmap-r16", "nr-rrc.csi_rsRLMConfigBitmap_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_96", HFILL }},
    { &hf_nr_rrc_measResult_r17,
      { "measResult-r17", "nr-rrc.measResult_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_measResult_r17", HFILL }},
    { &hf_nr_rrc_cellResults_r17,
      { "cellResults-r17", "nr-rrc.cellResults_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resultsSSB_Cell_r17,
      { "resultsSSB-Cell-r17", "nr-rrc.resultsSSB_Cell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_resultsCSI_RS_Cell_r17,
      { "resultsCSI-RS-Cell-r17", "nr-rrc.resultsCSI_RS_Cell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_rsIndexResults_r17,
      { "rsIndexResults-r17", "nr-rrc.rsIndexResults_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resultsSSB_Indexes_r17,
      { "resultsSSB-Indexes-r17", "nr-rrc.resultsSSB_Indexes_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ResultsPerSSB_IndexList", HFILL }},
    { &hf_nr_rrc_resultsCSI_RS_Indexes_r17,
      { "resultsCSI-RS-Indexes-r17", "nr-rrc.resultsCSI_RS_Indexes_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ResultsPerCSI_RS_IndexList", HFILL }},
    { &hf_nr_rrc_ChoCandidateCellList_r17_item,
      { "ChoCandidateCell-r17", "nr-rrc.ChoCandidateCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ChoCandidateCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t304_cause_r17,
      { "t304-cause-r17", "nr-rrc.t304_cause_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t304_cause_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t310_cause_r17,
      { "t310-cause-r17", "nr-rrc.t310_cause_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_cause_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t312_cause_r17,
      { "t312-cause-r17", "nr-rrc.t312_cause_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t312_cause_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourceDAPS_Failure_r17,
      { "sourceDAPS-Failure-r17", "nr-rrc.sourceDAPS_Failure_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sourceDAPS_Failure_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_46,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_46_vals), 0,
        "T_criticalExtensions_46", HFILL }},
    { &hf_nr_rrc_uePositioningAssistanceInfo_r17_01,
      { "uePositioningAssistanceInfo-r17", "nr-rrc.uePositioningAssistanceInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEPositioningAssistanceInfo_r17_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_46,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_46", HFILL }},
    { &hf_nr_rrc_ue_TxTEG_AssociationList_r17,
      { "ue-TxTEG-AssociationList-r17", "nr-rrc.ue_TxTEG_AssociationList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_116,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEPositioningAssistanceInfo_v1720_IEs", HFILL }},
    { &hf_nr_rrc_ue_TxTEG_TimingErrorMarginValue_r17,
      { "ue-TxTEG-TimingErrorMarginValue-r17", "nr-rrc.ue_TxTEG_TimingErrorMarginValue_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_TxTEG_TimingErrorMarginValue_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_117,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_47", HFILL }},
    { &hf_nr_rrc_UE_TxTEG_AssociationList_r17_item,
      { "UE-TxTEG-Association-r17", "nr-rrc.UE_TxTEG_Association_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_TxTEG_ID_r17,
      { "ue-TxTEG-ID-r17", "nr-rrc.ue_TxTEG_ID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrOfTxTEG_ID_1_r17", HFILL }},
    { &hf_nr_rrc_nr_TimeStamp_r17,
      { "nr-TimeStamp-r17", "nr-rrc.nr_TimeStamp_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_associatedSRS_PosResourceIdList_r17,
      { "associatedSRS-PosResourceIdList-r17", "nr-rrc.associatedSRS_PosResourceIdList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16", HFILL }},
    { &hf_nr_rrc_associatedSRS_PosResourceIdList_r17_item,
      { "SRS-PosResourceId-r16", "nr-rrc.SRS_PosResourceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servCellId_r17,
      { "servCellId-r17", "nr-rrc.servCellId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_nr_SFN_r17,
      { "nr-SFN-r17", "nr-rrc.nr_SFN_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_nr_Slot_r17,
      { "nr-Slot-r17", "nr-rrc.nr_Slot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_Slot_r17_vals), 0,
        "T_nr_Slot_r17", HFILL }},
    { &hf_nr_rrc_scs15_r17,
      { "scs15-r17", "nr-rrc.scs15_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_scs30_r17,
      { "scs30-r17", "nr-rrc.scs30_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_scs60_r17,
      { "scs60-r17", "nr-rrc.scs60_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_scs120_r17,
      { "scs120-r17", "nr-rrc.scs120_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_criticalExtensions_47,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_47_vals), 0,
        "T_criticalExtensions_47", HFILL }},
    { &hf_nr_rrc_ulDedicatedMessageSegment_r16_01,
      { "ulDedicatedMessageSegment-r16", "nr-rrc.ulDedicatedMessageSegment_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ULDedicatedMessageSegment_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_47,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_47", HFILL }},
    { &hf_nr_rrc_segmentNumber_r16_01,
      { "segmentNumber-r16", "nr-rrc.segmentNumber_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_rrc_MessageSegmentType_r16_01,
      { "rrc-MessageSegmentType-r16", "nr-rrc.rrc_MessageSegmentType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrc_MessageSegmentType_r16_01_vals), 0,
        "T_rrc_MessageSegmentType_r16_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_118,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_48", HFILL }},
    { &hf_nr_rrc_criticalExtensions_48,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_48_vals), 0,
        "T_criticalExtensions_48", HFILL }},
    { &hf_nr_rrc_ulInformationTransfer_01,
      { "ulInformationTransfer", "nr-rrc.ulInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ULInformationTransfer_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_48,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_48", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_119,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ULInformationTransfer_v1700_IEs", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_120,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_49", HFILL }},
    { &hf_nr_rrc_criticalExtensions_49,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_49_vals), 0,
        "T_criticalExtensions_49", HFILL }},
    { &hf_nr_rrc_c1_16,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_16_vals), 0,
        "T_c1_16", HFILL }},
    { &hf_nr_rrc_ulInformationTransferIRAT_r16_01,
      { "ulInformationTransferIRAT-r16", "nr-rrc.ulInformationTransferIRAT_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ULInformationTransferIRAT_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_49,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_49", HFILL }},
    { &hf_nr_rrc_ul_DCCH_MessageEUTRA_r16,
      { "ul-DCCH-MessageEUTRA-r16", "nr-rrc.ul_DCCH_MessageEUTRA_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_121,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_50", HFILL }},
    { &hf_nr_rrc_criticalExtensions_50,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_50_vals), 0,
        "T_criticalExtensions_50", HFILL }},
    { &hf_nr_rrc_c1_17,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_17_vals), 0,
        "T_c1_17", HFILL }},
    { &hf_nr_rrc_ulInformationTransferMRDC_01,
      { "ulInformationTransferMRDC", "nr-rrc.ulInformationTransferMRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ULInformationTransferMRDC_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_50,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_50", HFILL }},
    { &hf_nr_rrc_ul_DCCH_MessageNR,
      { "ul-DCCH-MessageNR", "nr-rrc.ul_DCCH_MessageNR",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_DCCH_MessageEUTRA,
      { "ul-DCCH-MessageEUTRA", "nr-rrc.ul_DCCH_MessageEUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_122,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_51", HFILL }},
    { &hf_nr_rrc_cellReselectionInfoCommon,
      { "cellReselectionInfoCommon", "nr-rrc.cellReselectionInfoCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofSS_BlocksToAverage,
      { "nrofSS-BlocksToAverage", "nr-rrc.nrofSS_BlocksToAverage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_maxNrofSS_BlocksToAverage", HFILL }},
    { &hf_nr_rrc_absThreshSS_BlocksConsolidation,
      { "absThreshSS-BlocksConsolidation", "nr-rrc.absThreshSS_BlocksConsolidation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ThresholdNR", HFILL }},
    { &hf_nr_rrc_rangeToBestCell,
      { "rangeToBestCell", "nr-rrc.rangeToBestCell",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_q_Hyst,
      { "q-Hyst", "nr-rrc.q_Hyst",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_q_Hyst_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_speedStateReselectionPars,
      { "speedStateReselectionPars", "nr-rrc.speedStateReselectionPars_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mobilityStateParameters,
      { "mobilityStateParameters", "nr-rrc.mobilityStateParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_q_HystSF,
      { "q-HystSF", "nr-rrc.q_HystSF_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sf_Medium,
      { "sf-Medium", "nr-rrc.sf_Medium",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_Medium_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sf_High,
      { "sf-High", "nr-rrc.sf_High",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_High_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellReselectionServingFreqInfo,
      { "cellReselectionServingFreqInfo", "nr-rrc.cellReselectionServingFreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_NonIntraSearchP,
      { "s-NonIntraSearchP", "nr-rrc.s_NonIntraSearchP",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_s_NonIntraSearchQ,
      { "s-NonIntraSearchQ", "nr-rrc.s_NonIntraSearchQ",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "ReselectionThresholdQ", HFILL }},
    { &hf_nr_rrc_threshServingLowP,
      { "threshServingLowP", "nr-rrc.threshServingLowP",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_threshServingLowQ,
      { "threshServingLowQ", "nr-rrc.threshServingLowQ",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "ReselectionThresholdQ", HFILL }},
    { &hf_nr_rrc_intraFreqCellReselectionInfo,
      { "intraFreqCellReselectionInfo", "nr-rrc.intraFreqCellReselectionInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_IntraSearchP,
      { "s-IntraSearchP", "nr-rrc.s_IntraSearchP",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_s_IntraSearchQ,
      { "s-IntraSearchQ", "nr-rrc.s_IntraSearchQ",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "ReselectionThresholdQ", HFILL }},
    { &hf_nr_rrc_t_ReselectionNR,
      { "t-ReselectionNR", "nr-rrc.t_ReselectionNR",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        "T_Reselection", HFILL }},
    { &hf_nr_rrc_frequencyBandList,
      { "frequencyBandList", "nr-rrc.frequencyBandList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MultiFrequencyBandListNR_SIB", HFILL }},
    { &hf_nr_rrc_frequencyBandListSUL,
      { "frequencyBandListSUL", "nr-rrc.frequencyBandListSUL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MultiFrequencyBandListNR_SIB", HFILL }},
    { &hf_nr_rrc_p_Max,
      { "p-Max", "nr-rrc.p_Max",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_deriveSSB_IndexFromCell,
      { "deriveSSB-IndexFromCell", "nr-rrc.deriveSSB_IndexFromCell",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_t_ReselectionNR_SF,
      { "t-ReselectionNR-SF", "nr-rrc.t_ReselectionNR_SF_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SpeedStateScaleFactors", HFILL }},
    { &hf_nr_rrc_smtc2_LP_r16,
      { "smtc2-LP-r16", "nr-rrc.smtc2_LP_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_MTC2_LP_r16", HFILL }},
    { &hf_nr_rrc_ssb_PositionQCL_Common_r16,
      { "ssb-PositionQCL-Common-r16", "nr-rrc.ssb_PositionQCL_Common_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_PositionQCL_Relation_r16_vals), 0,
        "SSB_PositionQCL_Relation_r16", HFILL }},
    { &hf_nr_rrc_ssb_PositionQCL_Common_r17,
      { "ssb-PositionQCL-Common-r17", "nr-rrc.ssb_PositionQCL_Common_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_PositionQCL_Relation_r17_vals), 0,
        "SSB_PositionQCL_Relation_r17", HFILL }},
    { &hf_nr_rrc_smtc4list_r17,
      { "smtc4list-r17", "nr-rrc.smtc4list_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_MTC4List_r17", HFILL }},
    { &hf_nr_rrc_relaxedMeasurement_r16,
      { "relaxedMeasurement-r16", "nr-rrc.relaxedMeasurement_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_relaxedMeasurement_r16", HFILL }},
    { &hf_nr_rrc_lowMobilityEvaluation_r16,
      { "lowMobilityEvaluation-r16", "nr-rrc.lowMobilityEvaluation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_SearchDeltaP_r16,
      { "s-SearchDeltaP-r16", "nr-rrc.s_SearchDeltaP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_SearchDeltaP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_SearchDeltaP_r16,
      { "t-SearchDeltaP-r16", "nr-rrc.t_SearchDeltaP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_SearchDeltaP_r16_vals), 0,
        "T_t_SearchDeltaP_r16", HFILL }},
    { &hf_nr_rrc_cellEdgeEvaluation_r16,
      { "cellEdgeEvaluation-r16", "nr-rrc.cellEdgeEvaluation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_SearchThresholdP_r16,
      { "s-SearchThresholdP-r16", "nr-rrc.s_SearchThresholdP_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_s_SearchThresholdQ_r16,
      { "s-SearchThresholdQ-r16", "nr-rrc.s_SearchThresholdQ_r16",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "ReselectionThresholdQ", HFILL }},
    { &hf_nr_rrc_combineRelaxedMeasCondition_r16,
      { "combineRelaxedMeasCondition-r16", "nr-rrc.combineRelaxedMeasCondition_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_combineRelaxedMeasCondition_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highPriorityMeasRelax_r16,
      { "highPriorityMeasRelax-r16", "nr-rrc.highPriorityMeasRelax_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highPriorityMeasRelax_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellEquivalentSize_r17,
      { "cellEquivalentSize-r17", "nr-rrc.cellEquivalentSize_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_16", HFILL }},
    { &hf_nr_rrc_relaxedMeasurement_r17,
      { "relaxedMeasurement-r17", "nr-rrc.relaxedMeasurement_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_relaxedMeasurement_r17", HFILL }},
    { &hf_nr_rrc_stationaryMobilityEvaluation_r17,
      { "stationaryMobilityEvaluation-r17", "nr-rrc.stationaryMobilityEvaluation_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_SearchDeltaP_Stationary_r17,
      { "s-SearchDeltaP-Stationary-r17", "nr-rrc.s_SearchDeltaP_Stationary_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_SearchDeltaP_Stationary_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_SearchDeltaP_Stationary_r17,
      { "t-SearchDeltaP-Stationary-r17", "nr-rrc.t_SearchDeltaP_Stationary_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_SearchDeltaP_Stationary_r17_vals), 0,
        "T_t_SearchDeltaP_Stationary_r17", HFILL }},
    { &hf_nr_rrc_cellEdgeEvaluationWhileStationary_r17,
      { "cellEdgeEvaluationWhileStationary-r17", "nr-rrc.cellEdgeEvaluationWhileStationary_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_SearchThresholdP2_r17,
      { "s-SearchThresholdP2-r17", "nr-rrc.s_SearchThresholdP2_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_s_SearchThresholdQ2_r17,
      { "s-SearchThresholdQ2-r17", "nr-rrc.s_SearchThresholdQ2_r17",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "ReselectionThresholdQ", HFILL }},
    { &hf_nr_rrc_combineRelaxedMeasCondition2_r17,
      { "combineRelaxedMeasCondition2-r17", "nr-rrc.combineRelaxedMeasCondition2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_combineRelaxedMeasCondition2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqNeighCellList,
      { "intraFreqNeighCellList", "nr-rrc.intraFreqNeighCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqExcludedCellList,
      { "intraFreqExcludedCellList", "nr-rrc.intraFreqExcludedCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqNeighCellList_v1610,
      { "intraFreqNeighCellList-v1610", "nr-rrc.intraFreqNeighCellList_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqAllowedCellList_r16,
      { "intraFreqAllowedCellList-r16", "nr-rrc.intraFreqAllowedCellList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqCAG_CellList_r16,
      { "intraFreqCAG-CellList-r16", "nr-rrc.intraFreqCAG_CellList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16", HFILL }},
    { &hf_nr_rrc_intraFreqCAG_CellList_r16_item,
      { "IntraFreqCAG-CellListPerPLMN-r16", "nr-rrc.IntraFreqCAG_CellListPerPLMN_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqNeighHSDN_CellList_r17,
      { "intraFreqNeighHSDN-CellList-r17", "nr-rrc.intraFreqNeighHSDN_CellList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqNeighCellList_v1710,
      { "intraFreqNeighCellList-v1710", "nr-rrc.intraFreqNeighCellList_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelAccessMode2_r17,
      { "channelAccessMode2-r17", "nr-rrc.channelAccessMode2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_IntraFreqNeighCellList_item,
      { "IntraFreqNeighCellInfo", "nr-rrc.IntraFreqNeighCellInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_IntraFreqNeighCellList_v1610_item,
      { "IntraFreqNeighCellInfo-v1610", "nr-rrc.IntraFreqNeighCellInfo_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_IntraFreqNeighCellList_v1710_item,
      { "IntraFreqNeighCellInfo-v1710", "nr-rrc.IntraFreqNeighCellInfo_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_q_OffsetCell,
      { "q-OffsetCell", "nr-rrc.q_OffsetCell",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        "Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_q_RxLevMinOffsetCell,
      { "q-RxLevMinOffsetCell", "nr-rrc.q_RxLevMinOffsetCell",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_q_RxLevMinOffsetCellSUL,
      { "q-RxLevMinOffsetCellSUL", "nr-rrc.q_RxLevMinOffsetCellSUL",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_q_QualMinOffsetCell,
      { "q-QualMinOffsetCell", "nr-rrc.q_QualMinOffsetCell",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_ssb_PositionQCL_r16,
      { "ssb-PositionQCL-r16", "nr-rrc.ssb_PositionQCL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_PositionQCL_Relation_r16_vals), 0,
        "SSB_PositionQCL_Relation_r16", HFILL }},
    { &hf_nr_rrc_ssb_PositionQCL_r17,
      { "ssb-PositionQCL-r17", "nr-rrc.ssb_PositionQCL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_PositionQCL_Relation_r17_vals), 0,
        "SSB_PositionQCL_Relation_r17", HFILL }},
    { &hf_nr_rrc_IntraFreqExcludedCellList_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_IntraFreqAllowedCellList_r16_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_IdentityIndex_r16,
      { "plmn-IdentityIndex-r16", "nr-rrc.plmn_IdentityIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxPLMN", HFILL }},
    { &hf_nr_rrc_cag_CellList_r16,
      { "cag-CellList-r16", "nr-rrc.cag_CellList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range", HFILL }},
    { &hf_nr_rrc_cag_CellList_r16_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_IntraFreqNeighHSDN_CellList_r17_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqCarrierFreqList,
      { "interFreqCarrierFreqList", "nr-rrc.interFreqCarrierFreqList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqCarrierFreqList_v1610,
      { "interFreqCarrierFreqList-v1610", "nr-rrc.interFreqCarrierFreqList_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqCarrierFreqList_v1700,
      { "interFreqCarrierFreqList-v1700", "nr-rrc.interFreqCarrierFreqList_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqCarrierFreqList_v1720,
      { "interFreqCarrierFreqList-v1720", "nr-rrc.interFreqCarrierFreqList_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqCarrierFreqList_v1730,
      { "interFreqCarrierFreqList-v1730", "nr-rrc.interFreqCarrierFreqList_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqCarrierFreqList_item,
      { "InterFreqCarrierFreqInfo", "nr-rrc.InterFreqCarrierFreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqCarrierFreqList_v1610_item,
      { "InterFreqCarrierFreqInfo-v1610", "nr-rrc.InterFreqCarrierFreqInfo_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqCarrierFreqList_v1700_item,
      { "InterFreqCarrierFreqInfo-v1700", "nr-rrc.InterFreqCarrierFreqInfo_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqCarrierFreqList_v1720_item,
      { "InterFreqCarrierFreqInfo-v1720", "nr-rrc.InterFreqCarrierFreqInfo_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqCarrierFreqList_v1730_item,
      { "InterFreqCarrierFreqInfo-v1730", "nr-rrc.InterFreqCarrierFreqInfo_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_CarrierFreq,
      { "dl-CarrierFreq", "nr-rrc.dl_CarrierFreq",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_threshX_HighP,
      { "threshX-HighP", "nr-rrc.threshX_HighP",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_threshX_LowP,
      { "threshX-LowP", "nr-rrc.threshX_LowP",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_threshX_Q,
      { "threshX-Q", "nr-rrc.threshX_Q_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_threshX_HighQ,
      { "threshX-HighQ", "nr-rrc.threshX_HighQ",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "ReselectionThresholdQ", HFILL }},
    { &hf_nr_rrc_threshX_LowQ,
      { "threshX-LowQ", "nr-rrc.threshX_LowQ",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "ReselectionThresholdQ", HFILL }},
    { &hf_nr_rrc_q_OffsetFreq,
      { "q-OffsetFreq", "nr-rrc.q_OffsetFreq",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        "Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_interFreqNeighCellList,
      { "interFreqNeighCellList", "nr-rrc.interFreqNeighCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqExcludedCellList,
      { "interFreqExcludedCellList", "nr-rrc.interFreqExcludedCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqNeighCellList_v1610,
      { "interFreqNeighCellList-v1610", "nr-rrc.interFreqNeighCellList_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqAllowedCellList_r16,
      { "interFreqAllowedCellList-r16", "nr-rrc.interFreqAllowedCellList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqCAG_CellList_r16,
      { "interFreqCAG-CellList-r16", "nr-rrc.interFreqCAG_CellList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16", HFILL }},
    { &hf_nr_rrc_interFreqCAG_CellList_r16_item,
      { "InterFreqCAG-CellListPerPLMN-r16", "nr-rrc.InterFreqCAG_CellListPerPLMN_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqNeighHSDN_CellList_r17,
      { "interFreqNeighHSDN-CellList-r17", "nr-rrc.interFreqNeighHSDN_CellList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedMeasInterFreq_r17,
      { "highSpeedMeasInterFreq-r17", "nr-rrc.highSpeedMeasInterFreq_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedMeasInterFreq_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_redCapAccessAllowed_r17,
      { "redCapAccessAllowed-r17", "nr-rrc.redCapAccessAllowed_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_redCapAccessAllowed_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqNeighCellList_v1710,
      { "interFreqNeighCellList-v1710", "nr-rrc.interFreqNeighCellList_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelAccessMode2_r17_01,
      { "channelAccessMode2-r17", "nr-rrc.channelAccessMode2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode2_r17_01_vals), 0,
        "T_channelAccessMode2_r17_01", HFILL }},
    { &hf_nr_rrc_InterFreqNeighHSDN_CellList_r17_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqNeighCellList_item,
      { "InterFreqNeighCellInfo", "nr-rrc.InterFreqNeighCellInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqNeighCellList_v1610_item,
      { "InterFreqNeighCellInfo-v1610", "nr-rrc.InterFreqNeighCellInfo_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqNeighCellList_v1710_item,
      { "InterFreqNeighCellInfo-v1710", "nr-rrc.InterFreqNeighCellInfo_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqExcludedCellList_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_InterFreqAllowedCellList_r16_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierFreqListEUTRA,
      { "carrierFreqListEUTRA", "nr-rrc.carrierFreqListEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_ReselectionEUTRA,
      { "t-ReselectionEUTRA", "nr-rrc.t_ReselectionEUTRA",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        "T_Reselection", HFILL }},
    { &hf_nr_rrc_t_ReselectionEUTRA_SF,
      { "t-ReselectionEUTRA-SF", "nr-rrc.t_ReselectionEUTRA_SF_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SpeedStateScaleFactors", HFILL }},
    { &hf_nr_rrc_carrierFreqListEUTRA_v1610,
      { "carrierFreqListEUTRA-v1610", "nr-rrc.carrierFreqListEUTRA_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierFreqListEUTRA_v1700,
      { "carrierFreqListEUTRA-v1700", "nr-rrc.carrierFreqListEUTRA_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_idleModeMeasVoiceFallback_r17,
      { "idleModeMeasVoiceFallback-r17", "nr-rrc.idleModeMeasVoiceFallback_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasVoiceFallback_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CarrierFreqListEUTRA_item,
      { "CarrierFreqEUTRA", "nr-rrc.CarrierFreqEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CarrierFreqListEUTRA_v1610_item,
      { "CarrierFreqEUTRA-v1610", "nr-rrc.CarrierFreqEUTRA_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CarrierFreqListEUTRA_v1700_item,
      { "CarrierFreqEUTRA-v1700", "nr-rrc.CarrierFreqEUTRA_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_multiBandInfoList,
      { "eutra-multiBandInfoList", "nr-rrc.eutra_multiBandInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_FreqNeighCellList,
      { "eutra-FreqNeighCellList", "nr-rrc.eutra_FreqNeighCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_ExcludedCellList,
      { "eutra-ExcludedCellList", "nr-rrc.eutra_ExcludedCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_FreqExcludedCellList", HFILL }},
    { &hf_nr_rrc_allowedMeasBandwidth,
      { "allowedMeasBandwidth", "nr-rrc.allowedMeasBandwidth",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_EUTRA_AllowedMeasBandwidth_vals), 0,
        "EUTRA_AllowedMeasBandwidth", HFILL }},
    { &hf_nr_rrc_presenceAntennaPort1,
      { "presenceAntennaPort1", "nr-rrc.presenceAntennaPort1",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "EUTRA_PresenceAntennaPort1", HFILL }},
    { &hf_nr_rrc_threshX_High,
      { "threshX-High", "nr-rrc.threshX_High",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_threshX_Low,
      { "threshX-Low", "nr-rrc.threshX_Low",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
        "ReselectionThreshold", HFILL }},
    { &hf_nr_rrc_q_RxLevMin_01,
      { "q-RxLevMin", "nr-rrc.q_RxLevMin",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0,
        "INTEGER_M70_M22", HFILL }},
    { &hf_nr_rrc_q_QualMin_01,
      { "q-QualMin", "nr-rrc.q_QualMin",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M34_M3", HFILL }},
    { &hf_nr_rrc_p_MaxEUTRA,
      { "p-MaxEUTRA", "nr-rrc.p_MaxEUTRA",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M30_33", HFILL }},
    { &hf_nr_rrc_threshX_Q_01,
      { "threshX-Q", "nr-rrc.threshX_Q_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_threshX_Q_01", HFILL }},
    { &hf_nr_rrc_highSpeedEUTRACarrier_r16,
      { "highSpeedEUTRACarrier-r16", "nr-rrc.highSpeedEUTRACarrier_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedEUTRACarrier_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_FreqNeighHSDN_CellList_r17,
      { "eutra-FreqNeighHSDN-CellList-r17", "nr-rrc.eutra_FreqNeighHSDN_CellList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_EUTRA_FreqNeighHSDN_CellList_r17_item,
      { "EUTRA-PhysCellIdRange", "nr-rrc.EUTRA_PhysCellIdRange_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_EUTRA_FreqExcludedCellList_item,
      { "EUTRA-PhysCellIdRange", "nr-rrc.EUTRA_PhysCellIdRange_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_EUTRA_FreqNeighCellList_item,
      { "EUTRA-FreqNeighCellInfo", "nr-rrc.EUTRA_FreqNeighCellInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_physCellId_01,
      { "physCellId", "nr-rrc.physCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_PhysCellId", HFILL }},
    { &hf_nr_rrc_eUTRA_FreqNeighCellInfo_dummy,
      { "dummy", "nr-rrc.eUTRA_FreqNeighCellInfo.dummy",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0,
        "EUTRA_Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_messageIdentifier,
      { "messageIdentifier", "nr-rrc.messageIdentifier",
        FT_UINT16, BASE_DEC|BASE_EXT_STRING, &lte_rrc_messageIdentifier_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_serialNumber,
      { "serialNumber", "nr-rrc.serialNumber",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_warningType,
      { "warningType", "nr-rrc.warningType",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageIdentifier_01,
      { "messageIdentifier", "nr-rrc.messageIdentifier",
        FT_UINT16, BASE_DEC|BASE_EXT_STRING, &lte_rrc_messageIdentifier_vals_ext, 0,
        "T_messageIdentifier_01", HFILL }},
    { &hf_nr_rrc_serialNumber_01,
      { "serialNumber", "nr-rrc.serialNumber",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_serialNumber_01", HFILL }},
    { &hf_nr_rrc_warningMessageSegmentType,
      { "warningMessageSegmentType", "nr-rrc.warningMessageSegmentType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_warningMessageSegmentType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_warningMessageSegmentNumber,
      { "warningMessageSegmentNumber", "nr-rrc.warningMessageSegmentNumber",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_warningMessageSegment,
      { "warningMessageSegment", "nr-rrc.warningMessageSegment",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dataCodingScheme,
      { "dataCodingScheme", "nr-rrc.dataCodingScheme",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageIdentifier_02,
      { "messageIdentifier", "nr-rrc.messageIdentifier",
        FT_UINT16, BASE_DEC|BASE_EXT_STRING, &lte_rrc_messageIdentifier_vals_ext, 0,
        "T_messageIdentifier_02", HFILL }},
    { &hf_nr_rrc_serialNumber_02,
      { "serialNumber", "nr-rrc.serialNumber",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_serialNumber_02", HFILL }},
    { &hf_nr_rrc_warningMessageSegmentType_01,
      { "warningMessageSegmentType", "nr-rrc.warningMessageSegmentType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_warningMessageSegmentType_01_vals), 0,
        "T_warningMessageSegmentType_01", HFILL }},
    { &hf_nr_rrc_warningMessageSegmentNumber_01,
      { "warningMessageSegmentNumber", "nr-rrc.warningMessageSegmentNumber",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_warningMessageSegmentNumber_01", HFILL }},
    { &hf_nr_rrc_warningMessageSegment_01,
      { "warningMessageSegment", "nr-rrc.warningMessageSegment",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_warningMessageSegment_01", HFILL }},
    { &hf_nr_rrc_dataCodingScheme_01,
      { "dataCodingScheme", "nr-rrc.dataCodingScheme",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_dataCodingScheme_01", HFILL }},
    { &hf_nr_rrc_warningAreaCoordinatesSegment,
      { "warningAreaCoordinatesSegment", "nr-rrc.warningAreaCoordinatesSegment",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_timeInfo,
      { "timeInfo", "nr-rrc.timeInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeInfoUTC,
      { "timeInfoUTC", "nr-rrc.timeInfoUTC",
        FT_UINT64, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dayLightSavingTime,
      { "dayLightSavingTime", "nr-rrc.dayLightSavingTime",
        FT_UINT8, BASE_DEC, VALS(nr_rrc_daylightSavingTime_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_leapSeconds,
      { "leapSeconds", "nr-rrc.leapSeconds",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        "INTEGER_M127_128", HFILL }},
    { &hf_nr_rrc_localTimeOffset,
      { "localTimeOffset", "nr-rrc.localTimeOffset",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_localTimeOffset_fmt), 0,
        "INTEGER_M63_64", HFILL }},
    { &hf_nr_rrc_hrnn_List_r16,
      { "hrnn-List-r16", "nr-rrc.hrnn_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_HRNN_List_r16_item,
      { "HRNN-r16", "nr-rrc.HRNN_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_hrnn_r16,
      { "hrnn-r16", "nr-rrc.hrnn_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_1_maxHRNN_Len_r16", HFILL }},
    { &hf_nr_rrc_measIdleConfigSIB_r16,
      { "measIdleConfigSIB-r16", "nr-rrc.measIdleConfigSIB_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_segmentNumber_r16_02,
      { "segmentNumber-r16", "nr-rrc.segmentNumber_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_segmentType_r16,
      { "segmentType-r16", "nr-rrc.segmentType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_segmentType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_segmentContainer_r16,
      { "segmentContainer-r16", "nr-rrc.segmentContainer_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_sl_V2X_ConfigCommon_r16,
      { "sl-V2X-ConfigCommon-r16", "nr-rrc.sl_V2X_ConfigCommon_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sIB13_r16_dummy,
      { "dummy", "nr-rrc.sIB13_r16.dummy",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_tdd_Config_r16,
      { "tdd-Config-r16", "nr-rrc.tdd_Config_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_V2X_ConfigCommonExt_r16,
      { "sl-V2X-ConfigCommonExt-r16", "nr-rrc.sl_V2X_ConfigCommonExt_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_commonPLMNsWithDisasterCondition_r17,
      { "commonPLMNsWithDisasterCondition-r17", "nr-rrc.commonPLMNsWithDisasterCondition_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity", HFILL }},
    { &hf_nr_rrc_commonPLMNsWithDisasterCondition_r17_item,
      { "PLMN-Identity", "nr-rrc.PLMN_Identity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_applicableDisasterInfoList_r17,
      { "applicableDisasterInfoList-r17", "nr-rrc.applicableDisasterInfoList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17", HFILL }},
    { &hf_nr_rrc_applicableDisasterInfoList_r17_item,
      { "ApplicableDisasterInfo-r17", "nr-rrc.ApplicableDisasterInfo_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ApplicableDisasterInfo_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_noDisasterRoaming_r17,
      { "noDisasterRoaming-r17", "nr-rrc.noDisasterRoaming_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_disasterRelatedIndication_r17,
      { "disasterRelatedIndication-r17", "nr-rrc.disasterRelatedIndication_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_commonPLMNs_r17,
      { "commonPLMNs-r17", "nr-rrc.commonPLMNs_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dedicatedPLMNs_r17,
      { "dedicatedPLMNs-r17", "nr-rrc.dedicatedPLMNs_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity", HFILL }},
    { &hf_nr_rrc_dedicatedPLMNs_r17_item,
      { "PLMN-Identity", "nr-rrc.PLMN_Identity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_freqPriorityListSlicing_r17,
      { "freqPriorityListSlicing-r17", "nr-rrc.freqPriorityListSlicing_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_segmentNumber_r17,
      { "segmentNumber-r17", "nr-rrc.segmentNumber_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_segmentType_r17,
      { "segmentType-r17", "nr-rrc.segmentType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_segmentType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_segmentContainer_r17,
      { "segmentContainer-r17", "nr-rrc.segmentContainer_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_gin_ElementList_r17,
      { "gin-ElementList-r17", "nr-rrc.gin_ElementList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17", HFILL }},
    { &hf_nr_rrc_gin_ElementList_r17_item,
      { "GIN-Element-r17", "nr-rrc.GIN_Element_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gins_PerSNPN_List_r17,
      { "gins-PerSNPN-List-r17", "nr-rrc.gins_PerSNPN_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17", HFILL }},
    { &hf_nr_rrc_gins_PerSNPN_List_r17_item,
      { "GINs-PerSNPN-r17", "nr-rrc.GINs_PerSNPN_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_Identity_r17,
      { "plmn-Identity-r17", "nr-rrc.plmn_Identity_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_nr_rrc_nid_List_r17,
      { "nid-List-r17", "nr-rrc.nid_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16", HFILL }},
    { &hf_nr_rrc_nid_List_r17_item,
      { "NID-r16", "nr-rrc.NID_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedGINs_r17,
      { "supportedGINs-r17", "nr-rrc.supportedGINs_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxGIN_r17", HFILL }},
    { &hf_nr_rrc_ntn_Config_r17,
      { "ntn-Config-r17", "nr-rrc.ntn_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_Service_r17,
      { "t-Service-r17", "nr-rrc.t_Service_r17",
        FT_UINT64, BASE_DEC, NULL, 0,
        "INTEGER_0_549755813887", HFILL }},
    { &hf_nr_rrc_referenceLocation_r17,
      { "referenceLocation-r17", "nr-rrc.referenceLocation_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_distanceThresh_r17,
      { "distanceThresh-r17", "nr-rrc.distanceThresh_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65525", HFILL }},
    { &hf_nr_rrc_ntn_NeighCellConfigList_r17,
      { "ntn-NeighCellConfigList-r17", "nr-rrc.ntn_NeighCellConfigList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ntn_NeighCellConfigListExt_v1720,
      { "ntn-NeighCellConfigListExt-v1720", "nr-rrc.ntn_NeighCellConfigListExt_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NTN_NeighCellConfigList_r17", HFILL }},
    { &hf_nr_rrc_NTN_NeighCellConfigList_r17_item,
      { "NTN-NeighCellConfig-r17", "nr-rrc.NTN_NeighCellConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcch_Config_r17,
      { "mcch-Config-r17", "nr-rrc.mcch_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cfr_ConfigMCCH_MTCH_r17,
      { "cfr-ConfigMCCH-MTCH-r17", "nr-rrc.cfr_ConfigMCCH_MTCH_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcch_RepetitionPeriodAndOffset_r17,
      { "mcch-RepetitionPeriodAndOffset-r17", "nr-rrc.mcch_RepetitionPeriodAndOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MCCH_RepetitionPeriodAndOffset_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcch_WindowStartSlot_r17,
      { "mcch-WindowStartSlot-r17", "nr-rrc.mcch_WindowStartSlot_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_mcch_WindowDuration_r17,
      { "mcch-WindowDuration-r17", "nr-rrc.mcch_WindowDuration_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcch_WindowDuration_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcch_ModificationPeriod_r17,
      { "mcch-ModificationPeriod-r17", "nr-rrc.mcch_ModificationPeriod_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcch_ModificationPeriod_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rf1_r17,
      { "rf1-r17", "nr-rrc.rf1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0", HFILL }},
    { &hf_nr_rrc_rf2_r17,
      { "rf2-r17", "nr-rrc.rf2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_rf4_r17,
      { "rf4-r17", "nr-rrc.rf4_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_rf8_r17,
      { "rf8-r17", "nr-rrc.rf8_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_rf16_r17,
      { "rf16-r17", "nr-rrc.rf16_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_rf32_r17,
      { "rf32-r17", "nr-rrc.rf32_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_rf64_r17,
      { "rf64-r17", "nr-rrc.rf64_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_rf128_r17,
      { "rf128-r17", "nr-rrc.rf128_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_rf256_r17,
      { "rf256-r17", "nr-rrc.rf256_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_mbs_FSAI_IntraFreq_r17,
      { "mbs-FSAI-IntraFreq-r17", "nr-rrc.mbs_FSAI_IntraFreq_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MBS_FSAI_List_r17", HFILL }},
    { &hf_nr_rrc_mbs_FSAI_InterFreqList_r17,
      { "mbs-FSAI-InterFreqList-r17", "nr-rrc.mbs_FSAI_InterFreqList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MBS_FSAI_List_r17_item,
      { "MBS-FSAI-r17", "nr-rrc.MBS_FSAI_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MBS_FSAI_InterFreqList_r17_item,
      { "MBS-FSAI-InterFreq-r17", "nr-rrc.MBS_FSAI_InterFreq_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_CarrierFreq_r17,
      { "dl-CarrierFreq-r17", "nr-rrc.dl_CarrierFreq_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_mbs_FSAI_List_r17,
      { "mbs-FSAI-List-r17", "nr-rrc.mbs_FSAI_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSIB_TypeAndInfo_r16,
      { "posSIB-TypeAndInfo-r16", "nr-rrc.posSIB_TypeAndInfo_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSIB_TypeAndInfo_r16_item,
      { "posSIB-TypeAndInfo-r16 item", "nr-rrc.posSIB_TypeAndInfo_r16_item",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSIB_TypeAndInfo_r16_item_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_1_r16,
      { "posSib1-1-r16", "nr-rrc.posSib1_1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_2_r16,
      { "posSib1-2-r16", "nr-rrc.posSib1_2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_3_r16,
      { "posSib1-3-r16", "nr-rrc.posSib1_3_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_4_r16,
      { "posSib1-4-r16", "nr-rrc.posSib1_4_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_5_r16,
      { "posSib1-5-r16", "nr-rrc.posSib1_5_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_6_r16,
      { "posSib1-6-r16", "nr-rrc.posSib1_6_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_7_r16,
      { "posSib1-7-r16", "nr-rrc.posSib1_7_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_8_r16,
      { "posSib1-8-r16", "nr-rrc.posSib1_8_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_1_r16,
      { "posSib2-1-r16", "nr-rrc.posSib2_1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_2_r16,
      { "posSib2-2-r16", "nr-rrc.posSib2_2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_3_r16,
      { "posSib2-3-r16", "nr-rrc.posSib2_3_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_4_r16,
      { "posSib2-4-r16", "nr-rrc.posSib2_4_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_5_r16,
      { "posSib2-5-r16", "nr-rrc.posSib2_5_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_6_r16,
      { "posSib2-6-r16", "nr-rrc.posSib2_6_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_7_r16,
      { "posSib2-7-r16", "nr-rrc.posSib2_7_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_8_r16,
      { "posSib2-8-r16", "nr-rrc.posSib2_8_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_9_r16,
      { "posSib2-9-r16", "nr-rrc.posSib2_9_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_10_r16,
      { "posSib2-10-r16", "nr-rrc.posSib2_10_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_11_r16,
      { "posSib2-11-r16", "nr-rrc.posSib2_11_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_12_r16,
      { "posSib2-12-r16", "nr-rrc.posSib2_12_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_13_r16,
      { "posSib2-13-r16", "nr-rrc.posSib2_13_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_14_r16,
      { "posSib2-14-r16", "nr-rrc.posSib2_14_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_15_r16,
      { "posSib2-15-r16", "nr-rrc.posSib2_15_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_16_r16,
      { "posSib2-16-r16", "nr-rrc.posSib2_16_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_17_r16,
      { "posSib2-17-r16", "nr-rrc.posSib2_17_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_18_r16,
      { "posSib2-18-r16", "nr-rrc.posSib2_18_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_19_r16,
      { "posSib2-19-r16", "nr-rrc.posSib2_19_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_20_r16,
      { "posSib2-20-r16", "nr-rrc.posSib2_20_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_21_r16,
      { "posSib2-21-r16", "nr-rrc.posSib2_21_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_22_r16,
      { "posSib2-22-r16", "nr-rrc.posSib2_22_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_23_r16,
      { "posSib2-23-r16", "nr-rrc.posSib2_23_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib3_1_r16,
      { "posSib3-1-r16", "nr-rrc.posSib3_1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib4_1_r16,
      { "posSib4-1-r16", "nr-rrc.posSib4_1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib5_1_r16,
      { "posSib5-1-r16", "nr-rrc.posSib5_1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib6_1_r16,
      { "posSib6-1-r16", "nr-rrc.posSib6_1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib6_2_r16,
      { "posSib6-2-r16", "nr-rrc.posSib6_2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib6_3_r16,
      { "posSib6-3-r16", "nr-rrc.posSib6_3_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_9_v1700,
      { "posSib1-9-v1700", "nr-rrc.posSib1_9_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib1_10_v1700,
      { "posSib1-10-v1700", "nr-rrc.posSib1_10_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_24_v1700,
      { "posSib2-24-v1700", "nr-rrc.posSib2_24_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib2_25_v1700,
      { "posSib2-25-v1700", "nr-rrc.posSib2_25_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib6_4_v1700,
      { "posSib6-4-v1700", "nr-rrc.posSib6_4_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib6_5_v1700,
      { "posSib6-5-v1700", "nr-rrc.posSib6_5_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSib6_6_v1700,
      { "posSib6-6-v1700", "nr-rrc.posSib6_6_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_123,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_52", HFILL }},
    { &hf_nr_rrc_posSchedulingInfoList_r16,
      { "posSchedulingInfoList-r16", "nr-rrc.posSchedulingInfoList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16", HFILL }},
    { &hf_nr_rrc_posSchedulingInfoList_r16_item,
      { "PosSchedulingInfo-r16", "nr-rrc.PosSchedulingInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSI_RequestConfig_r16,
      { "posSI-RequestConfig-r16", "nr-rrc.posSI_RequestConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SI_RequestConfig", HFILL }},
    { &hf_nr_rrc_posSI_RequestConfigSUL_r16,
      { "posSI-RequestConfigSUL-r16", "nr-rrc.posSI_RequestConfigSUL_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SI_RequestConfig", HFILL }},
    { &hf_nr_rrc_posSI_RequestConfigRedCap_r17,
      { "posSI-RequestConfigRedCap-r17", "nr-rrc.posSI_RequestConfigRedCap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SI_RequestConfig", HFILL }},
    { &hf_nr_rrc_offsetToSI_Used_r16,
      { "offsetToSI-Used-r16", "nr-rrc.offsetToSI_Used_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offsetToSI_Used_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSI_Periodicity_r16,
      { "posSI-Periodicity-r16", "nr-rrc.posSI_Periodicity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSI_Periodicity_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSI_BroadcastStatus_r16,
      { "posSI-BroadcastStatus-r16", "nr-rrc.posSI_BroadcastStatus_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSI_BroadcastStatus_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSIB_MappingInfo_r16,
      { "posSIB-MappingInfo-r16", "nr-rrc.posSIB_MappingInfo_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PosSIB_MappingInfo_r16_item,
      { "PosSIB-Type-r16", "nr-rrc.PosSIB_Type_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_encrypted_r16,
      { "encrypted-r16", "nr-rrc.encrypted_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_encrypted_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSibType_r16_01,
      { "posSibType-r16", "nr-rrc.posSibType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSibType_r16_01_vals), 0,
        "T_posSibType_r16_01", HFILL }},
    { &hf_nr_rrc_areaScope_r16,
      { "areaScope-r16", "nr-rrc.areaScope_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_areaScope_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gnss_id_r16_01,
      { "gnss-id-r16", "nr-rrc.gnss_id_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnss_id_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sbas_id_r16_01,
      { "sbas-id-r16", "nr-rrc.sbas_id_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sbas_id_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_assistanceDataSIB_Element_r16,
      { "assistanceDataSIB-Element-r16", "nr-rrc.assistanceDataSIB_Element_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_assistanceDataSIB_Element_r16", HFILL }},
    { &hf_nr_rrc_availabilityCombinationsPerCellIndex_r16,
      { "availabilityCombinationsPerCellIndex-r16", "nr-rrc.availabilityCombinationsPerCellIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_DU_CellIdentity_r16,
      { "iab-DU-CellIdentity-r16", "nr-rrc.iab_DU_CellIdentity_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "CellIdentity", HFILL }},
    { &hf_nr_rrc_positionInDCI_AI_r16,
      { "positionInDCI-AI-r16", "nr-rrc.positionInDCI_AI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxAI_DCI_PayloadSize_1_r16", HFILL }},
    { &hf_nr_rrc_availabilityCombinations_r16,
      { "availabilityCombinations-r16", "nr-rrc.availabilityCombinations_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16", HFILL }},
    { &hf_nr_rrc_availabilityCombinations_r16_item,
      { "AvailabilityCombination-r16", "nr-rrc.AvailabilityCombination_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_availabilityCombinationsRB_Groups_r17,
      { "availabilityCombinationsRB-Groups-r17", "nr-rrc.availabilityCombinationsRB_Groups_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17", HFILL }},
    { &hf_nr_rrc_availabilityCombinationsRB_Groups_r17_item,
      { "AvailabilityCombinationRB-Groups-r17", "nr-rrc.AvailabilityCombinationRB_Groups_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_positionInDCI_AI_RBGroups_v1720,
      { "positionInDCI-AI-RBGroups-v1720", "nr-rrc.positionInDCI_AI_RBGroups_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxAI_DCI_PayloadSize_1_r16", HFILL }},
    { &hf_nr_rrc_availabilityCombinationId_r16,
      { "availabilityCombinationId-r16", "nr-rrc.availabilityCombinationId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceAvailability_r16,
      { "resourceAvailability-r16", "nr-rrc.resourceAvailability_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceAvailability_r16_item,
      { "resourceAvailability-r16 item", "nr-rrc.resourceAvailability_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_availabilityCombinationId_r17,
      { "availabilityCombinationId-r17", "nr-rrc.availabilityCombinationId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "AvailabilityCombinationId_r16", HFILL }},
    { &hf_nr_rrc_rb_SetGroups_r17,
      { "rb-SetGroups-r17", "nr-rrc.rb_SetGroups_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17", HFILL }},
    { &hf_nr_rrc_rb_SetGroups_r17_item,
      { "RB-SetGroup-r17", "nr-rrc.RB_SetGroup_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceAvailability_r17,
      { "resourceAvailability-r17", "nr-rrc.resourceAvailability_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceAvailability_r17_item,
      { "resourceAvailability-r17 item", "nr-rrc.resourceAvailability_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_resourceAvailability_r17_01,
      { "resourceAvailability-r17", "nr-rrc.resourceAvailability_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_resourceAvailability_r17_01", HFILL }},
    { &hf_nr_rrc_rb_Sets_r17,
      { "rb-Sets-r17", "nr-rrc.rb_Sets_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rb_Sets_r17_item,
      { "rb-Sets-r17 item", "nr-rrc.rb_Sets_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_ai_RNTI_r16,
      { "ai-RNTI-r16", "nr-rrc.ai_RNTI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_PayloadSizeAI_r16,
      { "dci-PayloadSizeAI-r16", "nr-rrc.dci_PayloadSizeAI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxAI_DCI_PayloadSize_r16", HFILL }},
    { &hf_nr_rrc_availableCombToAddModList_r16,
      { "availableCombToAddModList-r16", "nr-rrc.availableCombToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16", HFILL }},
    { &hf_nr_rrc_availableCombToAddModList_r16_item,
      { "AvailabilityCombinationsPerCell-r16", "nr-rrc.AvailabilityCombinationsPerCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_availableCombToReleaseList_r16,
      { "availableCombToReleaseList-r16", "nr-rrc.availableCombToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16", HFILL }},
    { &hf_nr_rrc_availableCombToReleaseList_r16_item,
      { "AvailabilityCombinationsPerCellIndex-r16", "nr-rrc.AvailabilityCombinationsPerCellIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bap_PathId_r16,
      { "bap-PathId-r16", "nr-rrc.bap_PathId_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_rootSequenceIndex_BFR,
      { "rootSequenceIndex-BFR", "nr-rrc.rootSequenceIndex_BFR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_137", HFILL }},
    { &hf_nr_rrc_rach_ConfigBFR,
      { "rach-ConfigBFR", "nr-rrc.rach_ConfigBFR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RACH_ConfigGeneric", HFILL }},
    { &hf_nr_rrc_rsrp_ThresholdSSB,
      { "rsrp-ThresholdSSB", "nr-rrc.rsrp_ThresholdSSB",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_candidateBeamRSList,
      { "candidateBeamRSList", "nr-rrc.candidateBeamRSList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR", HFILL }},
    { &hf_nr_rrc_candidateBeamRSList_item,
      { "PRACH-ResourceDedicatedBFR", "nr-rrc.PRACH_ResourceDedicatedBFR",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PRACH_ResourceDedicatedBFR_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_perRACH_Occasion,
      { "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_ssb_OccasionMaskIndex,
      { "ra-ssb-OccasionMaskIndex", "nr-rrc.ra_ssb_OccasionMaskIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_recoverySearchSpaceId,
      { "recoverySearchSpaceId", "nr-rrc.recoverySearchSpaceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_ra_Prioritization,
      { "ra-Prioritization", "nr-rrc.ra_Prioritization_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamFailureRecoveryTimer,
      { "beamFailureRecoveryTimer", "nr-rrc.beamFailureRecoveryTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msg1_SubcarrierSpacing,
      { "msg1-SubcarrierSpacing", "nr-rrc.msg1_SubcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_ra_PrioritizationTwoStep_r16,
      { "ra-PrioritizationTwoStep-r16", "nr-rrc.ra_PrioritizationTwoStep_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RA_Prioritization", HFILL }},
    { &hf_nr_rrc_candidateBeamRSListExt_v1610,
      { "candidateBeamRSListExt-v1610", "nr-rrc.candidateBeamRSListExt_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_candidateBeamRSListExt_v1610_vals), 0,
        "T_candidateBeamRSListExt_v1610", HFILL }},
    { &hf_nr_rrc_setup_29,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CandidateBeamRSListExt_r16", HFILL }},
    { &hf_nr_rrc_spCell_BFR_CBRA_r16,
      { "spCell-BFR-CBRA-r16", "nr-rrc.spCell_BFR_CBRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spCell_BFR_CBRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb,
      { "ssb", "nr-rrc.ssb_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BFR_SSB_Resource", HFILL }},
    { &hf_nr_rrc_csi_RS,
      { "csi-RS", "nr-rrc.csi_RS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BFR_CSIRS_Resource", HFILL }},
    { &hf_nr_rrc_ssb_01,
      { "ssb", "nr-rrc.ssb",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_Index", HFILL }},
    { &hf_nr_rrc_ra_PreambleIndex,
      { "ra-PreambleIndex", "nr-rrc.ra_PreambleIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_csi_RS_01,
      { "csi-RS", "nr-rrc.csi_RS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_ra_OccasionList,
      { "ra-OccasionList", "nr-rrc.ra_OccasionList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_OccasionList_item,
      { "ra-OccasionList item", "nr-rrc.ra_OccasionList_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxRA_Occasions_1", HFILL }},
    { &hf_nr_rrc_CandidateBeamRSListExt_r16_item,
      { "PRACH-ResourceDedicatedBFR", "nr-rrc.PRACH_ResourceDedicatedBFR",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PRACH_ResourceDedicatedBFR_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rsrp_ThresholdBFR_r16,
      { "rsrp-ThresholdBFR-r16", "nr-rrc.rsrp_ThresholdBFR_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_candidateBeamRS_List_r16,
      { "candidateBeamRS-List-r16", "nr-rrc.candidateBeamRS_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16", HFILL }},
    { &hf_nr_rrc_candidateBeamRS_List_r16_item,
      { "CandidateBeamRS-r16", "nr-rrc.CandidateBeamRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_candidateBeamRS_List2_r17,
      { "candidateBeamRS-List2-r17", "nr-rrc.candidateBeamRS_List2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16", HFILL }},
    { &hf_nr_rrc_candidateBeamRS_List2_r17_item,
      { "CandidateBeamRS-r16", "nr-rrc.CandidateBeamRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_betaOffsetACK_Index1,
      { "betaOffsetACK-Index1", "nr-rrc.betaOffsetACK_Index1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_betaOffsetACK_Index2,
      { "betaOffsetACK-Index2", "nr-rrc.betaOffsetACK_Index2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_betaOffsetACK_Index3,
      { "betaOffsetACK-Index3", "nr-rrc.betaOffsetACK_Index3",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_betaOffsetCSI_Part1_Index1,
      { "betaOffsetCSI-Part1-Index1", "nr-rrc.betaOffsetCSI_Part1_Index1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_betaOffsetCSI_Part1_Index2,
      { "betaOffsetCSI-Part1-Index2", "nr-rrc.betaOffsetCSI_Part1_Index2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_betaOffsetCSI_Part2_Index1,
      { "betaOffsetCSI-Part2-Index1", "nr-rrc.betaOffsetCSI_Part2_Index1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_betaOffsetCSI_Part2_Index2,
      { "betaOffsetCSI-Part2-Index2", "nr-rrc.betaOffsetCSI_Part2_Index2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_BetaOffsetsCrossPri_r17_item,
      { "BetaOffsetsCrossPri-r17 item", "nr-rrc.BetaOffsetsCrossPri_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_bh_LogicalChannelIdentity_r16,
      { "bh-LogicalChannelIdentity-r16", "nr-rrc.bh_LogicalChannelIdentity_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LogicalChannelIdentity", HFILL }},
    { &hf_nr_rrc_bh_LogicalChannelIdentityExt_r16,
      { "bh-LogicalChannelIdentityExt-r16", "nr-rrc.bh_LogicalChannelIdentityExt_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BH_LogicalChannelIdentity_Ext_r16", HFILL }},
    { &hf_nr_rrc_bh_LogicalChannelIdentity_r16_01,
      { "bh-LogicalChannelIdentity-r16", "nr-rrc.bh_LogicalChannelIdentity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BH_LogicalChannelIdentity_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bh_RLC_ChannelID_r16,
      { "bh-RLC-ChannelID-r16", "nr-rrc.bh_RLC_ChannelID_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reestablishRLC_r16,
      { "reestablishRLC-r16", "nr-rrc.reestablishRLC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishRLC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_Config_r16,
      { "rlc-Config-r16", "nr-rrc.rlc_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RLC_Config_vals), 0,
        "RLC_Config", HFILL }},
    { &hf_nr_rrc_mac_LogicalChannelConfig_r16,
      { "mac-LogicalChannelConfig-r16", "nr-rrc.mac_LogicalChannelConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LogicalChannelConfig", HFILL }},
    { &hf_nr_rrc_periodicBSR_Timer,
      { "periodicBSR-Timer", "nr-rrc.periodicBSR_Timer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBSR_Timer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_retxBSR_Timer,
      { "retxBSR-Timer", "nr-rrc.retxBSR_Timer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_retxBSR_Timer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logicalChannelSR_DelayTimer,
      { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_locationAndBandwidth,
      { "locationAndBandwidth", "nr-rrc.locationAndBandwidth",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_37949", HFILL }},
    { &hf_nr_rrc_subcarrierSpacing,
      { "subcarrierSpacing", "nr-rrc.subcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cyclicPrefix,
      { "cyclicPrefix", "nr-rrc.cyclicPrefix",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cyclicPrefix_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_Id,
      { "bwp-Id", "nr-rrc.bwp_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_Common,
      { "bwp-Common", "nr-rrc.bwp_Common_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_DownlinkCommon", HFILL }},
    { &hf_nr_rrc_bwp_Dedicated,
      { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_DownlinkDedicated", HFILL }},
    { &hf_nr_rrc_genericParameters,
      { "genericParameters", "nr-rrc.genericParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP", HFILL }},
    { &hf_nr_rrc_pdcch_ConfigCommon,
      { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ConfigCommon_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_30,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_ConfigCommon", HFILL }},
    { &hf_nr_rrc_pdsch_ConfigCommon,
      { "pdsch-ConfigCommon", "nr-rrc.pdsch_ConfigCommon",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ConfigCommon_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_31,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDSCH_ConfigCommon", HFILL }},
    { &hf_nr_rrc_pdcch_Config,
      { "pdcch-Config", "nr-rrc.pdcch_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_Config,
      { "pdsch-Config", "nr-rrc.pdsch_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_Config,
      { "sps-Config", "nr-rrc.sps_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_32,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SPS_Config", HFILL }},
    { &hf_nr_rrc_radioLinkMonitoringConfig,
      { "radioLinkMonitoringConfig", "nr-rrc.radioLinkMonitoringConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioLinkMonitoringConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_33,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RadioLinkMonitoringConfig", HFILL }},
    { &hf_nr_rrc_sps_ConfigToAddModList_r16,
      { "sps-ConfigToAddModList-r16", "nr-rrc.sps_ConfigToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_ConfigToReleaseList_r16,
      { "sps-ConfigToReleaseList-r16", "nr-rrc.sps_ConfigToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_ConfigDeactivationStateList_r16,
      { "sps-ConfigDeactivationStateList-r16", "nr-rrc.sps_ConfigDeactivationStateList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamFailureRecoverySCellConfig_r16,
      { "beamFailureRecoverySCellConfig-r16", "nr-rrc.beamFailureRecoverySCellConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoverySCellConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_34,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BeamFailureRecoveryRSConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_PDCCH_Config_r16,
      { "sl-PDCCH-Config-r16", "nr-rrc.sl_PDCCH_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PDCCH_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_V2X_PDCCH_Config_r16,
      { "sl-V2X-PDCCH-Config-r16", "nr-rrc.sl_V2X_PDCCH_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_V2X_PDCCH_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preConfGapStatus_r17,
      { "preConfGapStatus-r17", "nr-rrc.preConfGapStatus_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_maxNrofGapId_r17", HFILL }},
    { &hf_nr_rrc_beamFailureRecoverySpCellConfig_r17,
      { "beamFailureRecoverySpCellConfig-r17", "nr-rrc.beamFailureRecoverySpCellConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoverySpCellConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_FeedbackEnablingforSPSactive_r17,
      { "harq-FeedbackEnablingforSPSactive-r17", "nr-rrc.harq_FeedbackEnablingforSPSactive_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_cfr_ConfigMulticast_r17,
      { "cfr-ConfigMulticast-r17", "nr-rrc.cfr_ConfigMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cfr_ConfigMulticast_r17_vals), 0,
        "T_cfr_ConfigMulticast_r17", HFILL }},
    { &hf_nr_rrc_setup_35,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CFR_ConfigMulticast_r17", HFILL }},
    { &hf_nr_rrc_dl_PPW_PreConfigToAddModList_r17,
      { "dl-PPW-PreConfigToAddModList-r17", "nr-rrc.dl_PPW_PreConfigToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_PPW_PreConfigToReleaseList_r17,
      { "dl-PPW-PreConfigToReleaseList-r17", "nr-rrc.dl_PPW_PreConfigToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCellDefiningSSB_r17,
      { "nonCellDefiningSSB-r17", "nr-rrc.nonCellDefiningSSB_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servingCellMO_r17,
      { "servingCellMO-r17", "nr-rrc.servingCellMO_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasObjectId", HFILL }},
    { &hf_nr_rrc_SPS_ConfigToAddModList_r16_item,
      { "SPS-Config", "nr-rrc.SPS_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SPS_ConfigToReleaseList_r16_item,
      { "SPS-ConfigIndex-r16", "nr-rrc.SPS_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SPS_ConfigDeactivationState_r16_item,
      { "SPS-ConfigIndex-r16", "nr-rrc.SPS_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SPS_ConfigDeactivationStateList_r16_item,
      { "SPS-ConfigDeactivationState-r16", "nr-rrc.SPS_ConfigDeactivationState_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_DL_PPW_PreConfigToAddModList_r17_item,
      { "DL-PPW-PreConfig-r17", "nr-rrc.DL_PPW_PreConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_DL_PPW_PreConfigToReleaseList_r17_item,
      { "DL-PPW-ID-r17", "nr-rrc.DL_PPW_ID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_Common_01,
      { "bwp-Common", "nr-rrc.bwp_Common_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_UplinkCommon", HFILL }},
    { &hf_nr_rrc_bwp_Dedicated_01,
      { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_UplinkDedicated", HFILL }},
    { &hf_nr_rrc_rach_ConfigCommon,
      { "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommon_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_36,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RACH_ConfigCommon", HFILL }},
    { &hf_nr_rrc_pusch_ConfigCommon,
      { "pusch-ConfigCommon", "nr-rrc.pusch_ConfigCommon",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ConfigCommon_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_37,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUSCH_ConfigCommon", HFILL }},
    { &hf_nr_rrc_pucch_ConfigCommon,
      { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigCommon_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_38,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_ConfigCommon", HFILL }},
    { &hf_nr_rrc_rach_ConfigCommonIAB_r16,
      { "rach-ConfigCommonIAB-r16", "nr-rrc.rach_ConfigCommonIAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommonIAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_useInterlacePUCCH_PUSCH_r16,
      { "useInterlacePUCCH-PUSCH-r16", "nr-rrc.useInterlacePUCCH_PUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useInterlacePUCCH_PUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_ConfigCommon_r16,
      { "msgA-ConfigCommon-r16", "nr-rrc.msgA_ConfigCommon_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_ConfigCommon_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_39,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MsgA_ConfigCommon_r16", HFILL }},
    { &hf_nr_rrc_enableRA_PrioritizationForSlicing_r17,
      { "enableRA-PrioritizationForSlicing-r17", "nr-rrc.enableRA_PrioritizationForSlicing_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_additionalRACH_ConfigList_r17,
      { "additionalRACH-ConfigList-r17", "nr-rrc.additionalRACH_ConfigList_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalRACH_ConfigList_r17_vals), 0,
        "T_additionalRACH_ConfigList_r17", HFILL }},
    { &hf_nr_rrc_setup_40,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "AdditionalRACH_ConfigList_r17", HFILL }},
    { &hf_nr_rrc_rsrp_ThresholdMsg3_r17,
      { "rsrp-ThresholdMsg3-r17", "nr-rrc.rsrp_ThresholdMsg3_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_numberOfMsg3_RepetitionsList_r17,
      { "numberOfMsg3-RepetitionsList-r17", "nr-rrc.numberOfMsg3_RepetitionsList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17", HFILL }},
    { &hf_nr_rrc_numberOfMsg3_RepetitionsList_r17_item,
      { "NumberOfMsg3-Repetitions-r17", "nr-rrc.NumberOfMsg3_Repetitions_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_NumberOfMsg3_Repetitions_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcs_Msg3_Repetitions_r17,
      { "mcs-Msg3-Repetitions-r17", "nr-rrc.mcs_Msg3_Repetitions_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcs_Msg3_Repetitions_r17_item,
      { "mcs-Msg3-Repetitions-r17 item", "nr-rrc.mcs_Msg3_Repetitions_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_AdditionalRACH_ConfigList_r17_item,
      { "AdditionalRACH-Config-r17", "nr-rrc.AdditionalRACH_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rach_ConfigCommon_r17,
      { "rach-ConfigCommon-r17", "nr-rrc.rach_ConfigCommon_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RACH_ConfigCommon", HFILL }},
    { &hf_nr_rrc_msgA_ConfigCommon_r17,
      { "msgA-ConfigCommon-r17", "nr-rrc.msgA_ConfigCommon_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MsgA_ConfigCommon_r16", HFILL }},
    { &hf_nr_rrc_pucch_Config,
      { "pucch-Config", "nr-rrc.pucch_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_41,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Config", HFILL }},
    { &hf_nr_rrc_pusch_Config,
      { "pusch-Config", "nr-rrc.pusch_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredGrantConfig,
      { "configuredGrantConfig", "nr-rrc.configuredGrantConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_42,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ConfiguredGrantConfig", HFILL }},
    { &hf_nr_rrc_srs_Config,
      { "srs-Config", "nr-rrc.srs_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_43,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_Config", HFILL }},
    { &hf_nr_rrc_beamFailureRecoveryConfig,
      { "beamFailureRecoveryConfig", "nr-rrc.beamFailureRecoveryConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_44,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BeamFailureRecoveryConfig", HFILL }},
    { &hf_nr_rrc_sl_PUCCH_Config_r16,
      { "sl-PUCCH-Config-r16", "nr-rrc.sl_PUCCH_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PUCCH_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cp_ExtensionC2_r16,
      { "cp-ExtensionC2-r16", "nr-rrc.cp_ExtensionC2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_28", HFILL }},
    { &hf_nr_rrc_cp_ExtensionC3_r16,
      { "cp-ExtensionC3-r16", "nr-rrc.cp_ExtensionC3_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_28", HFILL }},
    { &hf_nr_rrc_useInterlacePUCCH_PUSCH_r16_01,
      { "useInterlacePUCCH-PUSCH-r16", "nr-rrc.useInterlacePUCCH_PUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useInterlacePUCCH_PUSCH_r16_01_vals), 0,
        "T_useInterlacePUCCH_PUSCH_r16_01", HFILL }},
    { &hf_nr_rrc_pucch_ConfigurationList_r16,
      { "pucch-ConfigurationList-r16", "nr-rrc.pucch_ConfigurationList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigurationList_r16_vals), 0,
        "T_pucch_ConfigurationList_r16", HFILL }},
    { &hf_nr_rrc_setup_45,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_ConfigurationList_r16", HFILL }},
    { &hf_nr_rrc_lbt_FailureRecoveryConfig_r16,
      { "lbt-FailureRecoveryConfig-r16", "nr-rrc.lbt_FailureRecoveryConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lbt_FailureRecoveryConfig_r16_vals), 0,
        "T_lbt_FailureRecoveryConfig_r16", HFILL }},
    { &hf_nr_rrc_setup_46,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LBT_FailureRecoveryConfig_r16", HFILL }},
    { &hf_nr_rrc_configuredGrantConfigToAddModList_r16,
      { "configuredGrantConfigToAddModList-r16", "nr-rrc.configuredGrantConfigToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredGrantConfigToReleaseList_r16,
      { "configuredGrantConfigToReleaseList-r16", "nr-rrc.configuredGrantConfigToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredGrantConfigType2DeactivationStateList_r16,
      { "configuredGrantConfigType2DeactivationStateList-r16", "nr-rrc.configuredGrantConfigType2DeactivationStateList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_TCI_StateList_r17,
      { "ul-TCI-StateList-r17", "nr-rrc.ul_TCI_StateList_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_TCI_StateList_r17_vals), 0,
        "T_ul_TCI_StateList_r17", HFILL }},
    { &hf_nr_rrc_explicitlist,
      { "explicitlist", "nr-rrc.explicitlist_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_TCI_ToAddModList_r17,
      { "ul-TCI-ToAddModList-r17", "nr-rrc.ul_TCI_ToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17", HFILL }},
    { &hf_nr_rrc_ul_TCI_ToAddModList_r17_item,
      { "TCI-UL-State-r17", "nr-rrc.TCI_UL_State_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_TCI_ToReleaseList_r17,
      { "ul-TCI-ToReleaseList-r17", "nr-rrc.ul_TCI_ToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17", HFILL }},
    { &hf_nr_rrc_ul_TCI_ToReleaseList_r17_item,
      { "TCI-UL-StateId-r17", "nr-rrc.TCI_UL_StateId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedTCI_StateRef_r17,
      { "unifiedTCI-StateRef-r17", "nr-rrc.unifiedTCI_StateRef_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ServingCellAndBWP_Id_r17", HFILL }},
    { &hf_nr_rrc_ul_powerControl_r17,
      { "ul-powerControl-r17", "nr-rrc.ul_powerControl_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Uplink_powerControlId_r17", HFILL }},
    { &hf_nr_rrc_pucch_ConfigurationListMulticast1_r17,
      { "pucch-ConfigurationListMulticast1-r17", "nr-rrc.pucch_ConfigurationListMulticast1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigurationListMulticast1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_ConfigurationListMulticast2_r17,
      { "pucch-ConfigurationListMulticast2-r17", "nr-rrc.pucch_ConfigurationListMulticast2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigurationListMulticast2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_ConfigMulticast1_r17,
      { "pucch-ConfigMulticast1-r17", "nr-rrc.pucch_ConfigMulticast1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigMulticast1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_ConfigMulticast2_r17,
      { "pucch-ConfigMulticast2-r17", "nr-rrc.pucch_ConfigMulticast2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigMulticast2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToAddModList_r17,
      { "pathlossReferenceRSToAddModList-r17", "nr-rrc.pathlossReferenceRSToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToAddModList_r17_item,
      { "PathlossReferenceRS-r17", "nr-rrc.PathlossReferenceRS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToReleaseList_r17,
      { "pathlossReferenceRSToReleaseList-r17", "nr-rrc.pathlossReferenceRSToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToReleaseList_r17_item,
      { "PathlossReferenceRS-Id-r17", "nr-rrc.PathlossReferenceRS_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ConfiguredGrantConfigToAddModList_r16_item,
      { "ConfiguredGrantConfig", "nr-rrc.ConfiguredGrantConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ConfiguredGrantConfigToReleaseList_r16_item,
      { "ConfiguredGrantConfigIndex-r16", "nr-rrc.ConfiguredGrantConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16_item,
      { "ConfiguredGrantConfigIndex-r16", "nr-rrc.ConfiguredGrantConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16_item,
      { "ConfiguredGrantConfigType2DeactivationState-r16", "nr-rrc.ConfiguredGrantConfigType2DeactivationState_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_candidateBeamConfig_r16,
      { "candidateBeamConfig-r16", "nr-rrc.candidateBeamConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_candidateBeamConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_r16,
      { "ssb-r16", "nr-rrc.ssb_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_Index", HFILL }},
    { &hf_nr_rrc_csi_RS_r16,
      { "csi-RS-r16", "nr-rrc.csi_RS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_servingCellId,
      { "servingCellId", "nr-rrc.servingCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_plmn_IdentityInfoList,
      { "plmn-IdentityInfoList", "nr-rrc.plmn_IdentityInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellReservedForOtherUse,
      { "cellReservedForOtherUse", "nr-rrc.cellReservedForOtherUse",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOtherUse_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellReservedForFutureUse_r16,
      { "cellReservedForFutureUse-r16", "nr-rrc.cellReservedForFutureUse_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForFutureUse_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_npn_IdentityInfoList_r16,
      { "npn-IdentityInfoList-r16", "nr-rrc.npn_IdentityInfoList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_snpn_AccessInfoList_r17,
      { "snpn-AccessInfoList-r17", "nr-rrc.snpn_AccessInfoList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17", HFILL }},
    { &hf_nr_rrc_snpn_AccessInfoList_r17_item,
      { "SNPN-AccessInfo-r17", "nr-rrc.SNPN_AccessInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extCH_Supported_r17,
      { "extCH-Supported-r17", "nr-rrc.extCH_Supported_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extCH_Supported_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extCH_WithoutConfigAllowed_r17,
      { "extCH-WithoutConfigAllowed-r17", "nr-rrc.extCH_WithoutConfigAllowed_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extCH_WithoutConfigAllowed_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_onboardingEnabled_r17,
      { "onboardingEnabled-r17", "nr-rrc.onboardingEnabled_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onboardingEnabled_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_imsEmergencySupportForSNPN_r17,
      { "imsEmergencySupportForSNPN-r17", "nr-rrc.imsEmergencySupportForSNPN_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_imsEmergencySupportForSNPN_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_IdentityList_eutra_5gc,
      { "plmn-IdentityList-eutra-5gc", "nr-rrc.plmn_IdentityList_eutra_5gc",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_trackingAreaCode_eutra_5gc,
      { "trackingAreaCode-eutra-5gc", "nr-rrc.trackingAreaCode_eutra_5gc",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TrackingAreaCode", HFILL }},
    { &hf_nr_rrc_ranac_5gc,
      { "ranac-5gc", "nr-rrc.ranac_5gc",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RAN_AreaCode", HFILL }},
    { &hf_nr_rrc_cellAccessRelatedInfo_EUTRA_5GC_cellIdentity_eutra_5gc,
      { "cellIdentity-eutra-5gc", "nr-rrc.cellAccessRelatedInfo_EUTRA_5GC.cellIdentity_eutra_5gc",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CellIdentity_EUTRA_5GC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item,
      { "PLMN-Identity-EUTRA-5GC", "nr-rrc.PLMN_Identity_EUTRA_5GC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PLMN_Identity_EUTRA_5GC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_Identity_EUTRA_5GC,
      { "plmn-Identity-EUTRA-5GC", "nr-rrc.plmn_Identity_EUTRA_5GC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_nr_rrc_plmn_index,
      { "plmn-index", "nr-rrc.plmn_index",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxPLMN", HFILL }},
    { &hf_nr_rrc_cellIdentity_EUTRA,
      { "cellIdentity-EUTRA", "nr-rrc.cellIdentity_EUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_28", HFILL }},
    { &hf_nr_rrc_cellId_index,
      { "cellId-index", "nr-rrc.cellId_index",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxPLMN", HFILL }},
    { &hf_nr_rrc_plmn_IdentityList_eutra_epc,
      { "plmn-IdentityList-eutra-epc", "nr-rrc.plmn_IdentityList_eutra_epc",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_trackingAreaCode_eutra_epc,
      { "trackingAreaCode-eutra-epc", "nr-rrc.trackingAreaCode_eutra_epc",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_cellIdentity_eutra_epc,
      { "cellIdentity-eutra-epc", "nr-rrc.cellIdentity_eutra_epc",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_28", HFILL }},
    { &hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item,
      { "PLMN-Identity", "nr-rrc.PLMN_Identity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_BearerToAddModList,
      { "rlc-BearerToAddModList", "nr-rrc.rlc_BearerToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig", HFILL }},
    { &hf_nr_rrc_rlc_BearerToAddModList_item,
      { "RLC-BearerConfig", "nr-rrc.RLC_BearerConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_BearerToReleaseList,
      { "rlc-BearerToReleaseList", "nr-rrc.rlc_BearerToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity", HFILL }},
    { &hf_nr_rrc_rlc_BearerToReleaseList_item,
      { "LogicalChannelIdentity", "nr-rrc.LogicalChannelIdentity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_CellGroupConfig,
      { "mac-CellGroupConfig", "nr-rrc.mac_CellGroupConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_physicalCellGroupConfig,
      { "physicalCellGroupConfig", "nr-rrc.physicalCellGroupConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spCellConfig,
      { "spCellConfig", "nr-rrc.spCellConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCellToAddModList,
      { "sCellToAddModList", "nr-rrc.sCellToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig", HFILL }},
    { &hf_nr_rrc_sCellToAddModList_item,
      { "SCellConfig", "nr-rrc.SCellConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCellToReleaseList,
      { "sCellToReleaseList", "nr-rrc.sCellToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex", HFILL }},
    { &hf_nr_rrc_sCellToReleaseList_item,
      { "SCellIndex", "nr-rrc.SCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportUplinkTxDirectCurrent,
      { "reportUplinkTxDirectCurrent", "nr-rrc.reportUplinkTxDirectCurrent",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportUplinkTxDirectCurrent_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bh_RLC_ChannelToAddModList_r16,
      { "bh-RLC-ChannelToAddModList-r16", "nr-rrc.bh_RLC_ChannelToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16", HFILL }},
    { &hf_nr_rrc_bh_RLC_ChannelToAddModList_r16_item,
      { "BH-RLC-ChannelConfig-r16", "nr-rrc.BH_RLC_ChannelConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16,
      { "bh-RLC-ChannelToReleaseList-r16", "nr-rrc.bh_RLC_ChannelToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16", HFILL }},
    { &hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16_item,
      { "BH-RLC-ChannelID-r16", "nr-rrc.BH_RLC_ChannelID_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_f1c_TransferPath_r16,
      { "f1c-TransferPath-r16", "nr-rrc.f1c_TransferPath_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1c_TransferPath_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousTCI_UpdateList1_r16,
      { "simultaneousTCI-UpdateList1-r16", "nr-rrc.simultaneousTCI_UpdateList1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_simultaneousTCI_UpdateList1_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousTCI_UpdateList2_r16,
      { "simultaneousTCI-UpdateList2-r16", "nr-rrc.simultaneousTCI_UpdateList2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_simultaneousTCI_UpdateList2_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16,
      { "simultaneousSpatial-UpdatedList1-r16", "nr-rrc.simultaneousSpatial_UpdatedList1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16,
      { "simultaneousSpatial-UpdatedList2-r16", "nr-rrc.simultaneousSpatial_UpdatedList2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchingOption_r16,
      { "uplinkTxSwitchingOption-r16", "nr-rrc.uplinkTxSwitchingOption_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchingOption_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchingPowerBoosting_r16,
      { "uplinkTxSwitchingPowerBoosting-r16", "nr-rrc.uplinkTxSwitchingPowerBoosting_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchingPowerBoosting_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportUplinkTxDirectCurrentTwoCarrier_r16,
      { "reportUplinkTxDirectCurrentTwoCarrier-r16", "nr-rrc.reportUplinkTxDirectCurrentTwoCarrier_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportUplinkTxDirectCurrentTwoCarrier_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_f1c_TransferPathNRDC_r17,
      { "f1c-TransferPathNRDC-r17", "nr-rrc.f1c_TransferPathNRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1c_TransferPathNRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching_2T_Mode_r17,
      { "uplinkTxSwitching-2T-Mode-r17", "nr-rrc.uplinkTxSwitching_2T_Mode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_2T_Mode_r17_vals), 0,
        "T_uplinkTxSwitching_2T_Mode_r17", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching_DualUL_TxState_r17,
      { "uplinkTxSwitching-DualUL-TxState-r17", "nr-rrc.uplinkTxSwitching_DualUL_TxState_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_DualUL_TxState_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uu_RelayRLC_ChannelToAddModList_r17,
      { "uu-RelayRLC-ChannelToAddModList-r17", "nr-rrc.uu_RelayRLC_ChannelToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17", HFILL }},
    { &hf_nr_rrc_uu_RelayRLC_ChannelToAddModList_r17_item,
      { "Uu-RelayRLC-ChannelConfig-r17", "nr-rrc.Uu_RelayRLC_ChannelConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uu_RelayRLC_ChannelToReleaseList_r17,
      { "uu-RelayRLC-ChannelToReleaseList-r17", "nr-rrc.uu_RelayRLC_ChannelToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17", HFILL }},
    { &hf_nr_rrc_uu_RelayRLC_ChannelToReleaseList_r17_item,
      { "Uu-RelayRLC-ChannelID-r17", "nr-rrc.Uu_RelayRLC_ChannelID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousU_TCI_UpdateList1_r17,
      { "simultaneousU-TCI-UpdateList1-r17", "nr-rrc.simultaneousU_TCI_UpdateList1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_simultaneousU_TCI_UpdateList1_r17_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousU_TCI_UpdateList2_r17,
      { "simultaneousU-TCI-UpdateList2-r17", "nr-rrc.simultaneousU_TCI_UpdateList2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_simultaneousU_TCI_UpdateList2_r17_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousU_TCI_UpdateList3_r17,
      { "simultaneousU-TCI-UpdateList3-r17", "nr-rrc.simultaneousU_TCI_UpdateList3_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_simultaneousU_TCI_UpdateList3_r17_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousU_TCI_UpdateList4_r17,
      { "simultaneousU-TCI-UpdateList4-r17", "nr-rrc.simultaneousU_TCI_UpdateList4_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_simultaneousU_TCI_UpdateList4_r17_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_BearerToReleaseListExt_r17,
      { "rlc-BearerToReleaseListExt-r17", "nr-rrc.rlc_BearerToReleaseListExt_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17", HFILL }},
    { &hf_nr_rrc_rlc_BearerToReleaseListExt_r17_item,
      { "LogicalChannelIdentityExt-r17", "nr-rrc.LogicalChannelIdentityExt_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_ResourceConfigToAddModList_r17,
      { "iab-ResourceConfigToAddModList-r17", "nr-rrc.iab_ResourceConfigToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17", HFILL }},
    { &hf_nr_rrc_iab_ResourceConfigToAddModList_r17_item,
      { "IAB-ResourceConfig-r17", "nr-rrc.IAB_ResourceConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_ResourceConfigToReleaseList_r17,
      { "iab-ResourceConfigToReleaseList-r17", "nr-rrc.iab_ResourceConfigToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17", HFILL }},
    { &hf_nr_rrc_iab_ResourceConfigToReleaseList_r17_item,
      { "IAB-ResourceConfigID-r17", "nr-rrc.IAB_ResourceConfigID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportUplinkTxDirectCurrentMoreCarrier_r17,
      { "reportUplinkTxDirectCurrentMoreCarrier-r17", "nr-rrc.reportUplinkTxDirectCurrentMoreCarrier_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reconfigurationWithSync,
      { "reconfigurationWithSync", "nr-rrc.reconfigurationWithSync_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlf_TimersAndConstants,
      { "rlf-TimersAndConstants", "nr-rrc.rlf_TimersAndConstants",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_TimersAndConstants_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_47,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RLF_TimersAndConstants", HFILL }},
    { &hf_nr_rrc_rlmInSyncOutOfSyncThreshold,
      { "rlmInSyncOutOfSyncThreshold", "nr-rrc.rlmInSyncOutOfSyncThreshold",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlmInSyncOutOfSyncThreshold_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spCellConfigDedicated,
      { "spCellConfigDedicated", "nr-rrc.spCellConfigDedicated_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ServingCellConfig", HFILL }},
    { &hf_nr_rrc_lowMobilityEvaluationConnected_r17,
      { "lowMobilityEvaluationConnected-r17", "nr-rrc.lowMobilityEvaluationConnected_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_SearchDeltaP_Connected_r17,
      { "s-SearchDeltaP-Connected-r17", "nr-rrc.s_SearchDeltaP_Connected_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_SearchDeltaP_Connected_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_SearchDeltaP_Connected_r17,
      { "t-SearchDeltaP-Connected-r17", "nr-rrc.t_SearchDeltaP_Connected_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_SearchDeltaP_Connected_r17_vals), 0,
        "T_t_SearchDeltaP_Connected_r17", HFILL }},
    { &hf_nr_rrc_goodServingCellEvaluationRLM_r17,
      { "goodServingCellEvaluationRLM-r17", "nr-rrc.goodServingCellEvaluationRLM_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GoodServingCellEvaluation_r17", HFILL }},
    { &hf_nr_rrc_goodServingCellEvaluationBFD_r17,
      { "goodServingCellEvaluationBFD-r17", "nr-rrc.goodServingCellEvaluationBFD_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GoodServingCellEvaluation_r17", HFILL }},
    { &hf_nr_rrc_deactivatedSCG_Config_r17,
      { "deactivatedSCG-Config-r17", "nr-rrc.deactivatedSCG_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deactivatedSCG_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_48,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DeactivatedSCG_Config_r17", HFILL }},
    { &hf_nr_rrc_spCellConfigCommon,
      { "spCellConfigCommon", "nr-rrc.spCellConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ServingCellConfigCommon", HFILL }},
    { &hf_nr_rrc_newUE_Identity,
      { "newUE-Identity", "nr-rrc.newUE_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_t304,
      { "t304", "nr-rrc.t304",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t304_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rach_ConfigDedicated,
      { "rach-ConfigDedicated", "nr-rrc.rach_ConfigDedicated",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigDedicated_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplink,
      { "uplink", "nr-rrc.uplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RACH_ConfigDedicated", HFILL }},
    { &hf_nr_rrc_supplementaryUplink,
      { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RACH_ConfigDedicated", HFILL }},
    { &hf_nr_rrc_daps_UplinkPowerConfig_r16,
      { "daps-UplinkPowerConfig-r16", "nr-rrc.daps_UplinkPowerConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PathSwitchConfig_r17,
      { "sl-PathSwitchConfig-r17", "nr-rrc.sl_PathSwitchConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16_01,
      { "uplinkPowerSharingDAPS-Mode-r16", "nr-rrc.uplinkPowerSharingDAPS_Mode_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_01_vals), 0,
        "T_uplinkPowerSharingDAPS_Mode_r16_01", HFILL }},
    { &hf_nr_rrc_sCellIndex,
      { "sCellIndex", "nr-rrc.sCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCellConfigCommon,
      { "sCellConfigCommon", "nr-rrc.sCellConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ServingCellConfigCommon", HFILL }},
    { &hf_nr_rrc_sCellConfigDedicated,
      { "sCellConfigDedicated", "nr-rrc.sCellConfigDedicated_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ServingCellConfig", HFILL }},
    { &hf_nr_rrc_sCellState_r16,
      { "sCellState-r16", "nr-rrc.sCellState_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellState_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_secondaryDRX_GroupConfig_r16,
      { "secondaryDRX-GroupConfig-r16", "nr-rrc.secondaryDRX_GroupConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_secondaryDRX_GroupConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCellSIB20_r17,
      { "sCellSIB20-r17", "nr-rrc.sCellSIB20_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellSIB20_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_49,
      { "setup", "nr-rrc.setup",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SCellSIB20_r17", HFILL }},
    { &hf_nr_rrc_plmn_IdentityInfoList_r17,
      { "plmn-IdentityInfoList-r17", "nr-rrc.plmn_IdentityInfoList_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_plmn_IdentityInfoList_r17_vals), 0,
        "T_plmn_IdentityInfoList_r17", HFILL }},
    { &hf_nr_rrc_setup_50,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PLMN_IdentityInfoList", HFILL }},
    { &hf_nr_rrc_npn_IdentityInfoList_r17,
      { "npn-IdentityInfoList-r17", "nr-rrc.npn_IdentityInfoList_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_npn_IdentityInfoList_r17_vals), 0,
        "T_npn_IdentityInfoList_r17", HFILL }},
    { &hf_nr_rrc_setup_51,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NPN_IdentityInfoList_r16", HFILL }},
    { &hf_nr_rrc_bfd_and_RLM_r17,
      { "bfd-and-RLM-r17", "nr-rrc.bfd_and_RLM_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_offset_r17,
      { "offset-r17", "nr-rrc.offset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offset_r17_vals), 0,
        "T_offset_r17", HFILL }},
    { &hf_nr_rrc_targetRelayUE_Identity_r17,
      { "targetRelayUE-Identity-r17", "nr-rrc.targetRelayUE_Identity_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SL_SourceIdentity_r17", HFILL }},
    { &hf_nr_rrc_t420_r17,
      { "t420-r17", "nr-rrc.t420_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t420_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_ResourceConfigID_r17,
      { "iab-ResourceConfigID-r17", "nr-rrc.iab_ResourceConfigID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotList_r17,
      { "slotList-r17", "nr-rrc.slotList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_slotList_r17", HFILL }},
    { &hf_nr_rrc_slotList_r17_item,
      { "slotList-r17 item", "nr-rrc.slotList_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119", HFILL }},
    { &hf_nr_rrc_periodicitySlotList_r17,
      { "periodicitySlotList-r17", "nr-rrc.periodicitySlotList_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicitySlotList_r17_vals), 0,
        "T_periodicitySlotList_r17", HFILL }},
    { &hf_nr_rrc_slotListSubcarrierSpacing_r17,
      { "slotListSubcarrierSpacing-r17", "nr-rrc.slotListSubcarrierSpacing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_ReportUplinkTxDirectCurrentMoreCarrier_r17_item,
      { "IntraBandCC-CombinationReqList-r17", "nr-rrc.IntraBandCC_CombinationReqList_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servCellIndexList_r17,
      { "servCellIndexList-r17", "nr-rrc.servCellIndexList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_servCellIndexList_r17_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cc_CombinationList_r17,
      { "cc-CombinationList-r17", "nr-rrc.cc_CombinationList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17", HFILL }},
    { &hf_nr_rrc_cc_CombinationList_r17_item,
      { "IntraBandCC-Combination-r17", "nr-rrc.IntraBandCC_Combination_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_IntraBandCC_Combination_r17_item,
      { "CC-State-r17", "nr-rrc.CC_State_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dlCarrier_r17,
      { "dlCarrier-r17", "nr-rrc.dlCarrier_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CarrierState_r17_vals), 0,
        "CarrierState_r17", HFILL }},
    { &hf_nr_rrc_ulCarrier_r17,
      { "ulCarrier-r17", "nr-rrc.ulCarrier_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CarrierState_r17_vals), 0,
        "CarrierState_r17", HFILL }},
    { &hf_nr_rrc_deActivated_r17,
      { "deActivated-r17", "nr-rrc.deActivated_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_activeBWP_r17,
      { "activeBWP-r17", "nr-rrc.activeBWP_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofBWPs", HFILL }},
    { &hf_nr_rrc_locationAndBandwidthMulticast_r17,
      { "locationAndBandwidthMulticast-r17", "nr-rrc.locationAndBandwidthMulticast_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_37949", HFILL }},
    { &hf_nr_rrc_pdcch_ConfigMulticast_r17,
      { "pdcch-ConfigMulticast-r17", "nr-rrc.pdcch_ConfigMulticast_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_Config", HFILL }},
    { &hf_nr_rrc_pdsch_ConfigMulticast_r17,
      { "pdsch-ConfigMulticast-r17", "nr-rrc.pdsch_ConfigMulticast_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDSCH_Config", HFILL }},
    { &hf_nr_rrc_sps_ConfigMulticastToAddModList_r17,
      { "sps-ConfigMulticastToAddModList-r17", "nr-rrc.sps_ConfigMulticastToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_ConfigMulticastToReleaseList_r17,
      { "sps-ConfigMulticastToReleaseList-r17", "nr-rrc.sps_ConfigMulticastToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SPS_ConfigMulticastToAddModList_r17_item,
      { "SPS-Config", "nr-rrc.SPS_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SPS_ConfigMulticastToReleaseList_r17_item,
      { "SPS-ConfigIndex-r16", "nr-rrc.SPS_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cgi_info_EPC,
      { "cgi-info-EPC", "nr-rrc.cgi_info_EPC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cgi_info_EPC_legacy,
      { "cgi-info-EPC-legacy", "nr-rrc.cgi_info_EPC_legacy_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CellAccessRelatedInfo_EUTRA_EPC", HFILL }},
    { &hf_nr_rrc_cgi_info_EPC_list,
      { "cgi-info-EPC-list", "nr-rrc.cgi_info_EPC_list",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC", HFILL }},
    { &hf_nr_rrc_cgi_info_EPC_list_item,
      { "CellAccessRelatedInfo-EUTRA-EPC", "nr-rrc.CellAccessRelatedInfo_EUTRA_EPC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cgi_info_5GC,
      { "cgi-info-5GC", "nr-rrc.cgi_info_5GC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC", HFILL }},
    { &hf_nr_rrc_cgi_info_5GC_item,
      { "CellAccessRelatedInfo-EUTRA-5GC", "nr-rrc.CellAccessRelatedInfo_EUTRA_5GC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_freqBandIndicator,
      { "freqBandIndicator", "nr-rrc.freqBandIndicator",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorEUTRA", HFILL }},
    { &hf_nr_rrc_multiBandInfoList,
      { "multiBandInfoList", "nr-rrc.multiBandInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MultiBandInfoListEUTRA", HFILL }},
    { &hf_nr_rrc_freqBandIndicatorPriority,
      { "freqBandIndicatorPriority", "nr-rrc.freqBandIndicatorPriority",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqBandIndicatorPriority_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_Identity_eutra_5gc,
      { "plmn-Identity-eutra-5gc", "nr-rrc.plmn_Identity_eutra_5gc_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_nr_rrc_cGI_InfoEUTRALogging_cellIdentity_eutra_5gc,
      { "cellIdentity-eutra-5gc", "nr-rrc.cGI_InfoEUTRALogging.cellIdentity_eutra_5gc",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_28", HFILL }},
    { &hf_nr_rrc_plmn_Identity_eutra_epc,
      { "plmn-Identity-eutra-epc", "nr-rrc.plmn_Identity_eutra_epc_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_nr_rrc_frequencyBandList_01,
      { "frequencyBandList", "nr-rrc.frequencyBandList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MultiFrequencyBandListNR", HFILL }},
    { &hf_nr_rrc_noSIB1,
      { "noSIB1", "nr-rrc.noSIB1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellReservedForOtherUse_r16,
      { "cellReservedForOtherUse-r16", "nr-rrc.cellReservedForOtherUse_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOtherUse_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_Identity_r16,
      { "plmn-Identity-r16", "nr-rrc.plmn_Identity_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_nr_rrc_cellIdentity_r16,
      { "cellIdentity-r16", "nr-rrc.cellIdentity_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "CellIdentity", HFILL }},
    { &hf_nr_rrc_trackingAreaCode_r16,
      { "trackingAreaCode-r16", "nr-rrc.trackingAreaCode_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TrackingAreaCode", HFILL }},
    { &hf_nr_rrc_codebookType,
      { "codebookType", "nr-rrc.codebookType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_01,
      { "type1", "nr-rrc.type1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_type1_01", HFILL }},
    { &hf_nr_rrc_subType,
      { "subType", "nr-rrc.subType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_typeI_SinglePanel,
      { "typeI-SinglePanel", "nr-rrc.typeI_SinglePanel_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrOfAntennaPorts,
      { "nrOfAntennaPorts", "nr-rrc.nrOfAntennaPorts",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrOfAntennaPorts_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_two,
      { "two", "nr-rrc.two_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoTX_CodebookSubsetRestriction,
      { "twoTX-CodebookSubsetRestriction", "nr-rrc.twoTX_CodebookSubsetRestriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_moreThanTwo,
      { "moreThanTwo", "nr-rrc.moreThanTwo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n1_n2,
      { "n1-n2", "nr-rrc.n1_n2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction,
      { "two-one-TypeI-SinglePanel-Restriction", "nr-rrc.two_one_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction,
      { "two-two-TypeI-SinglePanel-Restriction", "nr-rrc.two_two_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction,
      { "four-one-TypeI-SinglePanel-Restriction", "nr-rrc.four_one_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction,
      { "three-two-TypeI-SinglePanel-Restriction", "nr-rrc.three_two_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_96", HFILL }},
    { &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction,
      { "six-one-TypeI-SinglePanel-Restriction", "nr-rrc.six_one_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction,
      { "four-two-TypeI-SinglePanel-Restriction", "nr-rrc.four_two_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_128", HFILL }},
    { &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction,
      { "eight-one-TypeI-SinglePanel-Restriction", "nr-rrc.eight_one_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction,
      { "four-three-TypeI-SinglePanel-Restriction", "nr-rrc.four_three_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_192", HFILL }},
    { &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction,
      { "six-two-TypeI-SinglePanel-Restriction", "nr-rrc.six_two_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_192", HFILL }},
    { &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction,
      { "twelve-one-TypeI-SinglePanel-Restriction", "nr-rrc.twelve_one_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_48", HFILL }},
    { &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction,
      { "four-four-TypeI-SinglePanel-Restriction", "nr-rrc.four_four_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_256", HFILL }},
    { &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction,
      { "eight-two-TypeI-SinglePanel-Restriction", "nr-rrc.eight_two_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_256", HFILL }},
    { &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction,
      { "sixteen-one-TypeI-SinglePanel-Restriction", "nr-rrc.sixteen_one_TypeI_SinglePanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2,
      { "typeI-SinglePanel-codebookSubsetRestriction-i2", "nr-rrc.typeI_SinglePanel_codebookSubsetRestriction_i2",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_typeI_SinglePanel_ri_Restriction,
      { "typeI-SinglePanel-ri-Restriction", "nr-rrc.typeI_SinglePanel_ri_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_typeI_MultiPanel,
      { "typeI-MultiPanel", "nr-rrc.typeI_MultiPanel_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ng_n1_n2,
      { "ng-n1-n2", "nr-rrc.ng_n1_n2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ng_n1_n2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction,
      { "two-two-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_two_one_TypeI_MultiPanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction,
      { "two-four-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_four_one_TypeI_MultiPanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction,
      { "four-two-one-TypeI-MultiPanel-Restriction", "nr-rrc.four_two_one_TypeI_MultiPanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction,
      { "two-two-two-TypeI-MultiPanel-Restriction", "nr-rrc.two_two_two_TypeI_MultiPanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction,
      { "two-eight-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_eight_one_TypeI_MultiPanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction,
      { "four-four-one-TypeI-MultiPanel-Restriction", "nr-rrc.four_four_one_TypeI_MultiPanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction,
      { "two-four-two-TypeI-MultiPanel-Restriction", "nr-rrc.two_four_two_TypeI_MultiPanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_128", HFILL }},
    { &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction,
      { "four-two-two-TypeI-MultiPanel-Restriction", "nr-rrc.four_two_two_TypeI_MultiPanel_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_ri_Restriction,
      { "ri-Restriction", "nr-rrc.ri_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_codebookMode,
      { "codebookMode", "nr-rrc.codebookMode",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_type2,
      { "type2", "nr-rrc.type2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subType_01,
      { "subType", "nr-rrc.subType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_01_vals), 0,
        "T_subType_01", HFILL }},
    { &hf_nr_rrc_typeII,
      { "typeII", "nr-rrc.typeII_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n1_n2_codebookSubsetRestriction,
      { "n1-n2-codebookSubsetRestriction", "nr-rrc.n1_n2_codebookSubsetRestriction",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_codebookSubsetRestriction_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_two_one,
      { "two-one", "nr-rrc.two_one",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_two_two,
      { "two-two", "nr-rrc.two_two",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_43", HFILL }},
    { &hf_nr_rrc_four_one,
      { "four-one", "nr-rrc.four_one",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_three_two,
      { "three-two", "nr-rrc.three_two",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_59", HFILL }},
    { &hf_nr_rrc_six_one,
      { "six-one", "nr-rrc.six_one",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_48", HFILL }},
    { &hf_nr_rrc_four_two,
      { "four-two", "nr-rrc.four_two",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_75", HFILL }},
    { &hf_nr_rrc_eight_one,
      { "eight-one", "nr-rrc.eight_one",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_four_three,
      { "four-three", "nr-rrc.four_three",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_107", HFILL }},
    { &hf_nr_rrc_six_two,
      { "six-two", "nr-rrc.six_two",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_107", HFILL }},
    { &hf_nr_rrc_twelve_one,
      { "twelve-one", "nr-rrc.twelve_one",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_96", HFILL }},
    { &hf_nr_rrc_four_four,
      { "four-four", "nr-rrc.four_four",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_139", HFILL }},
    { &hf_nr_rrc_eight_two,
      { "eight-two", "nr-rrc.eight_two",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_139", HFILL }},
    { &hf_nr_rrc_sixteen_one,
      { "sixteen-one", "nr-rrc.sixteen_one",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_128", HFILL }},
    { &hf_nr_rrc_typeII_RI_Restriction,
      { "typeII-RI-Restriction", "nr-rrc.typeII_RI_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_typeII_PortSelection,
      { "typeII-PortSelection", "nr-rrc.typeII_PortSelection_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_portSelectionSamplingSize,
      { "portSelectionSamplingSize", "nr-rrc.portSelectionSamplingSize",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_portSelectionSamplingSize_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_typeII_PortSelectionRI_Restriction,
      { "typeII-PortSelectionRI-Restriction", "nr-rrc.typeII_PortSelectionRI_Restriction",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_phaseAlphabetSize,
      { "phaseAlphabetSize", "nr-rrc.phaseAlphabetSize",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseAlphabetSize_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subbandAmplitude,
      { "subbandAmplitude", "nr-rrc.subbandAmplitude",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_numberOfBeams,
      { "numberOfBeams", "nr-rrc.numberOfBeams",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfBeams_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookType_01,
      { "codebookType", "nr-rrc.codebookType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_01_vals), 0,
        "T_codebookType_01", HFILL }},
    { &hf_nr_rrc_type2_01,
      { "type2", "nr-rrc.type2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_type2_01", HFILL }},
    { &hf_nr_rrc_subType_02,
      { "subType", "nr-rrc.subType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_02_vals), 0,
        "T_subType_02", HFILL }},
    { &hf_nr_rrc_typeII_r16,
      { "typeII-r16", "nr-rrc.typeII_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n1_n2_codebookSubsetRestriction_r16,
      { "n1-n2-codebookSubsetRestriction-r16", "nr-rrc.n1_n2_codebookSubsetRestriction_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_codebookSubsetRestriction_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_typeII_RI_Restriction_r16,
      { "typeII-RI-Restriction-r16", "nr-rrc.typeII_RI_Restriction_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_typeII_PortSelection_r16,
      { "typeII-PortSelection-r16", "nr-rrc.typeII_PortSelection_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_portSelectionSamplingSize_r16,
      { "portSelectionSamplingSize-r16", "nr-rrc.portSelectionSamplingSize_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_portSelectionSamplingSize_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_typeII_PortSelectionRI_Restriction_r16,
      { "typeII-PortSelectionRI-Restriction-r16", "nr-rrc.typeII_PortSelectionRI_Restriction_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r16,
      { "numberOfPMI-SubbandsPerCQI-Subband-r16", "nr-rrc.numberOfPMI_SubbandsPerCQI_Subband_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_paramCombination_r16,
      { "paramCombination-r16", "nr-rrc.paramCombination_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_codebookType_02,
      { "codebookType", "nr-rrc.codebookType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_02_vals), 0,
        "T_codebookType_02", HFILL }},
    { &hf_nr_rrc_type1_02,
      { "type1", "nr-rrc.type1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_type1_02", HFILL }},
    { &hf_nr_rrc_typeI_SinglePanel_Group1_r17,
      { "typeI-SinglePanel-Group1-r17", "nr-rrc.typeI_SinglePanel_Group1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrOfAntennaPorts_01,
      { "nrOfAntennaPorts", "nr-rrc.nrOfAntennaPorts",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrOfAntennaPorts_01_vals), 0,
        "T_nrOfAntennaPorts_01", HFILL }},
    { &hf_nr_rrc_two_01,
      { "two", "nr-rrc.two_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_two_01", HFILL }},
    { &hf_nr_rrc_twoTX_CodebookSubsetRestriction1_r17,
      { "twoTX-CodebookSubsetRestriction1-r17", "nr-rrc.twoTX_CodebookSubsetRestriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_moreThanTwo_01,
      { "moreThanTwo", "nr-rrc.moreThanTwo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_moreThanTwo_01", HFILL }},
    { &hf_nr_rrc_n1_n2_01,
      { "n1-n2", "nr-rrc.n1_n2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_01_vals), 0,
        "T_n1_n2_01", HFILL }},
    { &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction1_r17,
      { "two-one-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.two_one_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction1_r17,
      { "two-two-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.two_two_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction1_r17,
      { "four-one-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.four_one_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction1_r17,
      { "three-two-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.three_two_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_96", HFILL }},
    { &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction1_r17,
      { "six-one-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.six_one_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction1_r17,
      { "four-two-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.four_two_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_128", HFILL }},
    { &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction1_r17,
      { "eight-one-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.eight_one_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction1_r17,
      { "four-three-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.four_three_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_192", HFILL }},
    { &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction1_r17,
      { "six-two-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.six_two_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_192", HFILL }},
    { &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction1_r17,
      { "twelve-one-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.twelve_one_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_48", HFILL }},
    { &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction1_r17,
      { "four-four-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.four_four_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_256", HFILL }},
    { &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction1_r17,
      { "eight-two-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.eight_two_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_256", HFILL }},
    { &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction1_r17,
      { "sixteen-one-TypeI-SinglePanel-Restriction1-r17", "nr-rrc.sixteen_one_TypeI_SinglePanel_Restriction1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_typeI_SinglePanel_Group2_r17,
      { "typeI-SinglePanel-Group2-r17", "nr-rrc.typeI_SinglePanel_Group2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrOfAntennaPorts_02,
      { "nrOfAntennaPorts", "nr-rrc.nrOfAntennaPorts",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrOfAntennaPorts_02_vals), 0,
        "T_nrOfAntennaPorts_02", HFILL }},
    { &hf_nr_rrc_two_02,
      { "two", "nr-rrc.two_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_two_02", HFILL }},
    { &hf_nr_rrc_twoTX_CodebookSubsetRestriction2_r17,
      { "twoTX-CodebookSubsetRestriction2-r17", "nr-rrc.twoTX_CodebookSubsetRestriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_moreThanTwo_02,
      { "moreThanTwo", "nr-rrc.moreThanTwo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_moreThanTwo_02", HFILL }},
    { &hf_nr_rrc_n1_n2_02,
      { "n1-n2", "nr-rrc.n1_n2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_02_vals), 0,
        "T_n1_n2_02", HFILL }},
    { &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction2_r17,
      { "two-one-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.two_one_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction2_r17,
      { "two-two-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.two_two_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction2_r17,
      { "four-one-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.four_one_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction2_r17,
      { "three-two-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.three_two_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_96", HFILL }},
    { &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction2_r17,
      { "six-one-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.six_one_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction2_r17,
      { "four-two-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.four_two_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_128", HFILL }},
    { &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction2_r17,
      { "eight-one-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.eight_one_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction2_r17,
      { "four-three-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.four_three_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_192", HFILL }},
    { &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction2_r17,
      { "six-two-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.six_two_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_192", HFILL }},
    { &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction2_r17,
      { "twelve-one-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.twelve_one_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_48", HFILL }},
    { &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction2_r17,
      { "four-four-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.four_four_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_256", HFILL }},
    { &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction2_r17,
      { "eight-two-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.eight_two_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_256", HFILL }},
    { &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction2_r17,
      { "sixteen-one-TypeI-SinglePanel-Restriction2-r17", "nr-rrc.sixteen_one_TypeI_SinglePanel_Restriction2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_typeI_SinglePanel_ri_RestrictionSTRP_r17,
      { "typeI-SinglePanel-ri-RestrictionSTRP-r17", "nr-rrc.typeI_SinglePanel_ri_RestrictionSTRP_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_typeI_SinglePanel_ri_RestrictionSDM_r17,
      { "typeI-SinglePanel-ri-RestrictionSDM-r17", "nr-rrc.typeI_SinglePanel_ri_RestrictionSDM_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_type2_02,
      { "type2", "nr-rrc.type2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_type2_02", HFILL }},
    { &hf_nr_rrc_typeII_PortSelection_r17,
      { "typeII-PortSelection-r17", "nr-rrc.typeII_PortSelection_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_paramCombination_r17,
      { "paramCombination-r17", "nr-rrc.paramCombination_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_valueOfN_r17,
      { "valueOfN-r17", "nr-rrc.valueOfN_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_valueOfN_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r17,
      { "numberOfPMI-SubbandsPerCQI-Subband-r17", "nr-rrc.numberOfPMI_SubbandsPerCQI_Subband_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_typeII_PortSelectionRI_Restriction_r17,
      { "typeII-PortSelectionRI-Restriction-r17", "nr-rrc.typeII_PortSelectionRI_Restriction_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_codebookType_03,
      { "codebookType", "nr-rrc.codebookType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_03_vals), 0,
        "T_codebookType_03", HFILL }},
    { &hf_nr_rrc_type1_03,
      { "type1", "nr-rrc.type1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_type1_03", HFILL }},
    { &hf_nr_rrc_gnss_TOD_msec_r16,
      { "gnss-TOD-msec-r16", "nr-rrc.gnss_TOD_msec_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_locationTimestamp_r16,
      { "locationTimestamp-r16", "nr-rrc.locationTimestamp_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_locationCoordinate_r16,
      { "locationCoordinate-r16", "nr-rrc.locationCoordinate_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_locationError_r16,
      { "locationError-r16", "nr-rrc.locationError_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_locationSource_r16,
      { "locationSource-r16", "nr-rrc.locationSource_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_velocityEstimate_r16,
      { "velocityEstimate-r16", "nr-rrc.velocityEstimate_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CondReconfigToAddModList_r16_item,
      { "CondReconfigToAddMod-r16", "nr-rrc.CondReconfigToAddMod_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condReconfigId_r16,
      { "condReconfigId-r16", "nr-rrc.condReconfigId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condExecutionCond_r16,
      { "condExecutionCond-r16", "nr-rrc.condExecutionCond_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_2_OF_MeasId", HFILL }},
    { &hf_nr_rrc_condExecutionCond_r16_item,
      { "MeasId", "nr-rrc.MeasId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condRRCReconfig_r16,
      { "condRRCReconfig-r16", "nr-rrc.condRRCReconfig_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condExecutionCondSCG_r17_01,
      { "condExecutionCondSCG-r17", "nr-rrc.condExecutionCondSCG_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_condExecutionCondSCG_r17_01", HFILL }},
    { &hf_nr_rrc_CondReconfigExecCondSCG_r17_item,
      { "MeasId", "nr-rrc.MeasId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_attemptCondReconfig_r16,
      { "attemptCondReconfig-r16", "nr-rrc.attemptCondReconfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_attemptCondReconfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condReconfigToRemoveList_r16,
      { "condReconfigToRemoveList-r16", "nr-rrc.condReconfigToRemoveList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condReconfigToAddModList_r16,
      { "condReconfigToAddModList-r16", "nr-rrc.condReconfigToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CondReconfigToRemoveList_r16_item,
      { "CondReconfigId-r16", "nr-rrc.CondReconfigId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyHopping,
      { "frequencyHopping", "nr-rrc.frequencyHopping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_DMRS_Configuration,
      { "cg-DMRS-Configuration", "nr-rrc.cg_DMRS_Configuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DMRS_UplinkConfig", HFILL }},
    { &hf_nr_rrc_mcs_Table,
      { "mcs-Table", "nr-rrc.mcs_Table",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcs_TableTransformPrecoder,
      { "mcs-TableTransformPrecoder", "nr-rrc.mcs_TableTransformPrecoder",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uci_OnPUSCH,
      { "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_52,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_UCI_OnPUSCH_vals), 0,
        "CG_UCI_OnPUSCH", HFILL }},
    { &hf_nr_rrc_resourceAllocation,
      { "resourceAllocation", "nr-rrc.resourceAllocation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rbg_Size,
      { "rbg-Size", "nr-rrc.rbg_Size",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powerControlLoopToUse,
      { "powerControlLoopToUse", "nr-rrc.powerControlLoopToUse",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlLoopToUse_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_PUSCH_Alpha,
      { "p0-PUSCH-Alpha", "nr-rrc.p0_PUSCH_Alpha",
        FT_UINT32, BASE_DEC, NULL, 0,
        "P0_PUSCH_AlphaSetId", HFILL }},
    { &hf_nr_rrc_transformPrecoder,
      { "transformPrecoder", "nr-rrc.transformPrecoder",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofHARQ_Processes,
      { "nrofHARQ-Processes", "nr-rrc.nrofHARQ_Processes",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_repK,
      { "repK", "nr-rrc.repK",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_repK_RV,
      { "repK-RV", "nr-rrc.repK_RV",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_RV_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicity,
      { "periodicity", "nr-rrc.periodicity",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_periodicity_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredGrantTimer,
      { "configuredGrantTimer", "nr-rrc.configuredGrantTimer",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_periodicities, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_rrc_ConfiguredUplinkGrant,
      { "rrc-ConfiguredUplinkGrant", "nr-rrc.rrc_ConfiguredUplinkGrant_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeDomainOffset,
      { "timeDomainOffset", "nr-rrc.timeDomainOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119", HFILL }},
    { &hf_nr_rrc_timeDomainAllocation,
      { "timeDomainAllocation", "nr-rrc.timeDomainAllocation",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_configuredGrantConfig_rrc_ConfiguredUplinkGrant_frequencyDomainAllocation,
      { "frequencyDomainAllocation", "nr-rrc.configuredGrantConfig.rrc_ConfiguredUplinkGrant.frequencyDomainAllocation",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_18", HFILL }},
    { &hf_nr_rrc_antennaPort,
      { "antennaPort", "nr-rrc.antennaPort",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_dmrs_SeqInitialization,
      { "dmrs-SeqInitialization", "nr-rrc.dmrs_SeqInitialization",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_precodingAndNumberOfLayers,
      { "precodingAndNumberOfLayers", "nr-rrc.precodingAndNumberOfLayers",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_srs_ResourceIndicator,
      { "srs-ResourceIndicator", "nr-rrc.srs_ResourceIndicator",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_mcsAndTBS,
      { "mcsAndTBS", "nr-rrc.mcsAndTBS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_frequencyHoppingOffset,
      { "frequencyHoppingOffset", "nr-rrc.frequencyHoppingOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_pathlossReferenceIndex,
      { "pathlossReferenceIndex", "nr-rrc.pathlossReferenceIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1", HFILL }},
    { &hf_nr_rrc_pusch_RepTypeIndicator_r16,
      { "pusch-RepTypeIndicator-r16", "nr-rrc.pusch_RepTypeIndicator_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeIndicator_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyHoppingPUSCH_RepTypeB_r16,
      { "frequencyHoppingPUSCH-RepTypeB-r16", "nr-rrc.frequencyHoppingPUSCH_RepTypeB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHoppingPUSCH_RepTypeB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeReferenceSFN_r16,
      { "timeReferenceSFN-r16", "nr-rrc.timeReferenceSFN_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeReferenceSFN_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceIndex2_r17,
      { "pathlossReferenceIndex2-r17", "nr-rrc.pathlossReferenceIndex2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1", HFILL }},
    { &hf_nr_rrc_srs_ResourceIndicator2_r17,
      { "srs-ResourceIndicator2-r17", "nr-rrc.srs_ResourceIndicator2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_precodingAndNumberOfLayers2_r17,
      { "precodingAndNumberOfLayers2-r17", "nr-rrc.precodingAndNumberOfLayers2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_timeDomainAllocation_v1710,
      { "timeDomainAllocation-v1710", "nr-rrc.timeDomainAllocation_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_16_63", HFILL }},
    { &hf_nr_rrc_timeDomainOffset_r17,
      { "timeDomainOffset-r17", "nr-rrc.timeDomainOffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_40959", HFILL }},
    { &hf_nr_rrc_cg_SDT_Configuration_r17,
      { "cg-SDT-Configuration-r17", "nr-rrc.cg_SDT_Configuration_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_RetransmissionTimer_r16,
      { "cg-RetransmissionTimer-r16", "nr-rrc.cg_RetransmissionTimer_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_cg_minDFI_Delay_r16,
      { "cg-minDFI-Delay-r16", "nr-rrc.cg_minDFI_Delay_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_cg_minDFI_Delay_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_nrofPUSCH_InSlot_r16,
      { "cg-nrofPUSCH-InSlot-r16", "nr-rrc.cg_nrofPUSCH_InSlot_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_7", HFILL }},
    { &hf_nr_rrc_cg_nrofSlots_r16,
      { "cg-nrofSlots-r16", "nr-rrc.cg_nrofSlots_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_40", HFILL }},
    { &hf_nr_rrc_cg_StartingOffsets_r16,
      { "cg-StartingOffsets-r16", "nr-rrc.cg_StartingOffsets_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_UCI_Multiplexing_r16,
      { "cg-UCI-Multiplexing-r16", "nr-rrc.cg_UCI_Multiplexing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_UCI_Multiplexing_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_COT_SharingOffset_r16,
      { "cg-COT-SharingOffset-r16", "nr-rrc.cg_COT_SharingOffset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_39", HFILL }},
    { &hf_nr_rrc_betaOffsetCG_UCI_r16,
      { "betaOffsetCG-UCI-r16", "nr-rrc.betaOffsetCG_UCI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_cg_COT_SharingList_r16,
      { "cg-COT-SharingList-r16", "nr-rrc.cg_COT_SharingList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16", HFILL }},
    { &hf_nr_rrc_cg_COT_SharingList_r16_item,
      { "CG-COT-Sharing-r16", "nr-rrc.CG_COT_Sharing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_COT_Sharing_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_ProcID_Offset_r16,
      { "harq-ProcID-Offset-r16", "nr-rrc.harq_ProcID_Offset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_harq_ProcID_Offset2_r16,
      { "harq-ProcID-Offset2-r16", "nr-rrc.harq_ProcID_Offset2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_configuredGrantConfigIndex_r16,
      { "configuredGrantConfigIndex-r16", "nr-rrc.configuredGrantConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredGrantConfigIndexMAC_r16,
      { "configuredGrantConfigIndexMAC-r16", "nr-rrc.configuredGrantConfigIndexMAC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicityExt_r16,
      { "periodicityExt-r16", "nr-rrc.periodicityExt_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_5120", HFILL }},
    { &hf_nr_rrc_startingFromRV0_r16,
      { "startingFromRV0-r16", "nr-rrc.startingFromRV0_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_startingFromRV0_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_PriorityIndex_r16,
      { "phy-PriorityIndex-r16", "nr-rrc.phy_PriorityIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phy_PriorityIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_autonomousTx_r16,
      { "autonomousTx-r16", "nr-rrc.autonomousTx_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_autonomousTx_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_betaOffsetsCrossPri0_r17,
      { "cg-betaOffsetsCrossPri0-r17", "nr-rrc.cg_betaOffsetsCrossPri0_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_betaOffsetsCrossPri0_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_53,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BetaOffsetsCrossPriSelCG_r17_vals), 0,
        "BetaOffsetsCrossPriSelCG_r17", HFILL }},
    { &hf_nr_rrc_cg_betaOffsetsCrossPri1_r17,
      { "cg-betaOffsetsCrossPri1-r17", "nr-rrc.cg_betaOffsetsCrossPri1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_betaOffsetsCrossPri1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mappingPattern_r17,
      { "mappingPattern-r17", "nr-rrc.mappingPattern_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingPattern_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sequenceOffsetForRV_r17,
      { "sequenceOffsetForRV-r17", "nr-rrc.sequenceOffsetForRV_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_p0_PUSCH_Alpha2_r17,
      { "p0-PUSCH-Alpha2-r17", "nr-rrc.p0_PUSCH_Alpha2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "P0_PUSCH_AlphaSetId", HFILL }},
    { &hf_nr_rrc_powerControlLoopToUse2_r17,
      { "powerControlLoopToUse2-r17", "nr-rrc.powerControlLoopToUse2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlLoopToUse2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_COT_SharingList_r17,
      { "cg-COT-SharingList-r17", "nr-rrc.cg_COT_SharingList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17", HFILL }},
    { &hf_nr_rrc_cg_COT_SharingList_r17_item,
      { "CG-COT-Sharing-r17", "nr-rrc.CG_COT_Sharing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_COT_Sharing_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicityExt_r17,
      { "periodicityExt-r17", "nr-rrc.periodicityExt_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_40960", HFILL }},
    { &hf_nr_rrc_repK_v1710,
      { "repK-v1710", "nr-rrc.repK_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_v1710_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofHARQ_Processes_v1700,
      { "nrofHARQ-Processes-v1700", "nr-rrc.nrofHARQ_Processes_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_17_32", HFILL }},
    { &hf_nr_rrc_harq_ProcID_Offset2_v1700,
      { "harq-ProcID-Offset2-v1700", "nr-rrc.harq_ProcID_Offset2_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_16_31", HFILL }},
    { &hf_nr_rrc_configuredGrantTimer_v1700,
      { "configuredGrantTimer-v1700", "nr-rrc.configuredGrantTimer_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_33_288", HFILL }},
    { &hf_nr_rrc_cg_minDFI_Delay_v1710,
      { "cg-minDFI-Delay-v1710", "nr-rrc.cg_minDFI_Delay_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_238_3584", HFILL }},
    { &hf_nr_rrc_harq_ProcID_Offset_v1730,
      { "harq-ProcID-Offset-v1730", "nr-rrc.harq_ProcID_Offset_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_16_31", HFILL }},
    { &hf_nr_rrc_cg_nrofSlots_r17,
      { "cg-nrofSlots-r17", "nr-rrc.cg_nrofSlots_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_320", HFILL }},
    { &hf_nr_rrc_dynamic,
      { "dynamic", "nr-rrc.dynamic",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_BetaOffsets", HFILL }},
    { &hf_nr_rrc_dynamic_item,
      { "BetaOffsets", "nr-rrc.BetaOffsets_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStatic,
      { "semiStatic", "nr-rrc.semiStatic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BetaOffsets", HFILL }},
    { &hf_nr_rrc_noCOT_Sharing_r16,
      { "noCOT-Sharing-r16", "nr-rrc.noCOT_Sharing_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cot_Sharing_r16,
      { "cot-Sharing-r16", "nr-rrc.cot_Sharing_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_cot_Sharing_r16", HFILL }},
    { &hf_nr_rrc_duration_r16,
      { "duration-r16", "nr-rrc.duration_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_39", HFILL }},
    { &hf_nr_rrc_offset_r16,
      { "offset-r16", "nr-rrc.offset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_39", HFILL }},
    { &hf_nr_rrc_channelAccessPriority_r16,
      { "channelAccessPriority-r16", "nr-rrc.channelAccessPriority_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_noCOT_Sharing_r17,
      { "noCOT-Sharing-r17", "nr-rrc.noCOT_Sharing_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cot_Sharing_r17,
      { "cot-Sharing-r17", "nr-rrc.cot_Sharing_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_cot_Sharing_r17", HFILL }},
    { &hf_nr_rrc_duration_r17,
      { "duration-r17", "nr-rrc.duration_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_319", HFILL }},
    { &hf_nr_rrc_offset_r17_01,
      { "offset-r17", "nr-rrc.offset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_319", HFILL }},
    { &hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16,
      { "cg-StartingFullBW-InsideCOT-r16", "nr-rrc.cg_StartingFullBW_InsideCOT_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_cg_StartingFullBW_InsideCOT_r16", HFILL }},
    { &hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16_item,
      { "cg-StartingFullBW-InsideCOT-r16 item", "nr-rrc.cg_StartingFullBW_InsideCOT_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6", HFILL }},
    { &hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16,
      { "cg-StartingFullBW-OutsideCOT-r16", "nr-rrc.cg_StartingFullBW_OutsideCOT_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_cg_StartingFullBW_OutsideCOT_r16", HFILL }},
    { &hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16_item,
      { "cg-StartingFullBW-OutsideCOT-r16 item", "nr-rrc.cg_StartingFullBW_OutsideCOT_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6", HFILL }},
    { &hf_nr_rrc_cg_StartingPartialBW_InsideCOT_r16,
      { "cg-StartingPartialBW-InsideCOT-r16", "nr-rrc.cg_StartingPartialBW_InsideCOT_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6", HFILL }},
    { &hf_nr_rrc_cg_StartingPartialBW_OutsideCOT_r16,
      { "cg-StartingPartialBW-OutsideCOT-r16", "nr-rrc.cg_StartingPartialBW_OutsideCOT_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6", HFILL }},
    { &hf_nr_rrc_dynamic_r17,
      { "dynamic-r17", "nr-rrc.dynamic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17", HFILL }},
    { &hf_nr_rrc_dynamic_r17_item,
      { "BetaOffsetsCrossPri-r17", "nr-rrc.BetaOffsetsCrossPri_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStatic_r17,
      { "semiStatic-r17", "nr-rrc.semiStatic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BetaOffsetsCrossPri_r17", HFILL }},
    { &hf_nr_rrc_cg_SDT_RetransmissionTimer,
      { "cg-SDT-RetransmissionTimer", "nr-rrc.cg_SDT_RetransmissionTimer",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_sdt_SSB_Subset_r17,
      { "sdt-SSB-Subset-r17", "nr-rrc.sdt_SSB_Subset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_SSB_Subset_r17_vals), 0,
        "T_sdt_SSB_Subset_r17", HFILL }},
    { &hf_nr_rrc_shortBitmap_r17,
      { "shortBitmap-r17", "nr-rrc.shortBitmap_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_mediumBitmap_r17,
      { "mediumBitmap-r17", "nr-rrc.mediumBitmap_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_longBitmap_r17,
      { "longBitmap-r17", "nr-rrc.longBitmap_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_sdt_SSB_PerCG_PUSCH_r17,
      { "sdt-SSB-PerCG-PUSCH-r17", "nr-rrc.sdt_SSB_PerCG_PUSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_SSB_PerCG_PUSCH_r17_vals), 0,
        "T_sdt_SSB_PerCG_PUSCH_r17", HFILL }},
    { &hf_nr_rrc_sdt_P0_PUSCH_r17,
      { "sdt-P0-PUSCH-r17", "nr-rrc.sdt_P0_PUSCH_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_sdt_Alpha_r17,
      { "sdt-Alpha-r17", "nr-rrc.sdt_Alpha_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_Alpha_r17_vals), 0,
        "T_sdt_Alpha_r17", HFILL }},
    { &hf_nr_rrc_sdt_DMRS_Ports_r17,
      { "sdt-DMRS-Ports-r17", "nr-rrc.sdt_DMRS_Ports_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_DMRS_Ports_r17_vals), 0,
        "T_sdt_DMRS_Ports_r17", HFILL }},
    { &hf_nr_rrc_dmrsType1_r17,
      { "dmrsType1-r17", "nr-rrc.dmrsType1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_dmrsType2_r17,
      { "dmrsType2-r17", "nr-rrc.dmrsType2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_12", HFILL }},
    { &hf_nr_rrc_sdt_NrofDMRS_Sequences_r17,
      { "sdt-NrofDMRS-Sequences-r17", "nr-rrc.sdt_NrofDMRS_Sequences_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_connEstFailCount,
      { "connEstFailCount", "nr-rrc.connEstFailCount",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailCount_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_connEstFailOffsetValidity,
      { "connEstFailOffsetValidity", "nr-rrc.connEstFailOffsetValidity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailOffsetValidity_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_connEstFailOffset,
      { "connEstFailOffset", "nr-rrc.connEstFailOffset",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_controlResourceSetId,
      { "controlResourceSetId", "nr-rrc.controlResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyDomainResources,
      { "frequencyDomainResources", "nr-rrc.frequencyDomainResources",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_45", HFILL }},
    { &hf_nr_rrc_duration,
      { "duration", "nr-rrc.duration",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxCoReSetDuration", HFILL }},
    { &hf_nr_rrc_cce_REG_MappingType,
      { "cce-REG-MappingType", "nr-rrc.cce_REG_MappingType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cce_REG_MappingType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interleaved,
      { "interleaved", "nr-rrc.interleaved_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reg_BundleSize,
      { "reg-BundleSize", "nr-rrc.reg_BundleSize",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reg_BundleSize_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interleaverSize,
      { "interleaverSize", "nr-rrc.interleaverSize",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleaverSize_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_shiftIndex,
      { "shiftIndex", "nr-rrc.shiftIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_nonInterleaved,
      { "nonInterleaved", "nr-rrc.nonInterleaved_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_precoderGranularity,
      { "precoderGranularity", "nr-rrc.precoderGranularity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularity_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_StatesPDCCH_ToAddList,
      { "tci-StatesPDCCH-ToAddList", "nr-rrc.tci_StatesPDCCH_ToAddList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId", HFILL }},
    { &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item,
      { "TCI-StateId", "nr-rrc.TCI_StateId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList,
      { "tci-StatesPDCCH-ToReleaseList", "nr-rrc.tci_StatesPDCCH_ToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId", HFILL }},
    { &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList_item,
      { "TCI-StateId", "nr-rrc.TCI_StateId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_PresentInDCI,
      { "tci-PresentInDCI", "nr-rrc.tci_PresentInDCI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tci_PresentInDCI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_DMRS_ScramblingID,
      { "pdcch-DMRS-ScramblingID", "nr-rrc.pdcch_DMRS_ScramblingID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_rb_Offset_r16,
      { "rb-Offset-r16", "nr-rrc.rb_Offset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5", HFILL }},
    { &hf_nr_rrc_tci_PresentDCI_1_2_r16,
      { "tci-PresentDCI-1-2-r16", "nr-rrc.tci_PresentDCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_3", HFILL }},
    { &hf_nr_rrc_coresetPoolIndex_r16,
      { "coresetPoolIndex-r16", "nr-rrc.coresetPoolIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_controlResourceSetId_v1610,
      { "controlResourceSetId-v1610", "nr-rrc.controlResourceSetId_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_followUnifiedTCI_State_r17,
      { "followUnifiedTCI-State-r17", "nr-rrc.followUnifiedTCI_State_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_followUnifiedTCI_State_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingCellInfo,
      { "schedulingCellInfo", "nr-rrc.schedulingCellInfo",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_schedulingCellInfo_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_own,
      { "own", "nr-rrc.own_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cif_Presence,
      { "cif-Presence", "nr-rrc.cif_Presence",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_other,
      { "other", "nr-rrc.other_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingCellId,
      { "schedulingCellId", "nr-rrc.schedulingCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_cif_InSchedulingCell,
      { "cif-InSchedulingCell", "nr-rrc.cif_InSchedulingCell",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_7", HFILL }},
    { &hf_nr_rrc_carrierIndicatorSize_r16,
      { "carrierIndicatorSize-r16", "nr-rrc.carrierIndicatorSize_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierIndicatorSizeDCI_1_2_r16,
      { "carrierIndicatorSizeDCI-1-2-r16", "nr-rrc.carrierIndicatorSizeDCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_carrierIndicatorSizeDCI_0_2_r16,
      { "carrierIndicatorSizeDCI-0-2-r16", "nr-rrc.carrierIndicatorSizeDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_enableDefaultBeamForCCS_r16,
      { "enableDefaultBeamForCCS-r16", "nr-rrc.enableDefaultBeamForCCS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultBeamForCCS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ccs_BlindDetectionSplit_r17,
      { "ccs-BlindDetectionSplit-r17", "nr-rrc.ccs_BlindDetectionSplit_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ccs_BlindDetectionSplit_r17_vals), 0,
        "T_ccs_BlindDetectionSplit_r17", HFILL }},
    { &hf_nr_rrc_CSI_AperiodicTriggerStateList_item,
      { "CSI-AperiodicTriggerState", "nr-rrc.CSI_AperiodicTriggerState_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_associatedReportConfigInfoList,
      { "associatedReportConfigInfoList", "nr-rrc.associatedReportConfigInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo", HFILL }},
    { &hf_nr_rrc_associatedReportConfigInfoList_item,
      { "CSI-AssociatedReportConfigInfo", "nr-rrc.CSI_AssociatedReportConfigInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ap_CSI_MultiplexingMode_r17,
      { "ap-CSI-MultiplexingMode-r17", "nr-rrc.ap_CSI_MultiplexingMode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ap_CSI_MultiplexingMode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportConfigId,
      { "reportConfigId", "nr-rrc.reportConfigId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_ReportConfigId", HFILL }},
    { &hf_nr_rrc_resourcesForChannel,
      { "resourcesForChannel", "nr-rrc.resourcesForChannel",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourcesForChannel_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS,
      { "nzp-CSI-RS", "nr-rrc.nzp_CSI_RS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceSet,
      { "resourceSet", "nr-rrc.resourceSet",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }},
    { &hf_nr_rrc_qcl_info,
      { "qcl-info", "nr-rrc.qcl_info",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId", HFILL }},
    { &hf_nr_rrc_qcl_info_item,
      { "TCI-StateId", "nr-rrc.TCI_StateId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSet,
      { "csi-SSB-ResourceSet", "nr-rrc.csi_SSB_ResourceSet",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourcesForInterference,
      { "csi-IM-ResourcesForInterference", "nr-rrc.csi_IM_ResourcesForInterference",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference,
      { "nzp-CSI-RS-ResourcesForInterference", "nr-rrc.nzp_CSI_RS_ResourcesForInterference",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }},
    { &hf_nr_rrc_resourcesForChannel2_r17,
      { "resourcesForChannel2-r17", "nr-rrc.resourcesForChannel2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourcesForChannel2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS2_r17,
      { "nzp-CSI-RS2-r17", "nr-rrc.nzp_CSI_RS2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceSet2_r17,
      { "resourceSet2-r17", "nr-rrc.resourceSet2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }},
    { &hf_nr_rrc_qcl_info2_r17,
      { "qcl-info2-r17", "nr-rrc.qcl_info2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId", HFILL }},
    { &hf_nr_rrc_qcl_info2_r17_item,
      { "TCI-StateId", "nr-rrc.TCI_StateId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSet2_r17,
      { "csi-SSB-ResourceSet2-r17", "nr-rrc.csi_SSB_ResourceSet2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfigExt", HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetExt,
      { "csi-SSB-ResourceSetExt", "nr-rrc.csi_SSB_ResourceSetExt",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfigExt", HFILL }},
    { &hf_nr_rrc_startingRB,
      { "startingRB", "nr-rrc.startingRB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_nrofRBs,
      { "nrofRBs", "nr-rrc.nrofRBs",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_24_maxNrofPhysicalResourceBlocksPlus1", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceId,
      { "csi-IM-ResourceId", "nr-rrc.csi_IM_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceElementPattern,
      { "csi-IM-ResourceElementPattern", "nr-rrc.csi_IM_ResourceElementPattern",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_IM_ResourceElementPattern_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pattern0,
      { "pattern0", "nr-rrc.pattern0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subcarrierLocation_p0,
      { "subcarrierLocation-p0", "nr-rrc.subcarrierLocation_p0",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierLocation_p0_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_symbolLocation_p0,
      { "symbolLocation-p0", "nr-rrc.symbolLocation_p0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_12", HFILL }},
    { &hf_nr_rrc_pattern1,
      { "pattern1", "nr-rrc.pattern1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subcarrierLocation_p1,
      { "subcarrierLocation-p1", "nr-rrc.subcarrierLocation_p1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierLocation_p1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_symbolLocation_p1,
      { "symbolLocation-p1", "nr-rrc.symbolLocation_p1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13", HFILL }},
    { &hf_nr_rrc_freqBand,
      { "freqBand", "nr-rrc.freqBand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CSI_FrequencyOccupation", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset,
      { "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CSI_ResourcePeriodicityAndOffset_vals), 0,
        "CSI_ResourcePeriodicityAndOffset", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceSetId,
      { "csi-IM-ResourceSetId", "nr-rrc.csi_IM_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_IM_Resources,
      { "csi-IM-Resources", "nr-rrc.csi_IM_Resources",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId", HFILL }},
    { &hf_nr_rrc_csi_IM_Resources_item,
      { "CSI-IM-ResourceId", "nr-rrc.CSI_IM_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList,
      { "nzp-CSI-RS-ResourceToAddModList", "nr-rrc.nzp_CSI_RS_ResourceToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item,
      { "NZP-CSI-RS-Resource", "nr-rrc.NZP_CSI_RS_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList,
      { "nzp-CSI-RS-ResourceToReleaseList", "nr-rrc.nzp_CSI_RS_ResourceToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item,
      { "NZP-CSI-RS-ResourceId", "nr-rrc.NZP_CSI_RS_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList,
      { "nzp-CSI-RS-ResourceSetToAddModList", "nr-rrc.nzp_CSI_RS_ResourceSetToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item,
      { "NZP-CSI-RS-ResourceSet", "nr-rrc.NZP_CSI_RS_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList,
      { "nzp-CSI-RS-ResourceSetToReleaseList", "nr-rrc.nzp_CSI_RS_ResourceSetToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item,
      { "NZP-CSI-RS-ResourceSetId", "nr-rrc.NZP_CSI_RS_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceToAddModList,
      { "csi-IM-ResourceToAddModList", "nr-rrc.csi_IM_ResourceToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceToAddModList_item,
      { "CSI-IM-Resource", "nr-rrc.CSI_IM_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceToReleaseList,
      { "csi-IM-ResourceToReleaseList", "nr-rrc.csi_IM_ResourceToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceToReleaseList_item,
      { "CSI-IM-ResourceId", "nr-rrc.CSI_IM_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceSetToAddModList,
      { "csi-IM-ResourceSetToAddModList", "nr-rrc.csi_IM_ResourceSetToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceSetToAddModList_item,
      { "CSI-IM-ResourceSet", "nr-rrc.CSI_IM_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList,
      { "csi-IM-ResourceSetToReleaseList", "nr-rrc.csi_IM_ResourceSetToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item,
      { "CSI-IM-ResourceSetId", "nr-rrc.CSI_IM_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList,
      { "csi-SSB-ResourceSetToAddModList", "nr-rrc.csi_SSB_ResourceSetToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet", HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item,
      { "CSI-SSB-ResourceSet", "nr-rrc.CSI_SSB_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetToReleaseList,
      { "csi-SSB-ResourceSetToReleaseList", "nr-rrc.csi_SSB_ResourceSetToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId", HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetToReleaseList_item,
      { "CSI-SSB-ResourceSetId", "nr-rrc.CSI_SSB_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ResourceConfigToAddModList,
      { "csi-ResourceConfigToAddModList", "nr-rrc.csi_ResourceConfigToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig", HFILL }},
    { &hf_nr_rrc_csi_ResourceConfigToAddModList_item,
      { "CSI-ResourceConfig", "nr-rrc.CSI_ResourceConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ResourceConfigToReleaseList,
      { "csi-ResourceConfigToReleaseList", "nr-rrc.csi_ResourceConfigToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId", HFILL }},
    { &hf_nr_rrc_csi_ResourceConfigToReleaseList_item,
      { "CSI-ResourceConfigId", "nr-rrc.CSI_ResourceConfigId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportConfigToAddModList,
      { "csi-ReportConfigToAddModList", "nr-rrc.csi_ReportConfigToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig", HFILL }},
    { &hf_nr_rrc_csi_ReportConfigToAddModList_item,
      { "CSI-ReportConfig", "nr-rrc.CSI_ReportConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportConfigToReleaseList,
      { "csi-ReportConfigToReleaseList", "nr-rrc.csi_ReportConfigToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId", HFILL }},
    { &hf_nr_rrc_csi_ReportConfigToReleaseList_item,
      { "CSI-ReportConfigId", "nr-rrc.CSI_ReportConfigId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportTriggerSize,
      { "reportTriggerSize", "nr-rrc.reportTriggerSize",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6", HFILL }},
    { &hf_nr_rrc_aperiodicTriggerStateList,
      { "aperiodicTriggerStateList", "nr-rrc.aperiodicTriggerStateList",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTriggerStateList_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_54,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_AperiodicTriggerStateList", HFILL }},
    { &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList,
      { "semiPersistentOnPUSCH-TriggerStateList", "nr-rrc.semiPersistentOnPUSCH_TriggerStateList",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_55,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_SemiPersistentOnPUSCH_TriggerStateList", HFILL }},
    { &hf_nr_rrc_reportTriggerSizeDCI_0_2_r16,
      { "reportTriggerSizeDCI-0-2-r16", "nr-rrc.reportTriggerSizeDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6", HFILL }},
    { &hf_nr_rrc_sCellActivationRS_ConfigToAddModList_r17,
      { "sCellActivationRS-ConfigToAddModList-r17", "nr-rrc.sCellActivationRS_ConfigToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17", HFILL }},
    { &hf_nr_rrc_sCellActivationRS_ConfigToAddModList_r17_item,
      { "SCellActivationRS-Config-r17", "nr-rrc.SCellActivationRS_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCellActivationRS_ConfigToReleaseList_r17,
      { "sCellActivationRS-ConfigToReleaseList-r17", "nr-rrc.sCellActivationRS_ConfigToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17", HFILL }},
    { &hf_nr_rrc_sCellActivationRS_ConfigToReleaseList_r17_item,
      { "SCellActivationRS-ConfigId-r17", "nr-rrc.SCellActivationRS_ConfigId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrier,
      { "carrier", "nr-rrc.carrier",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_resourcesForChannelMeasurement,
      { "resourcesForChannelMeasurement", "nr-rrc.resourcesForChannelMeasurement",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_ResourceConfigId", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourcesForInterference_01,
      { "csi-IM-ResourcesForInterference", "nr-rrc.csi_IM_ResourcesForInterference",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_ResourceConfigId", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01,
      { "nzp-CSI-RS-ResourcesForInterference", "nr-rrc.nzp_CSI_RS_ResourcesForInterference",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_ResourceConfigId", HFILL }},
    { &hf_nr_rrc_reportConfigType,
      { "reportConfigType", "nr-rrc.reportConfigType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportConfigType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodic,
      { "periodic", "nr-rrc.periodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotConfig,
      { "reportSlotConfig", "nr-rrc.reportSlotConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CSI_ReportPeriodicityAndOffset_vals), 0,
        "CSI_ReportPeriodicityAndOffset", HFILL }},
    { &hf_nr_rrc_pucch_CSI_ResourceList,
      { "pucch-CSI-ResourceList", "nr-rrc.pucch_CSI_ResourceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource", HFILL }},
    { &hf_nr_rrc_pucch_CSI_ResourceList_item,
      { "PUCCH-CSI-Resource", "nr-rrc.PUCCH_CSI_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiPersistentOnPUCCH,
      { "semiPersistentOnPUCCH", "nr-rrc.semiPersistentOnPUCCH_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiPersistentOnPUSCH,
      { "semiPersistentOnPUSCH", "nr-rrc.semiPersistentOnPUSCH_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotConfig_01,
      { "reportSlotConfig", "nr-rrc.reportSlotConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetList,
      { "reportSlotOffsetList", "nr-rrc.reportSlotOffsetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetList_item,
      { "reportSlotOffsetList item", "nr-rrc.reportSlotOffsetList_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_nr_rrc_p0alpha,
      { "p0alpha", "nr-rrc.p0alpha",
        FT_UINT32, BASE_DEC, NULL, 0,
        "P0_PUSCH_AlphaSetId", HFILL }},
    { &hf_nr_rrc_aperiodic,
      { "aperiodic", "nr-rrc.aperiodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetList_01,
      { "reportSlotOffsetList", "nr-rrc.reportSlotOffsetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_reportSlotOffsetList_01", HFILL }},
    { &hf_nr_rrc_reportQuantity,
      { "reportQuantity", "nr-rrc.reportQuantity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantity_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_none,
      { "none", "nr-rrc.none_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_RI_PMI_CQI,
      { "cri-RI-PMI-CQI", "nr-rrc.cri_RI_PMI_CQI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_RI_i1,
      { "cri-RI-i1", "nr-rrc.cri_RI_i1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_RI_i1_CQI,
      { "cri-RI-i1-CQI", "nr-rrc.cri_RI_i1_CQI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_BundleSizeForCSI,
      { "pdsch-BundleSizeForCSI", "nr-rrc.pdsch_BundleSizeForCSI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_BundleSizeForCSI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_RI_CQI,
      { "cri-RI-CQI", "nr-rrc.cri_RI_CQI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_RSRP,
      { "cri-RSRP", "nr-rrc.cri_RSRP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Index_RSRP,
      { "ssb-Index-RSRP", "nr-rrc.ssb_Index_RSRP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_RI_LI_PMI_CQI,
      { "cri-RI-LI-PMI-CQI", "nr-rrc.cri_RI_LI_PMI_CQI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportFreqConfiguration,
      { "reportFreqConfiguration", "nr-rrc.reportFreqConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cqi_FormatIndicator,
      { "cqi-FormatIndicator", "nr-rrc.cqi_FormatIndicator",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_FormatIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pmi_FormatIndicator,
      { "pmi-FormatIndicator", "nr-rrc.pmi_FormatIndicator",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pmi_FormatIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportingBand,
      { "csi-ReportingBand", "nr-rrc.csi_ReportingBand",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_csi_ReportingBand_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subbands3,
      { "subbands3", "nr-rrc.subbands3",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_3", HFILL }},
    { &hf_nr_rrc_subbands4,
      { "subbands4", "nr-rrc.subbands4",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_subbands5,
      { "subbands5", "nr-rrc.subbands5",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_5", HFILL }},
    { &hf_nr_rrc_subbands6,
      { "subbands6", "nr-rrc.subbands6",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_subbands7,
      { "subbands7", "nr-rrc.subbands7",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_7", HFILL }},
    { &hf_nr_rrc_subbands8,
      { "subbands8", "nr-rrc.subbands8",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_subbands9,
      { "subbands9", "nr-rrc.subbands9",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_9", HFILL }},
    { &hf_nr_rrc_subbands10,
      { "subbands10", "nr-rrc.subbands10",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_subbands11,
      { "subbands11", "nr-rrc.subbands11",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_11", HFILL }},
    { &hf_nr_rrc_subbands12,
      { "subbands12", "nr-rrc.subbands12",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_12", HFILL }},
    { &hf_nr_rrc_subbands13,
      { "subbands13", "nr-rrc.subbands13",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_13", HFILL }},
    { &hf_nr_rrc_subbands14,
      { "subbands14", "nr-rrc.subbands14",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_14", HFILL }},
    { &hf_nr_rrc_subbands15,
      { "subbands15", "nr-rrc.subbands15",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_15", HFILL }},
    { &hf_nr_rrc_subbands16,
      { "subbands16", "nr-rrc.subbands16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_subbands17,
      { "subbands17", "nr-rrc.subbands17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_17", HFILL }},
    { &hf_nr_rrc_subbands18,
      { "subbands18", "nr-rrc.subbands18",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_18", HFILL }},
    { &hf_nr_rrc_subbands19_v1530,
      { "subbands19-v1530", "nr-rrc.subbands19_v1530",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_19", HFILL }},
    { &hf_nr_rrc_timeRestrictionForChannelMeasurements,
      { "timeRestrictionForChannelMeasurements", "nr-rrc.timeRestrictionForChannelMeasurements",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForChannelMeasurements_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeRestrictionForInterferenceMeasurements,
      { "timeRestrictionForInterferenceMeasurements", "nr-rrc.timeRestrictionForInterferenceMeasurements",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForInterferenceMeasurements_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookConfig,
      { "codebookConfig", "nr-rrc.codebookConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cSI_ReportConfig_dummy,
      { "dummy", "nr-rrc.cSI_ReportConfig.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cSI_ReportConfig_dummy_vals), 0,
        "T_cSI_ReportConfig_dummy", HFILL }},
    { &hf_nr_rrc_groupBasedBeamReporting,
      { "groupBasedBeamReporting", "nr-rrc.groupBasedBeamReporting",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBasedBeamReporting_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enabled,
      { "enabled", "nr-rrc.enabled_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_disabled,
      { "disabled", "nr-rrc.disabled_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofReportedRS,
      { "nrofReportedRS", "nr-rrc.nrofReportedRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofReportedRS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cqi_Table,
      { "cqi-Table", "nr-rrc.cqi_Table",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_Table_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subbandSize,
      { "subbandSize", "nr-rrc.subbandSize",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subbandSize_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_PMI_PortIndication,
      { "non-PMI-PortIndication", "nr-rrc.non_PMI_PortIndication",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks", HFILL }},
    { &hf_nr_rrc_non_PMI_PortIndication_item,
      { "PortIndexFor8Ranks", "nr-rrc.PortIndexFor8Ranks",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PortIndexFor8Ranks_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiPersistentOnPUSCH_v1530,
      { "semiPersistentOnPUSCH-v1530", "nr-rrc.semiPersistentOnPUSCH_v1530_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotConfig_v1530,
      { "reportSlotConfig-v1530", "nr-rrc.reportSlotConfig_v1530",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_v1530_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiPersistentOnPUSCH_v1610,
      { "semiPersistentOnPUSCH-v1610", "nr-rrc.semiPersistentOnPUSCH_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16,
      { "reportSlotOffsetListDCI-0-2-r16", "nr-rrc.reportSlotOffsetListDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16_item,
      { "reportSlotOffsetListDCI-0-2-r16 item", "nr-rrc.reportSlotOffsetListDCI_0_2_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16,
      { "reportSlotOffsetListDCI-0-1-r16", "nr-rrc.reportSlotOffsetListDCI_0_1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16_item,
      { "reportSlotOffsetListDCI-0-1-r16 item", "nr-rrc.reportSlotOffsetListDCI_0_1_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_nr_rrc_aperiodic_v1610,
      { "aperiodic-v1610", "nr-rrc.aperiodic_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r16_01,
      { "reportSlotOffsetListDCI-0-2-r16", "nr-rrc.reportSlotOffsetListDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_reportSlotOffsetListDCI_0_2_r16_01", HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r16_01,
      { "reportSlotOffsetListDCI-0-1-r16", "nr-rrc.reportSlotOffsetListDCI_0_1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_reportSlotOffsetListDCI_0_1_r16_01", HFILL }},
    { &hf_nr_rrc_reportQuantity_r16,
      { "reportQuantity-r16", "nr-rrc.reportQuantity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantity_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_SINR_r16,
      { "cri-SINR-r16", "nr-rrc.cri_SINR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Index_SINR_r16,
      { "ssb-Index-SINR-r16", "nr-rrc.ssb_Index_SINR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookConfig_r16,
      { "codebookConfig-r16", "nr-rrc.codebookConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cqi_BitsPerSubband_r17,
      { "cqi-BitsPerSubband-r17", "nr-rrc.cqi_BitsPerSubband_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_BitsPerSubband_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_groupBasedBeamReporting_v1710,
      { "groupBasedBeamReporting-v1710", "nr-rrc.groupBasedBeamReporting_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofReportedGroups_r17,
      { "nrofReportedGroups-r17", "nr-rrc.nrofReportedGroups_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofReportedGroups_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookConfig_r17,
      { "codebookConfig-r17", "nr-rrc.codebookConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sharedCMR_r17,
      { "sharedCMR-r17", "nr-rrc.sharedCMR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sharedCMR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportMode_r17,
      { "csi-ReportMode-r17", "nr-rrc.csi_ReportMode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportMode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfSingleTRP_CSI_Mode1_r17,
      { "numberOfSingleTRP-CSI-Mode1-r17", "nr-rrc.numberOfSingleTRP_CSI_Mode1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfSingleTRP_CSI_Mode1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportQuantity_r17,
      { "reportQuantity-r17", "nr-rrc.reportQuantity_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantity_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_RSRP_Index_r17,
      { "cri-RSRP-Index-r17", "nr-rrc.cri_RSRP_Index_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Index_RSRP_Index_r17,
      { "ssb-Index-RSRP-Index-r17", "nr-rrc.ssb_Index_RSRP_Index_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cri_SINR_Index_r17,
      { "cri-SINR-Index-r17", "nr-rrc.cri_SINR_Index_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Index_SINR_Index_r17,
      { "ssb-Index-SINR-Index-r17", "nr-rrc.ssb_Index_SINR_Index_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiPersistentOnPUSCH_v1720,
      { "semiPersistentOnPUSCH-v1720", "nr-rrc.semiPersistentOnPUSCH_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetList_r17,
      { "reportSlotOffsetList-r17", "nr-rrc.reportSlotOffsetList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_reportSlotOffsetList_r17", HFILL }},
    { &hf_nr_rrc_reportSlotOffsetList_r17_item,
      { "reportSlotOffsetList-r17 item", "nr-rrc.reportSlotOffsetList_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_128", HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17,
      { "reportSlotOffsetListDCI-0-2-r17", "nr-rrc.reportSlotOffsetListDCI_0_2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17_item,
      { "reportSlotOffsetListDCI-0-2-r17 item", "nr-rrc.reportSlotOffsetListDCI_0_2_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_128", HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17,
      { "reportSlotOffsetListDCI-0-1-r17", "nr-rrc.reportSlotOffsetListDCI_0_1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17_item,
      { "reportSlotOffsetListDCI-0-1-r17 item", "nr-rrc.reportSlotOffsetListDCI_0_1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_128", HFILL }},
    { &hf_nr_rrc_aperiodic_v1720,
      { "aperiodic-v1720", "nr-rrc.aperiodic_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSlotOffsetList_r17_01,
      { "reportSlotOffsetList-r17", "nr-rrc.reportSlotOffsetList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_reportSlotOffsetList_r17_01", HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_2_r17_01,
      { "reportSlotOffsetListDCI-0-2-r17", "nr-rrc.reportSlotOffsetListDCI_0_2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_reportSlotOffsetListDCI_0_2_r17_01", HFILL }},
    { &hf_nr_rrc_reportSlotOffsetListDCI_0_1_r17_01,
      { "reportSlotOffsetListDCI-0-1-r17", "nr-rrc.reportSlotOffsetListDCI_0_1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_reportSlotOffsetListDCI_0_1_r17_01", HFILL }},
    { &hf_nr_rrc_codebookConfig_v1730,
      { "codebookConfig-v1730", "nr-rrc.codebookConfig_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slots4,
      { "slots4", "nr-rrc.slots4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_slots5,
      { "slots5", "nr-rrc.slots5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_slots8,
      { "slots8", "nr-rrc.slots8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_slots10,
      { "slots10", "nr-rrc.slots10",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_slots16,
      { "slots16", "nr-rrc.slots16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_slots20,
      { "slots20", "nr-rrc.slots20",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_slots40,
      { "slots40", "nr-rrc.slots40",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_slots80,
      { "slots80", "nr-rrc.slots80",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_slots160,
      { "slots160", "nr-rrc.slots160",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_slots320,
      { "slots320", "nr-rrc.slots320",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_uplinkBandwidthPartId,
      { "uplinkBandwidthPartId", "nr-rrc.uplinkBandwidthPartId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_pucch_Resource,
      { "pucch-Resource", "nr-rrc.pucch_Resource",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_portIndex8,
      { "portIndex8", "nr-rrc.portIndex8_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank1_8,
      { "rank1-8", "nr-rrc.rank1_8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PortIndex8", HFILL }},
    { &hf_nr_rrc_rank2_8,
      { "rank2-8", "nr-rrc.rank2_8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_OF_PortIndex8", HFILL }},
    { &hf_nr_rrc_rank2_8_item,
      { "PortIndex8", "nr-rrc.PortIndex8",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank3_8,
      { "rank3-8", "nr-rrc.rank3_8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_3_OF_PortIndex8", HFILL }},
    { &hf_nr_rrc_rank3_8_item,
      { "PortIndex8", "nr-rrc.PortIndex8",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank4_8,
      { "rank4-8", "nr-rrc.rank4_8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_4_OF_PortIndex8", HFILL }},
    { &hf_nr_rrc_rank4_8_item,
      { "PortIndex8", "nr-rrc.PortIndex8",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank5_8,
      { "rank5-8", "nr-rrc.rank5_8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_5_OF_PortIndex8", HFILL }},
    { &hf_nr_rrc_rank5_8_item,
      { "PortIndex8", "nr-rrc.PortIndex8",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank6_8,
      { "rank6-8", "nr-rrc.rank6_8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_6_OF_PortIndex8", HFILL }},
    { &hf_nr_rrc_rank6_8_item,
      { "PortIndex8", "nr-rrc.PortIndex8",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank7_8,
      { "rank7-8", "nr-rrc.rank7_8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_7_OF_PortIndex8", HFILL }},
    { &hf_nr_rrc_rank7_8_item,
      { "PortIndex8", "nr-rrc.PortIndex8",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank8_8,
      { "rank8-8", "nr-rrc.rank8_8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_8_OF_PortIndex8", HFILL }},
    { &hf_nr_rrc_rank8_8_item,
      { "PortIndex8", "nr-rrc.PortIndex8",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_portIndex4,
      { "portIndex4", "nr-rrc.portIndex4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank1_4,
      { "rank1-4", "nr-rrc.rank1_4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PortIndex4", HFILL }},
    { &hf_nr_rrc_rank2_4,
      { "rank2-4", "nr-rrc.rank2_4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_OF_PortIndex4", HFILL }},
    { &hf_nr_rrc_rank2_4_item,
      { "PortIndex4", "nr-rrc.PortIndex4",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank3_4,
      { "rank3-4", "nr-rrc.rank3_4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_3_OF_PortIndex4", HFILL }},
    { &hf_nr_rrc_rank3_4_item,
      { "PortIndex4", "nr-rrc.PortIndex4",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank4_4,
      { "rank4-4", "nr-rrc.rank4_4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_4_OF_PortIndex4", HFILL }},
    { &hf_nr_rrc_rank4_4_item,
      { "PortIndex4", "nr-rrc.PortIndex4",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_portIndex2,
      { "portIndex2", "nr-rrc.portIndex2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank1_2,
      { "rank1-2", "nr-rrc.rank1_2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PortIndex2", HFILL }},
    { &hf_nr_rrc_rank2_2,
      { "rank2-2", "nr-rrc.rank2_2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_OF_PortIndex2", HFILL }},
    { &hf_nr_rrc_rank2_2_item,
      { "PortIndex2", "nr-rrc.PortIndex2",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_portIndex1,
      { "portIndex1", "nr-rrc.portIndex1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ResourceConfigId,
      { "csi-ResourceConfigId", "nr-rrc.csi_ResourceConfigId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_ResourceSetList,
      { "csi-RS-ResourceSetList", "nr-rrc.csi_RS_ResourceSetList",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_ResourceSetList_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_SSB,
      { "nzp-CSI-RS-SSB", "nr-rrc.nzp_CSI_RS_SSB_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList,
      { "nzp-CSI-RS-ResourceSetList", "nr-rrc.nzp_CSI_RS_ResourceSetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item,
      { "NZP-CSI-RS-ResourceSetId", "nr-rrc.NZP_CSI_RS_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetList,
      { "csi-SSB-ResourceSetList", "nr-rrc.csi_SSB_ResourceSetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId", HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetList_item,
      { "CSI-SSB-ResourceSetId", "nr-rrc.CSI_SSB_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceSetList,
      { "csi-IM-ResourceSetList", "nr-rrc.csi_IM_ResourceSetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId", HFILL }},
    { &hf_nr_rrc_csi_IM_ResourceSetList_item,
      { "CSI-IM-ResourceSetId", "nr-rrc.CSI_IM_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceType,
      { "resourceType", "nr-rrc.resourceType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetListExt_r17,
      { "csi-SSB-ResourceSetListExt-r17", "nr-rrc.csi_SSB_ResourceSetListExt_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_SSB_ResourceSetId", HFILL }},
    { &hf_nr_rrc_slots32,
      { "slots32", "nr-rrc.slots32",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_slots64,
      { "slots64", "nr-rrc.slots64",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_slots640,
      { "slots640", "nr-rrc.slots640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_csi_RS_CellList_Mobility,
      { "csi-RS-CellList-Mobility", "nr-rrc.csi_RS_CellList_Mobility",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility", HFILL }},
    { &hf_nr_rrc_csi_RS_CellList_Mobility_item,
      { "CSI-RS-CellMobility", "nr-rrc.CSI_RS_CellMobility_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_refServCellIndex,
      { "refServCellIndex", "nr-rrc.refServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_cellId,
      { "cellId", "nr-rrc.cellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_csi_rs_MeasurementBW,
      { "csi-rs-MeasurementBW", "nr-rrc.csi_rs_MeasurementBW_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofPRBs,
      { "nrofPRBs", "nr-rrc.nrofPRBs",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPRBs_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startPRB,
      { "startPRB", "nr-rrc.startPRB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2169", HFILL }},
    { &hf_nr_rrc_density,
      { "density", "nr-rrc.density",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_rs_ResourceList_Mobility,
      { "csi-rs-ResourceList-Mobility", "nr-rrc.csi_rs_ResourceList_Mobility",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility", HFILL }},
    { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item,
      { "CSI-RS-Resource-Mobility", "nr-rrc.CSI_RS_Resource_Mobility_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_Index,
      { "csi-RS-Index", "nr-rrc.csi_RS_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotConfig,
      { "slotConfig", "nr-rrc.slotConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ms4,
      { "ms4", "nr-rrc.ms4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_ms5,
      { "ms5", "nr-rrc.ms5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_ms10_01,
      { "ms10", "nr-rrc.ms10",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_ms20_01,
      { "ms20", "nr-rrc.ms20",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_ms40_01,
      { "ms40", "nr-rrc.ms40",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_associatedSSB,
      { "associatedSSB", "nr-rrc.associatedSSB_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Index,
      { "ssb-Index", "nr-rrc.ssb_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_isQuasiColocated,
      { "isQuasiColocated", "nr-rrc.isQuasiColocated",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_frequencyDomainAllocation,
      { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyDomainAllocation_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_row1,
      { "row1", "nr-rrc.row1",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_row2,
      { "row2", "nr-rrc.row2",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_12", HFILL }},
    { &hf_nr_rrc_firstOFDMSymbolInTimeDomain,
      { "firstOFDMSymbolInTimeDomain", "nr-rrc.firstOFDMSymbolInTimeDomain",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13", HFILL }},
    { &hf_nr_rrc_sequenceGenerationConfig,
      { "sequenceGenerationConfig", "nr-rrc.sequenceGenerationConfig",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_slotConfig_r17,
      { "slotConfig-r17", "nr-rrc.slotConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ms4_01,
      { "ms4", "nr-rrc.ms4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_ms5_01,
      { "ms5", "nr-rrc.ms5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_ms10_02,
      { "ms10", "nr-rrc.ms10",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_ms20_02,
      { "ms20", "nr-rrc.ms20",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1279", HFILL }},
    { &hf_nr_rrc_ms40_02,
      { "ms40", "nr-rrc.ms40",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2559", HFILL }},
    { &hf_nr_rrc_frequencyDomainAllocation_01,
      { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyDomainAllocation_01_vals), 0,
        "T_frequencyDomainAllocation_01", HFILL }},
    { &hf_nr_rrc_row4,
      { "row4", "nr-rrc.row4",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_3", HFILL }},
    { &hf_nr_rrc_other_01,
      { "other", "nr-rrc.other",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_nrofPorts,
      { "nrofPorts", "nr-rrc.nrofPorts",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPorts_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_firstOFDMSymbolInTimeDomain2,
      { "firstOFDMSymbolInTimeDomain2", "nr-rrc.firstOFDMSymbolInTimeDomain2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_12", HFILL }},
    { &hf_nr_rrc_cdm_Type,
      { "cdm-Type", "nr-rrc.cdm_Type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cdm_Type_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_density_01,
      { "density", "nr-rrc.density",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_01_vals), 0,
        "T_density_01", HFILL }},
    { &hf_nr_rrc_dot5,
      { "dot5", "nr-rrc.dot5",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dot5_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_one,
      { "one", "nr-rrc.one_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_three,
      { "three", "nr-rrc.three_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare_03,
      { "spare", "nr-rrc.spare_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item,
      { "CSI-SemiPersistentOnPUSCH-TriggerState", "nr-rrc.CSI_SemiPersistentOnPUSCH_TriggerState_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_associatedReportConfigInfo,
      { "associatedReportConfigInfo", "nr-rrc.associatedReportConfigInfo",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_ReportConfigId", HFILL }},
    { &hf_nr_rrc_sp_CSI_MultiplexingMode_r17,
      { "sp-CSI-MultiplexingMode-r17", "nr-rrc.sp_CSI_MultiplexingMode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_MultiplexingMode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceSetId,
      { "csi-SSB-ResourceSetId", "nr-rrc.csi_SSB_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceList,
      { "csi-SSB-ResourceList", "nr-rrc.csi_SSB_ResourceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index", HFILL }},
    { &hf_nr_rrc_csi_SSB_ResourceList_item,
      { "SSB-Index", "nr-rrc.SSB_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servingAdditionalPCIList_r17,
      { "servingAdditionalPCIList-r17", "nr-rrc.servingAdditionalPCIList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17", HFILL }},
    { &hf_nr_rrc_servingAdditionalPCIList_r17_item,
      { "ServingAdditionalPCIIndex-r17", "nr-rrc.ServingAdditionalPCIIndex_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_PPW_ID_r17,
      { "dl-PPW-ID-r17", "nr-rrc.dl_PPW_ID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_PPW_PeriodicityAndStartSlot_r17,
      { "dl-PPW-PeriodicityAndStartSlot-r17", "nr-rrc.dl_PPW_PeriodicityAndStartSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_PPW_PeriodicityAndStartSlot_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_length_r17,
      { "length-r17", "nr-rrc.length_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_160", HFILL }},
    { &hf_nr_rrc_type_r17,
      { "type-r17", "nr-rrc.type_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_priority_r17,
      { "priority-r17", "nr-rrc.priority_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priority_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs15,
      { "scs15", "nr-rrc.scs15",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs15_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n4,
      { "n4", "nr-rrc.n4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_n5,
      { "n5", "nr-rrc.n5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_n8,
      { "n8", "nr-rrc.n8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_n10,
      { "n10", "nr-rrc.n10",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_n16,
      { "n16", "nr-rrc.n16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_n20,
      { "n20", "nr-rrc.n20",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_n32,
      { "n32", "nr-rrc.n32",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_n40,
      { "n40", "nr-rrc.n40",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_n64,
      { "n64", "nr-rrc.n64",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_n80,
      { "n80", "nr-rrc.n80",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_n160,
      { "n160", "nr-rrc.n160",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_n320,
      { "n320", "nr-rrc.n320",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_n640,
      { "n640", "nr-rrc.n640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_n1280,
      { "n1280", "nr-rrc.n1280",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1279", HFILL }},
    { &hf_nr_rrc_n2560,
      { "n2560", "nr-rrc.n2560",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2559", HFILL }},
    { &hf_nr_rrc_n5120,
      { "n5120", "nr-rrc.n5120",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119", HFILL }},
    { &hf_nr_rrc_n10240,
      { "n10240", "nr-rrc.n10240",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_10239", HFILL }},
    { &hf_nr_rrc_scs30,
      { "scs30", "nr-rrc.scs30",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs30_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n128,
      { "n128", "nr-rrc.n128",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_n20480,
      { "n20480", "nr-rrc.n20480",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_20479", HFILL }},
    { &hf_nr_rrc_scs60,
      { "scs60", "nr-rrc.scs60",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs60_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n256,
      { "n256", "nr-rrc.n256",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_n40960,
      { "n40960", "nr-rrc.n40960",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_40959", HFILL }},
    { &hf_nr_rrc_scs120,
      { "scs120", "nr-rrc.scs120",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs120_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n512,
      { "n512", "nr-rrc.n512",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_511", HFILL }},
    { &hf_nr_rrc_n81920,
      { "n81920", "nr-rrc.n81920",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_81919", HFILL }},
    { &hf_nr_rrc_pucch_DMRS_Bundling_r17,
      { "pucch-DMRS-Bundling-r17", "nr-rrc.pucch_DMRS_Bundling_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_DMRS_Bundling_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_TimeDomainWindowLength_r17,
      { "pucch-TimeDomainWindowLength-r17", "nr-rrc.pucch_TimeDomainWindowLength_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_8", HFILL }},
    { &hf_nr_rrc_pucch_WindowRestart_r17,
      { "pucch-WindowRestart-r17", "nr-rrc.pucch_WindowRestart_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_WindowRestart_r17_vals), 0,
        "T_pucch_WindowRestart_r17", HFILL }},
    { &hf_nr_rrc_pucch_FrequencyHoppingInterval_r17,
      { "pucch-FrequencyHoppingInterval-r17", "nr-rrc.pucch_FrequencyHoppingInterval_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_FrequencyHoppingInterval_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_DMRS_Bundling_r17,
      { "pusch-DMRS-Bundling-r17", "nr-rrc.pusch_DMRS_Bundling_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_DMRS_Bundling_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_TimeDomainWindowLength_r17,
      { "pusch-TimeDomainWindowLength-r17", "nr-rrc.pusch_TimeDomainWindowLength_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_32", HFILL }},
    { &hf_nr_rrc_pusch_WindowRestart_r17,
      { "pusch-WindowRestart-r17", "nr-rrc.pusch_WindowRestart_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_WindowRestart_r17_vals), 0,
        "T_pusch_WindowRestart_r17", HFILL }},
    { &hf_nr_rrc_pusch_FrequencyHoppingInterval_r17,
      { "pusch-FrequencyHoppingInterval-r17", "nr-rrc.pusch_FrequencyHoppingInterval_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_FrequencyHoppingInterval_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_Type,
      { "dmrs-Type", "nr-rrc.dmrs_Type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_AdditionalPosition,
      { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxLength,
      { "maxLength", "nr-rrc.maxLength",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scramblingID0,
      { "scramblingID0", "nr-rrc.scramblingID0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_scramblingID1,
      { "scramblingID1", "nr-rrc.scramblingID1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_phaseTrackingRS,
      { "phaseTrackingRS", "nr-rrc.phaseTrackingRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_56,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DownlinkConfig", HFILL }},
    { &hf_nr_rrc_dmrs_Downlink_r16,
      { "dmrs-Downlink-r16", "nr-rrc.dmrs_Downlink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Downlink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_Type_01,
      { "dmrs-Type", "nr-rrc.dmrs_Type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_01_vals), 0,
        "T_dmrs_Type_01", HFILL }},
    { &hf_nr_rrc_dmrs_AdditionalPosition_01,
      { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_01_vals), 0,
        "T_dmrs_AdditionalPosition_01", HFILL }},
    { &hf_nr_rrc_phaseTrackingRS_01,
      { "phaseTrackingRS", "nr-rrc.phaseTrackingRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_01_vals), 0,
        "T_phaseTrackingRS_01", HFILL }},
    { &hf_nr_rrc_setup_57,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_UplinkConfig", HFILL }},
    { &hf_nr_rrc_maxLength_01,
      { "maxLength", "nr-rrc.maxLength",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_01_vals), 0,
        "T_maxLength_01", HFILL }},
    { &hf_nr_rrc_transformPrecodingDisabled,
      { "transformPrecodingDisabled", "nr-rrc.transformPrecodingDisabled_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_Uplink_r16,
      { "dmrs-Uplink-r16", "nr-rrc.dmrs_Uplink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Uplink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_transformPrecodingEnabled,
      { "transformPrecodingEnabled", "nr-rrc.transformPrecodingEnabled_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nPUSCH_Identity,
      { "nPUSCH-Identity", "nr-rrc.nPUSCH_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1007", HFILL }},
    { &hf_nr_rrc_sequenceGroupHopping,
      { "sequenceGroupHopping", "nr-rrc.sequenceGroupHopping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceGroupHopping_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sequenceHopping,
      { "sequenceHopping", "nr-rrc.sequenceHopping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceHopping_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_UplinkTransformPrecoding_r16,
      { "dmrs-UplinkTransformPrecoding-r16", "nr-rrc.dmrs_UplinkTransformPrecoding_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkTransformPrecoding_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_58,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DMRS_UplinkTransformPrecoding_r16", HFILL }},
    { &hf_nr_rrc_pi2BPSK_ScramblingID0,
      { "pi2BPSK-ScramblingID0", "nr-rrc.pi2BPSK_ScramblingID0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_pi2BPSK_ScramblingID1,
      { "pi2BPSK-ScramblingID1", "nr-rrc.pi2BPSK_ScramblingID1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_frequencyInfoDL,
      { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_initialDownlinkBWP,
      { "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_DownlinkCommon", HFILL }},
    { &hf_nr_rrc_initialDownlinkBWP_RedCap_r17,
      { "initialDownlinkBWP-RedCap-r17", "nr-rrc.initialDownlinkBWP_RedCap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_DownlinkCommon", HFILL }},
    { &hf_nr_rrc_frequencyInfoDL_01,
      { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FrequencyInfoDL_SIB", HFILL }},
    { &hf_nr_rrc_bcch_Config,
      { "bcch-Config", "nr-rrc.bcch_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pcch_Config,
      { "pcch-Config", "nr-rrc.pcch_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pei_Config_r17,
      { "pei-Config-r17", "nr-rrc.pei_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_modificationPeriodCoeff,
      { "modificationPeriodCoeff", "nr-rrc.modificationPeriodCoeff",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modificationPeriodCoeff_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_defaultPagingCycle,
      { "defaultPagingCycle", "nr-rrc.defaultPagingCycle",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingCycle_vals), 0,
        "PagingCycle", HFILL }},
    { &hf_nr_rrc_nAndPagingFrameOffset,
      { "nAndPagingFrameOffset", "nr-rrc.nAndPagingFrameOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nAndPagingFrameOffset_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneT,
      { "oneT", "nr-rrc.oneT_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_halfT,
      { "halfT", "nr-rrc.halfT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_quarterT,
      { "quarterT", "nr-rrc.quarterT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_oneEighthT,
      { "oneEighthT", "nr-rrc.oneEighthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_oneSixteenthT,
      { "oneSixteenthT", "nr-rrc.oneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_ns,
      { "ns", "nr-rrc.ns",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ns_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO,
      { "firstPDCCH-MonitoringOccasionOfPO", "nr-rrc.firstPDCCH_MonitoringOccasionOfPO",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCS15KHZoneT,
      { "sCS15KHZoneT", "nr-rrc.sCS15KHZoneT",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCS15KHZoneT_item,
      { "sCS15KHZoneT item", "nr-rrc.sCS15KHZoneT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_139", HFILL }},
    { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT,
      { "sCS30KHZoneT-SCS15KHZhalfT", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS30KHZoneT_SCS15KHZhalfT", HFILL }},
    { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item,
      { "sCS30KHZoneT-SCS15KHZhalfT item", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_279", HFILL }},
    { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT,
      { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT", HFILL }},
    { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item,
      { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT item", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_559", HFILL }},
    { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT,
      { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT", HFILL }},
    { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item,
      { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT item", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1119", HFILL }},
    { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT,
      { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT", HFILL }},
    { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item,
      { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT item", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2239", HFILL }},
    { &hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT,
      { "sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT", "nr-rrc.sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT", HFILL }},
    { &hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item,
      { "sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT item", "nr-rrc.sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4479", HFILL }},
    { &hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT,
      { "sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT", "nr-rrc.sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT", HFILL }},
    { &hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item,
      { "sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT item", "nr-rrc.sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_8959", HFILL }},
    { &hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT,
      { "sCS480KHZquarterT-SCS120KHZoneSixteenthT", "nr-rrc.sCS480KHZquarterT_SCS120KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZquarterT_SCS120KHZoneSixteenthT", HFILL }},
    { &hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT_item,
      { "sCS480KHZquarterT-SCS120KHZoneSixteenthT item", "nr-rrc.sCS480KHZquarterT_SCS120KHZoneSixteenthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_17919", HFILL }},
    { &hf_nr_rrc_nrofPDCCH_MonitoringOccasionPerSSB_InPO_r16,
      { "nrofPDCCH-MonitoringOccasionPerSSB-InPO-r16", "nr-rrc.nrofPDCCH_MonitoringOccasionPerSSB_InPO_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_4", HFILL }},
    { &hf_nr_rrc_ranPagingInIdlePO_r17,
      { "ranPagingInIdlePO-r17", "nr-rrc.ranPagingInIdlePO_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ranPagingInIdlePO_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_v1710,
      { "firstPDCCH-MonitoringOccasionOfPO-v1710", "nr-rrc.firstPDCCH_MonitoringOccasionOfPO_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCS480KHZoneEighthT,
      { "sCS480KHZoneEighthT", "nr-rrc.sCS480KHZoneEighthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCS480KHZoneEighthT_item,
      { "sCS480KHZoneEighthT item", "nr-rrc.sCS480KHZoneEighthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_35839", HFILL }},
    { &hf_nr_rrc_sCS480KHZoneSixteenthT,
      { "sCS480KHZoneSixteenthT", "nr-rrc.sCS480KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCS480KHZoneSixteenthT_item,
      { "sCS480KHZoneSixteenthT item", "nr-rrc.sCS480KHZoneSixteenthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_71679", HFILL }},
    { &hf_nr_rrc_po_NumPerPEI_r17,
      { "po-NumPerPEI-r17", "nr-rrc.po_NumPerPEI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_po_NumPerPEI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_payloadSizeDCI_2_7_r17,
      { "payloadSizeDCI-2-7-r17", "nr-rrc.payloadSizeDCI_2_7_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxDCI_2_7_Size_r17", HFILL }},
    { &hf_nr_rrc_pei_FrameOffset_r17,
      { "pei-FrameOffset-r17", "nr-rrc.pei_FrameOffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_16", HFILL }},
    { &hf_nr_rrc_subgroupConfig_r17,
      { "subgroupConfig-r17", "nr-rrc.subgroupConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lastUsedCellOnly_r17,
      { "lastUsedCellOnly-r17", "nr-rrc.lastUsedCellOnly_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lastUsedCellOnly_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subgroupsNumPerPO_r17,
      { "subgroupsNumPerPO-r17", "nr-rrc.subgroupsNumPerPO_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofPagingSubgroups_r17", HFILL }},
    { &hf_nr_rrc_subgroupsNumForUEID_r17,
      { "subgroupsNumForUEID-r17", "nr-rrc.subgroupsNumForUEID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofPagingSubgroups_r17", HFILL }},
    { &hf_nr_rrc_int_RNTI,
      { "int-RNTI", "nr-rrc.int_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_timeFrequencySet,
      { "timeFrequencySet", "nr-rrc.timeFrequencySet",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeFrequencySet_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_PayloadSize,
      { "dci-PayloadSize", "nr-rrc.dci_PayloadSize",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxINT_DCI_PayloadSize", HFILL }},
    { &hf_nr_rrc_int_ConfigurationPerServingCell,
      { "int-ConfigurationPerServingCell", "nr-rrc.int_ConfigurationPerServingCell",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell", HFILL }},
    { &hf_nr_rrc_int_ConfigurationPerServingCell_item,
      { "INT-ConfigurationPerServingCell", "nr-rrc.INT_ConfigurationPerServingCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_positionInDCI,
      { "positionInDCI", "nr-rrc.positionInDCI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxINT_DCI_PayloadSize_1", HFILL }},
    { &hf_nr_rrc_drx_onDurationTimer_01,
      { "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_01_vals), 0,
        "T_drx_onDurationTimer_01", HFILL }},
    { &hf_nr_rrc_milliSeconds_01,
      { "milliSeconds", "nr-rrc.milliSeconds",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_01_vals_ext, 0,
        "T_milliSeconds_01", HFILL }},
    { &hf_nr_rrc_drx_InactivityTimer,
      { "drx-InactivityTimer", "nr-rrc.drx_InactivityTimer",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_InactivityTimer_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_HARQ_RTT_TimerDL,
      { "drx-HARQ-RTT-TimerDL", "nr-rrc.drx_HARQ_RTT_TimerDL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_56", HFILL }},
    { &hf_nr_rrc_drx_HARQ_RTT_TimerUL,
      { "drx-HARQ-RTT-TimerUL", "nr-rrc.drx_HARQ_RTT_TimerUL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_56", HFILL }},
    { &hf_nr_rrc_drx_RetransmissionTimerDL,
      { "drx-RetransmissionTimerDL", "nr-rrc.drx_RetransmissionTimerDL",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerDL_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_RetransmissionTimerUL,
      { "drx-RetransmissionTimerUL", "nr-rrc.drx_RetransmissionTimerUL",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerUL_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_LongCycleStartOffset_01,
      { "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext, 0,
        "T_drx_LongCycleStartOffset_01", HFILL }},
    { &hf_nr_rrc_shortDRX_01,
      { "shortDRX", "nr-rrc.shortDRX_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_shortDRX_01", HFILL }},
    { &hf_nr_rrc_drx_ShortCycle_01,
      { "drx-ShortCycle", "nr-rrc.drx_ShortCycle",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_01_vals_ext, 0,
        "T_drx_ShortCycle_01", HFILL }},
    { &hf_nr_rrc_drx_SlotOffset,
      { "drx-SlotOffset", "nr-rrc.drx_SlotOffset",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_drx_SlotOffset_fmt), 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_drx_HARQ_RTT_TimerDL_r17,
      { "drx-HARQ-RTT-TimerDL-r17", "nr-rrc.drx_HARQ_RTT_TimerDL_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_448", HFILL }},
    { &hf_nr_rrc_drx_HARQ_RTT_TimerUL_r17,
      { "drx-HARQ-RTT-TimerUL-r17", "nr-rrc.drx_HARQ_RTT_TimerUL_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_448", HFILL }},
    { &hf_nr_rrc_drx_onDurationTimer_r16,
      { "drx-onDurationTimer-r16", "nr-rrc.drx_onDurationTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_milliSeconds_02,
      { "milliSeconds", "nr-rrc.milliSeconds",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_02_vals_ext, 0,
        "T_milliSeconds_02", HFILL }},
    { &hf_nr_rrc_drx_InactivityTimer_r16,
      { "drx-InactivityTimer-r16", "nr-rrc.drx_InactivityTimer_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_InactivityTimer_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_HARQ_RTT_TimerSL_r17,
      { "drx-HARQ-RTT-TimerSL-r17", "nr-rrc.drx_HARQ_RTT_TimerSL_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_56", HFILL }},
    { &hf_nr_rrc_drx_RetransmissionTimerSL_r17,
      { "drx-RetransmissionTimerSL-r17", "nr-rrc.drx_RetransmissionTimerSL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_RetransmissionTimerSL_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_positionVelocity_r17,
      { "positionVelocity-r17", "nr-rrc.positionVelocity_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_orbital_r17,
      { "orbital-r17", "nr-rrc.orbital_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_positionX_r17,
      { "positionX-r17", "nr-rrc.positionX_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "PositionStateVector_r17", HFILL }},
    { &hf_nr_rrc_positionY_r17,
      { "positionY-r17", "nr-rrc.positionY_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "PositionStateVector_r17", HFILL }},
    { &hf_nr_rrc_positionZ_r17,
      { "positionZ-r17", "nr-rrc.positionZ_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "PositionStateVector_r17", HFILL }},
    { &hf_nr_rrc_velocityVX_r17,
      { "velocityVX-r17", "nr-rrc.velocityVX_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "VelocityStateVector_r17", HFILL }},
    { &hf_nr_rrc_velocityVY_r17,
      { "velocityVY-r17", "nr-rrc.velocityVY_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "VelocityStateVector_r17", HFILL }},
    { &hf_nr_rrc_velocityVZ_r17,
      { "velocityVZ-r17", "nr-rrc.velocityVZ_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "VelocityStateVector_r17", HFILL }},
    { &hf_nr_rrc_semiMajorAxis_r17,
      { "semiMajorAxis-r17", "nr-rrc.semiMajorAxis_r17",
        FT_UINT64, BASE_DEC, NULL, 0,
        "INTEGER_0_8589934591", HFILL }},
    { &hf_nr_rrc_eccentricity_r17,
      { "eccentricity-r17", "nr-rrc.eccentricity_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1048575", HFILL }},
    { &hf_nr_rrc_periapsis_r17,
      { "periapsis-r17", "nr-rrc.periapsis_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_268435455", HFILL }},
    { &hf_nr_rrc_longitude_r17,
      { "longitude-r17", "nr-rrc.longitude_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_268435455", HFILL }},
    { &hf_nr_rrc_inclination_r17,
      { "inclination-r17", "nr-rrc.inclination_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M67108864_67108863", HFILL }},
    { &hf_nr_rrc_meanAnomaly_r17,
      { "meanAnomaly-r17", "nr-rrc.meanAnomaly_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_268435455", HFILL }},
    { &hf_nr_rrc_redCap_r17,
      { "redCap-r17", "nr-rrc.redCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_redCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_smallData_r17,
      { "smallData-r17", "nr-rrc.smallData_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_smallData_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nsag_r17,
      { "nsag-r17", "nr-rrc.nsag_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NSAG_List_r17", HFILL }},
    { &hf_nr_rrc_msg3_Repetitions_r17,
      { "msg3-Repetitions-r17", "nr-rrc.msg3_Repetitions_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg3_Repetitions_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare4_01,
      { "spare4", "nr-rrc.spare4",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spare4_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare3_01,
      { "spare3", "nr-rrc.spare3",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spare3_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare2_01,
      { "spare2", "nr-rrc.spare2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spare2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spare1_01,
      { "spare1", "nr-rrc.spare1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spare1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_NSAG_List_r17_item,
      { "NSAG-ID-r17", "nr-rrc.NSAG_ID_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureCombination_r17,
      { "featureCombination-r17", "nr-rrc.featureCombination_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startPreambleForThisPartition_r17,
      { "startPreambleForThisPartition-r17", "nr-rrc.startPreambleForThisPartition_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_numberOfPreamblesPerSSB_ForThisPartition_r17,
      { "numberOfPreamblesPerSSB-ForThisPartition-r17", "nr-rrc.numberOfPreamblesPerSSB_ForThisPartition_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_ssb_SharedRO_MaskIndex_r17,
      { "ssb-SharedRO-MaskIndex-r17", "nr-rrc.ssb_SharedRO_MaskIndex_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_groupBconfigured_r17,
      { "groupBconfigured-r17", "nr-rrc.groupBconfigured_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_SizeGroupA_r17,
      { "ra-SizeGroupA-r17", "nr-rrc.ra_SizeGroupA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_SizeGroupA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messagePowerOffsetGroupB_r17,
      { "messagePowerOffsetGroupB-r17", "nr-rrc.messagePowerOffsetGroupB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messagePowerOffsetGroupB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfRA_PreamblesGroupA_r17,
      { "numberOfRA-PreamblesGroupA-r17", "nr-rrc.numberOfRA_PreamblesGroupA_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_separateMsgA_PUSCH_Config_r17,
      { "separateMsgA-PUSCH-Config-r17", "nr-rrc.separateMsgA_PUSCH_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MsgA_PUSCH_Config_r16", HFILL }},
    { &hf_nr_rrc_msgA_RSRP_Threshold_r17,
      { "msgA-RSRP-Threshold-r17", "nr-rrc.msgA_RSRP_Threshold_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_rsrp_ThresholdSSB_r17,
      { "rsrp-ThresholdSSB-r17", "nr-rrc.rsrp_ThresholdSSB_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_deltaPreamble_r17,
      { "deltaPreamble-r17", "nr-rrc.deltaPreamble_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M1_6", HFILL }},
    { &hf_nr_rrc_FreqPriorityListDedicatedSlicing_r17_item,
      { "FreqPriorityDedicatedSlicing-r17", "nr-rrc.FreqPriorityDedicatedSlicing_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_ExplicitCarrierFreq_r17,
      { "dl-ExplicitCarrierFreq-r17", "nr-rrc.dl_ExplicitCarrierFreq_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_sliceInfoListDedicated_r17,
      { "sliceInfoListDedicated-r17", "nr-rrc.sliceInfoListDedicated_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SliceInfoListDedicated_r17_item,
      { "SliceInfoDedicated-r17", "nr-rrc.SliceInfoDedicated_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nsag_IdentityInfo_r17,
      { "nsag-IdentityInfo-r17", "nr-rrc.nsag_IdentityInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nsag_CellReselectionPriority_r17,
      { "nsag-CellReselectionPriority-r17", "nr-rrc.nsag_CellReselectionPriority_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CellReselectionPriority", HFILL }},
    { &hf_nr_rrc_nsag_CellReselectionSubPriority_r17,
      { "nsag-CellReselectionSubPriority-r17", "nr-rrc.nsag_CellReselectionSubPriority_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CellReselectionSubPriority_vals), 0,
        "CellReselectionSubPriority", HFILL }},
    { &hf_nr_rrc_FreqPriorityListSlicing_r17_item,
      { "FreqPrioritySlicing-r17", "nr-rrc.FreqPrioritySlicing_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_ImplicitCarrierFreq_r17,
      { "dl-ImplicitCarrierFreq-r17", "nr-rrc.dl_ImplicitCarrierFreq_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxFreq", HFILL }},
    { &hf_nr_rrc_sliceInfoList_r17,
      { "sliceInfoList-r17", "nr-rrc.sliceInfoList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SliceInfoList_r17_item,
      { "SliceInfo-r17", "nr-rrc.SliceInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sliceCellListNR_r17,
      { "sliceCellListNR-r17", "nr-rrc.sliceCellListNR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sliceCellListNR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sliceAllowedCellListNR_r17,
      { "sliceAllowedCellListNR-r17", "nr-rrc.sliceAllowedCellListNR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SliceCellListNR_r17", HFILL }},
    { &hf_nr_rrc_sliceExcludedCellListNR_r17,
      { "sliceExcludedCellListNR-r17", "nr-rrc.sliceExcludedCellListNR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SliceCellListNR_r17", HFILL }},
    { &hf_nr_rrc_SliceCellListNR_r17_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_absoluteFrequencySSB,
      { "absoluteFrequencySSB", "nr-rrc.absoluteFrequencySSB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_absoluteFrequencyPointA,
      { "absoluteFrequencyPointA", "nr-rrc.absoluteFrequencyPointA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_scs_SpecificCarrierList,
      { "scs-SpecificCarrierList", "nr-rrc.scs_SpecificCarrierList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }},
    { &hf_nr_rrc_scs_SpecificCarrierList_item,
      { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_offsetToPointA,
      { "offsetToPointA", "nr-rrc.offsetToPointA",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_prbs, 0,
        "INTEGER_0_2199", HFILL }},
    { &hf_nr_rrc_additionalSpectrumEmission,
      { "additionalSpectrumEmission", "nr-rrc.additionalSpectrumEmission",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyShift7p5khz,
      { "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyShift7p5khz_01,
      { "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_01_vals), 0,
        "T_frequencyShift7p5khz_01", HFILL }},
    { &hf_nr_rrc_highSpeedMeasFlag_r16,
      { "highSpeedMeasFlag-r16", "nr-rrc.highSpeedMeasFlag_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedMeasFlag_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedDemodFlag_r16,
      { "highSpeedDemodFlag-r16", "nr-rrc.highSpeedDemodFlag_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedDemodFlag_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedMeasCA_Scell_r17,
      { "highSpeedMeasCA-Scell-r17", "nr-rrc.highSpeedMeasCA_Scell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedMeasCA_Scell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedMeasInterFreq_r17_01,
      { "highSpeedMeasInterFreq-r17", "nr-rrc.highSpeedMeasInterFreq_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedMeasInterFreq_r17_01_vals), 0,
        "T_highSpeedMeasInterFreq_r17_01", HFILL }},
    { &hf_nr_rrc_highSpeedDemodCA_Scell_r17,
      { "highSpeedDemodCA-Scell-r17", "nr-rrc.highSpeedDemodCA_Scell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedDemodCA_Scell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedMeasFlagFR2_r17,
      { "highSpeedMeasFlagFR2-r17", "nr-rrc.highSpeedMeasFlagFR2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedMeasFlagFR2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedDeploymentTypeFR2_r17,
      { "highSpeedDeploymentTypeFR2-r17", "nr-rrc.highSpeedDeploymentTypeFR2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedDeploymentTypeFR2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedLargeOneStepUL_TimingFR2_r17,
      { "highSpeedLargeOneStepUL-TimingFR2-r17", "nr-rrc.highSpeedLargeOneStepUL_TimingFR2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedLargeOneStepUL_TimingFR2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_symbols_r16,
      { "symbols-r16", "nr-rrc.symbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbols_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneSlot,
      { "oneSlot", "nr-rrc.oneSlot",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_14", HFILL }},
    { &hf_nr_rrc_twoSlots,
      { "twoSlots", "nr-rrc.twoSlots",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_28", HFILL }},
    { &hf_nr_rrc_periodicityAndPattern_r16,
      { "periodicityAndPattern-r16", "nr-rrc.periodicityAndPattern_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndPattern_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n2,
      { "n2", "nr-rrc.n2",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_n4_01,
      { "n4", "nr-rrc.n4",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_n5_01,
      { "n5", "nr-rrc.n5",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_5", HFILL }},
    { &hf_nr_rrc_n8_01,
      { "n8", "nr-rrc.n8",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_n10_01,
      { "n10", "nr-rrc.n10",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_n20_01,
      { "n20", "nr-rrc.n20",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_20", HFILL }},
    { &hf_nr_rrc_n40_01,
      { "n40", "nr-rrc.n40",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_40", HFILL }},
    { &hf_nr_rrc_lbt_FailureInstanceMaxCount_r16,
      { "lbt-FailureInstanceMaxCount-r16", "nr-rrc.lbt_FailureInstanceMaxCount_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lbt_FailureInstanceMaxCount_r16_vals), 0,
        "T_lbt_FailureInstanceMaxCount_r16", HFILL }},
    { &hf_nr_rrc_lbt_FailureDetectionTimer_r16,
      { "lbt-FailureDetectionTimer-r16", "nr-rrc.lbt_FailureDetectionTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lbt_FailureDetectionTimer_r16_vals), 0,
        "T_lbt_FailureDetectionTimer_r16", HFILL }},
    { &hf_nr_rrc_commonLocationInfo_r16,
      { "commonLocationInfo-r16", "nr-rrc.commonLocationInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bt_LocationInfo_r16,
      { "bt-LocationInfo-r16", "nr-rrc.bt_LocationInfo_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LogMeasResultListBT_r16", HFILL }},
    { &hf_nr_rrc_wlan_LocationInfo_r16,
      { "wlan-LocationInfo-r16", "nr-rrc.wlan_LocationInfo_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LogMeasResultListWLAN_r16", HFILL }},
    { &hf_nr_rrc_sensor_LocationInfo_r16,
      { "sensor-LocationInfo-r16", "nr-rrc.sensor_LocationInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_RSTD,
      { "eutra-RSTD", "nr-rrc.eutra_RSTD",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_RSTD_InfoList", HFILL }},
    { &hf_nr_rrc_eutra_FineTimingDetection,
      { "eutra-FineTimingDetection", "nr-rrc.eutra_FineTimingDetection_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_PRS_Measurement_r16,
      { "nr-PRS-Measurement-r16", "nr-rrc.nr_PRS_Measurement_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NR_PRS_MeasurementInfoList_r16", HFILL }},
    { &hf_nr_rrc_EUTRA_RSTD_InfoList_item,
      { "EUTRA-RSTD-Info", "nr-rrc.EUTRA_RSTD_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measPRS_Offset,
      { "measPRS-Offset", "nr-rrc.measPRS_Offset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_NR_PRS_MeasurementInfoList_r16_item,
      { "NR-PRS-MeasurementInfo-r16", "nr-rrc.NR_PRS_MeasurementInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_PRS_PointA_r16,
      { "dl-PRS-PointA-r16", "nr-rrc.dl_PRS_PointA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_nr_MeasPRS_RepetitionAndOffset_r16,
      { "nr-MeasPRS-RepetitionAndOffset-r16", "nr-rrc.nr_MeasPRS_RepetitionAndOffset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16_vals), 0,
        "T_nr_MeasPRS_RepetitionAndOffset_r16", HFILL }},
    { &hf_nr_rrc_ms20_r16,
      { "ms20-r16", "nr-rrc.ms20_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_ms40_r16,
      { "ms40-r16", "nr-rrc.ms40_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_ms80_r16,
      { "ms80-r16", "nr-rrc.ms80_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_ms160_r16,
      { "ms160-r16", "nr-rrc.ms160_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_nr_MeasPRS_length_r16,
      { "nr-MeasPRS-length-r16", "nr-rrc.nr_MeasPRS_length_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_MeasPRS_length_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_SpecificParameters,
      { "ul-SpecificParameters", "nr-rrc.ul_SpecificParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_priority,
      { "priority", "nr-rrc.priority",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_prioritisedBitRate,
      { "prioritisedBitRate", "nr-rrc.prioritisedBitRate",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prioritisedBitRate_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bucketSizeDuration,
      { "bucketSizeDuration", "nr-rrc.bucketSizeDuration",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bucketSizeDuration_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowedServingCells,
      { "allowedServingCells", "nr-rrc.allowedServingCells",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_allowedServingCells_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowedSCS_List,
      { "allowedSCS-List", "nr-rrc.allowedSCS_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_allowedSCS_List_item,
      { "SubcarrierSpacing", "nr-rrc.SubcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxPUSCH_Duration,
      { "maxPUSCH-Duration", "nr-rrc.maxPUSCH_Duration",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxPUSCH_Duration_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredGrantType1Allowed,
      { "configuredGrantType1Allowed", "nr-rrc.configuredGrantType1Allowed",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantType1Allowed_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logicalChannelGroup,
      { "logicalChannelGroup", "nr-rrc.logicalChannelGroup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxLCG_ID", HFILL }},
    { &hf_nr_rrc_schedulingRequestID,
      { "schedulingRequestID", "nr-rrc.schedulingRequestID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logicalChannelSR_Mask,
      { "logicalChannelSR-Mask", "nr-rrc.logicalChannelSR_Mask",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied,
      { "logicalChannelSR-DelayTimerApplied", "nr-rrc.logicalChannelSR_DelayTimerApplied",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_bitRateQueryProhibitTimer,
      { "bitRateQueryProhibitTimer", "nr-rrc.bitRateQueryProhibitTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bitRateQueryProhibitTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowedCG_List_r16,
      { "allowedCG-List-r16", "nr-rrc.allowedCG_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16", HFILL }},
    { &hf_nr_rrc_allowedCG_List_r16_item,
      { "ConfiguredGrantConfigIndexMAC-r16", "nr-rrc.ConfiguredGrantConfigIndexMAC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowedPHY_PriorityIndex_r16,
      { "allowedPHY-PriorityIndex-r16", "nr-rrc.allowedPHY_PriorityIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_allowedPHY_PriorityIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logicalChannelGroupIAB_Ext_r17,
      { "logicalChannelGroupIAB-Ext-r17", "nr-rrc.logicalChannelGroupIAB_Ext_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxLCG_ID_IAB_r17", HFILL }},
    { &hf_nr_rrc_allowedHARQ_mode_r17,
      { "allowedHARQ-mode-r17", "nr-rrc.allowedHARQ_mode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_allowedHARQ_mode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bitRateMultiplier_r16,
      { "bitRateMultiplier-r16", "nr-rrc.bitRateMultiplier_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bitRateMultiplier_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_LTE_NeighCellsCRS_AssistInfoList_r17_item,
      { "LTE-NeighCellsCRS-AssistInfo-r17", "nr-rrc.LTE_NeighCellsCRS_AssistInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_neighCarrierBandwidthDL_r17,
      { "neighCarrierBandwidthDL-r17", "nr-rrc.neighCarrierBandwidthDL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_neighCarrierBandwidthDL_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_neighCarrierFreqDL_r17,
      { "neighCarrierFreqDL-r17", "nr-rrc.neighCarrierFreqDL_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_16383", HFILL }},
    { &hf_nr_rrc_neighCellId_r17,
      { "neighCellId-r17", "nr-rrc.neighCellId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_PhysCellId", HFILL }},
    { &hf_nr_rrc_neighCRS_muting_r17,
      { "neighCRS-muting-r17", "nr-rrc.neighCRS_muting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_neighCRS_muting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_neighMBSFN_SubframeConfigList_r17,
      { "neighMBSFN-SubframeConfigList-r17", "nr-rrc.neighMBSFN_SubframeConfigList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_MBSFN_SubframeConfigList", HFILL }},
    { &hf_nr_rrc_neighNrofCRS_Ports_r17,
      { "neighNrofCRS-Ports-r17", "nr-rrc.neighNrofCRS_Ports_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_neighNrofCRS_Ports_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_neighV_Shift_r17,
      { "neighV-Shift-r17", "nr-rrc.neighV_Shift_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_neighV_Shift_r17_vals), 0,
        "T_neighV_Shift_r17", HFILL }},
    { &hf_nr_rrc_drx_Config,
      { "drx-Config", "nr-rrc.drx_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_59,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_Config", HFILL }},
    { &hf_nr_rrc_schedulingRequestConfig,
      { "schedulingRequestConfig", "nr-rrc.schedulingRequestConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bsr_Config,
      { "bsr-Config", "nr-rrc.bsr_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tag_Config,
      { "tag-Config", "nr-rrc.tag_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phr_Config,
      { "phr-Config", "nr-rrc.phr_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_60,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PHR_Config", HFILL }},
    { &hf_nr_rrc_mAC_CellGroupConfig_skipUplinkTxDynamic,
      { "skipUplinkTxDynamic", "nr-rrc.mAC_CellGroupConfig.skipUplinkTxDynamic",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_csi_Mask,
      { "csi-Mask", "nr-rrc.csi_Mask",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_dataInactivityTimer,
      { "dataInactivityTimer", "nr-rrc.dataInactivityTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dataInactivityTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_61,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DataInactivityTimer_vals), 0,
        "DataInactivityTimer", HFILL }},
    { &hf_nr_rrc_usePreBSR_r16,
      { "usePreBSR-r16", "nr-rrc.usePreBSR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_usePreBSR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingRequestID_LBT_SCell_r16,
      { "schedulingRequestID-LBT-SCell-r16", "nr-rrc.schedulingRequestID_LBT_SCell_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SchedulingRequestId", HFILL }},
    { &hf_nr_rrc_lch_BasedPrioritization_r16,
      { "lch-BasedPrioritization-r16", "nr-rrc.lch_BasedPrioritization_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_BasedPrioritization_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingRequestID_BFR_SCell_r16,
      { "schedulingRequestID-BFR-SCell-r16", "nr-rrc.schedulingRequestID_BFR_SCell_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SchedulingRequestId", HFILL }},
    { &hf_nr_rrc_drx_ConfigSecondaryGroup_r16,
      { "drx-ConfigSecondaryGroup-r16", "nr-rrc.drx_ConfigSecondaryGroup_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_ConfigSecondaryGroup_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_62,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_ConfigSecondaryGroup_r16", HFILL }},
    { &hf_nr_rrc_enhancedSkipUplinkTxDynamic_r16,
      { "enhancedSkipUplinkTxDynamic-r16", "nr-rrc.enhancedSkipUplinkTxDynamic_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedSkipUplinkTxDynamic_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedSkipUplinkTxConfigured_r16,
      { "enhancedSkipUplinkTxConfigured-r16", "nr-rrc.enhancedSkipUplinkTxConfigured_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedSkipUplinkTxConfigured_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraCG_Prioritization_r17,
      { "intraCG-Prioritization-r17", "nr-rrc.intraCG_Prioritization_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraCG_Prioritization_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_ConfigSL_r17,
      { "drx-ConfigSL-r17", "nr-rrc.drx_ConfigSL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_ConfigSL_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_63,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_ConfigSL_r17", HFILL }},
    { &hf_nr_rrc_drx_ConfigExt_v1700,
      { "drx-ConfigExt-v1700", "nr-rrc.drx_ConfigExt_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_ConfigExt_v1700_vals), 0,
        "T_drx_ConfigExt_v1700", HFILL }},
    { &hf_nr_rrc_setup_64,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_ConfigExt_v1700", HFILL }},
    { &hf_nr_rrc_schedulingRequestID_BFR_r17,
      { "schedulingRequestID-BFR-r17", "nr-rrc.schedulingRequestID_BFR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SchedulingRequestId", HFILL }},
    { &hf_nr_rrc_schedulingRequestID_BFR2_r17,
      { "schedulingRequestID-BFR2-r17", "nr-rrc.schedulingRequestID_BFR2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SchedulingRequestId", HFILL }},
    { &hf_nr_rrc_schedulingRequestConfig_v1700,
      { "schedulingRequestConfig-v1700", "nr-rrc.schedulingRequestConfig_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tar_Config_r17,
      { "tar-Config-r17", "nr-rrc.tar_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tar_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_65,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TAR_Config_r17", HFILL }},
    { &hf_nr_rrc_g_RNTI_ConfigToAddModList_r17,
      { "g-RNTI-ConfigToAddModList-r17", "nr-rrc.g_RNTI_ConfigToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17", HFILL }},
    { &hf_nr_rrc_g_RNTI_ConfigToAddModList_r17_item,
      { "MBS-RNTI-SpecificConfig-r17", "nr-rrc.MBS_RNTI_SpecificConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_g_RNTI_ConfigToReleaseList_r17,
      { "g-RNTI-ConfigToReleaseList-r17", "nr-rrc.g_RNTI_ConfigToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17", HFILL }},
    { &hf_nr_rrc_g_RNTI_ConfigToReleaseList_r17_item,
      { "MBS-RNTI-SpecificConfigId-r17", "nr-rrc.MBS_RNTI_SpecificConfigId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_g_CS_RNTI_ConfigToAddModList_r17,
      { "g-CS-RNTI-ConfigToAddModList-r17", "nr-rrc.g_CS_RNTI_ConfigToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17", HFILL }},
    { &hf_nr_rrc_g_CS_RNTI_ConfigToAddModList_r17_item,
      { "MBS-RNTI-SpecificConfig-r17", "nr-rrc.MBS_RNTI_SpecificConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_g_CS_RNTI_ConfigToReleaseList_r17,
      { "g-CS-RNTI-ConfigToReleaseList-r17", "nr-rrc.g_CS_RNTI_ConfigToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17", HFILL }},
    { &hf_nr_rrc_g_CS_RNTI_ConfigToReleaseList_r17_item,
      { "MBS-RNTI-SpecificConfigId-r17", "nr-rrc.MBS_RNTI_SpecificConfigId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowCSI_SRS_Tx_MulticastDRX_Active_r17,
      { "allowCSI-SRS-Tx-MulticastDRX-Active-r17", "nr-rrc.allowCSI_SRS_Tx_MulticastDRX_Active_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_schedulingRequestID_PosMG_Request_r17,
      { "schedulingRequestID-PosMG-Request-r17", "nr-rrc.schedulingRequestID_PosMG_Request_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SchedulingRequestId", HFILL }},
    { &hf_nr_rrc_drx_LastTransmissionUL_r17,
      { "drx-LastTransmissionUL-r17", "nr-rrc.drx_LastTransmissionUL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_LastTransmissionUL_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posMG_Request_r17,
      { "posMG-Request-r17", "nr-rrc.posMG_Request_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posMG_Request_r17_vals), 0,
        "T_posMG_Request_r17", HFILL }},
    { &hf_nr_rrc_mbs_RNTI_SpecificConfigId_r17,
      { "mbs-RNTI-SpecificConfigId-r17", "nr-rrc.mbs_RNTI_SpecificConfigId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_groupCommon_RNTI_r17,
      { "groupCommon-RNTI-r17", "nr-rrc.groupCommon_RNTI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupCommon_RNTI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_g_RNTI,
      { "g-RNTI", "nr-rrc.g_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_g_CS_RNTI,
      { "g-CS-RNTI", "nr-rrc.g_CS_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_drx_ConfigPTM_r17,
      { "drx-ConfigPTM-r17", "nr-rrc.drx_ConfigPTM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_ConfigPTM_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_66,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_ConfigPTM_r17", HFILL }},
    { &hf_nr_rrc_harq_FeedbackEnablerMulticast_r17,
      { "harq-FeedbackEnablerMulticast-r17", "nr-rrc.harq_FeedbackEnablerMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_FeedbackEnablerMulticast_r17_vals), 0,
        "T_harq_FeedbackEnablerMulticast_r17", HFILL }},
    { &hf_nr_rrc_harq_FeedbackOptionMulticast_r17,
      { "harq-FeedbackOptionMulticast-r17", "nr-rrc.harq_FeedbackOptionMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_FeedbackOptionMulticast_r17_vals), 0,
        "T_harq_FeedbackOptionMulticast_r17", HFILL }},
    { &hf_nr_rrc_pdsch_AggregationFactor_r17,
      { "pdsch-AggregationFactor-r17", "nr-rrc.pdsch_AggregationFactor_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_AggregationFactor_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectToRemoveList,
      { "measObjectToRemoveList", "nr-rrc.measObjectToRemoveList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectToAddModList,
      { "measObjectToAddModList", "nr-rrc.measObjectToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportConfigToRemoveList,
      { "reportConfigToRemoveList", "nr-rrc.reportConfigToRemoveList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportConfigToAddModList,
      { "reportConfigToAddModList", "nr-rrc.reportConfigToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measIdToRemoveList,
      { "measIdToRemoveList", "nr-rrc.measIdToRemoveList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measIdToAddModList,
      { "measIdToAddModList", "nr-rrc.measIdToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_MeasureConfig,
      { "s-MeasureConfig", "nr-rrc.s_MeasureConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_MeasureConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_RSRP,
      { "ssb-RSRP", "nr-rrc.ssb_RSRP",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_csi_RSRP,
      { "csi-RSRP", "nr-rrc.csi_RSRP",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_quantityConfig,
      { "quantityConfig", "nr-rrc.quantityConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measGapConfig_01,
      { "measGapConfig", "nr-rrc.measGapConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measGapSharingConfig,
      { "measGapSharingConfig", "nr-rrc.measGapSharingConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFrequencyConfig_NoGap_r16,
      { "interFrequencyConfig-NoGap-r16", "nr-rrc.interFrequencyConfig_NoGap_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFrequencyConfig_NoGap_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasObjectToRemoveList_item,
      { "MeasObjectId", "nr-rrc.MeasObjectId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasIdToRemoveList_item,
      { "MeasId", "nr-rrc.MeasId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ReportConfigToRemoveList_item,
      { "ReportConfigId", "nr-rrc.ReportConfigId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapFR2,
      { "gapFR2", "nr-rrc.gapFR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapFR2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapFR1,
      { "gapFR1", "nr-rrc.gapFR1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapFR1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapUE,
      { "gapUE", "nr-rrc.gapUE",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapUE_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapToAddModList_r17,
      { "gapToAddModList-r17", "nr-rrc.gapToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17", HFILL }},
    { &hf_nr_rrc_gapToAddModList_r17_item,
      { "GapConfig-r17", "nr-rrc.GapConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapToReleaseList_r17,
      { "gapToReleaseList-r17", "nr-rrc.gapToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17", HFILL }},
    { &hf_nr_rrc_gapToReleaseList_r17_item,
      { "MeasGapId-r17", "nr-rrc.MeasGapId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posMeasGapPreConfigToAddModList_r17,
      { "posMeasGapPreConfigToAddModList-r17", "nr-rrc.posMeasGapPreConfigToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posMeasGapPreConfigToReleaseList_r17,
      { "posMeasGapPreConfigToReleaseList-r17", "nr-rrc.posMeasGapPreConfigToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapOffset,
      { "gapOffset", "nr-rrc.gapOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_mgl,
      { "mgl", "nr-rrc.mgl",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgl_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mgrp,
      { "mgrp", "nr-rrc.mgrp",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgrp_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mgta,
      { "mgta", "nr-rrc.mgta",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgta_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_refServCellIndicator,
      { "refServCellIndicator", "nr-rrc.refServCellIndicator",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_refServCellIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_refFR2ServCellAsyncCA_r16,
      { "refFR2ServCellAsyncCA-r16", "nr-rrc.refFR2ServCellAsyncCA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_mgl_r16,
      { "mgl-r16", "nr-rrc.mgl_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgl_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measGapId_r17,
      { "measGapId-r17", "nr-rrc.measGapId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapType_r17,
      { "gapType-r17", "nr-rrc.gapType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapOffset_r17,
      { "gapOffset-r17", "nr-rrc.gapOffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_mgl_r17,
      { "mgl-r17", "nr-rrc.mgl_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgl_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mgrp_r17,
      { "mgrp-r17", "nr-rrc.mgrp_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgrp_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mgta_r17,
      { "mgta-r17", "nr-rrc.mgta_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgta_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_refServCellIndicator_r17,
      { "refServCellIndicator-r17", "nr-rrc.refServCellIndicator_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_refServCellIndicator_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_refFR2_ServCellAsyncCA_r17,
      { "refFR2-ServCellAsyncCA-r17", "nr-rrc.refFR2_ServCellAsyncCA_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_preConfigInd_r17,
      { "preConfigInd-r17", "nr-rrc.preConfigInd_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preConfigInd_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ncsgInd_r17,
      { "ncsgInd-r17", "nr-rrc.ncsgInd_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ncsgInd_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapAssociationPRS_r17,
      { "gapAssociationPRS-r17", "nr-rrc.gapAssociationPRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapAssociationPRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapSharing_r17,
      { "gapSharing-r17", "nr-rrc.gapSharing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasGapSharingScheme_vals), 0,
        "MeasGapSharingScheme", HFILL }},
    { &hf_nr_rrc_gapPriority_r17,
      { "gapPriority-r17", "nr-rrc.gapPriority_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PosMeasGapPreConfigToAddModList_r17_item,
      { "PosGapConfig-r17", "nr-rrc.PosGapConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_item,
      { "MeasPosPreConfigGapId-r17", "nr-rrc.MeasPosPreConfigGapId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measPosPreConfigGapId_r17,
      { "measPosPreConfigGapId-r17", "nr-rrc.measPosPreConfigGapId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mgl_r17_01,
      { "mgl-r17", "nr-rrc.mgl_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgl_r17_01_vals), 0,
        "T_mgl_r17_01", HFILL }},
    { &hf_nr_rrc_mgrp_r17_01,
      { "mgrp-r17", "nr-rrc.mgrp_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgrp_r17_01_vals), 0,
        "T_mgrp_r17_01", HFILL }},
    { &hf_nr_rrc_mgta_r17_01,
      { "mgta-r17", "nr-rrc.mgta_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgta_r17_01_vals), 0,
        "T_mgta_r17_01", HFILL }},
    { &hf_nr_rrc_gapType_r17_01,
      { "gapType-r17", "nr-rrc.gapType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapType_r17_01_vals), 0,
        "T_gapType_r17_01", HFILL }},
    { &hf_nr_rrc_gapSharingFR2,
      { "gapSharingFR2", "nr-rrc.gapSharingFR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingFR2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_67,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasGapSharingScheme_vals), 0,
        "MeasGapSharingScheme", HFILL }},
    { &hf_nr_rrc_gapSharingFR1,
      { "gapSharingFR1", "nr-rrc.gapSharingFR1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingFR1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapSharingUE,
      { "gapSharingUE", "nr-rrc.gapSharingUE",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingUE_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measIdleCarrierListNR_r16,
      { "measIdleCarrierListNR-r16", "nr-rrc.measIdleCarrierListNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16", HFILL }},
    { &hf_nr_rrc_measIdleCarrierListNR_r16_item,
      { "MeasIdleCarrierNR-r16", "nr-rrc.MeasIdleCarrierNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measIdleCarrierListEUTRA_r16,
      { "measIdleCarrierListEUTRA-r16", "nr-rrc.measIdleCarrierListEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16", HFILL }},
    { &hf_nr_rrc_measIdleCarrierListEUTRA_r16_item,
      { "MeasIdleCarrierEUTRA-r16", "nr-rrc.MeasIdleCarrierEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measIdleDuration_r16,
      { "measIdleDuration-r16", "nr-rrc.measIdleDuration_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measIdleDuration_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_validityAreaList_r16,
      { "validityAreaList-r16", "nr-rrc.validityAreaList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ValidityAreaList_r16_item,
      { "ValidityArea-r16", "nr-rrc.ValidityArea_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_validityCellList_r16,
      { "validityCellList-r16", "nr-rrc.validityCellList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ValidityCellList", HFILL }},
    { &hf_nr_rrc_ValidityCellList_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssbSubcarrierSpacing_r16,
      { "ssbSubcarrierSpacing-r16", "nr-rrc.ssbSubcarrierSpacing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_measCellListNR_r16,
      { "measCellListNR-r16", "nr-rrc.measCellListNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CellListNR_r16", HFILL }},
    { &hf_nr_rrc_reportQuantities_r16,
      { "reportQuantities-r16", "nr-rrc.reportQuantities_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantities_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_qualityThreshold_r16,
      { "qualityThreshold-r16", "nr-rrc.qualityThreshold_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_idleRSRP_Threshold_NR_r16,
      { "idleRSRP-Threshold-NR-r16", "nr-rrc.idleRSRP_Threshold_NR_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_idleRSRQ_Threshold_NR_r16,
      { "idleRSRQ-Threshold-NR-r16", "nr-rrc.idleRSRQ_Threshold_NR_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0,
        "RSRQ_Range", HFILL }},
    { &hf_nr_rrc_ssb_MeasConfig_r16,
      { "ssb-MeasConfig-r16", "nr-rrc.ssb_MeasConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofSS_BlocksToAverage_r16,
      { "nrofSS-BlocksToAverage-r16", "nr-rrc.nrofSS_BlocksToAverage_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_maxNrofSS_BlocksToAverage", HFILL }},
    { &hf_nr_rrc_absThreshSS_BlocksConsolidation_r16,
      { "absThreshSS-BlocksConsolidation-r16", "nr-rrc.absThreshSS_BlocksConsolidation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ThresholdNR", HFILL }},
    { &hf_nr_rrc_smtc_r16,
      { "smtc-r16", "nr-rrc.smtc_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_MTC", HFILL }},
    { &hf_nr_rrc_ssb_ToMeasure_r16,
      { "ssb-ToMeasure-r16", "nr-rrc.ssb_ToMeasure_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0,
        "SSB_ToMeasure", HFILL }},
    { &hf_nr_rrc_deriveSSB_IndexFromCell_r16,
      { "deriveSSB-IndexFromCell-r16", "nr-rrc.deriveSSB_IndexFromCell_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_ss_RSSI_Measurement_r16,
      { "ss-RSSI-Measurement-r16", "nr-rrc.ss_RSSI_Measurement_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SS_RSSI_Measurement", HFILL }},
    { &hf_nr_rrc_beamMeasConfigIdle_r16,
      { "beamMeasConfigIdle-r16", "nr-rrc.beamMeasConfigIdle_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BeamMeasConfigIdle_NR_r16", HFILL }},
    { &hf_nr_rrc_carrierFreqEUTRA_r16,
      { "carrierFreqEUTRA-r16", "nr-rrc.carrierFreqEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueEUTRA", HFILL }},
    { &hf_nr_rrc_allowedMeasBandwidth_r16,
      { "allowedMeasBandwidth-r16", "nr-rrc.allowedMeasBandwidth_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_EUTRA_AllowedMeasBandwidth_vals), 0,
        "EUTRA_AllowedMeasBandwidth", HFILL }},
    { &hf_nr_rrc_measCellListEUTRA_r16,
      { "measCellListEUTRA-r16", "nr-rrc.measCellListEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CellListEUTRA_r16", HFILL }},
    { &hf_nr_rrc_reportQuantitiesEUTRA_r16,
      { "reportQuantitiesEUTRA-r16", "nr-rrc.reportQuantitiesEUTRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantitiesEUTRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_qualityThresholdEUTRA_r16,
      { "qualityThresholdEUTRA-r16", "nr-rrc.qualityThresholdEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_idleRSRP_Threshold_EUTRA_r16,
      { "idleRSRP-Threshold-EUTRA-r16", "nr-rrc.idleRSRP_Threshold_EUTRA_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt), 0,
        "RSRP_RangeEUTRA", HFILL }},
    { &hf_nr_rrc_idleRSRQ_Threshold_EUTRA_r16,
      { "idleRSRQ-Threshold-EUTRA-r16", "nr-rrc.idleRSRQ_Threshold_EUTRA_r16",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_r16_fmt), 0,
        "RSRQ_RangeEUTRA_r16", HFILL }},
    { &hf_nr_rrc_CellListNR_r16_item,
      { "PCI-Range", "nr-rrc.PCI_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CellListEUTRA_r16_item,
      { "EUTRA-PhysCellIdRange", "nr-rrc.EUTRA_PhysCellIdRange_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportQuantityRS_Indexes_r16,
      { "reportQuantityRS-Indexes-r16", "nr-rrc.reportQuantityRS_Indexes_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantityRS_Indexes_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNrofRS_IndexesToReport_r16,
      { "maxNrofRS-IndexesToReport-r16", "nr-rrc.maxNrofRS_IndexesToReport_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofIndexesToReport", HFILL }},
    { &hf_nr_rrc_includeBeamMeasurements_r16,
      { "includeBeamMeasurements-r16", "nr-rrc.includeBeamMeasurements_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_MeasIdToAddModList_item,
      { "MeasIdToAddMod", "nr-rrc.MeasIdToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measId,
      { "measId", "nr-rrc.measId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectId,
      { "measObjectId", "nr-rrc.measObjectId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportConfigId_01,
      { "reportConfigId", "nr-rrc.reportConfigId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cli_ResourceConfig_r16,
      { "cli-ResourceConfig-r16", "nr-rrc.cli_ResourceConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ResourceConfig_r16,
      { "srs-ResourceConfig-r16", "nr-rrc.srs_ResourceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_ResourceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_68,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRS_ResourceListConfigCLI_r16", HFILL }},
    { &hf_nr_rrc_rssi_ResourceConfig_r16,
      { "rssi-ResourceConfig-r16", "nr-rrc.rssi_ResourceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rssi_ResourceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_69,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RSSI_ResourceListConfigCLI_r16", HFILL }},
    { &hf_nr_rrc_SRS_ResourceListConfigCLI_r16_item,
      { "SRS-ResourceConfigCLI-r16", "nr-rrc.SRS_ResourceConfigCLI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_RSSI_ResourceListConfigCLI_r16_item,
      { "RSSI-ResourceConfigCLI-r16", "nr-rrc.RSSI_ResourceConfigCLI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_Resource_r16,
      { "srs-Resource-r16", "nr-rrc.srs_Resource_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_Resource", HFILL }},
    { &hf_nr_rrc_srs_SCS_r16,
      { "srs-SCS-r16", "nr-rrc.srs_SCS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_refServCellIndex_r16,
      { "refServCellIndex-r16", "nr-rrc.refServCellIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_refBWP_r16,
      { "refBWP-r16", "nr-rrc.refBWP_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_rssi_ResourceId_r16,
      { "rssi-ResourceId-r16", "nr-rrc.rssi_ResourceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rssi_SCS_r16,
      { "rssi-SCS-r16", "nr-rrc.rssi_SCS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_startPRB_r16,
      { "startPRB-r16", "nr-rrc.startPRB_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2169", HFILL }},
    { &hf_nr_rrc_nrofPRBs_r16,
      { "nrofPRBs-r16", "nr-rrc.nrofPRBs_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_4_maxNrofPhysicalResourceBlocksPlus1", HFILL }},
    { &hf_nr_rrc_startPosition_r16,
      { "startPosition-r16", "nr-rrc.startPosition_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13", HFILL }},
    { &hf_nr_rrc_nrofSymbols_r16,
      { "nrofSymbols-r16", "nr-rrc.nrofSymbols_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_14", HFILL }},
    { &hf_nr_rrc_rssi_PeriodicityAndOffset_r16,
      { "rssi-PeriodicityAndOffset-r16", "nr-rrc.rssi_PeriodicityAndOffset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RSSI_PeriodicityAndOffset_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl10,
      { "sl10", "nr-rrc.sl10",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_sl20,
      { "sl20", "nr-rrc.sl20",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_sl40,
      { "sl40", "nr-rrc.sl40",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_sl80,
      { "sl80", "nr-rrc.sl80",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_sl160,
      { "sl160", "nr-rrc.sl160",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_sl320,
      { "sl320", "nr-rrc.sl320",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_s1640,
      { "s1640", "nr-rrc.s1640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_cellsToRemoveListEUTRAN,
      { "cellsToRemoveListEUTRAN", "nr-rrc.cellsToRemoveListEUTRAN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_CellIndexList", HFILL }},
    { &hf_nr_rrc_cellsToAddModListEUTRAN,
      { "cellsToAddModListEUTRAN", "nr-rrc.cellsToAddModListEUTRAN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell", HFILL }},
    { &hf_nr_rrc_cellsToAddModListEUTRAN_item,
      { "EUTRA-Cell", "nr-rrc.EUTRA_Cell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_excludedCellsToRemoveListEUTRAN,
      { "excludedCellsToRemoveListEUTRAN", "nr-rrc.excludedCellsToRemoveListEUTRAN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_CellIndexList", HFILL }},
    { &hf_nr_rrc_excludedCellsToAddModListEUTRAN,
      { "excludedCellsToAddModListEUTRAN", "nr-rrc.excludedCellsToAddModListEUTRAN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell", HFILL }},
    { &hf_nr_rrc_excludedCellsToAddModListEUTRAN_item,
      { "EUTRA-ExcludedCell", "nr-rrc.EUTRA_ExcludedCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_PresenceAntennaPort1,
      { "eutra-PresenceAntennaPort1", "nr-rrc.eutra_PresenceAntennaPort1",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_Q_OffsetRange,
      { "eutra-Q-OffsetRange", "nr-rrc.eutra_Q_OffsetRange",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_widebandRSRQ_Meas,
      { "widebandRSRQ-Meas", "nr-rrc.widebandRSRQ_Meas",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_associatedMeasGap_r17,
      { "associatedMeasGap-r17", "nr-rrc.associatedMeasGap_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasGapId_r17", HFILL }},
    { &hf_nr_rrc_EUTRA_CellIndexList_item,
      { "EUTRA-CellIndex", "nr-rrc.EUTRA_CellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellIndexEUTRA,
      { "cellIndexEUTRA", "nr-rrc.cellIndexEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_CellIndex", HFILL }},
    { &hf_nr_rrc_cellIndividualOffset,
      { "cellIndividualOffset", "nr-rrc.cellIndividualOffset",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0,
        "EUTRA_Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_physCellIdRange,
      { "physCellIdRange", "nr-rrc.physCellIdRange_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EUTRA_PhysCellIdRange", HFILL }},
    { &hf_nr_rrc_smtc1,
      { "smtc1", "nr-rrc.smtc1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_MTC", HFILL }},
    { &hf_nr_rrc_smtc2,
      { "smtc2", "nr-rrc.smtc2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_MTC2", HFILL }},
    { &hf_nr_rrc_refFreqCSI_RS,
      { "refFreqCSI-RS", "nr-rrc.refFreqCSI_RS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_referenceSignalConfig,
      { "referenceSignalConfig", "nr-rrc.referenceSignalConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_absThreshCSI_RS_Consolidation,
      { "absThreshCSI-RS-Consolidation", "nr-rrc.absThreshCSI_RS_Consolidation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ThresholdNR", HFILL }},
    { &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage,
      { "nrofCSI-RS-ResourcesToAverage", "nr-rrc.nrofCSI_RS_ResourcesToAverage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_maxNrofCSI_RS_ResourcesToAverage", HFILL }},
    { &hf_nr_rrc_quantityConfigIndex,
      { "quantityConfigIndex", "nr-rrc.quantityConfigIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofQuantityConfig", HFILL }},
    { &hf_nr_rrc_offsetMO,
      { "offsetMO", "nr-rrc.offsetMO_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Q_OffsetRangeList", HFILL }},
    { &hf_nr_rrc_cellsToRemoveList,
      { "cellsToRemoveList", "nr-rrc.cellsToRemoveList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PCI_List", HFILL }},
    { &hf_nr_rrc_cellsToAddModList,
      { "cellsToAddModList", "nr-rrc.cellsToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_excludedCellsToRemoveList,
      { "excludedCellsToRemoveList", "nr-rrc.excludedCellsToRemoveList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PCI_RangeIndexList", HFILL }},
    { &hf_nr_rrc_excludedCellsToAddModList,
      { "excludedCellsToAddModList", "nr-rrc.excludedCellsToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement", HFILL }},
    { &hf_nr_rrc_excludedCellsToAddModList_item,
      { "PCI-RangeElement", "nr-rrc.PCI_RangeElement_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allowedCellsToRemoveList,
      { "allowedCellsToRemoveList", "nr-rrc.allowedCellsToRemoveList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PCI_RangeIndexList", HFILL }},
    { &hf_nr_rrc_allowedCellsToAddModList,
      { "allowedCellsToAddModList", "nr-rrc.allowedCellsToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement", HFILL }},
    { &hf_nr_rrc_allowedCellsToAddModList_item,
      { "PCI-RangeElement", "nr-rrc.PCI_RangeElement_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_freqBandIndicatorNR,
      { "freqBandIndicatorNR", "nr-rrc.freqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measCycleSCell,
      { "measCycleSCell", "nr-rrc.measCycleSCell",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measCycleSCell_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_smtc3list_r16,
      { "smtc3list-r16", "nr-rrc.smtc3list_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_MTC3List_r16", HFILL }},
    { &hf_nr_rrc_rmtc_Config_r16,
      { "rmtc-Config-r16", "nr-rrc.rmtc_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rmtc_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_70,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RMTC_Config_r16", HFILL }},
    { &hf_nr_rrc_t312_r16,
      { "t312-r16", "nr-rrc.t312_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t312_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_71,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T312_r16_vals), 0,
        "T312_r16", HFILL }},
    { &hf_nr_rrc_associatedMeasGapSSB_r17,
      { "associatedMeasGapSSB-r17", "nr-rrc.associatedMeasGapSSB_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasGapId_r17", HFILL }},
    { &hf_nr_rrc_associatedMeasGapCSIRS_r17,
      { "associatedMeasGapCSIRS-r17", "nr-rrc.associatedMeasGapCSIRS_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasGapId_r17", HFILL }},
    { &hf_nr_rrc_measCyclePSCell_r17,
      { "measCyclePSCell-r17", "nr-rrc.measCyclePSCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measCyclePSCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellsToAddModListExt_v1710,
      { "cellsToAddModListExt-v1710", "nr-rrc.cellsToAddModListExt_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_associatedMeasGapSSB2_v1720,
      { "associatedMeasGapSSB2-v1720", "nr-rrc.associatedMeasGapSSB2_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasGapId_r17", HFILL }},
    { &hf_nr_rrc_associatedMeasGapCSIRS2_v1720,
      { "associatedMeasGapCSIRS2-v1720", "nr-rrc.associatedMeasGapCSIRS2_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasGapId_r17", HFILL }},
    { &hf_nr_rrc_SSB_MTC3List_r16_item,
      { "SSB-MTC3-r16", "nr-rrc.SSB_MTC3_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SSB_MTC4List_r17_item,
      { "SSB-MTC4-r17", "nr-rrc.SSB_MTC4_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_ConfigMobility,
      { "ssb-ConfigMobility", "nr-rrc.ssb_ConfigMobility_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_rs_ResourceConfigMobility,
      { "csi-rs-ResourceConfigMobility", "nr-rrc.csi_rs_ResourceConfigMobility",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_rs_ResourceConfigMobility_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_72,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CSI_RS_ResourceConfigMobility", HFILL }},
    { &hf_nr_rrc_ssb_ToMeasure_01,
      { "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_73,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0,
        "SSB_ToMeasure", HFILL }},
    { &hf_nr_rrc_ssb_PositionQCL_CellsToAddModList_r16,
      { "ssb-PositionQCL-CellsToAddModList-r16", "nr-rrc.ssb_PositionQCL_CellsToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_PositionQCL_CellsToRemoveList_r16,
      { "ssb-PositionQCL-CellsToRemoveList-r16", "nr-rrc.ssb_PositionQCL_CellsToRemoveList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PCI_List", HFILL }},
    { &hf_nr_rrc_deriveSSB_IndexFromCellInter_r17,
      { "deriveSSB-IndexFromCellInter-r17", "nr-rrc.deriveSSB_IndexFromCellInter_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_ssb_PositionQCL_Cells_r17,
      { "ssb-PositionQCL-Cells-r17", "nr-rrc.ssb_PositionQCL_Cells_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionQCL_Cells_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_74,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_PositionQCL_CellList_r17", HFILL }},
    { &hf_nr_rrc_cca_CellsToAddModList_r17,
      { "cca-CellsToAddModList-r17", "nr-rrc.cca_CellsToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PCI_List", HFILL }},
    { &hf_nr_rrc_cca_CellsToRemoveList_r17,
      { "cca-CellsToRemoveList-r17", "nr-rrc.cca_CellsToRemoveList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PCI_List", HFILL }},
    { &hf_nr_rrc_rsrpOffsetSSB,
      { "rsrpOffsetSSB", "nr-rrc.rsrpOffsetSSB",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        "Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_rsrqOffsetSSB,
      { "rsrqOffsetSSB", "nr-rrc.rsrqOffsetSSB",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        "Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_sinrOffsetSSB,
      { "sinrOffsetSSB", "nr-rrc.sinrOffsetSSB",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        "Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_rsrpOffsetCSI_RS,
      { "rsrpOffsetCSI-RS", "nr-rrc.rsrpOffsetCSI_RS",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        "Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_rsrqOffsetCSI_RS,
      { "rsrqOffsetCSI-RS", "nr-rrc.rsrqOffsetCSI_RS",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        "Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_sinrOffsetCSI_RS,
      { "sinrOffsetCSI-RS", "nr-rrc.sinrOffsetCSI_RS",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
        "Q_OffsetRange", HFILL }},
    { &hf_nr_rrc_thresholdRSRP,
      { "thresholdRSRP", "nr-rrc.thresholdRSRP",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_thresholdRSRQ,
      { "thresholdRSRQ", "nr-rrc.thresholdRSRQ",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0,
        "RSRQ_Range", HFILL }},
    { &hf_nr_rrc_thresholdSINR,
      { "thresholdSINR", "nr-rrc.thresholdSINR",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_Range_fmt), 0,
        "SINR_Range", HFILL }},
    { &hf_nr_rrc_CellsToAddModList_item,
      { "CellsToAddMod", "nr-rrc.CellsToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CellsToAddModListExt_v1710_item,
      { "CellsToAddModExt-v1710", "nr-rrc.CellsToAddModExt_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellIndividualOffset_01,
      { "cellIndividualOffset", "nr-rrc.cellIndividualOffset_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Q_OffsetRangeList", HFILL }},
    { &hf_nr_rrc_ntn_PolarizationDL_r17,
      { "ntn-PolarizationDL-r17", "nr-rrc.ntn_PolarizationDL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ntn_PolarizationDL_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ntn_PolarizationUL_r17,
      { "ntn-PolarizationUL-r17", "nr-rrc.ntn_PolarizationUL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ntn_PolarizationUL_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rmtc_Periodicity_r16,
      { "rmtc-Periodicity-r16", "nr-rrc.rmtc_Periodicity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rmtc_Periodicity_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rmtc_SubframeOffset_r16,
      { "rmtc-SubframeOffset-r16", "nr-rrc.rmtc_SubframeOffset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_measDurationSymbols_r16,
      { "measDurationSymbols-r16", "nr-rrc.measDurationSymbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measDurationSymbols_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rmtc_Frequency_r16,
      { "rmtc-Frequency-r16", "nr-rrc.rmtc_Frequency_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_ref_SCS_CP_r16,
      { "ref-SCS-CP-r16", "nr-rrc.ref_SCS_CP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ref_SCS_CP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rmtc_Bandwidth_r17,
      { "rmtc-Bandwidth-r17", "nr-rrc.rmtc_Bandwidth_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rmtc_Bandwidth_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measDurationSymbols_v1700,
      { "measDurationSymbols-v1700", "nr-rrc.measDurationSymbols_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measDurationSymbols_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ref_SCS_CP_v1700,
      { "ref-SCS-CP-v1700", "nr-rrc.ref_SCS_CP_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ref_SCS_CP_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_StateInfo_r17,
      { "tci-StateInfo-r17", "nr-rrc.tci_StateInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_StateId_r17,
      { "tci-StateId-r17", "nr-rrc.tci_StateId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TCI_StateId", HFILL }},
    { &hf_nr_rrc_ref_ServCellId_r17,
      { "ref-ServCellId-r17", "nr-rrc.ref_ServCellId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_ref_BWPId_r17,
      { "ref-BWPId-r17", "nr-rrc.ref_BWPId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16_item,
      { "SSB-PositionQCL-CellsToAddMod-r16", "nr-rrc.SSB_PositionQCL_CellsToAddMod_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SSB_PositionQCL_CellList_r17_item,
      { "SSB-PositionQCL-Cell-r17", "nr-rrc.SSB_PositionQCL_Cell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tx_PoolMeasToRemoveList_r16,
      { "tx-PoolMeasToRemoveList-r16", "nr-rrc.tx_PoolMeasToRemoveList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Tx_PoolMeasList_r16", HFILL }},
    { &hf_nr_rrc_tx_PoolMeasToAddModList_r16,
      { "tx-PoolMeasToAddModList-r16", "nr-rrc.tx_PoolMeasToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Tx_PoolMeasList_r16", HFILL }},
    { &hf_nr_rrc_Tx_PoolMeasList_r16_item,
      { "SL-ResourcePoolID-r16", "nr-rrc.SL_ResourcePoolID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_Ref_r17,
      { "dl-Ref-r17", "nr-rrc.dl_Ref_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_Ref_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prs_Ref_r17,
      { "prs-Ref-r17", "nr-rrc.prs_Ref_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_Ref_r17,
      { "csi-RS-Ref-r17", "nr-rrc.csi_RS_Ref_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasObjectToAddModList_item,
      { "MeasObjectToAddMod", "nr-rrc.MeasObjectToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObject,
      { "measObject", "nr-rrc.measObject",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measObject_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectNR,
      { "measObjectNR", "nr-rrc.measObjectNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectEUTRA,
      { "measObjectEUTRA", "nr-rrc.measObjectEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectUTRA_FDD_r16,
      { "measObjectUTRA-FDD-r16", "nr-rrc.measObjectUTRA_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectNR_SL_r16,
      { "measObjectNR-SL-r16", "nr-rrc.measObjectNR_SL_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectCLI_r16,
      { "measObjectCLI-r16", "nr-rrc.measObjectCLI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectRxTxDiff_r17,
      { "measObjectRxTxDiff-r17", "nr-rrc.measObjectRxTxDiff_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measObjectRelay_r17,
      { "measObjectRelay-r17", "nr-rrc.measObjectRelay_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_MeasObject_r16", HFILL }},
    { &hf_nr_rrc_utra_FDD_Q_OffsetRange_r16,
      { "utra-FDD-Q-OffsetRange-r16", "nr-rrc.utra_FDD_Q_OffsetRange_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_UTRA_FDD_Q_OffsetRange_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellsToRemoveList_r16,
      { "cellsToRemoveList-r16", "nr-rrc.cellsToRemoveList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UTRA_FDD_CellIndexList_r16", HFILL }},
    { &hf_nr_rrc_cellsToAddModList_r16,
      { "cellsToAddModList-r16", "nr-rrc.cellsToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CellsToAddModListUTRA_FDD_r16", HFILL }},
    { &hf_nr_rrc_CellsToAddModListUTRA_FDD_r16_item,
      { "CellsToAddModUTRA-FDD-r16", "nr-rrc.CellsToAddModUTRA_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellIndexUTRA_FDD_r16,
      { "cellIndexUTRA-FDD-r16", "nr-rrc.cellIndexUTRA_FDD_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UTRA_FDD_CellIndex_r16", HFILL }},
    { &hf_nr_rrc_physCellId_r16_01,
      { "physCellId-r16", "nr-rrc.physCellId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellIdUTRA_FDD_r16", HFILL }},
    { &hf_nr_rrc_UTRA_FDD_CellIndexList_r16_item,
      { "UTRA-FDD-CellIndex-r16", "nr-rrc.UTRA_FDD_CellIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultCellListSFTD_NR_item,
      { "MeasResultCellSFTD-NR", "nr-rrc.MeasResultCellSFTD_NR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_OffsetResult,
      { "sfn-OffsetResult", "nr-rrc.sfn_OffsetResult",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_frameBoundaryOffsetResult,
      { "frameBoundaryOffsetResult", "nr-rrc.frameBoundaryOffsetResult",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M30720_30719", HFILL }},
    { &hf_nr_rrc_rsrp_Result,
      { "rsrp-Result", "nr-rrc.rsrp_Result",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_MeasResultCellListSFTD_EUTRA_item,
      { "MeasResultSFTD-EUTRA", "nr-rrc.MeasResultSFTD_EUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_PhysCellId,
      { "eutra-PhysCellId", "nr-rrc.eutra_PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultServingMOList,
      { "measResultServingMOList", "nr-rrc.measResultServingMOList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultServMOList", HFILL }},
    { &hf_nr_rrc_measResultNeighCells,
      { "measResultNeighCells", "nr-rrc.measResultNeighCells",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measResultNeighCells_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultListNR,
      { "measResultListNR", "nr-rrc.measResultListNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultListEUTRA,
      { "measResultListEUTRA", "nr-rrc.measResultListEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultListUTRA_FDD_r16,
      { "measResultListUTRA-FDD-r16", "nr-rrc.measResultListUTRA_FDD_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasResultsCandRelay_r17,
      { "sl-MeasResultsCandRelay-r17", "nr-rrc.sl_MeasResultsCandRelay_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultServFreqListEUTRA_SCG,
      { "measResultServFreqListEUTRA-SCG", "nr-rrc.measResultServFreqListEUTRA_SCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultServFreqListNR_SCG,
      { "measResultServFreqListNR-SCG", "nr-rrc.measResultServFreqListNR_SCG",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultSFTD_EUTRA,
      { "measResultSFTD-EUTRA", "nr-rrc.measResultSFTD_EUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultSFTD_NR,
      { "measResultSFTD-NR", "nr-rrc.measResultSFTD_NR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasResultCellSFTD_NR", HFILL }},
    { &hf_nr_rrc_measResultForRSSI_r16,
      { "measResultForRSSI-r16", "nr-rrc.measResultForRSSI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_PDCP_DelayValueResultList_r16,
      { "ul-PDCP-DelayValueResultList-r16", "nr-rrc.ul_PDCP_DelayValueResultList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultsSL_r16,
      { "measResultsSL-r16", "nr-rrc.measResultsSL_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultCLI_r16,
      { "measResultCLI-r16", "nr-rrc.measResultCLI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultRxTxTimeDiff_r17,
      { "measResultRxTxTimeDiff-r17", "nr-rrc.measResultRxTxTimeDiff_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasResultServingRelay_r17,
      { "sl-MeasResultServingRelay-r17", "nr-rrc.sl_MeasResultServingRelay_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_PDCP_ExcessDelayResultList_r17,
      { "ul-PDCP-ExcessDelayResultList-r17", "nr-rrc.ul_PDCP_ExcessDelayResultList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_coarseLocationInfo_r17_01,
      { "coarseLocationInfo-r17", "nr-rrc.coarseLocationInfo_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_coarseLocationInfo_r17_01", HFILL }},
    { &hf_nr_rrc_MeasResultServMOList_item,
      { "MeasResultServMO", "nr-rrc.MeasResultServMO_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servCellId,
      { "servCellId", "nr-rrc.servCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_measResultServingCell,
      { "measResultServingCell", "nr-rrc.measResultServingCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasResultNR", HFILL }},
    { &hf_nr_rrc_measResultBestNeighCell,
      { "measResultBestNeighCell", "nr-rrc.measResultBestNeighCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasResultNR", HFILL }},
    { &hf_nr_rrc_MeasResultListNR_item,
      { "MeasResultNR", "nr-rrc.MeasResultNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResult,
      { "measResult", "nr-rrc.measResult_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellResults,
      { "cellResults", "nr-rrc.cellResults_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resultsCSI_RS_Cell,
      { "resultsCSI-RS-Cell", "nr-rrc.resultsCSI_RS_Cell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_rsIndexResults,
      { "rsIndexResults", "nr-rrc.rsIndexResults_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resultsSSB_Indexes,
      { "resultsSSB-Indexes", "nr-rrc.resultsSSB_Indexes",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ResultsPerSSB_IndexList", HFILL }},
    { &hf_nr_rrc_resultsCSI_RS_Indexes,
      { "resultsCSI-RS-Indexes", "nr-rrc.resultsCSI_RS_Indexes",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ResultsPerCSI_RS_IndexList", HFILL }},
    { &hf_nr_rrc_choCandidate_r17,
      { "choCandidate-r17", "nr-rrc.choCandidate_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_choCandidate_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_choConfig_r17,
      { "choConfig-r17", "nr-rrc.choConfig_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16", HFILL }},
    { &hf_nr_rrc_choConfig_r17_item,
      { "CondTriggerConfig-r16", "nr-rrc.CondTriggerConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_triggeredEvent_r17,
      { "triggeredEvent-r17", "nr-rrc.triggeredEvent_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_triggeredEvent_r17", HFILL }},
    { &hf_nr_rrc_timeBetweenEvents_r17,
      { "timeBetweenEvents-r17", "nr-rrc.timeBetweenEvents_r17",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
        "TimeBetweenEvent_r17", HFILL }},
    { &hf_nr_rrc_firstTriggeredEvent,
      { "firstTriggeredEvent", "nr-rrc.firstTriggeredEvent",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstTriggeredEvent_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultListEUTRA_item,
      { "MeasResultEUTRA", "nr-rrc.MeasResultEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_PhysCellId_01,
      { "eutra-PhysCellId", "nr-rrc.eutra_PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_measResult_01,
      { "measResult", "nr-rrc.measResult_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResultsEUTRA", HFILL }},
    { &hf_nr_rrc_cgi_Info_02,
      { "cgi-Info", "nr-rrc.cgi_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_InfoEUTRA", HFILL }},
    { &hf_nr_rrc_MultiBandInfoListEUTRA_item,
      { "FreqBandIndicatorEUTRA", "nr-rrc.FreqBandIndicatorEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measQuantityResults_rsrp,
      { "rsrp", "nr-rrc.measQuantityResults.rsrp",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_measQuantityResults_rsrq,
      { "rsrq", "nr-rrc.measQuantityResults.rsrq",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0,
        "RSRQ_Range", HFILL }},
    { &hf_nr_rrc_measQuantityResultssinr,
      { "sinr", "nr-rrc.measQuantityResults.sinr",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_Range_fmt), 0,
        "SINR_Range", HFILL }},
    { &hf_nr_rrc_measQuantityResultsEUTRA_rsrp,
      { "rsrp", "nr-rrc.measQuantityResultsEUTRA.rsrp",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt), 0,
        "RSRP_RangeEUTRA", HFILL }},
    { &hf_nr_rrc_measQuantityResultsEUTRA_rsrq,
      { "rsrq", "nr-rrc.measQuantityResultsEUTRA.rsrq",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt), 0,
        "RSRQ_RangeEUTRA", HFILL }},
    { &hf_nr_rrc_measQuantityResultsEUTRA_sinr,
      { "sinr", "nr-rrc.measQuantityResultsEUTRA.sinr",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt), 0,
        "SINR_RangeEUTRA", HFILL }},
    { &hf_nr_rrc_ResultsPerSSB_IndexList_item,
      { "ResultsPerSSB-Index", "nr-rrc.ResultsPerSSB_Index_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Results,
      { "ssb-Results", "nr-rrc.ssb_Results_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_ResultsPerCSI_RS_IndexList_item,
      { "ResultsPerCSI-RS-Index", "nr-rrc.ResultsPerCSI_RS_Index_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_Results,
      { "csi-RS-Results", "nr-rrc.csi_RS_Results_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasQuantityResults", HFILL }},
    { &hf_nr_rrc_MeasResultServFreqListEUTRA_SCG_item,
      { "MeasResult2EUTRA", "nr-rrc.MeasResult2EUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultServFreqListNR_SCG_item,
      { "MeasResult2NR", "nr-rrc.MeasResult2NR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultListUTRA_FDD_r16_item,
      { "MeasResultUTRA-FDD-r16", "nr-rrc.MeasResultUTRA_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResult_r16_02,
      { "measResult-r16", "nr-rrc.measResult_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_measResult_r16_02", HFILL }},
    { &hf_nr_rrc_utra_FDD_RSCP_r16,
      { "utra-FDD-RSCP-r16", "nr-rrc.utra_FDD_RSCP_r16",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_utra_FDD_RSCP_r16_fmt), 0,
        "INTEGER_M5_91", HFILL }},
    { &hf_nr_rrc_utra_FDD_EcN0_r16,
      { "utra-FDD-EcN0-r16", "nr-rrc.utra_FDD_EcN0_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_utra_FDD_EcN0_r16_fmt), 0,
        "INTEGER_0_49", HFILL }},
    { &hf_nr_rrc_rssi_Result_r16,
      { "rssi-Result-r16", "nr-rrc.rssi_Result_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSSI_Range_r16_fmt), 0,
        "RSSI_Range_r16", HFILL }},
    { &hf_nr_rrc_channelOccupancy_r16,
      { "channelOccupancy-r16", "nr-rrc.channelOccupancy_r16",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_percent, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_nr_rrc_measResultListSRS_RSRP_r16,
      { "measResultListSRS-RSRP-r16", "nr-rrc.measResultListSRS_RSRP_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultListCLI_RSSI_r16,
      { "measResultListCLI-RSSI-r16", "nr-rrc.measResultListCLI_RSSI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MeasResultListSRS_RSRP_r16_item,
      { "MeasResultSRS-RSRP-r16", "nr-rrc.MeasResultSRS_RSRP_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ResourceId_r16,
      { "srs-ResourceId-r16", "nr-rrc.srs_ResourceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRS_ResourceId", HFILL }},
    { &hf_nr_rrc_srs_RSRP_Result_r16,
      { "srs-RSRP-Result-r16", "nr-rrc.srs_RSRP_Result_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SRS_RSRP_r16_fmt), 0,
        "SRS_RSRP_Range_r16", HFILL }},
    { &hf_nr_rrc_MeasResultListCLI_RSSI_r16_item,
      { "MeasResultCLI-RSSI-r16", "nr-rrc.MeasResultCLI_RSSI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cli_RSSI_Result_r16,
      { "cli-RSSI-Result-r16", "nr-rrc.cli_RSSI_Result_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSSI_Range_r16_fmt), 0,
        "CLI_RSSI_Range_r16", HFILL }},
    { &hf_nr_rrc_UL_PDCP_DelayValueResultList_r16_item,
      { "UL-PDCP-DelayValueResult-r16", "nr-rrc.UL_PDCP_DelayValueResult_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_Id_r16,
      { "drb-Id-r16", "nr-rrc.drb_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DRB_Identity", HFILL }},
    { &hf_nr_rrc_averageDelay_r16,
      { "averageDelay-r16", "nr-rrc.averageDelay_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_averageDelay_r16_fmt), 0,
        "INTEGER_0_10000", HFILL }},
    { &hf_nr_rrc_UL_PDCP_ExcessDelayResultList_r17_item,
      { "UL-PDCP-ExcessDelayResult-r17", "nr-rrc.UL_PDCP_ExcessDelayResult_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_Id_r17,
      { "drb-Id-r17", "nr-rrc.drb_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DRB_Identity", HFILL }},
    { &hf_nr_rrc_excessDelay_r17,
      { "excessDelay-r17", "nr-rrc.excessDelay_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_measResultServingCell_01,
      { "measResultServingCell", "nr-rrc.measResultServingCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasResultEUTRA", HFILL }},
    { &hf_nr_rrc_measResultBestNeighCell_01,
      { "measResultBestNeighCell", "nr-rrc.measResultBestNeighCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasResultEUTRA", HFILL }},
    { &hf_nr_rrc_measResultNeighCellListNR_02,
      { "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultListNR", HFILL }},
    { &hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16,
      { "measResultsPerCarrierListIdleEUTRA-r16", "nr-rrc.measResultsPerCarrierListIdleEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16", HFILL }},
    { &hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16_item,
      { "MeasResultsPerCarrierIdleEUTRA-r16", "nr-rrc.MeasResultsPerCarrierIdleEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16,
      { "measResultsPerCellListIdleEUTRA-r16", "nr-rrc.measResultsPerCellListIdleEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16", HFILL }},
    { &hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16_item,
      { "MeasResultsPerCellIdleEUTRA-r16", "nr-rrc.MeasResultsPerCellIdleEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_PhysCellId_r16,
      { "eutra-PhysCellId-r16", "nr-rrc.eutra_PhysCellId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_PhysCellId", HFILL }},
    { &hf_nr_rrc_measIdleResultEUTRA_r16,
      { "measIdleResultEUTRA-r16", "nr-rrc.measIdleResultEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rsrp_ResultEUTRA_r16,
      { "rsrp-ResultEUTRA-r16", "nr-rrc.rsrp_ResultEUTRA_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt), 0,
        "RSRP_RangeEUTRA", HFILL }},
    { &hf_nr_rrc_rsrq_ResultEUTRA_r16,
      { "rsrq-ResultEUTRA-r16", "nr-rrc.rsrq_ResultEUTRA_r16",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_r16_fmt), 0,
        "RSRQ_RangeEUTRA_r16", HFILL }},
    { &hf_nr_rrc_measResultServingCell_r16_01,
      { "measResultServingCell-r16", "nr-rrc.measResultServingCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rsrp_Result_r16,
      { "rsrp-Result-r16", "nr-rrc.rsrp_Result_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_rsrq_Result_r16,
      { "rsrq-Result-r16", "nr-rrc.rsrq_Result_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0,
        "RSRQ_Range", HFILL }},
    { &hf_nr_rrc_resultsSSB_Indexes_r16_01,
      { "resultsSSB-Indexes-r16", "nr-rrc.resultsSSB_Indexes_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ResultsPerSSB_IndexList_r16", HFILL }},
    { &hf_nr_rrc_measResultsPerCarrierListIdleNR_r16,
      { "measResultsPerCarrierListIdleNR-r16", "nr-rrc.measResultsPerCarrierListIdleNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16", HFILL }},
    { &hf_nr_rrc_measResultsPerCarrierListIdleNR_r16_item,
      { "MeasResultsPerCarrierIdleNR-r16", "nr-rrc.MeasResultsPerCarrierIdleNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultsPerCellListIdleNR_r16,
      { "measResultsPerCellListIdleNR-r16", "nr-rrc.measResultsPerCellListIdleNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16", HFILL }},
    { &hf_nr_rrc_measResultsPerCellListIdleNR_r16_item,
      { "MeasResultsPerCellIdleNR-r16", "nr-rrc.MeasResultsPerCellIdleNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measIdleResultNR_r16,
      { "measIdleResultNR-r16", "nr-rrc.measIdleResultNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ResultsPerSSB_IndexList_r16_item,
      { "ResultsPerSSB-IndexIdle-r16", "nr-rrc.ResultsPerSSB_IndexIdle_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Results_r16,
      { "ssb-Results-r16", "nr-rrc.ssb_Results_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_RSRP_Result_r16,
      { "ssb-RSRP-Result-r16", "nr-rrc.ssb_RSRP_Result_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_ssb_RSRQ_Result_r16,
      { "ssb-RSRQ-Result-r16", "nr-rrc.ssb_RSRQ_Result_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0,
        "RSRQ_Range", HFILL }},
    { &hf_nr_rrc_rxTxTimeDiff_ue_r17,
      { "rxTxTimeDiff-ue-r17", "nr-rrc.rxTxTimeDiff_ue_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RxTxTimeDiff_r17", HFILL }},
    { &hf_nr_rrc_measResultPerMOList,
      { "measResultPerMOList", "nr-rrc.measResultPerMOList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasResultList2NR", HFILL }},
    { &hf_nr_rrc_MeasResultList2NR_item,
      { "MeasResult2NR", "nr-rrc.MeasResult2NR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultsListSL_r16,
      { "measResultsListSL-r16", "nr-rrc.measResultsListSL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measResultsListSL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultNR_SL_r16,
      { "measResultNR-SL-r16", "nr-rrc.measResultNR_SL_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measResultListCBR_NR_r16,
      { "measResultListCBR-NR-r16", "nr-rrc.measResultListCBR_NR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16", HFILL }},
    { &hf_nr_rrc_measResultListCBR_NR_r16_item,
      { "MeasResultCBR-NR-r16", "nr-rrc.MeasResultCBR_NR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_poolReportIdentity_r16,
      { "sl-poolReportIdentity-r16", "nr-rrc.sl_poolReportIdentity_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_ResourcePoolID_r16", HFILL }},
    { &hf_nr_rrc_sl_CBR_ResultsNR_r16,
      { "sl-CBR-ResultsNR-r16", "nr-rrc.sl_CBR_ResultsNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_CBR_r16", HFILL }},
    { &hf_nr_rrc_measTriggerQuantityEUTRA_rsrp,
      { "rsrp", "nr-rrc.measTriggerQuantityEUTRA.rsrp",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt), 0,
        "RSRP_RangeEUTRA", HFILL }},
    { &hf_nr_rrc_measTriggerQuantityEUTRA_rsrq,
      { "rsrq", "nr-rrc.measTriggerQuantityEUTRA.rsrq",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt), 0,
        "RSRQ_RangeEUTRA", HFILL }},
    { &hf_nr_rrc_measTriggerQuantityEUTRA_sinr,
      { "sinr", "nr-rrc.measTriggerQuantityEUTRA.sinr",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt), 0,
        "SINR_RangeEUTRA", HFILL }},
    { &hf_nr_rrc_t_Evaluation,
      { "t-Evaluation", "nr-rrc.t_Evaluation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_Evaluation_vals), 0,
        "T_t_Evaluation", HFILL }},
    { &hf_nr_rrc_t_HystNormal,
      { "t-HystNormal", "nr-rrc.t_HystNormal",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_HystNormal_vals), 0,
        "T_t_HystNormal", HFILL }},
    { &hf_nr_rrc_n_CellChangeMedium,
      { "n-CellChangeMedium", "nr-rrc.n_CellChangeMedium",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_n_CellChangeHigh,
      { "n-CellChangeHigh", "nr-rrc.n_CellChangeHigh",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_rach_ConfigCommonTwoStepRA_r16,
      { "rach-ConfigCommonTwoStepRA-r16", "nr-rrc.rach_ConfigCommonTwoStepRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_Config_r16,
      { "msgA-PUSCH-Config-r16", "nr-rrc.msgA_PUSCH_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_ResourceGroupA_r16,
      { "msgA-PUSCH-ResourceGroupA-r16", "nr-rrc.msgA_PUSCH_ResourceGroupA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MsgA_PUSCH_Resource_r16", HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_ResourceGroupB_r16,
      { "msgA-PUSCH-ResourceGroupB-r16", "nr-rrc.msgA_PUSCH_ResourceGroupB_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MsgA_PUSCH_Resource_r16", HFILL }},
    { &hf_nr_rrc_msgA_TransformPrecoder_r16,
      { "msgA-TransformPrecoder-r16", "nr-rrc.msgA_TransformPrecoder_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_TransformPrecoder_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_DataScramblingIndex_r16,
      { "msgA-DataScramblingIndex-r16", "nr-rrc.msgA_DataScramblingIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_msgA_DeltaPreamble_r16,
      { "msgA-DeltaPreamble-r16", "nr-rrc.msgA_DeltaPreamble_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M1_6", HFILL }},
    { &hf_nr_rrc_msgA_MCS_r16,
      { "msgA-MCS-r16", "nr-rrc.msgA_MCS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_nrofSlotsMsgA_PUSCH_r16,
      { "nrofSlotsMsgA-PUSCH-r16", "nr-rrc.nrofSlotsMsgA_PUSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_nrofMsgA_PO_PerSlot_r16,
      { "nrofMsgA-PO-PerSlot-r16", "nr-rrc.nrofMsgA_PO_PerSlot_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofMsgA_PO_PerSlot_r16_vals), 0,
        "T_nrofMsgA_PO_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_TimeDomainOffset_r16,
      { "msgA-PUSCH-TimeDomainOffset-r16", "nr-rrc.msgA_PUSCH_TimeDomainOffset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r16,
      { "msgA-PUSCH-TimeDomainAllocation-r16", "nr-rrc.msgA_PUSCH_TimeDomainAllocation_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofUL_Allocations", HFILL }},
    { &hf_nr_rrc_startSymbolAndLengthMsgA_PO_r16,
      { "startSymbolAndLengthMsgA-PO-r16", "nr-rrc.startSymbolAndLengthMsgA_PO_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_mappingTypeMsgA_PUSCH_r16,
      { "mappingTypeMsgA-PUSCH-r16", "nr-rrc.mappingTypeMsgA_PUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingTypeMsgA_PUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_guardPeriodMsgA_PUSCH_r16,
      { "guardPeriodMsgA-PUSCH-r16", "nr-rrc.guardPeriodMsgA_PUSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_guardBandMsgA_PUSCH_r16,
      { "guardBandMsgA-PUSCH-r16", "nr-rrc.guardBandMsgA_PUSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_frequencyStartMsgA_PUSCH_r16,
      { "frequencyStartMsgA-PUSCH-r16", "nr-rrc.frequencyStartMsgA_PUSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_nrofPRBs_PerMsgA_PO_r16,
      { "nrofPRBs-PerMsgA-PO-r16", "nr-rrc.nrofPRBs_PerMsgA_PO_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_nrofMsgA_PO_FDM_r16,
      { "nrofMsgA-PO-FDM-r16", "nr-rrc.nrofMsgA_PO_FDM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofMsgA_PO_FDM_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_IntraSlotFrequencyHopping_r16,
      { "msgA-IntraSlotFrequencyHopping-r16", "nr-rrc.msgA_IntraSlotFrequencyHopping_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_IntraSlotFrequencyHopping_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_HoppingBits_r16,
      { "msgA-HoppingBits-r16", "nr-rrc.msgA_HoppingBits_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_msgA_DMRS_Config_r16,
      { "msgA-DMRS-Config-r16", "nr-rrc.msgA_DMRS_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofDMRS_Sequences_r16,
      { "nrofDMRS-Sequences-r16", "nr-rrc.nrofDMRS_Sequences_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_msgA_Alpha_r16,
      { "msgA-Alpha-r16", "nr-rrc.msgA_Alpha_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_Alpha_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interlaceIndexFirstPO_MsgA_PUSCH_r16,
      { "interlaceIndexFirstPO-MsgA-PUSCH-r16", "nr-rrc.interlaceIndexFirstPO_MsgA_PUSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_10", HFILL }},
    { &hf_nr_rrc_nrofInterlacesPerMsgA_PO_r16,
      { "nrofInterlacesPerMsgA-PO-r16", "nr-rrc.nrofInterlacesPerMsgA_PO_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_10", HFILL }},
    { &hf_nr_rrc_msgA_DMRS_AdditionalPosition_r16,
      { "msgA-DMRS-AdditionalPosition-r16", "nr-rrc.msgA_DMRS_AdditionalPosition_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_DMRS_AdditionalPosition_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_MaxLength_r16,
      { "msgA-MaxLength-r16", "nr-rrc.msgA_MaxLength_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_MaxLength_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_DMRS_CDM_Group_r16,
      { "msgA-PUSCH-DMRS-CDM-Group-r16", "nr-rrc.msgA_PUSCH_DMRS_CDM_Group_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_NrofPorts_r16,
      { "msgA-PUSCH-NrofPorts-r16", "nr-rrc.msgA_PUSCH_NrofPorts_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_msgA_ScramblingID0_r16,
      { "msgA-ScramblingID0-r16", "nr-rrc.msgA_ScramblingID0_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_msgA_ScramblingID1_r16,
      { "msgA-ScramblingID1-r16", "nr-rrc.msgA_ScramblingID1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_MultiFrequencyBandListNR_item,
      { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MultiFrequencyBandListNR_SIB_item,
      { "NR-MultiBandInfo", "nr-rrc.NR_MultiBandInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_NS_PmaxList,
      { "nr-NS-PmaxList", "nr-rrc.nr_NS_PmaxList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapToReleaseList_r17,
      { "musim-GapToReleaseList-r17", "nr-rrc.musim_GapToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17", HFILL }},
    { &hf_nr_rrc_musim_GapToReleaseList_r17_item,
      { "MUSIM-GapId-r17", "nr-rrc.MUSIM_GapId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapToAddModList_r17,
      { "musim-GapToAddModList-r17", "nr-rrc.musim_GapToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17", HFILL }},
    { &hf_nr_rrc_musim_GapToAddModList_r17_item,
      { "MUSIM-Gap-r17", "nr-rrc.MUSIM_Gap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_AperiodicGap_r17,
      { "musim-AperiodicGap-r17", "nr-rrc.musim_AperiodicGap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MUSIM_GapInfo_r17", HFILL }},
    { &hf_nr_rrc_musim_GapId_r17,
      { "musim-GapId-r17", "nr-rrc.musim_GapId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapInfo_r17,
      { "musim-GapInfo-r17", "nr-rrc.musim_GapInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_Starting_SFN_AndSubframe_r17,
      { "musim-Starting-SFN-AndSubframe-r17", "nr-rrc.musim_Starting_SFN_AndSubframe_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapLength_r17,
      { "musim-GapLength-r17", "nr-rrc.musim_GapLength_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_GapLength_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapRepetitionAndOffset_r17,
      { "musim-GapRepetitionAndOffset-r17", "nr-rrc.musim_GapRepetitionAndOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_GapRepetitionAndOffset_r17_vals), 0,
        "T_musim_GapRepetitionAndOffset_r17", HFILL }},
    { &hf_nr_rrc_ms20_r17,
      { "ms20-r17", "nr-rrc.ms20_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_ms40_r17,
      { "ms40-r17", "nr-rrc.ms40_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_ms80_r17,
      { "ms80-r17", "nr-rrc.ms80_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_ms160_r17,
      { "ms160-r17", "nr-rrc.ms160_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_ms320_r17,
      { "ms320-r17", "nr-rrc.ms320_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_ms640_r17,
      { "ms640-r17", "nr-rrc.ms640_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_ms1280_r17,
      { "ms1280-r17", "nr-rrc.ms1280_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1279", HFILL }},
    { &hf_nr_rrc_ms2560_r17,
      { "ms2560-r17", "nr-rrc.ms2560_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2559", HFILL }},
    { &hf_nr_rrc_ms5120_r17,
      { "ms5120-r17", "nr-rrc.ms5120_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119", HFILL }},
    { &hf_nr_rrc_starting_SFN_r17,
      { "starting-SFN-r17", "nr-rrc.starting_SFN_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_startingSubframe_r17,
      { "startingSubframe-r17", "nr-rrc.startingSubframe_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_requestedTargetBandFilterNR_r16,
      { "requestedTargetBandFilterNR-r16", "nr-rrc.requestedTargetBandFilterNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_requestedTargetBandFilterNR_r16_item,
      { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreq_needForGap_r16,
      { "intraFreq-needForGap-r16", "nr-rrc.intraFreq_needForGap_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NeedForGapsIntraFreqList_r16", HFILL }},
    { &hf_nr_rrc_interFreq_needForGap_r16,
      { "interFreq-needForGap-r16", "nr-rrc.interFreq_needForGap_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NeedForGapsBandListNR_r16", HFILL }},
    { &hf_nr_rrc_NeedForGapsIntraFreqList_r16_item,
      { "NeedForGapsIntraFreq-r16", "nr-rrc.NeedForGapsIntraFreq_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_NeedForGapsBandListNR_r16_item,
      { "NeedForGapsNR-r16", "nr-rrc.NeedForGapsNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servCellId_r16,
      { "servCellId-r16", "nr-rrc.servCellId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_gapIndicationIntra_r16,
      { "gapIndicationIntra-r16", "nr-rrc.gapIndicationIntra_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapIndicationIntra_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandNR_r16,
      { "bandNR-r16", "nr-rrc.bandNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_gapIndication_r16,
      { "gapIndication-r16", "nr-rrc.gapIndication_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapIndication_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_requestedTargetBandFilterNCSG_EUTRA_r17,
      { "requestedTargetBandFilterNCSG-EUTRA-r17", "nr-rrc.requestedTargetBandFilterNCSG_EUTRA_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA", HFILL }},
    { &hf_nr_rrc_requestedTargetBandFilterNCSG_EUTRA_r17_item,
      { "FreqBandIndicatorEUTRA", "nr-rrc.FreqBandIndicatorEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_requestedTargetBandFilterNCSG_NR_r17,
      { "requestedTargetBandFilterNCSG-NR-r17", "nr-rrc.requestedTargetBandFilterNCSG_NR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_requestedTargetBandFilterNCSG_NR_r17_item,
      { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_needForNCSG_EUTRA_r17,
      { "needForNCSG-EUTRA-r17", "nr-rrc.needForNCSG_EUTRA_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17", HFILL }},
    { &hf_nr_rrc_needForNCSG_EUTRA_r17_item,
      { "NeedForNCSG-EUTRA-r17", "nr-rrc.NeedForNCSG_EUTRA_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandEUTRA_r17,
      { "bandEUTRA-r17", "nr-rrc.bandEUTRA_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorEUTRA", HFILL }},
    { &hf_nr_rrc_gapIndication_r17,
      { "gapIndication-r17", "nr-rrc.gapIndication_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapIndication_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreq_needForNCSG_r17,
      { "intraFreq-needForNCSG-r17", "nr-rrc.intraFreq_needForNCSG_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NeedForNCSG_IntraFreqList_r17", HFILL }},
    { &hf_nr_rrc_interFreq_needForNCSG_r17,
      { "interFreq-needForNCSG-r17", "nr-rrc.interFreq_needForNCSG_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NeedForNCSG_BandListNR_r17", HFILL }},
    { &hf_nr_rrc_NeedForNCSG_IntraFreqList_r17_item,
      { "NeedForNCSG-IntraFreq-r17", "nr-rrc.NeedForNCSG_IntraFreq_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_NeedForNCSG_BandListNR_r17_item,
      { "NeedForNCSG-NR-r17", "nr-rrc.NeedForNCSG_NR_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gapIndicationIntra_r17,
      { "gapIndicationIntra-r17", "nr-rrc.gapIndicationIntra_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapIndicationIntra_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandNR_r17,
      { "bandNR-r17", "nr-rrc.bandNR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_gapIndication_r17_01,
      { "gapIndication-r17", "nr-rrc.gapIndication_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapIndication_r17_01_vals), 0,
        "T_gapIndication_r17_01", HFILL }},
    { &hf_nr_rrc_absoluteFrequencySSB_r17,
      { "absoluteFrequencySSB-r17", "nr-rrc.absoluteFrequencySSB_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_ssb_Periodicity_r17,
      { "ssb-Periodicity-r17", "nr-rrc.ssb_Periodicity_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_Periodicity_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_TimeOffset_r17,
      { "ssb-TimeOffset-r17", "nr-rrc.ssb_TimeOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_TimeOffset_r17_vals), 0,
        "T_ssb_TimeOffset_r17", HFILL }},
    { &hf_nr_rrc_pni_npn_r16,
      { "pni-npn-r16", "nr-rrc.pni_npn_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cag_IdentityList_r16,
      { "cag-IdentityList-r16", "nr-rrc.cag_IdentityList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16", HFILL }},
    { &hf_nr_rrc_cag_IdentityList_r16_item,
      { "CAG-IdentityInfo-r16", "nr-rrc.CAG_IdentityInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_snpn_r16,
      { "snpn-r16", "nr-rrc.snpn_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nid_List_r16,
      { "nid-List-r16", "nr-rrc.nid_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16", HFILL }},
    { &hf_nr_rrc_nid_List_r16_item,
      { "NID-r16", "nr-rrc.NID_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cag_Identity_r16,
      { "cag-Identity-r16", "nr-rrc.cag_Identity_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_manualCAGselectionAllowed_r16,
      { "manualCAGselectionAllowed-r16", "nr-rrc.manualCAGselectionAllowed_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_manualCAGselectionAllowed_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_NPN_IdentityInfoList_r16_item,
      { "NPN-IdentityInfo-r16", "nr-rrc.NPN_IdentityInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_npn_IdentityList_r16,
      { "npn-IdentityList-r16", "nr-rrc.npn_IdentityList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16", HFILL }},
    { &hf_nr_rrc_npn_IdentityList_r16_item,
      { "NPN-Identity-r16", "nr-rrc.NPN_Identity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_NPN_Identity_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ranac_r16,
      { "ranac-r16", "nr-rrc.ranac_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RAN_AreaCode", HFILL }},
    { &hf_nr_rrc_cellReservedForOperatorUse_r16,
      { "cellReservedForOperatorUse-r16", "nr-rrc.cellReservedForOperatorUse_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOperatorUse_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_Support_r16,
      { "iab-Support-r16", "nr-rrc.iab_Support_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_Support_r16_vals), 0,
        "T_iab_Support_r16", HFILL }},
    { &hf_nr_rrc_gNB_ID_Length_r17,
      { "gNB-ID-Length-r17", "nr-rrc.gNB_ID_Length_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_22_32", HFILL }},
    { &hf_nr_rrc_nr_DL_PRS_PDC_ResourceSet_r17,
      { "nr-DL-PRS-PDC-ResourceSet-r17", "nr-rrc.nr_DL_PRS_PDC_ResourceSet_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_r17,
      { "periodicityAndOffset-r17", "nr-rrc.periodicityAndOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17_vals), 0,
        "NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17", HFILL }},
    { &hf_nr_rrc_numSymbols_r17,
      { "numSymbols-r17", "nr-rrc.numSymbols_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numSymbols_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_PRS_ResourceBandwidth_r17,
      { "dl-PRS-ResourceBandwidth-r17", "nr-rrc.dl_PRS_ResourceBandwidth_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_63", HFILL }},
    { &hf_nr_rrc_dl_PRS_StartPRB_r17,
      { "dl-PRS-StartPRB-r17", "nr-rrc.dl_PRS_StartPRB_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2176", HFILL }},
    { &hf_nr_rrc_resourceList_r17,
      { "resourceList-r17", "nr-rrc.resourceList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17", HFILL }},
    { &hf_nr_rrc_resourceList_r17_item,
      { "NR-DL-PRS-Resource-r17", "nr-rrc.NR_DL_PRS_Resource_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_repFactorAndTimeGap_r17,
      { "repFactorAndTimeGap-r17", "nr-rrc.repFactorAndTimeGap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs15_r17_01,
      { "scs15-r17", "nr-rrc.scs15_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs15_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n4_r17,
      { "n4-r17", "nr-rrc.n4_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_n5_r17,
      { "n5-r17", "nr-rrc.n5_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_n8_r17,
      { "n8-r17", "nr-rrc.n8_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_n10_r17,
      { "n10-r17", "nr-rrc.n10_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_n16_r17,
      { "n16-r17", "nr-rrc.n16_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_n20_r17,
      { "n20-r17", "nr-rrc.n20_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_n32_r17,
      { "n32-r17", "nr-rrc.n32_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_n40_r17,
      { "n40-r17", "nr-rrc.n40_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_n64_r17,
      { "n64-r17", "nr-rrc.n64_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_n80_r17,
      { "n80-r17", "nr-rrc.n80_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_n160_r17,
      { "n160-r17", "nr-rrc.n160_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_n320_r17,
      { "n320-r17", "nr-rrc.n320_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_n640_r17,
      { "n640-r17", "nr-rrc.n640_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_n1280_r17,
      { "n1280-r17", "nr-rrc.n1280_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1279", HFILL }},
    { &hf_nr_rrc_n2560_r17,
      { "n2560-r17", "nr-rrc.n2560_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2559", HFILL }},
    { &hf_nr_rrc_n5120_r17,
      { "n5120-r17", "nr-rrc.n5120_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119", HFILL }},
    { &hf_nr_rrc_n10240_r17,
      { "n10240-r17", "nr-rrc.n10240_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_10239", HFILL }},
    { &hf_nr_rrc_scs30_r17_01,
      { "scs30-r17", "nr-rrc.scs30_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs30_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n128_r17,
      { "n128-r17", "nr-rrc.n128_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_n20480_r17,
      { "n20480-r17", "nr-rrc.n20480_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_20479", HFILL }},
    { &hf_nr_rrc_scs60_r17_01,
      { "scs60-r17", "nr-rrc.scs60_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs60_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n256_r17,
      { "n256-r17", "nr-rrc.n256_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_n40960_r17,
      { "n40960-r17", "nr-rrc.n40960_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_40959", HFILL }},
    { &hf_nr_rrc_scs120_r17_01,
      { "scs120-r17", "nr-rrc.scs120_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs120_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n512_r17,
      { "n512-r17", "nr-rrc.n512_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_511", HFILL }},
    { &hf_nr_rrc_n81920_r17,
      { "n81920-r17", "nr-rrc.n81920_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_81919", HFILL }},
    { &hf_nr_rrc_nr_DL_PRS_ResourceID_r17,
      { "nr-DL-PRS-ResourceID-r17", "nr-rrc.nr_DL_PRS_ResourceID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_PRS_SequenceID_r17,
      { "dl-PRS-SequenceID-r17", "nr-rrc.dl_PRS_SequenceID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4095", HFILL }},
    { &hf_nr_rrc_dl_PRS_CombSizeN_AndReOffset_r17,
      { "dl-PRS-CombSizeN-AndReOffset-r17", "nr-rrc.dl_PRS_CombSizeN_AndReOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_PRS_CombSizeN_AndReOffset_r17_vals), 0,
        "T_dl_PRS_CombSizeN_AndReOffset_r17", HFILL }},
    { &hf_nr_rrc_n2_r17,
      { "n2-r17", "nr-rrc.n2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_n6_r17,
      { "n6-r17", "nr-rrc.n6_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5", HFILL }},
    { &hf_nr_rrc_n12_r17,
      { "n12-r17", "nr-rrc.n12_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_11", HFILL }},
    { &hf_nr_rrc_dl_PRS_ResourceSlotOffset_r17,
      { "dl-PRS-ResourceSlotOffset-r17", "nr-rrc.dl_PRS_ResourceSlotOffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPRS_ResourceOffsetValue_1_r17", HFILL }},
    { &hf_nr_rrc_dl_PRS_ResourceSymbolOffset_r17,
      { "dl-PRS-ResourceSymbolOffset-r17", "nr-rrc.dl_PRS_ResourceSymbolOffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_12", HFILL }},
    { &hf_nr_rrc_dl_PRS_QCL_Info_r17,
      { "dl-PRS-QCL-Info-r17", "nr-rrc.dl_PRS_QCL_Info_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_PRS_QCL_Info_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_r17,
      { "ssb-r17", "nr-rrc.ssb_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Index_r17,
      { "ssb-Index-r17", "nr-rrc.ssb_Index_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_rs_Type_r17,
      { "rs-Type-r17", "nr-rrc.rs_Type_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rs_Type_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_PRS_r17,
      { "dl-PRS-r17", "nr-rrc.dl_PRS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_qcl_DL_PRS_ResourceID_r17,
      { "qcl-DL-PRS-ResourceID-r17", "nr-rrc.qcl_DL_PRS_ResourceID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NR_DL_PRS_ResourceID_r17", HFILL }},
    { &hf_nr_rrc_repetitionFactor_r17,
      { "repetitionFactor-r17", "nr-rrc.repetitionFactor_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeGap_r17,
      { "timeGap-r17", "nr-rrc.timeGap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeGap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_NR_NS_PmaxList_item,
      { "NR-NS-PmaxValue", "nr-rrc.NR_NS_PmaxValue_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalPmax,
      { "additionalPmax", "nr-rrc.additionalPmax",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_nsag_ID_r17,
      { "nsag-ID-r17", "nr-rrc.nsag_ID_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_trackingAreaCode_r17,
      { "trackingAreaCode-r17", "nr-rrc.trackingAreaCode_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TrackingAreaCode", HFILL }},
    { &hf_nr_rrc_epochTime_r17,
      { "epochTime-r17", "nr-rrc.epochTime_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ntn_UlSyncValidityDuration_r17,
      { "ntn-UlSyncValidityDuration-r17", "nr-rrc.ntn_UlSyncValidityDuration_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ntn_UlSyncValidityDuration_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellSpecificKoffset_r17,
      { "cellSpecificKoffset-r17", "nr-rrc.cellSpecificKoffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_1023", HFILL }},
    { &hf_nr_rrc_kmac_r17,
      { "kmac-r17", "nr-rrc.kmac_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_512", HFILL }},
    { &hf_nr_rrc_ta_Info_r17,
      { "ta-Info-r17", "nr-rrc.ta_Info_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ntn_PolarizationDL_r17_01,
      { "ntn-PolarizationDL-r17", "nr-rrc.ntn_PolarizationDL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ntn_PolarizationDL_r17_01_vals), 0,
        "T_ntn_PolarizationDL_r17_01", HFILL }},
    { &hf_nr_rrc_ntn_PolarizationUL_r17_01,
      { "ntn-PolarizationUL-r17", "nr-rrc.ntn_PolarizationUL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ntn_PolarizationUL_r17_01_vals), 0,
        "T_ntn_PolarizationUL_r17_01", HFILL }},
    { &hf_nr_rrc_ephemerisInfo_r17,
      { "ephemerisInfo-r17", "nr-rrc.ephemerisInfo_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_EphemerisInfo_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ta_Report_r17,
      { "ta-Report-r17", "nr-rrc.ta_Report_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ta_Report_r17_vals), 0,
        "T_ta_Report_r17", HFILL }},
    { &hf_nr_rrc_sfn_r17,
      { "sfn-r17", "nr-rrc.sfn_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_subFrameNR_r17,
      { "subFrameNR-r17", "nr-rrc.subFrameNR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_ta_Common_r17,
      { "ta-Common-r17", "nr-rrc.ta_Common_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_66485757", HFILL }},
    { &hf_nr_rrc_ta_CommonDrift_r17,
      { "ta-CommonDrift-r17", "nr-rrc.ta_CommonDrift_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M257303_257303", HFILL }},
    { &hf_nr_rrc_ta_CommonDriftVariant_r17,
      { "ta-CommonDriftVariant-r17", "nr-rrc.ta_CommonDriftVariant_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_28949", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceId,
      { "nzp-CSI-RS-ResourceId", "nr-rrc.nzp_CSI_RS_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceMapping,
      { "resourceMapping", "nr-rrc.resourceMapping_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CSI_RS_ResourceMapping", HFILL }},
    { &hf_nr_rrc_powerControlOffset,
      { "powerControlOffset", "nr-rrc.powerControlOffset",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M8_15", HFILL }},
    { &hf_nr_rrc_powerControlOffsetSS,
      { "powerControlOffsetSS", "nr-rrc.powerControlOffsetSS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlOffsetSS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scramblingID,
      { "scramblingID", "nr-rrc.scramblingID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_qcl_InfoPeriodicCSI_RS,
      { "qcl-InfoPeriodicCSI-RS", "nr-rrc.qcl_InfoPeriodicCSI_RS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TCI_StateId", HFILL }},
    { &hf_nr_rrc_nzp_CSI_ResourceSetId,
      { "nzp-CSI-ResourceSetId", "nr-rrc.nzp_CSI_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_Resources,
      { "nzp-CSI-RS-Resources", "nr-rrc.nzp_CSI_RS_Resources",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_Resources_item,
      { "NZP-CSI-RS-ResourceId", "nr-rrc.NZP_CSI_RS_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_repetition,
      { "repetition", "nr-rrc.repetition",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetition_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicTriggeringOffset,
      { "aperiodicTriggeringOffset", "nr-rrc.aperiodicTriggeringOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6", HFILL }},
    { &hf_nr_rrc_trs_Info,
      { "trs-Info", "nr-rrc.trs_Info",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_trs_Info_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicTriggeringOffset_r16,
      { "aperiodicTriggeringOffset-r16", "nr-rrc.aperiodicTriggeringOffset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_pdc_Info_r17,
      { "pdc-Info-r17", "nr-rrc.pdc_Info_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdc_Info_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cmrGroupingAndPairing_r17,
      { "cmrGroupingAndPairing-r17", "nr-rrc.cmrGroupingAndPairing_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicTriggeringOffset_r17,
      { "aperiodicTriggeringOffset-r17", "nr-rrc.aperiodicTriggeringOffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_124", HFILL }},
    { &hf_nr_rrc_aperiodicTriggeringOffsetL2_r17,
      { "aperiodicTriggeringOffsetL2-r17", "nr-rrc.aperiodicTriggeringOffsetL2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_nrofResourcesGroup1_r17,
      { "nrofResourcesGroup1-r17", "nr-rrc.nrofResourcesGroup1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_7", HFILL }},
    { &hf_nr_rrc_pair1OfNZP_CSI_RS_r17,
      { "pair1OfNZP-CSI-RS-r17", "nr-rrc.pair1OfNZP_CSI_RS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NZP_CSI_RS_Pairing_r17", HFILL }},
    { &hf_nr_rrc_pair2OfNZP_CSI_RS_r17,
      { "pair2OfNZP-CSI-RS-r17", "nr-rrc.pair2OfNZP_CSI_RS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NZP_CSI_RS_Pairing_r17", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceId1_r17,
      { "nzp-CSI-RS-ResourceId1-r17", "nr-rrc.nzp_CSI_RS_ResourceId1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_7", HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_ResourceId2_r17,
      { "nzp-CSI-RS-ResourceId2-r17", "nr-rrc.nzp_CSI_RS_ResourceId2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_7", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRS_Id_r17,
      { "pathlossReferenceRS-Id-r17", "nr-rrc.pathlossReferenceRS_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceSignal_r17,
      { "referenceSignal-r17", "nr-rrc.referenceSignal_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_Index_01,
      { "csi-RS-Index", "nr-rrc.csi_RS_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_additionalPCI_r17,
      { "additionalPCI-r17", "nr-rrc.additionalPCI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "AdditionalPCIIndex_r17", HFILL }},
    { &hf_nr_rrc_physCellId_r16_02,
      { "physCellId-r16", "nr-rrc.physCellId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_PhysCellId", HFILL }},
    { &hf_nr_rrc_PCI_List_item,
      { "PhysCellId", "nr-rrc.PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_start,
      { "start", "nr-rrc.start",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_range,
      { "range", "nr-rrc.range",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pci_RangeIndex,
      { "pci-RangeIndex", "nr-rrc.pci_RangeIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pci_Range,
      { "pci-Range", "nr-rrc.pci_Range_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PCI_RangeIndexList_item,
      { "PCI-RangeIndex", "nr-rrc.PCI_RangeIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_controlResourceSetToAddModList,
      { "controlResourceSetToAddModList", "nr-rrc.controlResourceSetToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_3_OF_ControlResourceSet", HFILL }},
    { &hf_nr_rrc_controlResourceSetToAddModList_item,
      { "ControlResourceSet", "nr-rrc.ControlResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_controlResourceSetToReleaseList,
      { "controlResourceSetToReleaseList", "nr-rrc.controlResourceSetToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_3_OF_ControlResourceSetId", HFILL }},
    { &hf_nr_rrc_controlResourceSetToReleaseList_item,
      { "ControlResourceSetId", "nr-rrc.ControlResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpacesToAddModList,
      { "searchSpacesToAddModList", "nr-rrc.searchSpacesToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_10_OF_SearchSpace", HFILL }},
    { &hf_nr_rrc_searchSpacesToAddModList_item,
      { "SearchSpace", "nr-rrc.SearchSpace_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpacesToReleaseList,
      { "searchSpacesToReleaseList", "nr-rrc.searchSpacesToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_10_OF_SearchSpaceId", HFILL }},
    { &hf_nr_rrc_searchSpacesToReleaseList_item,
      { "SearchSpaceId", "nr-rrc.SearchSpaceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_downlinkPreemption,
      { "downlinkPreemption", "nr-rrc.downlinkPreemption",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkPreemption_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_75,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DownlinkPreemption", HFILL }},
    { &hf_nr_rrc_tpc_PUSCH,
      { "tpc-PUSCH", "nr-rrc.tpc_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_76,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUSCH_TPC_CommandConfig", HFILL }},
    { &hf_nr_rrc_tpc_PUCCH,
      { "tpc-PUCCH", "nr-rrc.tpc_PUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_77,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_TPC_CommandConfig", HFILL }},
    { &hf_nr_rrc_tpc_SRS,
      { "tpc-SRS", "nr-rrc.tpc_SRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_SRS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_78,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_TPC_CommandConfig", HFILL }},
    { &hf_nr_rrc_controlResourceSetToAddModListSizeExt_v1610,
      { "controlResourceSetToAddModListSizeExt-v1610", "nr-rrc.controlResourceSetToAddModListSizeExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_2_OF_ControlResourceSet", HFILL }},
    { &hf_nr_rrc_controlResourceSetToAddModListSizeExt_v1610_item,
      { "ControlResourceSet", "nr-rrc.ControlResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_controlResourceSetToReleaseListSizeExt_r16,
      { "controlResourceSetToReleaseListSizeExt-r16", "nr-rrc.controlResourceSetToReleaseListSizeExt_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16", HFILL }},
    { &hf_nr_rrc_controlResourceSetToReleaseListSizeExt_r16_item,
      { "ControlResourceSetId-r16", "nr-rrc.ControlResourceSetId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpacesToAddModListExt_r16,
      { "searchSpacesToAddModListExt-r16", "nr-rrc.searchSpacesToAddModListExt_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16", HFILL }},
    { &hf_nr_rrc_searchSpacesToAddModListExt_r16_item,
      { "SearchSpaceExt-r16", "nr-rrc.SearchSpaceExt_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkCancellation_r16,
      { "uplinkCancellation-r16", "nr-rrc.uplinkCancellation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkCancellation_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_79,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkCancellation_r16", HFILL }},
    { &hf_nr_rrc_monitoringCapabilityConfig_r16,
      { "monitoringCapabilityConfig-r16", "nr-rrc.monitoringCapabilityConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringCapabilityConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchConfig_r16,
      { "searchSpaceSwitchConfig-r16", "nr-rrc.searchSpaceSwitchConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpacesToAddModListExt_v1700,
      { "searchSpacesToAddModListExt-v1700", "nr-rrc.searchSpacesToAddModListExt_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700", HFILL }},
    { &hf_nr_rrc_searchSpacesToAddModListExt_v1700_item,
      { "SearchSpaceExt-v1700", "nr-rrc.SearchSpaceExt_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_monitoringCapabilityConfig_v1710,
      { "monitoringCapabilityConfig-v1710", "nr-rrc.monitoringCapabilityConfig_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringCapabilityConfig_v1710_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchConfig_r17,
      { "searchSpaceSwitchConfig-r17", "nr-rrc.searchSpaceSwitchConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_SkippingDurationList_r17,
      { "pdcch-SkippingDurationList-r17", "nr-rrc.pdcch_SkippingDurationList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17", HFILL }},
    { &hf_nr_rrc_pdcch_SkippingDurationList_r17_item,
      { "SCS-SpecificDuration-r17", "nr-rrc.SCS_SpecificDuration_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellGroupsForSwitchList_r16,
      { "cellGroupsForSwitchList-r16", "nr-rrc.cellGroupsForSwitchList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16", HFILL }},
    { &hf_nr_rrc_cellGroupsForSwitchList_r16_item,
      { "CellGroupForSwitch-r16", "nr-rrc.CellGroupForSwitch_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchDelay_r16,
      { "searchSpaceSwitchDelay-r16", "nr-rrc.searchSpaceSwitchDelay_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_10_52", HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchTimer_r17,
      { "searchSpaceSwitchTimer-r17", "nr-rrc.searchSpaceSwitchTimer_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SCS_SpecificDuration_r17", HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchDelay_r17,
      { "searchSpaceSwitchDelay-r17", "nr-rrc.searchSpaceSwitchDelay_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_10_52", HFILL }},
    { &hf_nr_rrc_CellGroupForSwitch_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_controlResourceSetZero,
      { "controlResourceSetZero", "nr-rrc.controlResourceSetZero",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_commonControlResourceSet,
      { "commonControlResourceSet", "nr-rrc.commonControlResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ControlResourceSet", HFILL }},
    { &hf_nr_rrc_searchSpaceZero,
      { "searchSpaceZero", "nr-rrc.searchSpaceZero",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_commonSearchSpaceList,
      { "commonSearchSpaceList", "nr-rrc.commonSearchSpaceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_SearchSpace", HFILL }},
    { &hf_nr_rrc_commonSearchSpaceList_item,
      { "SearchSpace", "nr-rrc.SearchSpace_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSIB1,
      { "searchSpaceSIB1", "nr-rrc.searchSpaceSIB1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_searchSpaceOtherSystemInformation,
      { "searchSpaceOtherSystemInformation", "nr-rrc.searchSpaceOtherSystemInformation",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_pagingSearchSpace,
      { "pagingSearchSpace", "nr-rrc.pagingSearchSpace",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_ra_SearchSpace,
      { "ra-SearchSpace", "nr-rrc.ra_SearchSpace",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_01,
      { "firstPDCCH-MonitoringOccasionOfPO", "nr-rrc.firstPDCCH_MonitoringOccasionOfPO",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01_vals), 0,
        "T_firstPDCCH_MonitoringOccasionOfPO_01", HFILL }},
    { &hf_nr_rrc_sCS15KHZoneT_01,
      { "sCS15KHZoneT", "nr-rrc.sCS15KHZoneT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS15KHZoneT_01", HFILL }},
    { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_01,
      { "sCS30KHZoneT-SCS15KHZhalfT", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS30KHZoneT_SCS15KHZhalfT_01", HFILL }},
    { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01,
      { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01", HFILL }},
    { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01,
      { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01", HFILL }},
    { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01,
      { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01", HFILL }},
    { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT,
      { "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT", "nr-rrc.sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT", HFILL }},
    { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item,
      { "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT item", "nr-rrc.sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4479", HFILL }},
    { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT,
      { "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT", "nr-rrc.sCS120KHZoneEighthT_SCS60KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT", HFILL }},
    { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item,
      { "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT item", "nr-rrc.sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_8959", HFILL }},
    { &hf_nr_rrc_sCS120KHZoneSixteenthT,
      { "sCS120KHZoneSixteenthT", "nr-rrc.sCS120KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCS120KHZoneSixteenthT_item,
      { "sCS120KHZoneSixteenthT item", "nr-rrc.sCS120KHZoneSixteenthT_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_17919", HFILL }},
    { &hf_nr_rrc_commonSearchSpaceListExt_r16,
      { "commonSearchSpaceListExt-r16", "nr-rrc.commonSearchSpaceListExt_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16", HFILL }},
    { &hf_nr_rrc_commonSearchSpaceListExt_r16_item,
      { "SearchSpaceExt-r16", "nr-rrc.SearchSpaceExt_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sdt_SearchSpace_r17,
      { "sdt-SearchSpace-r17", "nr-rrc.sdt_SearchSpace_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdt_SearchSpace_r17_vals), 0,
        "T_sdt_SearchSpace_r17", HFILL }},
    { &hf_nr_rrc_newSearchSpace,
      { "newSearchSpace", "nr-rrc.newSearchSpace_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SearchSpace", HFILL }},
    { &hf_nr_rrc_existingSearchSpace,
      { "existingSearchSpace", "nr-rrc.existingSearchSpace",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_searchSpaceMCCH_r17,
      { "searchSpaceMCCH-r17", "nr-rrc.searchSpaceMCCH_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_searchSpaceMTCH_r17,
      { "searchSpaceMTCH-r17", "nr-rrc.searchSpaceMTCH_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_commonSearchSpaceListExt2_r17,
      { "commonSearchSpaceListExt2-r17", "nr-rrc.commonSearchSpaceListExt2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700", HFILL }},
    { &hf_nr_rrc_commonSearchSpaceListExt2_r17_item,
      { "SearchSpaceExt-v1700", "nr-rrc.SearchSpaceExt_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_v1710_01,
      { "firstPDCCH-MonitoringOccasionOfPO-v1710", "nr-rrc.firstPDCCH_MonitoringOccasionOfPO_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_01_vals), 0,
        "T_firstPDCCH_MonitoringOccasionOfPO_v1710_01", HFILL }},
    { &hf_nr_rrc_sCS480KHZoneEighthT_01,
      { "sCS480KHZoneEighthT", "nr-rrc.sCS480KHZoneEighthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZoneEighthT_01", HFILL }},
    { &hf_nr_rrc_sCS480KHZoneSixteenthT_01,
      { "sCS480KHZoneSixteenthT", "nr-rrc.sCS480KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZoneSixteenthT_01", HFILL }},
    { &hf_nr_rrc_pei_ConfigBWP_r17,
      { "pei-ConfigBWP-r17", "nr-rrc.pei_ConfigBWP_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pei_SearchSpace_r17,
      { "pei-SearchSpace-r17", "nr-rrc.pei_SearchSpace_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SearchSpaceId", HFILL }},
    { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPEI_O_r17,
      { "firstPDCCH-MonitoringOccasionOfPEI-O-r17", "nr-rrc.firstPDCCH_MonitoringOccasionOfPEI_O_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstPDCCH_MonitoringOccasionOfPEI_O_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sCS15KHZoneT_02,
      { "sCS15KHZoneT", "nr-rrc.sCS15KHZoneT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS15KHZoneT_02", HFILL }},
    { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_02,
      { "sCS30KHZoneT-SCS15KHZhalfT", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS30KHZoneT_SCS15KHZhalfT_02", HFILL }},
    { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02,
      { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02", HFILL }},
    { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02,
      { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02", HFILL }},
    { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02,
      { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02", HFILL }},
    { &hf_nr_rrc_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01,
      { "sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT", "nr-rrc.sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01", HFILL }},
    { &hf_nr_rrc_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01,
      { "sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT", "nr-rrc.sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01", HFILL }},
    { &hf_nr_rrc_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01,
      { "sCS480KHZquarterT-SCS120KHZoneSixteenthT", "nr-rrc.sCS480KHZquarterT_SCS120KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01", HFILL }},
    { &hf_nr_rrc_sCS480KHZoneEighthT_02,
      { "sCS480KHZoneEighthT", "nr-rrc.sCS480KHZoneEighthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZoneEighthT_02", HFILL }},
    { &hf_nr_rrc_sCS480KHZoneSixteenthT_02,
      { "sCS480KHZoneSixteenthT", "nr-rrc.sCS480KHZoneSixteenthT",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sCS480KHZoneSixteenthT_02", HFILL }},
    { &hf_nr_rrc_followUnifiedTCI_State_v1720,
      { "followUnifiedTCI-State-v1720", "nr-rrc.followUnifiedTCI_State_v1720",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_followUnifiedTCI_State_v1720_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotFormatIndicator,
      { "slotFormatIndicator", "nr-rrc.slotFormatIndicator",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotFormatIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_80,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SlotFormatIndicator", HFILL }},
    { &hf_nr_rrc_availabilityIndicator_r16,
      { "availabilityIndicator-r16", "nr-rrc.availabilityIndicator_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_availabilityIndicator_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_81,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "AvailabilityIndicator_r16", HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchTimer_r16,
      { "searchSpaceSwitchTimer-r16", "nr-rrc.searchSpaceSwitchTimer_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_80", HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchTimer_v1710,
      { "searchSpaceSwitchTimer-v1710", "nr-rrc.searchSpaceSwitchTimer_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_81_1280", HFILL }},
    { &hf_nr_rrc_drb,
      { "drb", "nr-rrc.drb_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_discardTimer,
      { "discardTimer", "nr-rrc.discardTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_SN_SizeUL,
      { "pdcp-SN-SizeUL", "nr-rrc.pdcp_SN_SizeUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeUL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_SN_SizeDL,
      { "pdcp-SN-SizeDL", "nr-rrc.pdcp_SN_SizeDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeDL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_headerCompression,
      { "headerCompression", "nr-rrc.headerCompression",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_headerCompression_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_notUsed,
      { "notUsed", "nr-rrc.notUsed_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rohc,
      { "rohc", "nr-rrc.rohc_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCID,
      { "maxCID", "nr-rrc.maxCID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16383", HFILL }},
    { &hf_nr_rrc_profiles,
      { "profiles", "nr-rrc.profiles_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_profile0x0001,
      { "profile0x0001", "nr-rrc.profile0x0001",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0002,
      { "profile0x0002", "nr-rrc.profile0x0002",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0003,
      { "profile0x0003", "nr-rrc.profile0x0003",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0004,
      { "profile0x0004", "nr-rrc.profile0x0004",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0006,
      { "profile0x0006", "nr-rrc.profile0x0006",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0101,
      { "profile0x0101", "nr-rrc.profile0x0101",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0102,
      { "profile0x0102", "nr-rrc.profile0x0102",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0103,
      { "profile0x0103", "nr-rrc.profile0x0103",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0104,
      { "profile0x0104", "nr-rrc.profile0x0104",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_drb_ContinueROHC,
      { "drb-ContinueROHC", "nr-rrc.drb_ContinueROHC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueROHC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkOnlyROHC,
      { "uplinkOnlyROHC", "nr-rrc.uplinkOnlyROHC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_profiles_01,
      { "profiles", "nr-rrc.profiles_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_profiles_01", HFILL }},
    { &hf_nr_rrc_drb_ContinueROHC_01,
      { "drb-ContinueROHC", "nr-rrc.drb_ContinueROHC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueROHC_01_vals), 0,
        "T_drb_ContinueROHC_01", HFILL }},
    { &hf_nr_rrc_integrityProtection,
      { "integrityProtection", "nr-rrc.integrityProtection",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_integrityProtection_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_statusReportRequired,
      { "statusReportRequired", "nr-rrc.statusReportRequired",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_statusReportRequired_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_outOfOrderDelivery,
      { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_moreThanOneRLC,
      { "moreThanOneRLC", "nr-rrc.moreThanOneRLC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_primaryPath,
      { "primaryPath", "nr-rrc.primaryPath_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellGroup,
      { "cellGroup", "nr-rrc.cellGroup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CellGroupId", HFILL }},
    { &hf_nr_rrc_logicalChannel,
      { "logicalChannel", "nr-rrc.logicalChannel",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LogicalChannelIdentity", HFILL }},
    { &hf_nr_rrc_ul_DataSplitThreshold,
      { "ul-DataSplitThreshold", "nr-rrc.ul_DataSplitThreshold",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_UL_DataSplitThreshold_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_Duplication,
      { "pdcp-Duplication", "nr-rrc.pdcp_Duplication",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_t_Reordering,
      { "t-Reordering", "nr-rrc.t_Reordering",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_t_Reordering_vals_ext, 0,
        "T_t_Reordering", HFILL }},
    { &hf_nr_rrc_cipheringDisabled,
      { "cipheringDisabled", "nr-rrc.cipheringDisabled",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cipheringDisabled_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_discardTimerExt_r16,
      { "discardTimerExt-r16", "nr-rrc.discardTimerExt_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardTimerExt_r16_vals), 0,
        "T_discardTimerExt_r16", HFILL }},
    { &hf_nr_rrc_setup_82,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DiscardTimerExt_r16_vals), 0,
        "DiscardTimerExt_r16", HFILL }},
    { &hf_nr_rrc_moreThanTwoRLC_DRB_r16,
      { "moreThanTwoRLC-DRB-r16", "nr-rrc.moreThanTwoRLC_DRB_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_splitSecondaryPath_r16,
      { "splitSecondaryPath-r16", "nr-rrc.splitSecondaryPath_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LogicalChannelIdentity", HFILL }},
    { &hf_nr_rrc_duplicationState_r16,
      { "duplicationState-r16", "nr-rrc.duplicationState_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_duplicationState_r16_item,
      { "duplicationState-r16 item", "nr-rrc.duplicationState_r16_item",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_ethernetHeaderCompression_r16,
      { "ethernetHeaderCompression-r16", "nr-rrc.ethernetHeaderCompression_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ethernetHeaderCompression_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_83,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EthernetHeaderCompression_r16", HFILL }},
    { &hf_nr_rrc_survivalTimeStateSupport_r17,
      { "survivalTimeStateSupport-r17", "nr-rrc.survivalTimeStateSupport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_survivalTimeStateSupport_r17_vals), 0,
        "T_survivalTimeStateSupport_r17", HFILL }},
    { &hf_nr_rrc_uplinkDataCompression_r17,
      { "uplinkDataCompression-r17", "nr-rrc.uplinkDataCompression_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkDataCompression_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_84,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_UplinkDataCompression_r17_vals), 0,
        "UplinkDataCompression_r17", HFILL }},
    { &hf_nr_rrc_discardTimerExt2_r17,
      { "discardTimerExt2-r17", "nr-rrc.discardTimerExt2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardTimerExt2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_85,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DiscardTimerExt2_r17_vals), 0,
        "DiscardTimerExt2_r17", HFILL }},
    { &hf_nr_rrc_initialRX_DELIV_r17,
      { "initialRX-DELIV-r17", "nr-rrc.initialRX_DELIV_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_ehc_Common_r16,
      { "ehc-Common-r16", "nr-rrc.ehc_Common_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ehc_CID_Length_r16,
      { "ehc-CID-Length-r16", "nr-rrc.ehc_CID_Length_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ehc_CID_Length_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ehc_Downlink_r16,
      { "ehc-Downlink-r16", "nr-rrc.ehc_Downlink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_ContinueEHC_DL_r16,
      { "drb-ContinueEHC-DL-r16", "nr-rrc.drb_ContinueEHC_DL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueEHC_DL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ehc_Uplink_r16,
      { "ehc-Uplink-r16", "nr-rrc.ehc_Uplink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCID_EHC_UL_r16,
      { "maxCID-EHC-UL-r16", "nr-rrc.maxCID_EHC_UL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32767", HFILL }},
    { &hf_nr_rrc_drb_ContinueEHC_UL_r16,
      { "drb-ContinueEHC-UL-r16", "nr-rrc.drb_ContinueEHC_UL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueEHC_UL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_newSetup,
      { "newSetup", "nr-rrc.newSetup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bufferSize_r17,
      { "bufferSize-r17", "nr-rrc.bufferSize_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bufferSize_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dictionary_r17,
      { "dictionary-r17", "nr-rrc.dictionary_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dictionary_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_ContinueUDC,
      { "drb-ContinueUDC", "nr-rrc.drb_ContinueUDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dataScramblingIdentityPDSCH,
      { "dataScramblingIdentityPDSCH", "nr-rrc.dataScramblingIdentityPDSCH",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA,
      { "dmrs-DownlinkForPDSCH-MappingTypeA", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_86,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DMRS_DownlinkConfig", HFILL }},
    { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB,
      { "dmrs-DownlinkForPDSCH-MappingTypeB", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_StatesToAddModList,
      { "tci-StatesToAddModList", "nr-rrc.tci_StatesToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State", HFILL }},
    { &hf_nr_rrc_tci_StatesToAddModList_item,
      { "TCI-State", "nr-rrc.TCI_State_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_StatesToReleaseList,
      { "tci-StatesToReleaseList", "nr-rrc.tci_StatesToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId", HFILL }},
    { &hf_nr_rrc_tci_StatesToReleaseList_item,
      { "TCI-StateId", "nr-rrc.TCI_StateId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_vrb_ToPRB_Interleaver,
      { "vrb-ToPRB-Interleaver", "nr-rrc.vrb_ToPRB_Interleaver",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vrb_ToPRB_Interleaver_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceAllocation_01,
      { "resourceAllocation", "nr-rrc.resourceAllocation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_01_vals), 0,
        "T_resourceAllocation_01", HFILL }},
    { &hf_nr_rrc_pdsch_TimeDomainAllocationList,
      { "pdsch-TimeDomainAllocationList", "nr-rrc.pdsch_TimeDomainAllocationList",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_TimeDomainAllocationList_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_87,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDSCH_TimeDomainResourceAllocationList", HFILL }},
    { &hf_nr_rrc_pdsch_AggregationFactor,
      { "pdsch-AggregationFactor", "nr-rrc.pdsch_AggregationFactor",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_AggregationFactor_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchPatternToAddModList,
      { "rateMatchPatternToAddModList", "nr-rrc.rateMatchPatternToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern", HFILL }},
    { &hf_nr_rrc_rateMatchPatternToAddModList_item,
      { "RateMatchPattern", "nr-rrc.RateMatchPattern_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchPatternToReleaseList,
      { "rateMatchPatternToReleaseList", "nr-rrc.rateMatchPatternToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId", HFILL }},
    { &hf_nr_rrc_rateMatchPatternToReleaseList_item,
      { "RateMatchPatternId", "nr-rrc.RateMatchPatternId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchPatternGroup1,
      { "rateMatchPatternGroup1", "nr-rrc.rateMatchPatternGroup1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RateMatchPatternGroup", HFILL }},
    { &hf_nr_rrc_rateMatchPatternGroup2,
      { "rateMatchPatternGroup2", "nr-rrc.rateMatchPatternGroup2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RateMatchPatternGroup", HFILL }},
    { &hf_nr_rrc_rbg_Size_01,
      { "rbg-Size", "nr-rrc.rbg_Size",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_01_vals), 0,
        "T_rbg_Size_01", HFILL }},
    { &hf_nr_rrc_mcs_Table_01,
      { "mcs-Table", "nr-rrc.mcs_Table",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_01_vals), 0,
        "T_mcs_Table_01", HFILL }},
    { &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI,
      { "maxNrofCodeWordsScheduledByDCI", "nr-rrc.maxNrofCodeWordsScheduledByDCI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prb_BundlingType,
      { "prb-BundlingType", "nr-rrc.prb_BundlingType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prb_BundlingType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_staticBundling,
      { "staticBundling", "nr-rrc.staticBundling_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bundleSize,
      { "bundleSize", "nr-rrc.bundleSize",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSize_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicBundling,
      { "dynamicBundling", "nr-rrc.dynamicBundling_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bundleSizeSet1,
      { "bundleSizeSet1", "nr-rrc.bundleSizeSet1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bundleSizeSet2,
      { "bundleSizeSet2", "nr-rrc.bundleSizeSet2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList,
      { "zp-CSI-RS-ResourceToAddModList", "nr-rrc.zp_CSI_RS_ResourceToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource", HFILL }},
    { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item,
      { "ZP-CSI-RS-Resource", "nr-rrc.ZP_CSI_RS_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList,
      { "zp-CSI-RS-ResourceToReleaseList", "nr-rrc.zp_CSI_RS_ResourceToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item,
      { "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList,
      { "aperiodic-ZP-CSI-RS-ResourceSetsToAddModList", "nr-rrc.aperiodic_ZP_CSI_RS_ResourceSetsToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet", HFILL }},
    { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item,
      { "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList,
      { "aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList", "nr-rrc.aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item,
      { "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList,
      { "sp-ZP-CSI-RS-ResourceSetsToAddModList", "nr-rrc.sp_ZP_CSI_RS_ResourceSetsToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet", HFILL }},
    { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item,
      { "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList,
      { "sp-ZP-CSI-RS-ResourceSetsToReleaseList", "nr-rrc.sp_ZP_CSI_RS_ResourceSetsToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList_item,
      { "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p_ZP_CSI_RS_ResourceSet,
      { "p-ZP-CSI-RS-ResourceSet", "nr-rrc.p_ZP_CSI_RS_ResourceSet",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_p_ZP_CSI_RS_ResourceSet_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_88,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ZP_CSI_RS_ResourceSet", HFILL }},
    { &hf_nr_rrc_maxMIMO_Layers_r16,
      { "maxMIMO-Layers-r16", "nr-rrc.maxMIMO_Layers_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_Layers_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_89,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MaxMIMO_LayersDL_r16", HFILL }},
    { &hf_nr_rrc_minimumSchedulingOffsetK0_r16,
      { "minimumSchedulingOffsetK0-r16", "nr-rrc.minimumSchedulingOffsetK0_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minimumSchedulingOffsetK0_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_90,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MinSchedulingOffsetK0_Values_r16", HFILL }},
    { &hf_nr_rrc_antennaPortsFieldPresenceDCI_1_2_r16,
      { "antennaPortsFieldPresenceDCI-1-2-r16", "nr-rrc.antennaPortsFieldPresenceDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_antennaPortsFieldPresenceDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListDCI_1_2_r16,
      { "aperiodicZP-CSI-RS-ResourceSetsToAddModListDCI-1-2-r16", "nr-rrc.aperiodicZP_CSI_RS_ResourceSetsToAddModListDCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet", HFILL }},
    { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListDCI_1_2_r16_item,
      { "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListDCI_1_2_r16,
      { "aperiodicZP-CSI-RS-ResourceSetsToReleaseListDCI-1-2-r16", "nr-rrc.aperiodicZP_CSI_RS_ResourceSetsToReleaseListDCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListDCI_1_2_r16_item,
      { "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16,
      { "dmrs-DownlinkForPDSCH-MappingTypeA-DCI-1-2-r16", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16,
      { "dmrs-DownlinkForPDSCH-MappingTypeB-DCI-1-2-r16", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_SequenceInitializationDCI_1_2_r16,
      { "dmrs-SequenceInitializationDCI-1-2-r16", "nr-rrc.dmrs_SequenceInitializationDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_SequenceInitializationDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_ProcessNumberSizeDCI_1_2_r16,
      { "harq-ProcessNumberSizeDCI-1-2-r16", "nr-rrc.harq_ProcessNumberSizeDCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_mcs_TableDCI_1_2_r16,
      { "mcs-TableDCI-1-2-r16", "nr-rrc.mcs_TableDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfBitsForRV_DCI_1_2_r16,
      { "numberOfBitsForRV-DCI-1-2-r16", "nr-rrc.numberOfBitsForRV_DCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2", HFILL }},
    { &hf_nr_rrc_pdsch_TimeDomainAllocationListDCI_1_2_r16,
      { "pdsch-TimeDomainAllocationListDCI-1-2-r16", "nr-rrc.pdsch_TimeDomainAllocationListDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_TimeDomainAllocationListDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_91,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDSCH_TimeDomainResourceAllocationList_r16", HFILL }},
    { &hf_nr_rrc_prb_BundlingTypeDCI_1_2_r16,
      { "prb-BundlingTypeDCI-1-2-r16", "nr-rrc.prb_BundlingTypeDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prb_BundlingTypeDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_staticBundling_r16,
      { "staticBundling-r16", "nr-rrc.staticBundling_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bundleSize_r16,
      { "bundleSize-r16", "nr-rrc.bundleSize_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSize_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicBundling_r16,
      { "dynamicBundling-r16", "nr-rrc.dynamicBundling_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bundleSizeSet1_r16,
      { "bundleSizeSet1-r16", "nr-rrc.bundleSizeSet1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bundleSizeSet2_r16,
      { "bundleSizeSet2-r16", "nr-rrc.bundleSizeSet2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_priorityIndicatorDCI_1_2_r16,
      { "priorityIndicatorDCI-1-2-r16", "nr-rrc.priorityIndicatorDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchPatternGroup1DCI_1_2_r16,
      { "rateMatchPatternGroup1DCI-1-2-r16", "nr-rrc.rateMatchPatternGroup1DCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RateMatchPatternGroup", HFILL }},
    { &hf_nr_rrc_rateMatchPatternGroup2DCI_1_2_r16,
      { "rateMatchPatternGroup2DCI-1-2-r16", "nr-rrc.rateMatchPatternGroup2DCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RateMatchPatternGroup", HFILL }},
    { &hf_nr_rrc_resourceAllocationType1GranularityDCI_1_2_r16,
      { "resourceAllocationType1GranularityDCI-1-2-r16", "nr-rrc.resourceAllocationType1GranularityDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocationType1GranularityDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_vrb_ToPRB_InterleaverDCI_1_2_r16,
      { "vrb-ToPRB-InterleaverDCI-1-2-r16", "nr-rrc.vrb_ToPRB_InterleaverDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vrb_ToPRB_InterleaverDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceOfSLIVDCI_1_2_r16,
      { "referenceOfSLIVDCI-1-2-r16", "nr-rrc.referenceOfSLIVDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceOfSLIVDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceAllocationDCI_1_2_r16,
      { "resourceAllocationDCI-1-2-r16", "nr-rrc.resourceAllocationDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocationDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_priorityIndicatorDCI_1_1_r16,
      { "priorityIndicatorDCI-1-1-r16", "nr-rrc.priorityIndicatorDCI_1_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorDCI_1_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dataScramblingIdentityPDSCH2_r16,
      { "dataScramblingIdentityPDSCH2-r16", "nr-rrc.dataScramblingIdentityPDSCH2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_pdsch_TimeDomainAllocationList_r16,
      { "pdsch-TimeDomainAllocationList-r16", "nr-rrc.pdsch_TimeDomainAllocationList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_TimeDomainAllocationList_r16_vals), 0,
        "T_pdsch_TimeDomainAllocationList_r16", HFILL }},
    { &hf_nr_rrc_repetitionSchemeConfig_r16,
      { "repetitionSchemeConfig-r16", "nr-rrc.repetitionSchemeConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionSchemeConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_92,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RepetitionSchemeConfig_r16_vals), 0,
        "RepetitionSchemeConfig_r16", HFILL }},
    { &hf_nr_rrc_repetitionSchemeConfig_v1630,
      { "repetitionSchemeConfig-v1630", "nr-rrc.repetitionSchemeConfig_v1630",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionSchemeConfig_v1630_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_93,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RepetitionSchemeConfig_v1630", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17,
      { "pdsch-HARQ-ACK-OneShotFeedbackDCI-1-2-r17", "nr-rrc.pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackDCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_1_2_r17,
      { "pdsch-HARQ-ACK-EnhType3DCI-1-2-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3DCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17,
      { "pdsch-HARQ-ACK-EnhType3DCI-Field-1-2-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_Field_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_RetxDCI_1_2_r17,
      { "pdsch-HARQ-ACK-RetxDCI-1-2-r17", "nr-rrc.pdsch_HARQ_ACK_RetxDCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_RetxDCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_sSCellDynDCI_1_2_r17,
      { "pucch-sSCellDynDCI-1-2-r17", "nr-rrc.pucch_sSCellDynDCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_sSCellDynDCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_OrJointTCI_StateList_r17,
      { "dl-OrJointTCI-StateList-r17", "nr-rrc.dl_OrJointTCI_StateList_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_OrJointTCI_StateList_r17_vals), 0,
        "T_dl_OrJointTCI_StateList_r17", HFILL }},
    { &hf_nr_rrc_explicitlist_01,
      { "explicitlist", "nr-rrc.explicitlist_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_explicitlist_01", HFILL }},
    { &hf_nr_rrc_dl_OrJointTCI_StateToAddModList_r17,
      { "dl-OrJointTCI-StateToAddModList-r17", "nr-rrc.dl_OrJointTCI_StateToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State", HFILL }},
    { &hf_nr_rrc_dl_OrJointTCI_StateToAddModList_r17_item,
      { "TCI-State", "nr-rrc.TCI_State_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_OrJointTCI_StateToReleaseList_r17,
      { "dl-OrJointTCI-StateToReleaseList-r17", "nr-rrc.dl_OrJointTCI_StateToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId", HFILL }},
    { &hf_nr_rrc_dl_OrJointTCI_StateToReleaseList_r17_item,
      { "TCI-StateId", "nr-rrc.TCI_StateId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamAppTime_r17,
      { "beamAppTime-r17", "nr-rrc.beamAppTime_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamAppTime_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_94,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Dummy_TDRA_List", HFILL }},
    { &hf_nr_rrc_dmrs_FD_OCC_DisabledForRank1_PDSCH_r17,
      { "dmrs-FD-OCC-DisabledForRank1-PDSCH-r17", "nr-rrc.dmrs_FD_OCC_DisabledForRank1_PDSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_FD_OCC_DisabledForRank1_PDSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minimumSchedulingOffsetK0_r17,
      { "minimumSchedulingOffsetK0-r17", "nr-rrc.minimumSchedulingOffsetK0_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minimumSchedulingOffsetK0_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_95,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MinSchedulingOffsetK0_Values_r17", HFILL }},
    { &hf_nr_rrc_harq_ProcessNumberSizeDCI_1_2_v1700,
      { "harq-ProcessNumberSizeDCI-1-2-v1700", "nr-rrc.harq_ProcessNumberSizeDCI_1_2_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5", HFILL }},
    { &hf_nr_rrc_harq_ProcessNumberSizeDCI_1_1_r17,
      { "harq-ProcessNumberSizeDCI-1-1-r17", "nr-rrc.harq_ProcessNumberSizeDCI_1_1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_5", HFILL }},
    { &hf_nr_rrc_mcs_Table_r17,
      { "mcs-Table-r17", "nr-rrc.mcs_Table_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcs_TableDCI_1_2_r17,
      { "mcs-TableDCI-1-2-r17", "nr-rrc.mcs_TableDCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableDCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_xOverheadMulticast_r17,
      { "xOverheadMulticast-r17", "nr-rrc.xOverheadMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverheadMulticast_r17_vals), 0,
        "T_xOverheadMulticast_r17", HFILL }},
    { &hf_nr_rrc_priorityIndicatorDCI_4_2_r17,
      { "priorityIndicatorDCI-4-2-r17", "nr-rrc.priorityIndicatorDCI_4_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorDCI_4_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sizeDCI_4_2_r17,
      { "sizeDCI-4-2-r17", "nr-rrc.sizeDCI_4_2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_20_maxDCI_4_2_Size_r17", HFILL }},
    { &hf_nr_rrc_pdsch_TimeDomainAllocationListForMultiPDSCH_r17,
      { "pdsch-TimeDomainAllocationListForMultiPDSCH-r17", "nr-rrc.pdsch_TimeDomainAllocationListForMultiPDSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_96,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MultiPDSCH_TDRA_List_r17", HFILL }},
    { &hf_nr_rrc_RateMatchPatternGroup_item,
      { "RateMatchPatternGroup item", "nr-rrc.RateMatchPatternGroup_item",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RateMatchPatternGroup_item_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellLevel,
      { "cellLevel", "nr-rrc.cellLevel",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RateMatchPatternId", HFILL }},
    { &hf_nr_rrc_bwpLevel,
      { "bwpLevel", "nr-rrc.bwpLevel",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RateMatchPatternId", HFILL }},
    { &hf_nr_rrc_MinSchedulingOffsetK0_Values_r16_item,
      { "MinSchedulingOffsetK0-Values-r16 item", "nr-rrc.MinSchedulingOffsetK0_Values_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxK0_SchedulingOffset_r16", HFILL }},
    { &hf_nr_rrc_MinSchedulingOffsetK0_Values_r17_item,
      { "MinSchedulingOffsetK0-Values-r17 item", "nr-rrc.MinSchedulingOffsetK0_Values_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxK0_SchedulingOffset_r17", HFILL }},
    { &hf_nr_rrc_pdsch_TimeDomainAllocationList_01,
      { "pdsch-TimeDomainAllocationList", "nr-rrc.pdsch_TimeDomainAllocationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDSCH_TimeDomainResourceAllocationList", HFILL }},
    { &hf_nr_rrc_codeBlockGroupTransmission,
      { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_97,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDSCH_CodeBlockGroupTransmission", HFILL }},
    { &hf_nr_rrc_xOverhead,
      { "xOverhead", "nr-rrc.xOverhead",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH,
      { "nrofHARQ-ProcessesForPDSCH", "nr-rrc.nrofHARQ_ProcessesForPDSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofHARQ_ProcessesForPDSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Cell,
      { "pucch-Cell", "nr-rrc.pucch_Cell",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_maxMIMO_Layers,
      { "maxMIMO-Layers", "nr-rrc.maxMIMO_Layers",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_processingType2Enabled,
      { "processingType2Enabled", "nr-rrc.processingType2Enabled",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_pdsch_CodeBlockGroupTransmissionList_r16,
      { "pdsch-CodeBlockGroupTransmissionList-r16", "nr-rrc.pdsch_CodeBlockGroupTransmissionList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16_vals), 0,
        "T_pdsch_CodeBlockGroupTransmissionList_r16", HFILL }},
    { &hf_nr_rrc_setup_98,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDSCH_CodeBlockGroupTransmissionList_r16", HFILL }},
    { &hf_nr_rrc_downlinkHARQ_FeedbackDisabled_r17,
      { "downlinkHARQ-FeedbackDisabled-r17", "nr-rrc.downlinkHARQ_FeedbackDisabled_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkHARQ_FeedbackDisabled_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_99,
      { "setup", "nr-rrc.setup",
        FT_BYTES, BASE_NONE, NULL, 0,
        "DownlinkHARQ_FeedbackDisabled_r17", HFILL }},
    { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH_v1700,
      { "nrofHARQ-ProcessesForPDSCH-v1700", "nr-rrc.nrofHARQ_ProcessesForPDSCH_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofHARQ_ProcessesForPDSCH_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock,
      { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codeBlockGroupFlushIndicator,
      { "codeBlockGroupFlushIndicator", "nr-rrc.codeBlockGroupFlushIndicator",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16_item,
      { "PDSCH-CodeBlockGroupTransmission", "nr-rrc.PDSCH_CodeBlockGroupTransmission_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item,
      { "PDSCH-TimeDomainResourceAllocation", "nr-rrc.PDSCH_TimeDomainResourceAllocation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k0,
      { "k0", "nr-rrc.k0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_nr_rrc_mappingType,
      { "mappingType", "nr-rrc.mappingType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startSymbolAndLength,
      { "startSymbolAndLength", "nr-rrc.startSymbolAndLength",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16_item,
      { "PDSCH-TimeDomainResourceAllocation-r16", "nr-rrc.PDSCH_TimeDomainResourceAllocation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k0_r16,
      { "k0-r16", "nr-rrc.k0_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_nr_rrc_mappingType_r16,
      { "mappingType-r16", "nr-rrc.mappingType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startSymbolAndLength_r16,
      { "startSymbolAndLength-r16", "nr-rrc.startSymbolAndLength_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_repetitionNumber_r16,
      { "repetitionNumber-r16", "nr-rrc.repetitionNumber_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionNumber_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k0_v1710,
      { "k0-v1710", "nr-rrc.k0_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_33_128", HFILL }},
    { &hf_nr_rrc_repetitionNumber_v1730,
      { "repetitionNumber-v1730", "nr-rrc.repetitionNumber_v1730",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionNumber_v1730_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_Dummy_TDRA_List_item,
      { "MultiPDSCH-TDRA-r17", "nr-rrc.MultiPDSCH_TDRA_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MultiPDSCH_TDRA_List_r17_item,
      { "MultiPDSCH-TDRA-r17", "nr-rrc.MultiPDSCH_TDRA_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_TDRA_List_r17,
      { "pdsch-TDRA-List-r17", "nr-rrc.pdsch_TDRA_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16", HFILL }},
    { &hf_nr_rrc_pdsch_TDRA_List_r17_item,
      { "PDSCH-TimeDomainResourceAllocation-r16", "nr-rrc.PDSCH_TimeDomainResourceAllocation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phr_PeriodicTimer,
      { "phr-PeriodicTimer", "nr-rrc.phr_PeriodicTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_PeriodicTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phr_ProhibitTimer,
      { "phr-ProhibitTimer", "nr-rrc.phr_ProhibitTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ProhibitTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phr_Tx_PowerFactorChange,
      { "phr-Tx-PowerFactorChange", "nr-rrc.phr_Tx_PowerFactorChange",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Tx_PowerFactorChange_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiplePHR,
      { "multiplePHR", "nr-rrc.multiplePHR",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_pHR_Config_dummy,
      { "dummy", "nr-rrc.pHR_Config.dummy",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_phr_Type2OtherCell,
      { "phr-Type2OtherCell", "nr-rrc.phr_Type2OtherCell",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_phr_ModeOtherCG,
      { "phr-ModeOtherCG", "nr-rrc.phr_ModeOtherCG",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ModeOtherCG_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mpe_Reporting_FR2_r16,
      { "mpe-Reporting-FR2-r16", "nr-rrc.mpe_Reporting_FR2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpe_Reporting_FR2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_100,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MPE_Config_FR2_r16", HFILL }},
    { &hf_nr_rrc_mpe_Reporting_FR2_r17,
      { "mpe-Reporting-FR2-r17", "nr-rrc.mpe_Reporting_FR2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpe_Reporting_FR2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_101,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MPE_Config_FR2_r17", HFILL }},
    { &hf_nr_rrc_twoPHRMode_r17,
      { "twoPHRMode-r17", "nr-rrc.twoPHRMode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPHRMode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mpe_ProhibitTimer_r16,
      { "mpe-ProhibitTimer-r16", "nr-rrc.mpe_ProhibitTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpe_ProhibitTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mpe_Threshold_r16,
      { "mpe-Threshold-r16", "nr-rrc.mpe_Threshold_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpe_Threshold_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mpe_ProhibitTimer_r17,
      { "mpe-ProhibitTimer-r17", "nr-rrc.mpe_ProhibitTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpe_ProhibitTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mpe_Threshold_r17,
      { "mpe-Threshold-r17", "nr-rrc.mpe_Threshold_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpe_Threshold_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfN_r17,
      { "numberOfN-r17", "nr-rrc.numberOfN_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH,
      { "harq-ACK-SpatialBundlingPUCCH", "nr-rrc.harq_ACK_SpatialBundlingPUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH,
      { "harq-ACK-SpatialBundlingPUSCH", "nr-rrc.harq_ACK_SpatialBundlingPUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p_NR_FR1,
      { "p-NR-FR1", "nr-rrc.p_NR_FR1",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook,
      { "pdsch-HARQ-ACK-Codebook", "nr-rrc.pdsch_HARQ_ACK_Codebook",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Codebook_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tpc_SRS_RNTI,
      { "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_tpc_PUCCH_RNTI,
      { "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_tpc_PUSCH_RNTI,
      { "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_sp_CSI_RNTI,
      { "sp-CSI-RNTI", "nr-rrc.sp_CSI_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_cs_RNTI,
      { "cs-RNTI", "nr-rrc.cs_RNTI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cs_RNTI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_102,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_mcs_C_RNTI,
      { "mcs-C-RNTI", "nr-rrc.mcs_C_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_p_UE_FR1,
      { "p-UE-FR1", "nr-rrc.p_UE_FR1",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_xScale,
      { "xScale", "nr-rrc.xScale",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xScale_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetection,
      { "pdcch-BlindDetection", "nr-rrc.pdcch_BlindDetection",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetection_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_103,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDCCH_BlindDetection", HFILL }},
    { &hf_nr_rrc_dcp_Config_r16,
      { "dcp-Config-r16", "nr-rrc.dcp_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dcp_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_104,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DCP_Config_r16", HFILL }},
    { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16,
      { "harq-ACK-SpatialBundlingPUCCH-secondaryPUCCHgroup-r16", "nr-rrc.harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCHgroup_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16,
      { "harq-ACK-SpatialBundlingPUSCH-secondaryPUCCHgroup-r16", "nr-rrc.harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCHgroup_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16,
      { "pdsch-HARQ-ACK-Codebook-secondaryPUCCHgroup-r16", "nr-rrc.pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Codebook_secondaryPUCCHgroup_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p_NR_FR2_r16,
      { "p-NR-FR2-r16", "nr-rrc.p_NR_FR2_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_p_UE_FR2_r16,
      { "p-UE-FR2-r16", "nr-rrc.p_UE_FR2_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "P_Max", HFILL }},
    { &hf_nr_rrc_nrdc_PCmode_FR1_r16,
      { "nrdc-PCmode-FR1-r16", "nr-rrc.nrdc_PCmode_FR1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrdc_PCmode_FR1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrdc_PCmode_FR2_r16,
      { "nrdc-PCmode-FR2-r16", "nr-rrc.nrdc_PCmode_FR2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrdc_PCmode_FR2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook_r16,
      { "pdsch-HARQ-ACK-Codebook-r16", "nr-rrc.pdsch_HARQ_ACK_Codebook_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Codebook_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nfi_TotalDAI_Included_r16,
      { "nfi-TotalDAI-Included-r16", "nr-rrc.nfi_TotalDAI_Included_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nfi_TotalDAI_Included_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_TotalDAI_Included_r16,
      { "ul-TotalDAI-Included-r16", "nr-rrc.ul_TotalDAI_Included_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_TotalDAI_Included_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedback_r16,
      { "pdsch-HARQ-ACK-OneShotFeedback-r16", "nr-rrc.pdsch_HARQ_ACK_OneShotFeedback_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedback_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16,
      { "pdsch-HARQ-ACK-OneShotFeedbackNDI-r16", "nr-rrc.pdsch_HARQ_ACK_OneShotFeedbackNDI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16,
      { "pdsch-HARQ-ACK-OneShotFeedbackCBG-r16", "nr-rrc.pdsch_HARQ_ACK_OneShotFeedbackCBG_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_downlinkAssignmentIndexDCI_0_2_r16,
      { "downlinkAssignmentIndexDCI-0-2-r16", "nr-rrc.downlinkAssignmentIndexDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkAssignmentIndexDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_downlinkAssignmentIndexDCI_1_2_r16,
      { "downlinkAssignmentIndexDCI-1-2-r16", "nr-rrc.downlinkAssignmentIndexDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkAssignmentIndexDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_CodebookList_r16,
      { "pdsch-HARQ-ACK-CodebookList-r16", "nr-rrc.pdsch_HARQ_ACK_CodebookList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16_vals), 0,
        "T_pdsch_HARQ_ACK_CodebookList_r16", HFILL }},
    { &hf_nr_rrc_setup_105,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDSCH_HARQ_ACK_CodebookList_r16", HFILL }},
    { &hf_nr_rrc_ackNackFeedbackMode_r16,
      { "ackNackFeedbackMode-r16", "nr-rrc.ackNackFeedbackMode_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ackNackFeedbackMode_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r16,
      { "pdcch-BlindDetectionCA-CombIndicator-r16", "nr-rrc.pdcch_BlindDetectionCA_CombIndicator_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_106,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCA_CombIndicator_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetection2_r16,
      { "pdcch-BlindDetection2-r16", "nr-rrc.pdcch_BlindDetection2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetection2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_107,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDCCH_BlindDetection2_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetection3_r16,
      { "pdcch-BlindDetection3-r16", "nr-rrc.pdcch_BlindDetection3_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetection3_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_108,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDCCH_BlindDetection3_r16", HFILL }},
    { &hf_nr_rrc_bdFactorR_r16,
      { "bdFactorR-r16", "nr-rrc.bdFactorR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bdFactorR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToAddModList_r17,
      { "pdsch-HARQ-ACK-EnhType3ToAddModList-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3ToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToAddModList_r17_item,
      { "PDSCH-HARQ-ACK-EnhType3-r17", "nr-rrc.PDSCH_HARQ_ACK_EnhType3_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToReleaseList_r17,
      { "pdsch-HARQ-ACK-EnhType3ToReleaseList-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3ToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3ToReleaseList_r17_item,
      { "PDSCH-HARQ-ACK-EnhType3Index-r17", "nr-rrc.PDSCH_HARQ_ACK_EnhType3Index_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToAddModList_r17,
      { "pdsch-HARQ-ACK-EnhType3SecondaryToAddModList-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3SecondaryToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToAddModList_r17_item,
      { "PDSCH-HARQ-ACK-EnhType3-r17", "nr-rrc.PDSCH_HARQ_ACK_EnhType3_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToReleaseList_r17,
      { "pdsch-HARQ-ACK-EnhType3SecondaryToReleaseList-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3SecondaryToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3SecondaryToReleaseList_r17_item,
      { "PDSCH-HARQ-ACK-EnhType3Index-r17", "nr-rrc.PDSCH_HARQ_ACK_EnhType3Index_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17,
      { "pdsch-HARQ-ACK-EnhType3DCI-FieldSecondaryPUCCHgroup-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_FieldSecondaryPUCCHgroup_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3DCI_Field_r17,
      { "pdsch-HARQ-ACK-EnhType3DCI-Field-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3DCI_Field_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_EnhType3DCI_Field_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_Retx_r17,
      { "pdsch-HARQ-ACK-Retx-r17", "nr-rrc.pdsch_HARQ_ACK_Retx_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Retx_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17,
      { "pdsch-HARQ-ACK-RetxSecondaryPUCCHgroup-r17", "nr-rrc.pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_RetxSecondaryPUCCHgroup_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_sSCell_r17,
      { "pucch-sSCell-r17", "nr-rrc.pucch_sSCell_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SCellIndex", HFILL }},
    { &hf_nr_rrc_pucch_sSCellSecondaryPUCCHgroup_r17,
      { "pucch-sSCellSecondaryPUCCHgroup-r17", "nr-rrc.pucch_sSCellSecondaryPUCCHgroup_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SCellIndex", HFILL }},
    { &hf_nr_rrc_pucch_sSCellDyn_r17,
      { "pucch-sSCellDyn-r17", "nr-rrc.pucch_sSCellDyn_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_sSCellDyn_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_sSCellDynSecondaryPUCCHgroup_r17,
      { "pucch-sSCellDynSecondaryPUCCHgroup-r17", "nr-rrc.pucch_sSCellDynSecondaryPUCCHgroup_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_sSCellDynSecondaryPUCCHgroup_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_sSCellPattern_r17,
      { "pucch-sSCellPattern-r17", "nr-rrc.pucch_sSCellPattern_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_sSCellPattern_r17_item,
      { "pucch-sSCellPattern-r17 item", "nr-rrc.pucch_sSCellPattern_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_pucch_sSCellPatternSecondaryPUCCHgroup_r17,
      { "pucch-sSCellPatternSecondaryPUCCHgroup-r17", "nr-rrc.pucch_sSCellPatternSecondaryPUCCHgroup_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_sSCellPatternSecondaryPUCCHgroup_r17_item,
      { "pucch-sSCellPatternSecondaryPUCCHgroup-r17 item", "nr-rrc.pucch_sSCellPatternSecondaryPUCCHgroup_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_uci_MuxWithDiffPrio_r17,
      { "uci-MuxWithDiffPrio-r17", "nr-rrc.uci_MuxWithDiffPrio_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_MuxWithDiffPrio_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17,
      { "uci-MuxWithDiffPrioSecondaryPUCCHgroup-r17", "nr-rrc.uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_MuxWithDiffPrioSecondaryPUCCHgroup_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousPUCCH_PUSCH_r17,
      { "simultaneousPUCCH-PUSCH-r17", "nr-rrc.simultaneousPUCCH_PUSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousPUCCH_PUSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17,
      { "simultaneousPUCCH-PUSCH-SecondaryPUCCHgroup-r17", "nr-rrc.simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousPUCCH_PUSCH_SecondaryPUCCHgroup_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prioLowDG_HighCG_r17,
      { "prioLowDG-HighCG-r17", "nr-rrc.prioLowDG_HighCG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prioLowDG_HighCG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prioHighDG_LowCG_r17,
      { "prioHighDG-LowCG-r17", "nr-rrc.prioHighDG_LowCG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prioHighDG_LowCG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoQCLTypeDforPDCCHRepetition_r17,
      { "twoQCLTypeDforPDCCHRepetition-r17", "nr-rrc.twoQCLTypeDforPDCCHRepetition_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoQCLTypeDforPDCCHRepetition_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multicastConfig_r17,
      { "multicastConfig-r17", "nr-rrc.multicastConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multicastConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_109,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MulticastConfig_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r17,
      { "pdcch-BlindDetectionCA-CombIndicator-r17", "nr-rrc.pdcch_BlindDetectionCA_CombIndicator_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_110,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCA_CombIndicator_r17", HFILL }},
    { &hf_nr_rrc_simultaneousSR_PUSCH_diffPUCCH_Groups_r17,
      { "simultaneousSR-PUSCH-diffPUCCH-Groups-r17", "nr-rrc.simultaneousSR_PUSCH_diffPUCCH_Groups_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousSR_PUSCH_diffPUCCH_Groups_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraBandNC_PRACH_simulTx_r17,
      { "intraBandNC-PRACH-simulTx-r17", "nr-rrc.intraBandNC_PRACH_simulTx_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraBandNC_PRACH_simulTx_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetection4_r17,
      { "pdcch-BlindDetection4-r17", "nr-rrc.pdcch_BlindDetection4_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetection4_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_111,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDCCH_BlindDetection4_r17", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3Index_r17,
      { "pdsch-HARQ-ACK-EnhType3Index-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3Index_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_applicable_r17,
      { "applicable-r17", "nr-rrc.applicable_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_applicable_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_perCC,
      { "perCC", "nr-rrc.perCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_perCC_item,
      { "perCC item", "nr-rrc.perCC_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_perHARQ,
      { "perHARQ", "nr-rrc.perHARQ",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_perHARQ_item,
      { "perHARQ item", "nr-rrc.perHARQ_item",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3NDI_r17,
      { "pdsch-HARQ-ACK-EnhType3NDI-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3NDI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_EnhType3NDI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_EnhType3CBG_r17,
      { "pdsch-HARQ-ACK-EnhType3CBG-r17", "nr-rrc.pdsch_HARQ_ACK_EnhType3CBG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_EnhType3CBG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_perHARQ_Ext_r17,
      { "perHARQ-Ext-r17", "nr-rrc.perHARQ_Ext_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_perHARQ_Ext_r17", HFILL }},
    { &hf_nr_rrc_perHARQ_Ext_r17_item,
      { "perHARQ-Ext-r17 item", "nr-rrc.perHARQ_Ext_r17_item",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_ps_RNTI_r16,
      { "ps-RNTI-r16", "nr-rrc.ps_RNTI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_ps_Offset_r16,
      { "ps-Offset-r16", "nr-rrc.ps_Offset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_120", HFILL }},
    { &hf_nr_rrc_sizeDCI_2_6_r16,
      { "sizeDCI-2-6-r16", "nr-rrc.sizeDCI_2_6_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxDCI_2_6_Size_r16", HFILL }},
    { &hf_nr_rrc_ps_PositionDCI_2_6_r16,
      { "ps-PositionDCI-2-6-r16", "nr-rrc.ps_PositionDCI_2_6_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxDCI_2_6_Size_1_r16", HFILL }},
    { &hf_nr_rrc_ps_WakeUp_r16,
      { "ps-WakeUp-r16", "nr-rrc.ps_WakeUp_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ps_WakeUp_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ps_TransmitPeriodicL1_RSRP_r16,
      { "ps-TransmitPeriodicL1-RSRP-r16", "nr-rrc.ps_TransmitPeriodicL1_RSRP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ps_TransmitPeriodicL1_RSRP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ps_TransmitOtherPeriodicCSI_r16,
      { "ps-TransmitOtherPeriodicCSI-r16", "nr-rrc.ps_TransmitOtherPeriodicCSI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ps_TransmitOtherPeriodicCSI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item,
      { "PDSCH-HARQ-ACK-CodebookList-r16 item", "nr-rrc.PDSCH_HARQ_ACK_CodebookList_r16_item",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA1_r16,
      { "pdcch-BlindDetectionCA1-r16", "nr-rrc.pdcch_BlindDetectionCA1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA2_r16,
      { "pdcch-BlindDetectionCA2-r16", "nr-rrc.pdcch_BlindDetectionCA2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_pdsch_HARQ_ACK_CodebookListMulticast_r17,
      { "pdsch-HARQ-ACK-CodebookListMulticast-r17", "nr-rrc.pdsch_HARQ_ACK_CodebookListMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_CodebookListMulticast_r17_vals), 0,
        "T_pdsch_HARQ_ACK_CodebookListMulticast_r17", HFILL }},
    { &hf_nr_rrc_type1CodebookGenerationMode_r17,
      { "type1CodebookGenerationMode-r17", "nr-rrc.type1CodebookGenerationMode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1CodebookGenerationMode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA1_r17,
      { "pdcch-BlindDetectionCA1-r17", "nr-rrc.pdcch_BlindDetectionCA1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA2_r17,
      { "pdcch-BlindDetectionCA2-r17", "nr-rrc.pdcch_BlindDetectionCA2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA3_r17,
      { "pdcch-BlindDetectionCA3-r17", "nr-rrc.pdcch_BlindDetectionCA3_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_mcc,
      { "mcc", "nr-rrc.mcc",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mnc,
      { "mnc", "nr-rrc.mnc",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MCC_item,
      { "MCC-MNC-Digit", "nr-rrc.MCC_MNC_Digit",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MNC_item,
      { "MCC-MNC-Digit", "nr-rrc.MCC_MNC_Digit",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PLMN_IdentityInfoList_item,
      { "PLMN-IdentityInfo", "nr-rrc.PLMN_IdentityInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_IdentityList,
      { "plmn-IdentityList", "nr-rrc.plmn_IdentityList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity", HFILL }},
    { &hf_nr_rrc_plmn_IdentityList_item,
      { "PLMN-Identity", "nr-rrc.PLMN_Identity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ranac,
      { "ranac", "nr-rrc.ranac",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RAN_AreaCode", HFILL }},
    { &hf_nr_rrc_cellReservedForOperatorUse,
      { "cellReservedForOperatorUse", "nr-rrc.cellReservedForOperatorUse",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOperatorUse_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_iab_Support_r16_01,
      { "iab-Support-r16", "nr-rrc.iab_Support_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_Support_r16_01_vals), 0,
        "T_iab_Support_r16_01", HFILL }},
    { &hf_nr_rrc_trackingAreaList_r17,
      { "trackingAreaList-r17", "nr-rrc.trackingAreaList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode", HFILL }},
    { &hf_nr_rrc_trackingAreaList_r17_item,
      { "TrackingAreaCode", "nr-rrc.TrackingAreaCode",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PLMN_IdentityList2_r16_item,
      { "PLMN-Identity", "nr-rrc.PLMN_Identity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyDensity,
      { "frequencyDensity", "nr-rrc.frequencyDensity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyDensity_item,
      { "frequencyDensity item", "nr-rrc.frequencyDensity_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_timeDensity,
      { "timeDensity", "nr-rrc.timeDensity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeDensity_item,
      { "timeDensity item", "nr-rrc.timeDensity_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_29", HFILL }},
    { &hf_nr_rrc_epre_Ratio,
      { "epre-Ratio", "nr-rrc.epre_Ratio",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_resourceElementOffset,
      { "resourceElementOffset", "nr-rrc.resourceElementOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNrofPorts_r16,
      { "maxNrofPorts-r16", "nr-rrc.maxNrofPorts_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofPorts_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_transformPrecoderDisabled,
      { "transformPrecoderDisabled", "nr-rrc.transformPrecoderDisabled_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyDensity_01,
      { "frequencyDensity", "nr-rrc.frequencyDensity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_frequencyDensity_01", HFILL }},
    { &hf_nr_rrc_timeDensity_01,
      { "timeDensity", "nr-rrc.timeDensity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_timeDensity_01", HFILL }},
    { &hf_nr_rrc_maxNrofPorts,
      { "maxNrofPorts", "nr-rrc.maxNrofPorts",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofPorts_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceElementOffset_01,
      { "resourceElementOffset", "nr-rrc.resourceElementOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_01_vals), 0,
        "T_resourceElementOffset_01", HFILL }},
    { &hf_nr_rrc_ptrs_Power,
      { "ptrs-Power", "nr-rrc.ptrs_Power",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_Power_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_transformPrecoderEnabled,
      { "transformPrecoderEnabled", "nr-rrc.transformPrecoderEnabled_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sampleDensity,
      { "sampleDensity", "nr-rrc.sampleDensity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sampleDensity_item,
      { "sampleDensity item", "nr-rrc.sampleDensity_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_timeDensityTransformPrecoding,
      { "timeDensityTransformPrecoding", "nr-rrc.timeDensityTransformPrecoding",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDensityTransformPrecoding_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceSetToAddModList,
      { "resourceSetToAddModList", "nr-rrc.resourceSetToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet", HFILL }},
    { &hf_nr_rrc_resourceSetToAddModList_item,
      { "PUCCH-ResourceSet", "nr-rrc.PUCCH_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceSetToReleaseList,
      { "resourceSetToReleaseList", "nr-rrc.resourceSetToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId", HFILL }},
    { &hf_nr_rrc_resourceSetToReleaseList_item,
      { "PUCCH-ResourceSetId", "nr-rrc.PUCCH_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceToAddModList,
      { "resourceToAddModList", "nr-rrc.resourceToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource", HFILL }},
    { &hf_nr_rrc_resourceToAddModList_item,
      { "PUCCH-Resource", "nr-rrc.PUCCH_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceToReleaseList,
      { "resourceToReleaseList", "nr-rrc.resourceToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_resourceToReleaseList_item,
      { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_format1,
      { "format1", "nr-rrc.format1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_112,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_FormatConfig", HFILL }},
    { &hf_nr_rrc_format2,
      { "format2", "nr-rrc.format2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_format3,
      { "format3", "nr-rrc.format3",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format3_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_format4,
      { "format4", "nr-rrc.format4",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format4_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceToAddModList,
      { "schedulingRequestResourceToAddModList", "nr-rrc.schedulingRequestResourceToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig", HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceToAddModList_item,
      { "SchedulingRequestResourceConfig", "nr-rrc.SchedulingRequestResourceConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceToReleaseList,
      { "schedulingRequestResourceToReleaseList", "nr-rrc.schedulingRequestResourceToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId", HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceToReleaseList_item,
      { "SchedulingRequestResourceId", "nr-rrc.SchedulingRequestResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList,
      { "multi-CSI-PUCCH-ResourceList", "nr-rrc.multi_CSI_PUCCH_ResourceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item,
      { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_DataToUL_ACK,
      { "dl-DataToUL-ACK", "nr-rrc.dl_DataToUL_ACK",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_DataToUL_ACK_item,
      { "dl-DataToUL-ACK item", "nr-rrc.dl_DataToUL_ACK_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToAddModList,
      { "spatialRelationInfoToAddModList", "nr-rrc.spatialRelationInfoToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo", HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToAddModList_item,
      { "PUCCH-SpatialRelationInfo", "nr-rrc.PUCCH_SpatialRelationInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToReleaseList,
      { "spatialRelationInfoToReleaseList", "nr-rrc.spatialRelationInfoToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId", HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToReleaseList_item,
      { "PUCCH-SpatialRelationInfoId", "nr-rrc.PUCCH_SpatialRelationInfoId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_PowerControl,
      { "pucch-PowerControl", "nr-rrc.pucch_PowerControl_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceToAddModListExt_v1610,
      { "resourceToAddModListExt-v1610", "nr-rrc.resourceToAddModListExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610", HFILL }},
    { &hf_nr_rrc_resourceToAddModListExt_v1610_item,
      { "PUCCH-ResourceExt-v1610", "nr-rrc.PUCCH_ResourceExt_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_DataToUL_ACK_r16,
      { "dl-DataToUL-ACK-r16", "nr-rrc.dl_DataToUL_ACK_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DataToUL_ACK_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_113,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DL_DataToUL_ACK_r16", HFILL }},
    { &hf_nr_rrc_ul_AccessConfigListDCI_1_1_r16,
      { "ul-AccessConfigListDCI-1-1-r16", "nr-rrc.ul_AccessConfigListDCI_1_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_AccessConfigListDCI_1_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_114,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UL_AccessConfigListDCI_1_1_r16", HFILL }},
    { &hf_nr_rrc_subslotLengthForPUCCH_r16,
      { "subslotLengthForPUCCH-r16", "nr-rrc.subslotLengthForPUCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subslotLengthForPUCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_normalCP_r16,
      { "normalCP-r16", "nr-rrc.normalCP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_normalCP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedCP_r16,
      { "extendedCP-r16", "nr-rrc.extendedCP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_DataToUL_ACK_DCI_1_2_r16,
      { "dl-DataToUL-ACK-DCI-1-2-r16", "nr-rrc.dl_DataToUL_ACK_DCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_115,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DL_DataToUL_ACK_DCI_1_2_r16", HFILL }},
    { &hf_nr_rrc_numberOfBitsForPUCCH_ResourceIndicatorDCI_1_2_r16,
      { "numberOfBitsForPUCCH-ResourceIndicatorDCI-1-2-r16", "nr-rrc.numberOfBitsForPUCCH_ResourceIndicatorDCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_dmrs_UplinkTransformPrecodingPUCCH_r16,
      { "dmrs-UplinkTransformPrecodingPUCCH-r16", "nr-rrc.dmrs_UplinkTransformPrecodingPUCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkTransformPrecodingPUCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToAddModListSizeExt_v1610,
      { "spatialRelationInfoToAddModListSizeExt-v1610", "nr-rrc.spatialRelationInfoToAddModListSizeExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo", HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToAddModListSizeExt_v1610_item,
      { "PUCCH-SpatialRelationInfo", "nr-rrc.PUCCH_SpatialRelationInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToReleaseListSizeExt_v1610,
      { "spatialRelationInfoToReleaseListSizeExt-v1610", "nr-rrc.spatialRelationInfoToReleaseListSizeExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId", HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToReleaseListSizeExt_v1610_item,
      { "PUCCH-SpatialRelationInfoId", "nr-rrc.PUCCH_SpatialRelationInfoId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToAddModListExt_v1610,
      { "spatialRelationInfoToAddModListExt-v1610", "nr-rrc.spatialRelationInfoToAddModListExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16", HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToAddModListExt_v1610_item,
      { "PUCCH-SpatialRelationInfoExt-r16", "nr-rrc.PUCCH_SpatialRelationInfoExt_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToReleaseListExt_v1610,
      { "spatialRelationInfoToReleaseListExt-v1610", "nr-rrc.spatialRelationInfoToReleaseListExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16", HFILL }},
    { &hf_nr_rrc_spatialRelationInfoToReleaseListExt_v1610_item,
      { "PUCCH-SpatialRelationInfoId-r16", "nr-rrc.PUCCH_SpatialRelationInfoId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceGroupToAddModList_r16,
      { "resourceGroupToAddModList-r16", "nr-rrc.resourceGroupToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16", HFILL }},
    { &hf_nr_rrc_resourceGroupToAddModList_r16_item,
      { "PUCCH-ResourceGroup-r16", "nr-rrc.PUCCH_ResourceGroup_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceGroupToReleaseList_r16,
      { "resourceGroupToReleaseList-r16", "nr-rrc.resourceGroupToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16", HFILL }},
    { &hf_nr_rrc_resourceGroupToReleaseList_r16_item,
      { "PUCCH-ResourceGroupId-r16", "nr-rrc.PUCCH_ResourceGroupId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_PUCCH_AN_List_r16,
      { "sps-PUCCH-AN-List-r16", "nr-rrc.sps_PUCCH_AN_List_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_PUCCH_AN_List_r16_vals), 0,
        "T_sps_PUCCH_AN_List_r16", HFILL }},
    { &hf_nr_rrc_setup_116,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SPS_PUCCH_AN_List_r16", HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1610,
      { "schedulingRequestResourceToAddModListExt-v1610", "nr-rrc.schedulingRequestResourceToAddModListExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610", HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1610_item,
      { "SchedulingRequestResourceConfigExt-v1610", "nr-rrc.SchedulingRequestResourceConfigExt_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_format0_r17,
      { "format0-r17", "nr-rrc.format0_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format0_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_format2Ext_r17,
      { "format2Ext-r17", "nr-rrc.format2Ext_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format2Ext_r17_vals), 0,
        "T_format2Ext_r17", HFILL }},
    { &hf_nr_rrc_setup_117,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_FormatConfigExt_r17", HFILL }},
    { &hf_nr_rrc_format3Ext_r17,
      { "format3Ext-r17", "nr-rrc.format3Ext_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format3Ext_r17_vals), 0,
        "T_format3Ext_r17", HFILL }},
    { &hf_nr_rrc_format4Ext_r17,
      { "format4Ext-r17", "nr-rrc.format4Ext_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format4Ext_r17_vals), 0,
        "T_format4Ext_r17", HFILL }},
    { &hf_nr_rrc_ul_AccessConfigListDCI_1_2_r17,
      { "ul-AccessConfigListDCI-1-2-r17", "nr-rrc.ul_AccessConfigListDCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_AccessConfigListDCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_118,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UL_AccessConfigListDCI_1_2_r17", HFILL }},
    { &hf_nr_rrc_mappingPattern_r17_01,
      { "mappingPattern-r17", "nr-rrc.mappingPattern_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingPattern_r17_01_vals), 0,
        "T_mappingPattern_r17_01", HFILL }},
    { &hf_nr_rrc_powerControlSetInfoToAddModList_r17,
      { "powerControlSetInfoToAddModList-r17", "nr-rrc.powerControlSetInfoToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17", HFILL }},
    { &hf_nr_rrc_powerControlSetInfoToAddModList_r17_item,
      { "PUCCH-PowerControlSetInfo-r17", "nr-rrc.PUCCH_PowerControlSetInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powerControlSetInfoToReleaseList_r17,
      { "powerControlSetInfoToReleaseList-r17", "nr-rrc.powerControlSetInfoToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17", HFILL }},
    { &hf_nr_rrc_powerControlSetInfoToReleaseList_r17_item,
      { "PUCCH-PowerControlSetInfoId-r17", "nr-rrc.PUCCH_PowerControlSetInfoId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_secondTPCFieldDCI_1_1_r17,
      { "secondTPCFieldDCI-1-1-r17", "nr-rrc.secondTPCFieldDCI_1_1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_secondTPCFieldDCI_1_1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_secondTPCFieldDCI_1_2_r17,
      { "secondTPCFieldDCI-1-2-r17", "nr-rrc.secondTPCFieldDCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_secondTPCFieldDCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_DataToUL_ACK_r17,
      { "dl-DataToUL-ACK-r17", "nr-rrc.dl_DataToUL_ACK_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DataToUL_ACK_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_119,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DL_DataToUL_ACK_r17", HFILL }},
    { &hf_nr_rrc_dl_DataToUL_ACK_DCI_1_2_r17,
      { "dl-DataToUL-ACK-DCI-1-2-r17", "nr-rrc.dl_DataToUL_ACK_DCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_120,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DL_DataToUL_ACK_DCI_1_2_r17", HFILL }},
    { &hf_nr_rrc_ul_AccessConfigListDCI_1_1_r17,
      { "ul-AccessConfigListDCI-1-1-r17", "nr-rrc.ul_AccessConfigListDCI_1_1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_AccessConfigListDCI_1_1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_121,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UL_AccessConfigListDCI_1_1_r17", HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1700,
      { "schedulingRequestResourceToAddModListExt-v1700", "nr-rrc.schedulingRequestResourceToAddModListExt_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700", HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceToAddModListExt_v1700_item,
      { "SchedulingRequestResourceConfigExt-v1700", "nr-rrc.SchedulingRequestResourceConfigExt_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUCCH_Config_r17,
      { "dmrs-BundlingPUCCH-Config-r17", "nr-rrc.dmrs_BundlingPUCCH_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUCCH_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_122,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DMRS_BundlingPUCCH_Config_r17", HFILL }},
    { &hf_nr_rrc_dl_DataToUL_ACK_v1700,
      { "dl-DataToUL-ACK-v1700", "nr-rrc.dl_DataToUL_ACK_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DataToUL_ACK_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_123,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DL_DataToUL_ACK_v1700", HFILL }},
    { &hf_nr_rrc_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17,
      { "dl-DataToUL-ACK-MulticastDCI-Format4-1-r17", "nr-rrc.dl_DataToUL_ACK_MulticastDCI_Format4_1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_124,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DL_DataToUL_ACK_MulticastDCI_Format4_1_r17", HFILL }},
    { &hf_nr_rrc_sps_PUCCH_AN_ListMulticast_r17,
      { "sps-PUCCH-AN-ListMulticast-r17", "nr-rrc.sps_PUCCH_AN_ListMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_PUCCH_AN_ListMulticast_r17_vals), 0,
        "T_sps_PUCCH_AN_ListMulticast_r17", HFILL }},
    { &hf_nr_rrc_interslotFrequencyHopping,
      { "interslotFrequencyHopping", "nr-rrc.interslotFrequencyHopping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interslotFrequencyHopping_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalDMRS,
      { "additionalDMRS", "nr-rrc.additionalDMRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalDMRS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCodeRate,
      { "maxCodeRate", "nr-rrc.maxCodeRate",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PUCCH_MaxCodeRate_vals), 0,
        "PUCCH_MaxCodeRate", HFILL }},
    { &hf_nr_rrc_nrofSlots,
      { "nrofSlots", "nr-rrc.nrofSlots",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSlots_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pi2BPSK,
      { "pi2BPSK", "nr-rrc.pi2BPSK",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pi2BPSK_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousHARQ_ACK_CSI,
      { "simultaneousHARQ-ACK-CSI", "nr-rrc.simultaneousHARQ_ACK_CSI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousHARQ_ACK_CSI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCodeRateLP_r17,
      { "maxCodeRateLP-r17", "nr-rrc.maxCodeRateLP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PUCCH_MaxCodeRate_vals), 0,
        "PUCCH_MaxCodeRate", HFILL }},
    { &hf_nr_rrc_pucch_ResourceSetId,
      { "pucch-ResourceSetId", "nr-rrc.pucch_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceList,
      { "resourceList", "nr-rrc.resourceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_resourceList_item,
      { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxPayloadSize,
      { "maxPayloadSize", "nr-rrc.maxPayloadSize",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_4_256", HFILL }},
    { &hf_nr_rrc_pucch_ResourceId,
      { "pucch-ResourceId", "nr-rrc.pucch_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startingPRB,
      { "startingPRB", "nr-rrc.startingPRB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PRB_Id", HFILL }},
    { &hf_nr_rrc_intraSlotFrequencyHopping,
      { "intraSlotFrequencyHopping", "nr-rrc.intraSlotFrequencyHopping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotFrequencyHopping_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_secondHopPRB,
      { "secondHopPRB", "nr-rrc.secondHopPRB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PRB_Id", HFILL }},
    { &hf_nr_rrc_format,
      { "format", "nr-rrc.format",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_format0,
      { "format0", "nr-rrc.format0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_format0", HFILL }},
    { &hf_nr_rrc_format1_01,
      { "format1", "nr-rrc.format1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_format1", HFILL }},
    { &hf_nr_rrc_format2_01,
      { "format2", "nr-rrc.format2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_format2", HFILL }},
    { &hf_nr_rrc_format3_01,
      { "format3", "nr-rrc.format3_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_format3", HFILL }},
    { &hf_nr_rrc_format4_01,
      { "format4", "nr-rrc.format4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_format4", HFILL }},
    { &hf_nr_rrc_interlaceAllocation_r16,
      { "interlaceAllocation-r16", "nr-rrc.interlaceAllocation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rb_SetIndex_r16,
      { "rb-SetIndex-r16", "nr-rrc.rb_SetIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_interlace0_r16,
      { "interlace0-r16", "nr-rrc.interlace0_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interlace0_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs15_01,
      { "scs15", "nr-rrc.scs15",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_scs30_01,
      { "scs30", "nr-rrc.scs30",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_format_v1610,
      { "format-v1610", "nr-rrc.format_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format_v1610_vals), 0,
        "T_format_v1610", HFILL }},
    { &hf_nr_rrc_interlace1_v1610,
      { "interlace1-v1610", "nr-rrc.interlace1_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_occ_v1610,
      { "occ-v1610", "nr-rrc.occ_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_occ_Length_v1610,
      { "occ-Length-v1610", "nr-rrc.occ_Length_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Length_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_occ_Index_v1610,
      { "occ-Index-v1610", "nr-rrc.occ_Index_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Index_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_format_v1700,
      { "format-v1700", "nr-rrc.format_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_format_v1700", HFILL }},
    { &hf_nr_rrc_nrofPRBs_r17,
      { "nrofPRBs-r17", "nr-rrc.nrofPRBs_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_pucch_RepetitionNrofSlots_r17,
      { "pucch-RepetitionNrofSlots-r17", "nr-rrc.pucch_RepetitionNrofSlots_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_RepetitionNrofSlots_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_initialCyclicShift,
      { "initialCyclicShift", "nr-rrc.initialCyclicShift",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_11", HFILL }},
    { &hf_nr_rrc_nrofSymbols,
      { "nrofSymbols", "nr-rrc.nrofSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_startingSymbolIndex,
      { "startingSymbolIndex", "nr-rrc.startingSymbolIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13", HFILL }},
    { &hf_nr_rrc_nrofSymbols_01,
      { "nrofSymbols", "nr-rrc.nrofSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_4_14", HFILL }},
    { &hf_nr_rrc_startingSymbolIndex_01,
      { "startingSymbolIndex", "nr-rrc.startingSymbolIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_10", HFILL }},
    { &hf_nr_rrc_timeDomainOCC,
      { "timeDomainOCC", "nr-rrc.timeDomainOCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6", HFILL }},
    { &hf_nr_rrc_nrofPRBs_01,
      { "nrofPRBs", "nr-rrc.nrofPRBs",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_occ_Length,
      { "occ-Length", "nr-rrc.occ_Length",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Length_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_occ_Index,
      { "occ-Index", "nr-rrc.occ_Index",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Index_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_ResourceGroupId_r16,
      { "pucch-ResourceGroupId-r16", "nr-rrc.pucch_ResourceGroupId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourcePerGroupList_r16,
      { "resourcePerGroupList-r16", "nr-rrc.resourcePerGroupList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_resourcePerGroupList_r16_item,
      { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_DL_DataToUL_ACK_r16_item,
      { "DL-DataToUL-ACK-r16 item", "nr-rrc.DL_DataToUL_ACK_r16_item",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M1_15", HFILL }},
    { &hf_nr_rrc_DL_DataToUL_ACK_r17_item,
      { "DL-DataToUL-ACK-r17 item", "nr-rrc.DL_DataToUL_ACK_r17_item",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M1_127", HFILL }},
    { &hf_nr_rrc_DL_DataToUL_ACK_v1700_item,
      { "DL-DataToUL-ACK-v1700 item", "nr-rrc.DL_DataToUL_ACK_v1700_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_16_31", HFILL }},
    { &hf_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r16_item,
      { "DL-DataToUL-ACK-DCI-1-2-r16 item", "nr-rrc.DL_DataToUL_ACK_DCI_1_2_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r17_item,
      { "DL-DataToUL-ACK-DCI-1-2-r17 item", "nr-rrc.DL_DataToUL_ACK_DCI_1_2_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_UL_AccessConfigListDCI_1_1_r16_item,
      { "UL-AccessConfigListDCI-1-1-r16 item", "nr-rrc.UL_AccessConfigListDCI_1_1_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_UL_AccessConfigListDCI_1_2_r17_item,
      { "UL-AccessConfigListDCI-1-2-r17 item", "nr-rrc.UL_AccessConfigListDCI_1_2_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_UL_AccessConfigListDCI_1_1_r17_item,
      { "UL-AccessConfigListDCI-1-1-r17 item", "nr-rrc.UL_AccessConfigListDCI_1_1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2", HFILL }},
    { &hf_nr_rrc_DL_DataToUL_ACK_MulticastDCI_Format4_1_r17_item,
      { "DL-DataToUL-ACK-MulticastDCI-Format4-1-r17 item", "nr-rrc.DL_DataToUL_ACK_MulticastDCI_Format4_1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pucch_ResourceCommon,
      { "pucch-ResourceCommon", "nr-rrc.pucch_ResourceCommon",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pucch_GroupHopping,
      { "pucch-GroupHopping", "nr-rrc.pucch_GroupHopping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_GroupHopping_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_hoppingId,
      { "hoppingId", "nr-rrc.hoppingId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_p0_nominal,
      { "p0-nominal", "nr-rrc.p0_nominal",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_intra_SlotFH_r17,
      { "intra-SlotFH-r17", "nr-rrc.intra_SlotFH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intra_SlotFH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_ResourceCommonRedCap_r17,
      { "pucch-ResourceCommonRedCap-r17", "nr-rrc.pucch_ResourceCommonRedCap_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_additionalPRBOffset_r17,
      { "additionalPRBOffset-r17", "nr-rrc.additionalPRBOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalPRBOffset_r17_vals), 0,
        "T_additionalPRBOffset_r17", HFILL }},
    { &hf_nr_rrc_PUCCH_ConfigurationList_r16_item,
      { "PUCCH-Config", "nr-rrc.PUCCH_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_deltaF_PUCCH_f0,
      { "deltaF-PUCCH-f0", "nr-rrc.deltaF_PUCCH_f0",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_deltaF_PUCCH_f1,
      { "deltaF-PUCCH-f1", "nr-rrc.deltaF_PUCCH_f1",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_deltaF_PUCCH_f2,
      { "deltaF-PUCCH-f2", "nr-rrc.deltaF_PUCCH_f2",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_deltaF_PUCCH_f3,
      { "deltaF-PUCCH-f3", "nr-rrc.deltaF_PUCCH_f3",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_deltaF_PUCCH_f4,
      { "deltaF-PUCCH-f4", "nr-rrc.deltaF_PUCCH_f4",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_p0_Set,
      { "p0-Set", "nr-rrc.p0_Set",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH", HFILL }},
    { &hf_nr_rrc_p0_Set_item,
      { "P0-PUCCH", "nr-rrc.P0_PUCCH_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSs,
      { "pathlossReferenceRSs", "nr-rrc.pathlossReferenceRSs",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSs_item,
      { "PUCCH-PathlossReferenceRS", "nr-rrc.PUCCH_PathlossReferenceRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates,
      { "twoPUCCH-PC-AdjustmentStates", "nr-rrc.twoPUCCH_PC_AdjustmentStates",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSs_v1610,
      { "pathlossReferenceRSs-v1610", "nr-rrc.pathlossReferenceRSs_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRSs_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_125,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PathlossReferenceRSs_v1610", HFILL }},
    { &hf_nr_rrc_p0_PUCCH_Id,
      { "p0-PUCCH-Id", "nr-rrc.p0_PUCCH_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_PUCCH_Value,
      { "p0-PUCCH-Value", "nr-rrc.p0_PUCCH_Value",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_PathlossReferenceRSs_v1610_item,
      { "PUCCH-PathlossReferenceRS-r16", "nr-rrc.PUCCH_PathlossReferenceRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_PathlossReferenceRS_Id,
      { "pucch-PathlossReferenceRS-Id", "nr-rrc.pucch_PathlossReferenceRS_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceSignal,
      { "referenceSignal", "nr-rrc.referenceSignal",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_r16,
      { "pucch-PathlossReferenceRS-Id-r16", "nr-rrc.pucch_PathlossReferenceRS_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_PathlossReferenceRS_Id_v1610", HFILL }},
    { &hf_nr_rrc_referenceSignal_r16,
      { "referenceSignal-r16", "nr-rrc.referenceSignal_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_Index_r16_01,
      { "csi-RS-Index-r16", "nr-rrc.csi_RS_Index_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_pucch_PowerControlSetInfoId_r17,
      { "pucch-PowerControlSetInfoId-r17", "nr-rrc.pucch_PowerControlSetInfoId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_PUCCH_Id_r17,
      { "p0-PUCCH-Id-r17", "nr-rrc.p0_PUCCH_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "P0_PUCCH_Id", HFILL }},
    { &hf_nr_rrc_pucch_ClosedLoopIndex_r17,
      { "pucch-ClosedLoopIndex-r17", "nr-rrc.pucch_ClosedLoopIndex_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ClosedLoopIndex_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_r17,
      { "pucch-PathlossReferenceRS-Id-r17", "nr-rrc.pucch_PathlossReferenceRS_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_SpatialRelationInfoId,
      { "pucch-SpatialRelationInfoId", "nr-rrc.pucch_SpatialRelationInfoId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceSignal_01,
      { "referenceSignal", "nr-rrc.referenceSignal",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_01_vals), 0,
        "T_referenceSignal_01", HFILL }},
    { &hf_nr_rrc_srs,
      { "srs", "nr-rrc.srs_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_SRS", HFILL }},
    { &hf_nr_rrc_closedLoopIndex,
      { "closedLoopIndex", "nr-rrc.closedLoopIndex",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_closedLoopIndex_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_SpatialRelationInfoId_v1610,
      { "pucch-SpatialRelationInfoId-v1610", "nr-rrc.pucch_SpatialRelationInfoId_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_v1610,
      { "pucch-PathlossReferenceRS-Id-v1610", "nr-rrc.pucch_PathlossReferenceRS_Id_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resource,
      { "resource", "nr-rrc.resource",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRS_ResourceId", HFILL }},
    { &hf_nr_rrc_uplinkBWP,
      { "uplinkBWP", "nr-rrc.uplinkBWP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_tpc_IndexPCell,
      { "tpc-IndexPCell", "nr-rrc.tpc_IndexPCell",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_tpc_IndexPUCCH_SCell,
      { "tpc-IndexPUCCH-SCell", "nr-rrc.tpc_IndexPUCCH_SCell",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_tpc_IndexPUCCH_sSCell_r17,
      { "tpc-IndexPUCCH-sSCell-r17", "nr-rrc.tpc_IndexPUCCH_sSCell_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_tpc_IndexPUCCH_sScellSecondaryPUCCHgroup_r17,
      { "tpc-IndexPUCCH-sScellSecondaryPUCCHgroup-r17", "nr-rrc.tpc_IndexPUCCH_sScellSecondaryPUCCHgroup_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_dataScramblingIdentityPUSCH,
      { "dataScramblingIdentityPUSCH", "nr-rrc.dataScramblingIdentityPUSCH",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_txConfig,
      { "txConfig", "nr-rrc.txConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA,
      { "dmrs-UplinkForPUSCH-MappingTypeA", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_126,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DMRS_UplinkConfig", HFILL }},
    { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB,
      { "dmrs-UplinkForPUSCH-MappingTypeB", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_PowerControl,
      { "pusch-PowerControl", "nr-rrc.pusch_PowerControl_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyHopping_01,
      { "frequencyHopping", "nr-rrc.frequencyHopping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_01_vals), 0,
        "T_frequencyHopping_01", HFILL }},
    { &hf_nr_rrc_frequencyHoppingOffsetLists,
      { "frequencyHoppingOffsetLists", "nr-rrc.frequencyHoppingOffsetLists",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyHoppingOffsetLists_item,
      { "frequencyHoppingOffsetLists item", "nr-rrc.frequencyHoppingOffsetLists_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_resourceAllocation_02,
      { "resourceAllocation", "nr-rrc.resourceAllocation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_02_vals), 0,
        "T_resourceAllocation_02", HFILL }},
    { &hf_nr_rrc_pusch_TimeDomainAllocationList,
      { "pusch-TimeDomainAllocationList", "nr-rrc.pusch_TimeDomainAllocationList",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationList_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_127,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUSCH_TimeDomainResourceAllocationList", HFILL }},
    { &hf_nr_rrc_pusch_AggregationFactor,
      { "pusch-AggregationFactor", "nr-rrc.pusch_AggregationFactor",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_AggregationFactor_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcs_Table_02,
      { "mcs-Table", "nr-rrc.mcs_Table",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_02_vals), 0,
        "T_mcs_Table_02", HFILL }},
    { &hf_nr_rrc_mcs_TableTransformPrecoder_01,
      { "mcs-TableTransformPrecoder", "nr-rrc.mcs_TableTransformPrecoder",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_01_vals), 0,
        "T_mcs_TableTransformPrecoder_01", HFILL }},
    { &hf_nr_rrc_transformPrecoder_01,
      { "transformPrecoder", "nr-rrc.transformPrecoder",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_01_vals), 0,
        "T_transformPrecoder_01", HFILL }},
    { &hf_nr_rrc_codebookSubset,
      { "codebookSubset", "nr-rrc.codebookSubset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookSubset_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxRank,
      { "maxRank", "nr-rrc.maxRank",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_rbg_Size_02,
      { "rbg-Size", "nr-rrc.rbg_Size",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_02_vals), 0,
        "T_rbg_Size_02", HFILL }},
    { &hf_nr_rrc_uci_OnPUSCH_01,
      { "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_01_vals), 0,
        "T_uci_OnPUSCH_01", HFILL }},
    { &hf_nr_rrc_setup_128,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UCI_OnPUSCH", HFILL }},
    { &hf_nr_rrc_tp_pi2BPSK,
      { "tp-pi2BPSK", "nr-rrc.tp_pi2BPSK",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tp_pi2BPSK_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minimumSchedulingOffsetK2_r16,
      { "minimumSchedulingOffsetK2-r16", "nr-rrc.minimumSchedulingOffsetK2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minimumSchedulingOffsetK2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_129,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MinSchedulingOffsetK2_Values_r16", HFILL }},
    { &hf_nr_rrc_ul_AccessConfigListDCI_0_1_r16,
      { "ul-AccessConfigListDCI-0-1-r16", "nr-rrc.ul_AccessConfigListDCI_0_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_AccessConfigListDCI_0_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_130,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UL_AccessConfigListDCI_0_1_r16", HFILL }},
    { &hf_nr_rrc_harq_ProcessNumberSizeDCI_0_2_r16,
      { "harq-ProcessNumberSizeDCI-0-2-r16", "nr-rrc.harq_ProcessNumberSizeDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_dmrs_SequenceInitializationDCI_0_2_r16,
      { "dmrs-SequenceInitializationDCI-0-2-r16", "nr-rrc.dmrs_SequenceInitializationDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_SequenceInitializationDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfBitsForRV_DCI_0_2_r16,
      { "numberOfBitsForRV-DCI-0-2-r16", "nr-rrc.numberOfBitsForRV_DCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2", HFILL }},
    { &hf_nr_rrc_antennaPortsFieldPresenceDCI_0_2_r16,
      { "antennaPortsFieldPresenceDCI-0-2-r16", "nr-rrc.antennaPortsFieldPresenceDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_antennaPortsFieldPresenceDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16,
      { "dmrs-UplinkForPUSCH-MappingTypeA-DCI-0-2-r16", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16,
      { "dmrs-UplinkForPUSCH-MappingTypeB-DCI-0-2-r16", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyHoppingDCI_0_2_r16,
      { "frequencyHoppingDCI-0-2-r16", "nr-rrc.frequencyHoppingDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHoppingDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepTypeA,
      { "pusch-RepTypeA", "nr-rrc.pusch_RepTypeA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepTypeB,
      { "pusch-RepTypeB", "nr-rrc.pusch_RepTypeB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyHoppingOffsetListsDCI_0_2_r16,
      { "frequencyHoppingOffsetListsDCI-0-2-r16", "nr-rrc.frequencyHoppingOffsetListsDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHoppingOffsetListsDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_131,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FrequencyHoppingOffsetListsDCI_0_2_r16", HFILL }},
    { &hf_nr_rrc_codebookSubsetDCI_0_2_r16,
      { "codebookSubsetDCI-0-2-r16", "nr-rrc.codebookSubsetDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookSubsetDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_invalidSymbolPatternIndicatorDCI_0_2_r16,
      { "invalidSymbolPatternIndicatorDCI-0-2-r16", "nr-rrc.invalidSymbolPatternIndicatorDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_invalidSymbolPatternIndicatorDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxRankDCI_0_2_r16,
      { "maxRankDCI-0-2-r16", "nr-rrc.maxRankDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_mcs_TableDCI_0_2_r16,
      { "mcs-TableDCI-0-2-r16", "nr-rrc.mcs_TableDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcs_TableTransformPrecoderDCI_0_2_r16,
      { "mcs-TableTransformPrecoderDCI-0-2-r16", "nr-rrc.mcs_TableTransformPrecoderDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoderDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_priorityIndicatorDCI_0_2_r16,
      { "priorityIndicatorDCI-0-2-r16", "nr-rrc.priorityIndicatorDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepTypeIndicatorDCI_0_2_r16,
      { "pusch-RepTypeIndicatorDCI-0-2-r16", "nr-rrc.pusch_RepTypeIndicatorDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeIndicatorDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceAllocationDCI_0_2_r16,
      { "resourceAllocationDCI-0-2-r16", "nr-rrc.resourceAllocationDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocationDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceAllocationType1GranularityDCI_0_2_r16,
      { "resourceAllocationType1GranularityDCI-0-2-r16", "nr-rrc.resourceAllocationType1GranularityDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocationType1GranularityDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uci_OnPUSCH_ListDCI_0_2_r16,
      { "uci-OnPUSCH-ListDCI-0-2-r16", "nr-rrc.uci_OnPUSCH_ListDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_ListDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_132,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UCI_OnPUSCH_ListDCI_0_2_r16", HFILL }},
    { &hf_nr_rrc_pusch_TimeDomainAllocationListDCI_0_2_r16,
      { "pusch-TimeDomainAllocationListDCI-0-2-r16", "nr-rrc.pusch_TimeDomainAllocationListDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_133,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUSCH_TimeDomainResourceAllocationList_r16", HFILL }},
    { &hf_nr_rrc_pusch_TimeDomainAllocationListDCI_0_1_r16,
      { "pusch-TimeDomainAllocationListDCI-0-1-r16", "nr-rrc.pusch_TimeDomainAllocationListDCI_0_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_invalidSymbolPatternIndicatorDCI_0_1_r16,
      { "invalidSymbolPatternIndicatorDCI-0-1-r16", "nr-rrc.invalidSymbolPatternIndicatorDCI_0_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_invalidSymbolPatternIndicatorDCI_0_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_priorityIndicatorDCI_0_1_r16,
      { "priorityIndicatorDCI-0-1-r16", "nr-rrc.priorityIndicatorDCI_0_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorDCI_0_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepTypeIndicatorDCI_0_1_r16,
      { "pusch-RepTypeIndicatorDCI-0-1-r16", "nr-rrc.pusch_RepTypeIndicatorDCI_0_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeIndicatorDCI_0_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyHoppingDCI_0_1_r16,
      { "frequencyHoppingDCI-0-1-r16", "nr-rrc.frequencyHoppingDCI_0_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHoppingDCI_0_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uci_OnPUSCH_ListDCI_0_1_r16,
      { "uci-OnPUSCH-ListDCI-0-1-r16", "nr-rrc.uci_OnPUSCH_ListDCI_0_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_ListDCI_0_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_134,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UCI_OnPUSCH_ListDCI_0_1_r16", HFILL }},
    { &hf_nr_rrc_invalidSymbolPattern_r16,
      { "invalidSymbolPattern-r16", "nr-rrc.invalidSymbolPattern_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_PowerControl_v1610,
      { "pusch-PowerControl-v1610", "nr-rrc.pusch_PowerControl_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_PowerControl_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_135,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUSCH_PowerControl_v1610", HFILL }},
    { &hf_nr_rrc_ul_FullPowerTransmission_r16,
      { "ul-FullPowerTransmission-r16", "nr-rrc.ul_FullPowerTransmission_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FullPowerTransmission_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_TimeDomainAllocationListForMultiPUSCH_r16,
      { "pusch-TimeDomainAllocationListForMultiPUSCH-r16", "nr-rrc.pusch_TimeDomainAllocationListForMultiPUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfInvalidSymbolsForDL_UL_Switching_r16,
      { "numberOfInvalidSymbolsForDL-UL-Switching-r16", "nr-rrc.numberOfInvalidSymbolsForDL_UL_Switching_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_ul_AccessConfigListDCI_0_2_r17,
      { "ul-AccessConfigListDCI-0-2-r17", "nr-rrc.ul_AccessConfigListDCI_0_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_AccessConfigListDCI_0_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_136,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UL_AccessConfigListDCI_0_2_r17", HFILL }},
    { &hf_nr_rrc_betaOffsetsCrossPri0_r17,
      { "betaOffsetsCrossPri0-r17", "nr-rrc.betaOffsetsCrossPri0_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsetsCrossPri0_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_137,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BetaOffsetsCrossPriSel_r17_vals), 0,
        "BetaOffsetsCrossPriSel_r17", HFILL }},
    { &hf_nr_rrc_betaOffsetsCrossPri1_r17,
      { "betaOffsetsCrossPri1-r17", "nr-rrc.betaOffsetsCrossPri1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsetsCrossPri1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_betaOffsetsCrossPri0DCI_0_2_r17,
      { "betaOffsetsCrossPri0DCI-0-2-r17", "nr-rrc.betaOffsetsCrossPri0DCI_0_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsetsCrossPri0DCI_0_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_138,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BetaOffsetsCrossPriSelDCI_0_2_r17_vals), 0,
        "BetaOffsetsCrossPriSelDCI_0_2_r17", HFILL }},
    { &hf_nr_rrc_betaOffsetsCrossPri1DCI_0_2_r17,
      { "betaOffsetsCrossPri1DCI-0-2-r17", "nr-rrc.betaOffsetsCrossPri1DCI_0_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsetsCrossPri1DCI_0_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mappingPattern_r17_02,
      { "mappingPattern-r17", "nr-rrc.mappingPattern_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingPattern_r17_02_vals), 0,
        "T_mappingPattern_r17_02", HFILL }},
    { &hf_nr_rrc_secondTPCFieldDCI_0_1_r17,
      { "secondTPCFieldDCI-0-1-r17", "nr-rrc.secondTPCFieldDCI_0_1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_secondTPCFieldDCI_0_1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_secondTPCFieldDCI_0_2_r17,
      { "secondTPCFieldDCI-0-2-r17", "nr-rrc.secondTPCFieldDCI_0_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_secondTPCFieldDCI_0_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_AccessConfigListDCI_0_1_r17,
      { "ul-AccessConfigListDCI-0-1-r17", "nr-rrc.ul_AccessConfigListDCI_0_1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_AccessConfigListDCI_0_1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_139,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UL_AccessConfigListDCI_0_1_r17", HFILL }},
    { &hf_nr_rrc_minimumSchedulingOffsetK2_r17,
      { "minimumSchedulingOffsetK2-r17", "nr-rrc.minimumSchedulingOffsetK2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minimumSchedulingOffsetK2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_140,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MinSchedulingOffsetK2_Values_r17", HFILL }},
    { &hf_nr_rrc_availableSlotCounting_r17,
      { "availableSlotCounting-r17", "nr-rrc.availableSlotCounting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_availableSlotCounting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUSCH_Config_r17,
      { "dmrs-BundlingPUSCH-Config-r17", "nr-rrc.dmrs_BundlingPUSCH_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUSCH_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_141,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DMRS_BundlingPUSCH_Config_r17", HFILL }},
    { &hf_nr_rrc_harq_ProcessNumberSizeDCI_0_2_v1700,
      { "harq-ProcessNumberSizeDCI-0-2-v1700", "nr-rrc.harq_ProcessNumberSizeDCI_0_2_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_5", HFILL }},
    { &hf_nr_rrc_harq_ProcessNumberSizeDCI_0_1_r17,
      { "harq-ProcessNumberSizeDCI-0-1-r17", "nr-rrc.harq_ProcessNumberSizeDCI_0_1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_5", HFILL }},
    { &hf_nr_rrc_mpe_ResourcePoolToAddModList_r17,
      { "mpe-ResourcePoolToAddModList-r17", "nr-rrc.mpe_ResourcePoolToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17", HFILL }},
    { &hf_nr_rrc_mpe_ResourcePoolToAddModList_r17_item,
      { "MPE-Resource-r17", "nr-rrc.MPE_Resource_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mpe_ResourcePoolToReleaseList_r17,
      { "mpe-ResourcePoolToReleaseList-r17", "nr-rrc.mpe_ResourcePoolToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17", HFILL }},
    { &hf_nr_rrc_mpe_ResourcePoolToReleaseList_r17_item,
      { "MPE-ResourceId-r17", "nr-rrc.MPE_ResourceId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_betaOffsets,
      { "betaOffsets", "nr-rrc.betaOffsets",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsets_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamic_01,
      { "dynamic", "nr-rrc.dynamic",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_4_OF_BetaOffsets", HFILL }},
    { &hf_nr_rrc_scaling,
      { "scaling", "nr-rrc.scaling",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scaling_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MinSchedulingOffsetK2_Values_r16_item,
      { "MinSchedulingOffsetK2-Values-r16 item", "nr-rrc.MinSchedulingOffsetK2_Values_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxK2_SchedulingOffset_r16", HFILL }},
    { &hf_nr_rrc_MinSchedulingOffsetK2_Values_r17_item,
      { "MinSchedulingOffsetK2-Values-r17 item", "nr-rrc.MinSchedulingOffsetK2_Values_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxK2_SchedulingOffset_r17", HFILL }},
    { &hf_nr_rrc_betaOffsetsDCI_0_2_r16,
      { "betaOffsetsDCI-0-2-r16", "nr-rrc.betaOffsetsDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsetsDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicDCI_0_2_r16,
      { "dynamicDCI-0-2-r16", "nr-rrc.dynamicDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneBit_r16,
      { "oneBit-r16", "nr-rrc.oneBit_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_OF_BetaOffsets", HFILL }},
    { &hf_nr_rrc_oneBit_r16_item,
      { "BetaOffsets", "nr-rrc.BetaOffsets_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoBits_r16,
      { "twoBits-r16", "nr-rrc.twoBits_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_4_OF_BetaOffsets", HFILL }},
    { &hf_nr_rrc_twoBits_r16_item,
      { "BetaOffsets", "nr-rrc.BetaOffsets_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStaticDCI_0_2_r16,
      { "semiStaticDCI-0-2-r16", "nr-rrc.semiStaticDCI_0_2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BetaOffsets", HFILL }},
    { &hf_nr_rrc_scalingDCI_0_2_r16,
      { "scalingDCI-0-2-r16", "nr-rrc.scalingDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_FrequencyHoppingOffsetListsDCI_0_2_r16_item,
      { "FrequencyHoppingOffsetListsDCI-0-2-r16 item", "nr-rrc.FrequencyHoppingOffsetListsDCI_0_2_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_UCI_OnPUSCH_ListDCI_0_2_r16_item,
      { "UCI-OnPUSCH-DCI-0-2-r16", "nr-rrc.UCI_OnPUSCH_DCI_0_2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UCI_OnPUSCH_ListDCI_0_1_r16_item,
      { "UCI-OnPUSCH", "nr-rrc.UCI_OnPUSCH_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UL_AccessConfigListDCI_0_1_r16_item,
      { "UL-AccessConfigListDCI-0-1-r16 item", "nr-rrc.UL_AccessConfigListDCI_0_1_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_UL_AccessConfigListDCI_0_1_r17_item,
      { "UL-AccessConfigListDCI-0-1-r17 item", "nr-rrc.UL_AccessConfigListDCI_0_1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2", HFILL }},
    { &hf_nr_rrc_UL_AccessConfigListDCI_0_2_r17_item,
      { "UL-AccessConfigListDCI-0-2-r17 item", "nr-rrc.UL_AccessConfigListDCI_0_2_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_dynamic_r17_01,
      { "dynamic-r17", "nr-rrc.dynamic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17", HFILL }},
    { &hf_nr_rrc_dynamicDCI_0_2_r17,
      { "dynamicDCI-0-2-r17", "nr-rrc.dynamicDCI_0_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicDCI_0_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneBit_r17,
      { "oneBit-r17", "nr-rrc.oneBit_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17", HFILL }},
    { &hf_nr_rrc_oneBit_r17_item,
      { "BetaOffsetsCrossPri-r17", "nr-rrc.BetaOffsetsCrossPri_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoBits_r17,
      { "twoBits-r17", "nr-rrc.twoBits_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17", HFILL }},
    { &hf_nr_rrc_twoBits_r17_item,
      { "BetaOffsetsCrossPri-r17", "nr-rrc.BetaOffsetsCrossPri_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStaticDCI_0_2_r17,
      { "semiStaticDCI-0-2-r17", "nr-rrc.semiStaticDCI_0_2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BetaOffsetsCrossPri_r17", HFILL }},
    { &hf_nr_rrc_mpe_ResourceId_r17,
      { "mpe-ResourceId-r17", "nr-rrc.mpe_ResourceId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cell_r17,
      { "cell-r17", "nr-rrc.cell_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_mpe_ReferenceSignal_r17,
      { "mpe-ReferenceSignal-r17", "nr-rrc.mpe_ReferenceSignal_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpe_ReferenceSignal_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_Resource_r17,
      { "csi-RS-Resource-r17", "nr-rrc.csi_RS_Resource_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_ssb_Resource_r17,
      { "ssb-Resource-r17", "nr-rrc.ssb_Resource_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_Index", HFILL }},
    { &hf_nr_rrc_groupHoppingEnabledTransformPrecoding,
      { "groupHoppingEnabledTransformPrecoding", "nr-rrc.groupHoppingEnabledTransformPrecoding",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_TimeDomainAllocationList_01,
      { "pusch-TimeDomainAllocationList", "nr-rrc.pusch_TimeDomainAllocationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUSCH_TimeDomainResourceAllocationList", HFILL }},
    { &hf_nr_rrc_msg3_DeltaPreamble,
      { "msg3-DeltaPreamble", "nr-rrc.msg3_DeltaPreamble",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_msg3_DeltaPreamble_fmt), 0,
        "INTEGER_M1_6", HFILL }},
    { &hf_nr_rrc_p0_NominalWithGrant,
      { "p0-NominalWithGrant", "nr-rrc.p0_NominalWithGrant",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_tpc_Accumulation,
      { "tpc-Accumulation", "nr-rrc.tpc_Accumulation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msg3_Alpha,
      { "msg3-Alpha", "nr-rrc.msg3_Alpha",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0,
        "Alpha", HFILL }},
    { &hf_nr_rrc_p0_NominalWithoutGrant,
      { "p0-NominalWithoutGrant", "nr-rrc.p0_NominalWithoutGrant",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_p0_AlphaSets,
      { "p0-AlphaSets", "nr-rrc.p0_AlphaSets",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet", HFILL }},
    { &hf_nr_rrc_p0_AlphaSets_item,
      { "P0-PUSCH-AlphaSet", "nr-rrc.P0_PUSCH_AlphaSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToAddModList,
      { "pathlossReferenceRSToAddModList", "nr-rrc.pathlossReferenceRSToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToAddModList_item,
      { "PUSCH-PathlossReferenceRS", "nr-rrc.PUSCH_PathlossReferenceRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToReleaseList,
      { "pathlossReferenceRSToReleaseList", "nr-rrc.pathlossReferenceRSToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToReleaseList_item,
      { "PUSCH-PathlossReferenceRS-Id", "nr-rrc.PUSCH_PathlossReferenceRS_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates,
      { "twoPUSCH-PC-AdjustmentStates", "nr-rrc.twoPUSCH_PC_AdjustmentStates",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_deltaMCS,
      { "deltaMCS", "nr-rrc.deltaMCS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deltaMCS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sri_PUSCH_MappingToAddModList,
      { "sri-PUSCH-MappingToAddModList", "nr-rrc.sri_PUSCH_MappingToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl", HFILL }},
    { &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item,
      { "SRI-PUSCH-PowerControl", "nr-rrc.SRI_PUSCH_PowerControl_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList,
      { "sri-PUSCH-MappingToReleaseList", "nr-rrc.sri_PUSCH_MappingToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId", HFILL }},
    { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item,
      { "SRI-PUSCH-PowerControlId", "nr-rrc.SRI_PUSCH_PowerControlId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_PUSCH_AlphaSetId,
      { "p0-PUSCH-AlphaSetId", "nr-rrc.p0_PUSCH_AlphaSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0,
      { "p0", "nr-rrc.p0",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_alpha,
      { "alpha", "nr-rrc.alpha",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_PathlossReferenceRS_Id,
      { "pusch-PathlossReferenceRS-Id", "nr-rrc.pusch_PathlossReferenceRS_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceSignal_02,
      { "referenceSignal", "nr-rrc.referenceSignal",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_02_vals), 0,
        "T_referenceSignal_02", HFILL }},
    { &hf_nr_rrc_pusch_PathlossReferenceRS_Id_r16,
      { "pusch-PathlossReferenceRS-Id-r16", "nr-rrc.pusch_PathlossReferenceRS_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUSCH_PathlossReferenceRS_Id_v1610", HFILL }},
    { &hf_nr_rrc_referenceSignal_r16_01,
      { "referenceSignal-r16", "nr-rrc.referenceSignal_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_r16_01_vals), 0,
        "T_referenceSignal_r16_01", HFILL }},
    { &hf_nr_rrc_pusch_PathlossReferenceRS_Id_r17,
      { "pusch-PathlossReferenceRS-Id-r17", "nr-rrc.pusch_PathlossReferenceRS_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sri_PUSCH_PowerControlId,
      { "sri-PUSCH-PowerControlId", "nr-rrc.sri_PUSCH_PowerControlId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id,
      { "sri-PUSCH-PathlossReferenceRS-Id", "nr-rrc.sri_PUSCH_PathlossReferenceRS_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUSCH_PathlossReferenceRS_Id", HFILL }},
    { &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId,
      { "sri-P0-PUSCH-AlphaSetId", "nr-rrc.sri_P0_PUSCH_AlphaSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "P0_PUSCH_AlphaSetId", HFILL }},
    { &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex,
      { "sri-PUSCH-ClosedLoopIndex", "nr-rrc.sri_PUSCH_ClosedLoopIndex",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToAddModListSizeExt_v1610,
      { "pathlossReferenceRSToAddModListSizeExt-v1610", "nr-rrc.pathlossReferenceRSToAddModListSizeExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToAddModListSizeExt_v1610_item,
      { "PUSCH-PathlossReferenceRS-r16", "nr-rrc.PUSCH_PathlossReferenceRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToReleaseListSizeExt_v1610,
      { "pathlossReferenceRSToReleaseListSizeExt-v1610", "nr-rrc.pathlossReferenceRSToReleaseListSizeExt_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSToReleaseListSizeExt_v1610_item,
      { "PUSCH-PathlossReferenceRS-Id-v1610", "nr-rrc.PUSCH_PathlossReferenceRS_Id_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_PUSCH_SetList_r16,
      { "p0-PUSCH-SetList-r16", "nr-rrc.p0_PUSCH_SetList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16", HFILL }},
    { &hf_nr_rrc_p0_PUSCH_SetList_r16_item,
      { "P0-PUSCH-Set-r16", "nr-rrc.P0_PUSCH_Set_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_olpc_ParameterSet,
      { "olpc-ParameterSet", "nr-rrc.olpc_ParameterSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_olpc_ParameterSetDCI_0_1_r16,
      { "olpc-ParameterSetDCI-0-1-r16", "nr-rrc.olpc_ParameterSetDCI_0_1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_olpc_ParameterSetDCI_0_2_r16,
      { "olpc-ParameterSetDCI-0-2-r16", "nr-rrc.olpc_ParameterSetDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_sri_PUSCH_MappingToAddModList2_r17,
      { "sri-PUSCH-MappingToAddModList2-r17", "nr-rrc.sri_PUSCH_MappingToAddModList2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl", HFILL }},
    { &hf_nr_rrc_sri_PUSCH_MappingToAddModList2_r17_item,
      { "SRI-PUSCH-PowerControl", "nr-rrc.SRI_PUSCH_PowerControl_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList2_r17,
      { "sri-PUSCH-MappingToReleaseList2-r17", "nr-rrc.sri_PUSCH_MappingToReleaseList2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId", HFILL }},
    { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList2_r17_item,
      { "SRI-PUSCH-PowerControlId", "nr-rrc.SRI_PUSCH_PowerControlId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_PUSCH_SetList2_r17,
      { "p0-PUSCH-SetList2-r17", "nr-rrc.p0_PUSCH_SetList2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16", HFILL }},
    { &hf_nr_rrc_p0_PUSCH_SetList2_r17_item,
      { "P0-PUSCH-Set-r16", "nr-rrc.P0_PUSCH_Set_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy_01,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710", HFILL }},
    { &hf_nr_rrc_dummy_item,
      { "DummyPathlossReferenceRS-v1710", "nr-rrc.DummyPathlossReferenceRS_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_PUSCH_SetId_r16,
      { "p0-PUSCH-SetId-r16", "nr-rrc.p0_PUSCH_SetId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_List_r16,
      { "p0-List-r16", "nr-rrc.p0_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16", HFILL }},
    { &hf_nr_rrc_p0_List_r16_item,
      { "P0-PUSCH-r16", "nr-rrc.P0_PUSCH_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codeBlockGroupTransmission_01,
      { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_01_vals), 0,
        "T_codeBlockGroupTransmission_01", HFILL }},
    { &hf_nr_rrc_setup_142,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUSCH_CodeBlockGroupTransmission", HFILL }},
    { &hf_nr_rrc_rateMatching,
      { "rateMatching", "nr-rrc.rateMatching",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatching_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_xOverhead_01,
      { "xOverhead", "nr-rrc.xOverhead",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_01_vals), 0,
        "T_xOverhead_01", HFILL }},
    { &hf_nr_rrc_maxMIMO_Layers_01,
      { "maxMIMO-Layers", "nr-rrc.maxMIMO_Layers",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxMIMO_LayersDCI_0_2_r16,
      { "maxMIMO-LayersDCI-0-2-r16", "nr-rrc.maxMIMO_LayersDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayersDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_143,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MaxMIMO_LayersDCI_0_2_r16", HFILL }},
    { &hf_nr_rrc_nrofHARQ_ProcessesForPUSCH_r17,
      { "nrofHARQ-ProcessesForPUSCH-r17", "nr-rrc.nrofHARQ_ProcessesForPUSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofHARQ_ProcessesForPUSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkHARQ_mode_r17,
      { "uplinkHARQ-mode-r17", "nr-rrc.uplinkHARQ_mode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkHARQ_mode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_144,
      { "setup", "nr-rrc.setup",
        FT_BYTES, BASE_NONE, NULL, 0,
        "UplinkHARQ_mode_r17", HFILL }},
    { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01,
      { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals), 0,
        "T_maxCodeBlockGroupsPerTransportBlock_01", HFILL }},
    { &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item,
      { "PUSCH-TimeDomainResourceAllocation", "nr-rrc.PUSCH_TimeDomainResourceAllocation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k2,
      { "k2", "nr-rrc.k2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_nr_rrc_mappingType_01,
      { "mappingType", "nr-rrc.mappingType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_01_vals), 0,
        "T_mappingType_01", HFILL }},
    { &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16_item,
      { "PUSCH-TimeDomainResourceAllocation-r16", "nr-rrc.PUSCH_TimeDomainResourceAllocation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k2_r16,
      { "k2-r16", "nr-rrc.k2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_nr_rrc_puschAllocationList_r16,
      { "puschAllocationList-r16", "nr-rrc.puschAllocationList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16", HFILL }},
    { &hf_nr_rrc_puschAllocationList_r16_item,
      { "PUSCH-Allocation-r16", "nr-rrc.PUSCH_Allocation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mappingType_r16_01,
      { "mappingType-r16", "nr-rrc.mappingType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_r16_01_vals), 0,
        "T_mappingType_r16_01", HFILL }},
    { &hf_nr_rrc_startSymbol_r16,
      { "startSymbol-r16", "nr-rrc.startSymbol_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13", HFILL }},
    { &hf_nr_rrc_length_r16,
      { "length-r16", "nr-rrc.length_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_14", HFILL }},
    { &hf_nr_rrc_numberOfRepetitions_r16,
      { "numberOfRepetitions-r16", "nr-rrc.numberOfRepetitions_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfRepetitions_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfRepetitionsExt_r17,
      { "numberOfRepetitionsExt-r17", "nr-rrc.numberOfRepetitionsExt_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfRepetitionsExt_r17_vals), 0,
        "T_numberOfRepetitionsExt_r17", HFILL }},
    { &hf_nr_rrc_numberOfSlotsTBoMS_r17,
      { "numberOfSlotsTBoMS-r17", "nr-rrc.numberOfSlotsTBoMS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfSlotsTBoMS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedK2_r17,
      { "extendedK2-r17", "nr-rrc.extendedK2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_128", HFILL }},
    { &hf_nr_rrc_tpc_Index,
      { "tpc-Index", "nr-rrc.tpc_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_tpc_IndexSUL,
      { "tpc-IndexSUL", "nr-rrc.tpc_IndexSUL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_targetCell,
      { "targetCell", "nr-rrc.targetCell",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_quantityConfigNR_List,
      { "quantityConfigNR-List", "nr-rrc.quantityConfigNR_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR", HFILL }},
    { &hf_nr_rrc_quantityConfigNR_List_item,
      { "QuantityConfigNR", "nr-rrc.QuantityConfigNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_quantityConfigEUTRA,
      { "quantityConfigEUTRA", "nr-rrc.quantityConfigEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FilterConfig", HFILL }},
    { &hf_nr_rrc_quantityConfigUTRA_FDD_r16,
      { "quantityConfigUTRA-FDD-r16", "nr-rrc.quantityConfigUTRA_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_quantityConfigCLI_r16,
      { "quantityConfigCLI-r16", "nr-rrc.quantityConfigCLI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FilterConfigCLI_r16", HFILL }},
    { &hf_nr_rrc_quantityConfigCell,
      { "quantityConfigCell", "nr-rrc.quantityConfigCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QuantityConfigRS", HFILL }},
    { &hf_nr_rrc_quantityConfigRS_Index,
      { "quantityConfigRS-Index", "nr-rrc.quantityConfigRS_Index_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QuantityConfigRS", HFILL }},
    { &hf_nr_rrc_ssb_FilterConfig,
      { "ssb-FilterConfig", "nr-rrc.ssb_FilterConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FilterConfig", HFILL }},
    { &hf_nr_rrc_csi_RS_FilterConfig,
      { "csi-RS-FilterConfig", "nr-rrc.csi_RS_FilterConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FilterConfig", HFILL }},
    { &hf_nr_rrc_filterCoefficientRSRP,
      { "filterCoefficientRSRP", "nr-rrc.filterCoefficientRSRP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_filterCoefficientRSRQ,
      { "filterCoefficientRSRQ", "nr-rrc.filterCoefficientRSRQ",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_filterCoefficientRS_SINR,
      { "filterCoefficientRS-SINR", "nr-rrc.filterCoefficientRS_SINR",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_filterCoefficientSRS_RSRP_r16,
      { "filterCoefficientSRS-RSRP-r16", "nr-rrc.filterCoefficientSRS_RSRP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_filterCoefficientCLI_RSSI_r16,
      { "filterCoefficientCLI-RSSI-r16", "nr-rrc.filterCoefficientCLI_RSSI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_filterCoefficientRSCP_r16,
      { "filterCoefficientRSCP-r16", "nr-rrc.filterCoefficientRSCP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_filterCoefficientEcNO_r16,
      { "filterCoefficientEcNO-r16", "nr-rrc.filterCoefficientEcNO_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_rach_ConfigGeneric,
      { "rach-ConfigGeneric", "nr-rrc.rach_ConfigGeneric_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_totalNumberOfRA_Preambles,
      { "totalNumberOfRA-Preambles", "nr-rrc.totalNumberOfRA_Preambles",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_63", HFILL }},
    { &hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB,
      { "ssb-perRACH-OccasionAndCB-PreamblesPerSSB", "nr-rrc.ssb_perRACH_OccasionAndCB_PreamblesPerSSB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneEighth,
      { "oneEighth", "nr-rrc.oneEighth",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneEighth_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneFourth,
      { "oneFourth", "nr-rrc.oneFourth",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFourth_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneHalf,
      { "oneHalf", "nr-rrc.oneHalf",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneHalf_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_one_01,
      { "one", "nr-rrc.one",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_one_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_two_03,
      { "two", "nr-rrc.two",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_two_03_vals), 0,
        "T_two_03", HFILL }},
    { &hf_nr_rrc_four,
      { "four", "nr-rrc.four",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_eight,
      { "eight", "nr-rrc.eight",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sixteen,
      { "sixteen", "nr-rrc.sixteen",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_groupBconfigured,
      { "groupBconfigured", "nr-rrc.groupBconfigured_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_Msg3SizeGroupA,
      { "ra-Msg3SizeGroupA", "nr-rrc.ra_Msg3SizeGroupA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_Msg3SizeGroupA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messagePowerOffsetGroupB,
      { "messagePowerOffsetGroupB", "nr-rrc.messagePowerOffsetGroupB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messagePowerOffsetGroupB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfRA_PreamblesGroupA,
      { "numberOfRA-PreamblesGroupA", "nr-rrc.numberOfRA_PreamblesGroupA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_ra_ContentionResolutionTimer,
      { "ra-ContentionResolutionTimer", "nr-rrc.ra_ContentionResolutionTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ContentionResolutionTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rsrp_ThresholdSSB_SUL,
      { "rsrp-ThresholdSSB-SUL", "nr-rrc.rsrp_ThresholdSSB_SUL",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_prach_RootSequenceIndex,
      { "prach-RootSequenceIndex", "nr-rrc.prach_RootSequenceIndex",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_RootSequenceIndex_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_l839,
      { "l839", "nr-rrc.l839",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_837", HFILL }},
    { &hf_nr_rrc_l139,
      { "l139", "nr-rrc.l139",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_137", HFILL }},
    { &hf_nr_rrc_restrictedSetConfig,
      { "restrictedSetConfig", "nr-rrc.restrictedSetConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restrictedSetConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msg3_transformPrecoder,
      { "msg3-transformPrecoder", "nr-rrc.msg3_transformPrecoder",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg3_transformPrecoder_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_PrioritizationForAccessIdentity_r16,
      { "ra-PrioritizationForAccessIdentity-r16", "nr-rrc.ra_PrioritizationForAccessIdentity_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_Prioritization_r16,
      { "ra-Prioritization-r16", "nr-rrc.ra_Prioritization_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RA_Prioritization", HFILL }},
    { &hf_nr_rrc_ra_PrioritizationForAI_r16,
      { "ra-PrioritizationForAI-r16", "nr-rrc.ra_PrioritizationForAI_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_prach_RootSequenceIndex_r16,
      { "prach-RootSequenceIndex-r16", "nr-rrc.prach_RootSequenceIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_RootSequenceIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_l571,
      { "l571", "nr-rrc.l571",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_569", HFILL }},
    { &hf_nr_rrc_l1151,
      { "l1151", "nr-rrc.l1151",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1149", HFILL }},
    { &hf_nr_rrc_ra_PrioritizationForSlicing_r17,
      { "ra-PrioritizationForSlicing-r17", "nr-rrc.ra_PrioritizationForSlicing_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureCombinationPreamblesList_r17,
      { "featureCombinationPreamblesList-r17", "nr-rrc.featureCombinationPreamblesList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17", HFILL }},
    { &hf_nr_rrc_featureCombinationPreamblesList_r17_item,
      { "FeatureCombinationPreambles-r17", "nr-rrc.FeatureCombinationPreambles_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rach_ConfigGenericTwoStepRA_r16,
      { "rach-ConfigGenericTwoStepRA-r16", "nr-rrc.rach_ConfigGenericTwoStepRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_TotalNumberOfRA_Preambles_r16,
      { "msgA-TotalNumberOfRA-Preambles-r16", "nr-rrc.msgA_TotalNumberOfRA_Preambles_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_63", HFILL }},
    { &hf_nr_rrc_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16,
      { "msgA-SSB-PerRACH-OccasionAndCB-PreamblesPerSSB-r16", "nr-rrc.msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneEighth_01,
      { "oneEighth", "nr-rrc.oneEighth",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneEighth_01_vals), 0,
        "T_oneEighth_01", HFILL }},
    { &hf_nr_rrc_oneFourth_01,
      { "oneFourth", "nr-rrc.oneFourth",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFourth_01_vals), 0,
        "T_oneFourth_01", HFILL }},
    { &hf_nr_rrc_oneHalf_01,
      { "oneHalf", "nr-rrc.oneHalf",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneHalf_01_vals), 0,
        "T_oneHalf_01", HFILL }},
    { &hf_nr_rrc_one_02,
      { "one", "nr-rrc.one",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_one_01_vals), 0,
        "T_one_01", HFILL }},
    { &hf_nr_rrc_two_04,
      { "two", "nr-rrc.two",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_two_04_vals), 0,
        "T_two_04", HFILL }},
    { &hf_nr_rrc_msgA_CB_PreamblesPerSSB_PerSharedRO_r16,
      { "msgA-CB-PreamblesPerSSB-PerSharedRO-r16", "nr-rrc.msgA_CB_PreamblesPerSSB_PerSharedRO_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_60", HFILL }},
    { &hf_nr_rrc_msgA_SSB_SharedRO_MaskIndex_r16,
      { "msgA-SSB-SharedRO-MaskIndex-r16", "nr-rrc.msgA_SSB_SharedRO_MaskIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_groupB_ConfiguredTwoStepRA_r16,
      { "groupB-ConfiguredTwoStepRA-r16", "nr-rrc.groupB_ConfiguredTwoStepRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_PRACH_RootSequenceIndex_r16,
      { "msgA-PRACH-RootSequenceIndex-r16", "nr-rrc.msgA_PRACH_RootSequenceIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_TransMax_r16,
      { "msgA-TransMax-r16", "nr-rrc.msgA_TransMax_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_TransMax_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_RSRP_Threshold_r16,
      { "msgA-RSRP-Threshold-r16", "nr-rrc.msgA_RSRP_Threshold_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_msgA_RSRP_ThresholdSSB_r16,
      { "msgA-RSRP-ThresholdSSB-r16", "nr-rrc.msgA_RSRP_ThresholdSSB_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_msgA_SubcarrierSpacing_r16,
      { "msgA-SubcarrierSpacing-r16", "nr-rrc.msgA_SubcarrierSpacing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_msgA_RestrictedSetConfig_r16,
      { "msgA-RestrictedSetConfig-r16", "nr-rrc.msgA_RestrictedSetConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_RestrictedSetConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_PrioritizationForAccessIdentityTwoStep_r16,
      { "ra-PrioritizationForAccessIdentityTwoStep-r16", "nr-rrc.ra_PrioritizationForAccessIdentityTwoStep_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_ContentionResolutionTimer_r16,
      { "ra-ContentionResolutionTimer-r16", "nr-rrc.ra_ContentionResolutionTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ContentionResolutionTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_PrioritizationForSlicingTwoStep_r17,
      { "ra-PrioritizationForSlicingTwoStep-r17", "nr-rrc.ra_PrioritizationForSlicingTwoStep_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RA_PrioritizationForSlicing_r17", HFILL }},
    { &hf_nr_rrc_ra_MsgA_SizeGroupA,
      { "ra-MsgA-SizeGroupA", "nr-rrc.ra_MsgA_SizeGroupA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_MsgA_SizeGroupA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messagePowerOffsetGroupB_01,
      { "messagePowerOffsetGroupB", "nr-rrc.messagePowerOffsetGroupB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messagePowerOffsetGroupB_01_vals), 0,
        "T_messagePowerOffsetGroupB_01", HFILL }},
    { &hf_nr_rrc_cfra,
      { "cfra", "nr-rrc.cfra_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cfra_TwoStep_r16,
      { "cfra-TwoStep-r16", "nr-rrc.cfra_TwoStep_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_occasions,
      { "occasions", "nr-rrc.occasions_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_perRACH_Occasion_01,
      { "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_01_vals), 0,
        "T_ssb_perRACH_Occasion_01", HFILL }},
    { &hf_nr_rrc_resources,
      { "resources", "nr-rrc.resources",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resources_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_02,
      { "ssb", "nr-rrc.ssb_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_ResourceList,
      { "ssb-ResourceList", "nr-rrc.ssb_ResourceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource", HFILL }},
    { &hf_nr_rrc_ssb_ResourceList_item,
      { "CFRA-SSB-Resource", "nr-rrc.CFRA_SSB_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csirs,
      { "csirs", "nr-rrc.csirs_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csirs_ResourceList,
      { "csirs-ResourceList", "nr-rrc.csirs_ResourceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource", HFILL }},
    { &hf_nr_rrc_csirs_ResourceList_item,
      { "CFRA-CSIRS-Resource", "nr-rrc.CFRA_CSIRS_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rsrp_ThresholdCSI_RS,
      { "rsrp-ThresholdCSI-RS", "nr-rrc.rsrp_ThresholdCSI_RS",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_occasionsTwoStepRA_r16,
      { "occasionsTwoStepRA-r16", "nr-rrc.occasionsTwoStepRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_PerRACH_OccasionTwoStepRA_r16,
      { "ssb-PerRACH-OccasionTwoStepRA-r16", "nr-rrc.ssb_PerRACH_OccasionTwoStepRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PerRACH_OccasionTwoStepRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_CFRA_PUSCH_r16,
      { "msgA-CFRA-PUSCH-r16", "nr-rrc.msgA_CFRA_PUSCH_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MsgA_PUSCH_Resource_r16", HFILL }},
    { &hf_nr_rrc_msgA_TransMax_r16_01,
      { "msgA-TransMax-r16", "nr-rrc.msgA_TransMax_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_TransMax_r16_01_vals), 0,
        "T_msgA_TransMax_r16_01", HFILL }},
    { &hf_nr_rrc_resourcesTwoStep_r16,
      { "resourcesTwoStep-r16", "nr-rrc.resourcesTwoStep_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_PUSCH_Resource_Index_r16,
      { "msgA-PUSCH-Resource-Index-r16", "nr-rrc.msgA_PUSCH_Resource_Index_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3071", HFILL }},
    { &hf_nr_rrc_csi_RS_02,
      { "csi-RS", "nr-rrc.csi_RS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CSI_RS_Index", HFILL }},
    { &hf_nr_rrc_ra_OccasionList_01,
      { "ra-OccasionList", "nr-rrc.ra_OccasionList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_ra_OccasionList_01", HFILL }},
    { &hf_nr_rrc_prach_ConfigurationIndex,
      { "prach-ConfigurationIndex", "nr-rrc.prach_ConfigurationIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_msg1_FDM,
      { "msg1-FDM", "nr-rrc.msg1_FDM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDM_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msg1_FrequencyStart,
      { "msg1-FrequencyStart", "nr-rrc.msg1_FrequencyStart",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_zeroCorrelationZoneConfig,
      { "zeroCorrelationZoneConfig", "nr-rrc.zeroCorrelationZoneConfig",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_preambleReceivedTargetPower,
      { "preambleReceivedTargetPower", "nr-rrc.preambleReceivedTargetPower",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M202_M60", HFILL }},
    { &hf_nr_rrc_preambleTransMax,
      { "preambleTransMax", "nr-rrc.preambleTransMax",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powerRampingStep,
      { "powerRampingStep", "nr-rrc.powerRampingStep",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStep_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_ResponseWindow,
      { "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prach_ConfigurationPeriodScaling_IAB_r16,
      { "prach-ConfigurationPeriodScaling-IAB-r16", "nr-rrc.prach_ConfigurationPeriodScaling_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_ConfigurationPeriodScaling_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prach_ConfigurationFrameOffset_IAB_r16,
      { "prach-ConfigurationFrameOffset-IAB-r16", "nr-rrc.prach_ConfigurationFrameOffset_IAB_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_prach_ConfigurationSOffset_IAB_r16,
      { "prach-ConfigurationSOffset-IAB-r16", "nr-rrc.prach_ConfigurationSOffset_IAB_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_ra_ResponseWindow_v1610,
      { "ra-ResponseWindow-v1610", "nr-rrc.ra_ResponseWindow_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prach_ConfigurationIndex_v1610,
      { "prach-ConfigurationIndex-v1610", "nr-rrc.prach_ConfigurationIndex_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_256_262", HFILL }},
    { &hf_nr_rrc_ra_ResponseWindow_v1700,
      { "ra-ResponseWindow-v1700", "nr-rrc.ra_ResponseWindow_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_PRACH_ConfigurationIndex_r16,
      { "msgA-PRACH-ConfigurationIndex-r16", "nr-rrc.msgA_PRACH_ConfigurationIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_262", HFILL }},
    { &hf_nr_rrc_msgA_RO_FDM_r16,
      { "msgA-RO-FDM-r16", "nr-rrc.msgA_RO_FDM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_RO_FDM_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_RO_FrequencyStart_r16,
      { "msgA-RO-FrequencyStart-r16", "nr-rrc.msgA_RO_FrequencyStart_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
    { &hf_nr_rrc_msgA_ZeroCorrelationZoneConfig_r16,
      { "msgA-ZeroCorrelationZoneConfig-r16", "nr-rrc.msgA_ZeroCorrelationZoneConfig_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_msgA_PreamblePowerRampingStep_r16,
      { "msgA-PreamblePowerRampingStep-r16", "nr-rrc.msgA_PreamblePowerRampingStep_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_PreamblePowerRampingStep_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_PreambleReceivedTargetPower_r16,
      { "msgA-PreambleReceivedTargetPower-r16", "nr-rrc.msgA_PreambleReceivedTargetPower_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M202_M60", HFILL }},
    { &hf_nr_rrc_msgB_ResponseWindow_r16,
      { "msgB-ResponseWindow-r16", "nr-rrc.msgB_ResponseWindow_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgB_ResponseWindow_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preambleTransMax_r16,
      { "preambleTransMax-r16", "nr-rrc.preambleTransMax_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgB_ResponseWindow_v1700,
      { "msgB-ResponseWindow-v1700", "nr-rrc.msgB_ResponseWindow_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgB_ResponseWindow_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powerRampingStepHighPriority,
      { "powerRampingStepHighPriority", "nr-rrc.powerRampingStepHighPriority",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStepHighPriority_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scalingFactorBI,
      { "scalingFactorBI", "nr-rrc.scalingFactorBI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactorBI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_PrioritizationSliceInfoList_r17,
      { "ra-PrioritizationSliceInfoList-r17", "nr-rrc.ra_PrioritizationSliceInfoList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_RA_PrioritizationSliceInfoList_r17_item,
      { "RA-PrioritizationSliceInfo-r17", "nr-rrc.RA_PrioritizationSliceInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nsag_ID_List_r17,
      { "nsag-ID-List-r17", "nr-rrc.nsag_ID_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17", HFILL }},
    { &hf_nr_rrc_nsag_ID_List_r17_item,
      { "NSAG-ID-r17", "nr-rrc.NSAG_ID_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_Prioritization_r17,
      { "ra-Prioritization-r17", "nr-rrc.ra_Prioritization_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RA_Prioritization", HFILL }},
    { &hf_nr_rrc_srb_ToAddModList,
      { "srb-ToAddModList", "nr-rrc.srb_ToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srb3_ToRelease,
      { "srb3-ToRelease", "nr-rrc.srb3_ToRelease",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_ToRelease_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_ToAddModList,
      { "drb-ToAddModList", "nr-rrc.drb_ToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_ToReleaseList,
      { "drb-ToReleaseList", "nr-rrc.drb_ToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_securityConfig,
      { "securityConfig", "nr-rrc.securityConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrb_ToAddModList_r17,
      { "mrb-ToAddModList-r17", "nr-rrc.mrb_ToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrb_ToReleaseList_r17,
      { "mrb-ToReleaseList-r17", "nr-rrc.mrb_ToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srb4_ToAddMod_r17,
      { "srb4-ToAddMod-r17", "nr-rrc.srb4_ToAddMod_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRB_ToAddMod", HFILL }},
    { &hf_nr_rrc_srb4_ToRelease_r17,
      { "srb4-ToRelease-r17", "nr-rrc.srb4_ToRelease_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb4_ToRelease_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SRB_ToAddModList_item,
      { "SRB-ToAddMod", "nr-rrc.SRB_ToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srb_Identity,
      { "srb-Identity", "nr-rrc.srb_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reestablishPDCP,
      { "reestablishPDCP", "nr-rrc.reestablishPDCP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_discardOnPDCP,
      { "discardOnPDCP", "nr-rrc.discardOnPDCP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardOnPDCP_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_Config,
      { "pdcp-Config", "nr-rrc.pdcp_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srb_Identity_v1700,
      { "srb-Identity-v1700", "nr-rrc.srb_Identity_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_DRB_ToAddModList_item,
      { "DRB-ToAddMod", "nr-rrc.DRB_ToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cnAssociation,
      { "cnAssociation", "nr-rrc.cnAssociation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cnAssociation_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eps_BearerIdentity,
      { "eps-BearerIdentity", "nr-rrc.eps_BearerIdentity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_sdap_Config,
      { "sdap-Config", "nr-rrc.sdap_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reestablishPDCP_01,
      { "reestablishPDCP", "nr-rrc.reestablishPDCP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_01_vals), 0,
        "T_reestablishPDCP_01", HFILL }},
    { &hf_nr_rrc_recoverPDCP,
      { "recoverPDCP", "nr-rrc.recoverPDCP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recoverPDCP_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_daps_Config_r16,
      { "daps-Config-r16", "nr-rrc.daps_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_daps_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_DRB_ToReleaseList_item,
      { "DRB-Identity", "nr-rrc.DRB_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_keyToUse,
      { "keyToUse", "nr-rrc.keyToUse",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_keyToUse_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MRB_ToAddModList_r17_item,
      { "MRB-ToAddMod-r17", "nr-rrc.MRB_ToAddMod_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mbs_SessionId_r17,
      { "mbs-SessionId-r17", "nr-rrc.mbs_SessionId_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TMGI_r17", HFILL }},
    { &hf_nr_rrc_mrb_Identity_r17,
      { "mrb-Identity-r17", "nr-rrc.mrb_Identity_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrb_IdentityNew_r17,
      { "mrb-IdentityNew-r17", "nr-rrc.mrb_IdentityNew_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MRB_Identity_r17", HFILL }},
    { &hf_nr_rrc_reestablishPDCP_r17,
      { "reestablishPDCP-r17", "nr-rrc.reestablishPDCP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_recoverPDCP_r17,
      { "recoverPDCP-r17", "nr-rrc.recoverPDCP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recoverPDCP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_Config_r17,
      { "pdcp-Config-r17", "nr-rrc.pdcp_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCP_Config", HFILL }},
    { &hf_nr_rrc_MRB_ToReleaseList_r17_item,
      { "MRB-Identity-r17", "nr-rrc.MRB_Identity_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureDetectionResourcesToAddModList,
      { "failureDetectionResourcesToAddModList", "nr-rrc.failureDetectionResourcesToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS", HFILL }},
    { &hf_nr_rrc_failureDetectionResourcesToAddModList_item,
      { "RadioLinkMonitoringRS", "nr-rrc.RadioLinkMonitoringRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_failureDetectionResourcesToReleaseList,
      { "failureDetectionResourcesToReleaseList", "nr-rrc.failureDetectionResourcesToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id", HFILL }},
    { &hf_nr_rrc_failureDetectionResourcesToReleaseList_item,
      { "RadioLinkMonitoringRS-Id", "nr-rrc.RadioLinkMonitoringRS_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamFailureInstanceMaxCount,
      { "beamFailureInstanceMaxCount", "nr-rrc.beamFailureInstanceMaxCount",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureInstanceMaxCount_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamFailureDetectionTimer,
      { "beamFailureDetectionTimer", "nr-rrc.beamFailureDetectionTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureDetectionTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamFailure_r17,
      { "beamFailure-r17", "nr-rrc.beamFailure_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BeamFailureDetection_r17", HFILL }},
    { &hf_nr_rrc_failureDetectionSet1_r17,
      { "failureDetectionSet1-r17", "nr-rrc.failureDetectionSet1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BeamFailureDetectionSet_r17", HFILL }},
    { &hf_nr_rrc_failureDetectionSet2_r17,
      { "failureDetectionSet2-r17", "nr-rrc.failureDetectionSet2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BeamFailureDetectionSet_r17", HFILL }},
    { &hf_nr_rrc_radioLinkMonitoringRS_Id,
      { "radioLinkMonitoringRS-Id", "nr-rrc.radioLinkMonitoringRS_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_purpose,
      { "purpose", "nr-rrc.purpose",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_purpose_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_detectionResource,
      { "detectionResource", "nr-rrc.detectionResource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_detectionResource_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bfdResourcesToAddModList_r17,
      { "bfdResourcesToAddModList-r17", "nr-rrc.bfdResourcesToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17", HFILL }},
    { &hf_nr_rrc_bfdResourcesToAddModList_r17_item,
      { "BeamLinkMonitoringRS-r17", "nr-rrc.BeamLinkMonitoringRS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bfdResourcesToReleaseList_r17,
      { "bfdResourcesToReleaseList-r17", "nr-rrc.bfdResourcesToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17", HFILL }},
    { &hf_nr_rrc_bfdResourcesToReleaseList_r17_item,
      { "BeamLinkMonitoringRS-Id-r17", "nr-rrc.BeamLinkMonitoringRS_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamFailureInstanceMaxCount_r17,
      { "beamFailureInstanceMaxCount-r17", "nr-rrc.beamFailureInstanceMaxCount_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureInstanceMaxCount_r17_vals), 0,
        "T_beamFailureInstanceMaxCount_r17", HFILL }},
    { &hf_nr_rrc_beamFailureDetectionTimer_r17,
      { "beamFailureDetectionTimer-r17", "nr-rrc.beamFailureDetectionTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureDetectionTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamLinkMonitoringRS_Id_r17,
      { "beamLinkMonitoringRS-Id-r17", "nr-rrc.beamLinkMonitoringRS_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_detectionResource_r17,
      { "detectionResource-r17", "nr-rrc.detectionResource_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_detectionResource_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchPatternId,
      { "rateMatchPatternId", "nr-rrc.rateMatchPatternId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_patternType,
      { "patternType", "nr-rrc.patternType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_patternType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bitmaps,
      { "bitmaps", "nr-rrc.bitmaps_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceBlocks,
      { "resourceBlocks", "nr-rrc.resourceBlocks",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_275", HFILL }},
    { &hf_nr_rrc_symbolsInResourceBlock,
      { "symbolsInResourceBlock", "nr-rrc.symbolsInResourceBlock",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbolsInResourceBlock_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicityAndPattern,
      { "periodicityAndPattern", "nr-rrc.periodicityAndPattern",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndPattern_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_controlResourceSet,
      { "controlResourceSet", "nr-rrc.controlResourceSet",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ControlResourceSetId", HFILL }},
    { &hf_nr_rrc_rateMatchPattern_dummy,
      { "dummy", "nr-rrc.rateMatchPattern.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchPattern_dummy_vals), 0,
        "T_rateMatchPattern_dummy", HFILL }},
    { &hf_nr_rrc_controlResourceSet_r16,
      { "controlResourceSet-r16", "nr-rrc.controlResourceSet_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ControlResourceSetId_r16", HFILL }},
    { &hf_nr_rrc_carrierFreqDL,
      { "carrierFreqDL", "nr-rrc.carrierFreqDL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_16383", HFILL }},
    { &hf_nr_rrc_carrierBandwidthDL,
      { "carrierBandwidthDL", "nr-rrc.carrierBandwidthDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierBandwidthDL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mbsfn_SubframeConfigList,
      { "mbsfn-SubframeConfigList", "nr-rrc.mbsfn_SubframeConfigList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_MBSFN_SubframeConfigList", HFILL }},
    { &hf_nr_rrc_nrofCRS_Ports,
      { "nrofCRS-Ports", "nr-rrc.nrofCRS_Ports",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofCRS_Ports_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_v_Shift,
      { "v-Shift", "nr-rrc.v_Shift",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v_Shift_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_LTE_CRS_PatternList_r16_item,
      { "RateMatchPatternLTE-CRS", "nr-rrc.RateMatchPatternLTE_CRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_time_r16,
      { "time-r16", "nr-rrc.time_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReferenceTime_r16", HFILL }},
    { &hf_nr_rrc_uncertainty_r16,
      { "uncertainty-r16", "nr-rrc.uncertainty_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32767", HFILL }},
    { &hf_nr_rrc_timeInfoType_r16,
      { "timeInfoType-r16", "nr-rrc.timeInfoType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeInfoType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceSFN_r16,
      { "referenceSFN-r16", "nr-rrc.referenceSFN_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_refDays_r16,
      { "refDays-r16", "nr-rrc.refDays_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_72999", HFILL }},
    { &hf_nr_rrc_refSeconds_r16,
      { "refSeconds-r16", "nr-rrc.refSeconds_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_86399", HFILL }},
    { &hf_nr_rrc_refMilliSeconds_r16,
      { "refMilliSeconds-r16", "nr-rrc.refMilliSeconds_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_999", HFILL }},
    { &hf_nr_rrc_refTenNanoSeconds_r16,
      { "refTenNanoSeconds-r16", "nr-rrc.refTenNanoSeconds_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_99999", HFILL }},
    { &hf_nr_rrc_fdm_TDM_r16,
      { "fdm-TDM-r16", "nr-rrc.fdm_TDM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdm_TDM_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_145,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FDM_TDM_r16", HFILL }},
    { &hf_nr_rrc_slotBased_r16,
      { "slotBased-r16", "nr-rrc.slotBased_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotBased_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_146,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SlotBased_r16", HFILL }},
    { &hf_nr_rrc_slotBased_v1630,
      { "slotBased-v1630", "nr-rrc.slotBased_v1630",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotBased_v1630_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_147,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SlotBased_v1630", HFILL }},
    { &hf_nr_rrc_repetitionScheme_r16,
      { "repetitionScheme-r16", "nr-rrc.repetitionScheme_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionScheme_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startingSymbolOffsetK_r16,
      { "startingSymbolOffsetK-r16", "nr-rrc.startingSymbolOffsetK_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_tciMapping_r16,
      { "tciMapping-r16", "nr-rrc.tciMapping_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tciMapping_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sequenceOffsetForRV_r16,
      { "sequenceOffsetForRV-r16", "nr-rrc.sequenceOffsetForRV_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_3", HFILL }},
    { &hf_nr_rrc_tciMapping_r16_01,
      { "tciMapping-r16", "nr-rrc.tciMapping_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tciMapping_r16_01_vals), 0,
        "T_tciMapping_r16_01", HFILL }},
    { &hf_nr_rrc_sequenceOffsetForRV_r16_01,
      { "sequenceOffsetForRV-r16", "nr-rrc.sequenceOffsetForRV_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0", HFILL }},
    { &hf_nr_rrc_reportType_01,
      { "reportType", "nr-rrc.reportType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_01_vals), 0,
        "T_reportType_01", HFILL }},
    { &hf_nr_rrc_periodical_01,
      { "periodical", "nr-rrc.periodical_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PeriodicalReportConfigInterRAT", HFILL }},
    { &hf_nr_rrc_eventTriggered_01,
      { "eventTriggered", "nr-rrc.eventTriggered_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EventTriggerConfigInterRAT", HFILL }},
    { &hf_nr_rrc_reportCGI,
      { "reportCGI", "nr-rrc.reportCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReportCGI_EUTRA", HFILL }},
    { &hf_nr_rrc_reportSFTD,
      { "reportSFTD", "nr-rrc.reportSFTD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReportSFTD_EUTRA", HFILL }},
    { &hf_nr_rrc_cellForWhichToReportCGI_01,
      { "cellForWhichToReportCGI", "nr-rrc.cellForWhichToReportCGI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_PhysCellId", HFILL }},
    { &hf_nr_rrc_useAutonomousGaps_r16,
      { "useAutonomousGaps-r16", "nr-rrc.useAutonomousGaps_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useAutonomousGaps_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSFTD_Meas,
      { "reportSFTD-Meas", "nr-rrc.reportSFTD_Meas",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_reportRSRP,
      { "reportRSRP", "nr-rrc.reportRSRP",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_eventId,
      { "eventId", "nr-rrc.eventId",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventB1,
      { "eventB1", "nr-rrc.eventB1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_b1_ThresholdEUTRA,
      { "b1-ThresholdEUTRA", "nr-rrc.b1_ThresholdEUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityEUTRA_vals), 0,
        "MeasTriggerQuantityEUTRA", HFILL }},
    { &hf_nr_rrc_reportOnLeave,
      { "reportOnLeave", "nr-rrc.reportOnLeave",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_eventB2,
      { "eventB2", "nr-rrc.eventB2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_b2_Threshold1,
      { "b2-Threshold1", "nr-rrc.b2_Threshold1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_b2_Threshold2EUTRA,
      { "b2-Threshold2EUTRA", "nr-rrc.b2_Threshold2EUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityEUTRA_vals), 0,
        "MeasTriggerQuantityEUTRA", HFILL }},
    { &hf_nr_rrc_eventB1_UTRA_FDD_r16,
      { "eventB1-UTRA-FDD-r16", "nr-rrc.eventB1_UTRA_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_b1_ThresholdUTRA_FDD_r16,
      { "b1-ThresholdUTRA-FDD-r16", "nr-rrc.b1_ThresholdUTRA_FDD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityUTRA_FDD_r16_vals), 0,
        "MeasTriggerQuantityUTRA_FDD_r16", HFILL }},
    { &hf_nr_rrc_reportOnLeave_r16,
      { "reportOnLeave-r16", "nr-rrc.reportOnLeave_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_hysteresis_r16,
      { "hysteresis-r16", "nr-rrc.hysteresis_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
        "Hysteresis", HFILL }},
    { &hf_nr_rrc_timeToTrigger_r16,
      { "timeToTrigger-r16", "nr-rrc.timeToTrigger_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0,
        "TimeToTrigger", HFILL }},
    { &hf_nr_rrc_eventB2_UTRA_FDD_r16,
      { "eventB2-UTRA-FDD-r16", "nr-rrc.eventB2_UTRA_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_b2_Threshold1_r16,
      { "b2-Threshold1-r16", "nr-rrc.b2_Threshold1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_b2_Threshold2UTRA_FDD_r16,
      { "b2-Threshold2UTRA-FDD-r16", "nr-rrc.b2_Threshold2UTRA_FDD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityUTRA_FDD_r16_vals), 0,
        "MeasTriggerQuantityUTRA_FDD_r16", HFILL }},
    { &hf_nr_rrc_eventY1_Relay_r17,
      { "eventY1-Relay-r17", "nr-rrc.eventY1_Relay_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_y1_Threshold1_r17,
      { "y1-Threshold1-r17", "nr-rrc.y1_Threshold1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_y1_Threshold2_Relay_r17,
      { "y1-Threshold2-Relay-r17", "nr-rrc.y1_Threshold2_Relay_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasTriggerQuantity_r16_vals), 0,
        "SL_MeasTriggerQuantity_r16", HFILL }},
    { &hf_nr_rrc_reportOnLeave_r17,
      { "reportOnLeave-r17", "nr-rrc.reportOnLeave_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_hysteresis_r17,
      { "hysteresis-r17", "nr-rrc.hysteresis_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
        "Hysteresis", HFILL }},
    { &hf_nr_rrc_timeToTrigger_r17,
      { "timeToTrigger-r17", "nr-rrc.timeToTrigger_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0,
        "TimeToTrigger", HFILL }},
    { &hf_nr_rrc_eventY2_Relay_r17,
      { "eventY2-Relay-r17", "nr-rrc.eventY2_Relay_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_y2_Threshold_Relay_r17,
      { "y2-Threshold-Relay-r17", "nr-rrc.y2_Threshold_Relay_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasTriggerQuantity_r16_vals), 0,
        "SL_MeasTriggerQuantity_r16", HFILL }},
    { &hf_nr_rrc_rsType,
      { "rsType", "nr-rrc.rsType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0,
        "NR_RS_Type", HFILL }},
    { &hf_nr_rrc_reportInterval,
      { "reportInterval", "nr-rrc.reportInterval",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportAmount,
      { "reportAmount", "nr-rrc.reportAmount",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportQuantity_01,
      { "reportQuantity", "nr-rrc.reportQuantity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasReportQuantity", HFILL }},
    { &hf_nr_rrc_maxReportCells,
      { "maxReportCells", "nr-rrc.maxReportCells",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxCellReport", HFILL }},
    { &hf_nr_rrc_reportQuantityUTRA_FDD_r16,
      { "reportQuantityUTRA-FDD-r16", "nr-rrc.reportQuantityUTRA_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasReportQuantityUTRA_FDD_r16", HFILL }},
    { &hf_nr_rrc_includeCommonLocationInfo_r16,
      { "includeCommonLocationInfo-r16", "nr-rrc.includeCommonLocationInfo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeCommonLocationInfo_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_includeBT_Meas_r16,
      { "includeBT-Meas-r16", "nr-rrc.includeBT_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeBT_Meas_r16_vals), 0,
        "T_includeBT_Meas_r16", HFILL }},
    { &hf_nr_rrc_includeWLAN_Meas_r16,
      { "includeWLAN-Meas-r16", "nr-rrc.includeWLAN_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeWLAN_Meas_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_includeSensor_Meas_r16,
      { "includeSensor-Meas-r16", "nr-rrc.includeSensor_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeSensor_Meas_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportQuantityRelay_r17,
      { "reportQuantityRelay-r17", "nr-rrc.reportQuantityRelay_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasReportQuantity_r16_vals), 0,
        "SL_MeasReportQuantity_r16", HFILL }},
    { &hf_nr_rrc_reportAmount_01,
      { "reportAmount", "nr-rrc.reportAmount",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_01_vals), 0,
        "T_reportAmount_01", HFILL }},
    { &hf_nr_rrc_includeCommonLocationInfo_r16_01,
      { "includeCommonLocationInfo-r16", "nr-rrc.includeCommonLocationInfo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeCommonLocationInfo_r16_01_vals), 0,
        "T_includeCommonLocationInfo_r16_01", HFILL }},
    { &hf_nr_rrc_includeBT_Meas_r16_01,
      { "includeBT-Meas-r16", "nr-rrc.includeBT_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeBT_Meas_r16_01_vals), 0,
        "T_includeBT_Meas_r16_01", HFILL }},
    { &hf_nr_rrc_includeWLAN_Meas_r16_01,
      { "includeWLAN-Meas-r16", "nr-rrc.includeWLAN_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeWLAN_Meas_r16_01_vals), 0,
        "T_includeWLAN_Meas_r16_01", HFILL }},
    { &hf_nr_rrc_includeSensor_Meas_r16_01,
      { "includeSensor-Meas-r16", "nr-rrc.includeSensor_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeSensor_Meas_r16_01_vals), 0,
        "T_includeSensor_Meas_r16_01", HFILL }},
    { &hf_nr_rrc_utra_FDD_RSCP_r16_01,
      { "utra-FDD-RSCP-r16", "nr-rrc.utra_FDD_RSCP_r16",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt), 0,
        "MeasTriggerQuantityUTRA_FDD_RSCP_r16", HFILL }},
    { &hf_nr_rrc_utra_FDD_EcN0_r16_01,
      { "utra-FDD-EcN0-r16", "nr-rrc.utra_FDD_EcN0_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt), 0,
        "MeasTriggerQuantityUTRA_FDD_EcN0_r16", HFILL }},
    { &hf_nr_rrc_cpich_RSCP,
      { "cpich-RSCP", "nr-rrc.cpich_RSCP",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_cpich_EcN0,
      { "cpich-EcN0", "nr-rrc.cpich_EcN0",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_reportType_02,
      { "reportType", "nr-rrc.reportType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_02_vals), 0,
        "T_reportType_02", HFILL }},
    { &hf_nr_rrc_periodical_02,
      { "periodical", "nr-rrc.periodical_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PeriodicalReportConfig", HFILL }},
    { &hf_nr_rrc_eventTriggered_02,
      { "eventTriggered", "nr-rrc.eventTriggered_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EventTriggerConfig", HFILL }},
    { &hf_nr_rrc_reportCGI_01,
      { "reportCGI", "nr-rrc.reportCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportSFTD_01,
      { "reportSFTD", "nr-rrc.reportSFTD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReportSFTD_NR", HFILL }},
    { &hf_nr_rrc_condTriggerConfig_r16,
      { "condTriggerConfig-r16", "nr-rrc.condTriggerConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cli_Periodical_r16,
      { "cli-Periodical-r16", "nr-rrc.cli_Periodical_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CLI_PeriodicalReportConfig_r16", HFILL }},
    { &hf_nr_rrc_cli_EventTriggered_r16,
      { "cli-EventTriggered-r16", "nr-rrc.cli_EventTriggered_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CLI_EventTriggerConfig_r16", HFILL }},
    { &hf_nr_rrc_rxTxPeriodical_r17,
      { "rxTxPeriodical-r17", "nr-rrc.rxTxPeriodical_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_useAutonomousGaps_r16_01,
      { "useAutonomousGaps-r16", "nr-rrc.useAutonomousGaps_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useAutonomousGaps_r16_01_vals), 0,
        "T_useAutonomousGaps_r16_01", HFILL }},
    { &hf_nr_rrc_reportSFTD_NeighMeas,
      { "reportSFTD-NeighMeas", "nr-rrc.reportSFTD_NeighMeas",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSFTD_NeighMeas_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_SFTD_NeighMeas,
      { "drx-SFTD-NeighMeas", "nr-rrc.drx_SFTD_NeighMeas",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_SFTD_NeighMeas_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellsForWhichToReportSFTD,
      { "cellsForWhichToReportSFTD", "nr-rrc.cellsForWhichToReportSFTD",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId", HFILL }},
    { &hf_nr_rrc_cellsForWhichToReportSFTD_item,
      { "PhysCellId", "nr-rrc.PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condEventId,
      { "condEventId", "nr-rrc.condEventId",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condEventId_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condEventA3,
      { "condEventA3", "nr-rrc.condEventA3_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_a3_Offset,
      { "a3-Offset", "nr-rrc.a3_Offset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0,
        "MeasTriggerQuantityOffset", HFILL }},
    { &hf_nr_rrc_condEventA5,
      { "condEventA5", "nr-rrc.condEventA5_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_a5_Threshold1,
      { "a5-Threshold1", "nr-rrc.a5_Threshold1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_a5_Threshold2,
      { "a5-Threshold2", "nr-rrc.a5_Threshold2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_condEventA4_r17,
      { "condEventA4-r17", "nr-rrc.condEventA4_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_a4_Threshold_r17,
      { "a4-Threshold-r17", "nr-rrc.a4_Threshold_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_condEventD1_r17,
      { "condEventD1-r17", "nr-rrc.condEventD1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_distanceThreshFromReference1_r17,
      { "distanceThreshFromReference1-r17", "nr-rrc.distanceThreshFromReference1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65525", HFILL }},
    { &hf_nr_rrc_distanceThreshFromReference2_r17,
      { "distanceThreshFromReference2-r17", "nr-rrc.distanceThreshFromReference2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65525", HFILL }},
    { &hf_nr_rrc_referenceLocation1_r17,
      { "referenceLocation1-r17", "nr-rrc.referenceLocation1_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "ReferenceLocation_r17", HFILL }},
    { &hf_nr_rrc_referenceLocation2_r17,
      { "referenceLocation2-r17", "nr-rrc.referenceLocation2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "ReferenceLocation_r17", HFILL }},
    { &hf_nr_rrc_hysteresisLocation_r17,
      { "hysteresisLocation-r17", "nr-rrc.hysteresisLocation_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condEventT1_r17,
      { "condEventT1-r17", "nr-rrc.condEventT1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t1_Threshold_r17,
      { "t1-Threshold-r17", "nr-rrc.t1_Threshold_r17",
        FT_UINT64, BASE_DEC, NULL, 0,
        "INTEGER_0_549755813887", HFILL }},
    { &hf_nr_rrc_duration_r17_01,
      { "duration-r17", "nr-rrc.duration_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_6000", HFILL }},
    { &hf_nr_rrc_rsType_r16,
      { "rsType-r16", "nr-rrc.rsType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0,
        "NR_RS_Type", HFILL }},
    { &hf_nr_rrc_eventId_01,
      { "eventId", "nr-rrc.eventId",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_01_vals), 0,
        "T_eventId_01", HFILL }},
    { &hf_nr_rrc_eventA1,
      { "eventA1", "nr-rrc.eventA1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_a1_Threshold,
      { "a1-Threshold", "nr-rrc.a1_Threshold",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_eventA2,
      { "eventA2", "nr-rrc.eventA2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_a2_Threshold,
      { "a2-Threshold", "nr-rrc.a2_Threshold",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_eventA3,
      { "eventA3", "nr-rrc.eventA3_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_useAllowedCellList,
      { "useAllowedCellList", "nr-rrc.useAllowedCellList",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_eventA4,
      { "eventA4", "nr-rrc.eventA4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_a4_Threshold,
      { "a4-Threshold", "nr-rrc.a4_Threshold",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_eventA5,
      { "eventA5", "nr-rrc.eventA5_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventA6,
      { "eventA6", "nr-rrc.eventA6_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_a6_Offset,
      { "a6-Offset", "nr-rrc.a6_Offset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0,
        "MeasTriggerQuantityOffset", HFILL }},
    { &hf_nr_rrc_eventX1_r17,
      { "eventX1-r17", "nr-rrc.eventX1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_x1_Threshold1_Relay_r17,
      { "x1-Threshold1-Relay-r17", "nr-rrc.x1_Threshold1_Relay_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasTriggerQuantity_r16_vals), 0,
        "SL_MeasTriggerQuantity_r16", HFILL }},
    { &hf_nr_rrc_x1_Threshold2_r17,
      { "x1-Threshold2-r17", "nr-rrc.x1_Threshold2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
        "MeasTriggerQuantity", HFILL }},
    { &hf_nr_rrc_useAllowedCellList_r17,
      { "useAllowedCellList-r17", "nr-rrc.useAllowedCellList_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_eventX2_r17,
      { "eventX2-r17", "nr-rrc.eventX2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_x2_Threshold_Relay_r17,
      { "x2-Threshold-Relay-r17", "nr-rrc.x2_Threshold_Relay_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasTriggerQuantity_r16_vals), 0,
        "SL_MeasTriggerQuantity_r16", HFILL }},
    { &hf_nr_rrc_eventD1_r17,
      { "eventD1-r17", "nr-rrc.eventD1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_distanceThreshFromReference1_r17_01,
      { "distanceThreshFromReference1-r17", "nr-rrc.distanceThreshFromReference1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_65525", HFILL }},
    { &hf_nr_rrc_distanceThreshFromReference2_r17_01,
      { "distanceThreshFromReference2-r17", "nr-rrc.distanceThreshFromReference2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_65525", HFILL }},
    { &hf_nr_rrc_reportAmount_02,
      { "reportAmount", "nr-rrc.reportAmount",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_02_vals), 0,
        "T_reportAmount_02", HFILL }},
    { &hf_nr_rrc_reportQuantityCell,
      { "reportQuantityCell", "nr-rrc.reportQuantityCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasReportQuantity", HFILL }},
    { &hf_nr_rrc_reportQuantityRS_Indexes,
      { "reportQuantityRS-Indexes", "nr-rrc.reportQuantityRS_Indexes_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasReportQuantity", HFILL }},
    { &hf_nr_rrc_maxNrofRS_IndexesToReport,
      { "maxNrofRS-IndexesToReport", "nr-rrc.maxNrofRS_IndexesToReport",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofIndexesToReport", HFILL }},
    { &hf_nr_rrc_includeBeamMeasurements,
      { "includeBeamMeasurements", "nr-rrc.includeBeamMeasurements",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_reportAddNeighMeas,
      { "reportAddNeighMeas", "nr-rrc.reportAddNeighMeas",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeas_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measRSSI_ReportConfig_r16,
      { "measRSSI-ReportConfig-r16", "nr-rrc.measRSSI_ReportConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_useT312_r16,
      { "useT312-r16", "nr-rrc.useT312_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_includeCommonLocationInfo_r16_02,
      { "includeCommonLocationInfo-r16", "nr-rrc.includeCommonLocationInfo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeCommonLocationInfo_r16_02_vals), 0,
        "T_includeCommonLocationInfo_r16_02", HFILL }},
    { &hf_nr_rrc_includeBT_Meas_r16_02,
      { "includeBT-Meas-r16", "nr-rrc.includeBT_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeBT_Meas_r16_02_vals), 0,
        "T_includeBT_Meas_r16_02", HFILL }},
    { &hf_nr_rrc_includeWLAN_Meas_r16_02,
      { "includeWLAN-Meas-r16", "nr-rrc.includeWLAN_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeWLAN_Meas_r16_02_vals), 0,
        "T_includeWLAN_Meas_r16_02", HFILL }},
    { &hf_nr_rrc_includeSensor_Meas_r16_02,
      { "includeSensor-Meas-r16", "nr-rrc.includeSensor_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeSensor_Meas_r16_02_vals), 0,
        "T_includeSensor_Meas_r16_02", HFILL }},
    { &hf_nr_rrc_coarseLocationRequest_r17_01,
      { "coarseLocationRequest-r17", "nr-rrc.coarseLocationRequest_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_coarseLocationRequest_r17_01_vals), 0,
        "T_coarseLocationRequest_r17_01", HFILL }},
    { &hf_nr_rrc_reportAmount_03,
      { "reportAmount", "nr-rrc.reportAmount",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_03_vals), 0,
        "T_reportAmount_03", HFILL }},
    { &hf_nr_rrc_includeCommonLocationInfo_r16_03,
      { "includeCommonLocationInfo-r16", "nr-rrc.includeCommonLocationInfo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeCommonLocationInfo_r16_03_vals), 0,
        "T_includeCommonLocationInfo_r16_03", HFILL }},
    { &hf_nr_rrc_includeBT_Meas_r16_03,
      { "includeBT-Meas-r16", "nr-rrc.includeBT_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeBT_Meas_r16_03_vals), 0,
        "T_includeBT_Meas_r16_03", HFILL }},
    { &hf_nr_rrc_includeWLAN_Meas_r16_03,
      { "includeWLAN-Meas-r16", "nr-rrc.includeWLAN_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeWLAN_Meas_r16_03_vals), 0,
        "T_includeWLAN_Meas_r16_03", HFILL }},
    { &hf_nr_rrc_includeSensor_Meas_r16_03,
      { "includeSensor-Meas-r16", "nr-rrc.includeSensor_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeSensor_Meas_r16_03_vals), 0,
        "T_includeSensor_Meas_r16_03", HFILL }},
    { &hf_nr_rrc_ul_DelayValueConfig_r16,
      { "ul-DelayValueConfig-r16", "nr-rrc.ul_DelayValueConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_DelayValueConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_148,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UL_DelayValueConfig_r16", HFILL }},
    { &hf_nr_rrc_reportAddNeighMeas_r16,
      { "reportAddNeighMeas-r16", "nr-rrc.reportAddNeighMeas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeas_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_ExcessDelayConfig_r17,
      { "ul-ExcessDelayConfig-r17", "nr-rrc.ul_ExcessDelayConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_ExcessDelayConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_149,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UL_ExcessDelayConfig_r17", HFILL }},
    { &hf_nr_rrc_coarseLocationRequest_r17_02,
      { "coarseLocationRequest-r17", "nr-rrc.coarseLocationRequest_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_coarseLocationRequest_r17_02_vals), 0,
        "T_coarseLocationRequest_r17_02", HFILL }},
    { &hf_nr_rrc_measTriggerQuantity_rsrp,
      { "rsrp", "nr-rrc.measTriggerQuantity.rsrp",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_measTriggerQuantity_rsrq,
      { "rsrq", "nr-rrc.measTriggerQuantity.rsrq",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0,
        "RSRQ_Range", HFILL }},
    { &hf_nr_rrc_measTriggerQuantity_sinr,
      { "sinr", "nr-rrc.measTriggerQuantity.sinr",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_Range_fmt), 0,
        "SINR_Range", HFILL }},
    { &hf_nr_rrc_measTriggerQuantityOffset_rsrp,
      { "rsrp", "nr-rrc.measTriggerQuantityOffset.rsrp",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt), 0,
        "INTEGER_M30_30", HFILL }},
    { &hf_nr_rrc_measTriggerQuantityOffset_rsrq,
      { "rsrq", "nr-rrc.measTriggerQuantityOffset.rsrq",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt), 0,
        "INTEGER_M30_30", HFILL }},
    { &hf_nr_rrc_measTriggerQuantityOffset_sinr,
      { "sinr", "nr-rrc.measTriggerQuantityOffset.sinr",
        FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt), 0,
        "INTEGER_M30_30", HFILL }},
    { &hf_nr_rrc_measReportQuantity_rsrp,
      { "rsrp", "nr-rrc.measReportQuantity.rsrp",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_measReportQuantity_rsrq,
      { "rsrq", "nr-rrc.measReportQuantity.rsrq",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_measReportQuantity_sinr,
      { "sinr", "nr-rrc.measReportQuantity.sinr",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_channelOccupancyThreshold_r16,
      { "channelOccupancyThreshold-r16", "nr-rrc.channelOccupancyThreshold_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSSI_Range_r16_fmt), 0,
        "RSSI_Range_r16", HFILL }},
    { &hf_nr_rrc_eventId_r16,
      { "eventId-r16", "nr-rrc.eventId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventI1_r16,
      { "eventI1-r16", "nr-rrc.eventI1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_i1_Threshold_r16,
      { "i1-Threshold-r16", "nr-rrc.i1_Threshold_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityCLI_r16_vals), 0,
        "MeasTriggerQuantityCLI_r16", HFILL }},
    { &hf_nr_rrc_reportInterval_r16,
      { "reportInterval-r16", "nr-rrc.reportInterval_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0,
        "ReportInterval", HFILL }},
    { &hf_nr_rrc_reportAmount_r16,
      { "reportAmount-r16", "nr-rrc.reportAmount_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r16_vals), 0,
        "T_reportAmount_r16", HFILL }},
    { &hf_nr_rrc_maxReportCLI_r16,
      { "maxReportCLI-r16", "nr-rrc.maxReportCLI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxCLI_Report_r16", HFILL }},
    { &hf_nr_rrc_reportAmount_r16_01,
      { "reportAmount-r16", "nr-rrc.reportAmount_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r16_01_vals), 0,
        "T_reportAmount_r16_01", HFILL }},
    { &hf_nr_rrc_reportQuantityCLI_r16,
      { "reportQuantityCLI-r16", "nr-rrc.reportQuantityCLI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasReportQuantityCLI_r16_vals), 0,
        "MeasReportQuantityCLI_r16", HFILL }},
    { &hf_nr_rrc_rxTxReportInterval_r17,
      { "rxTxReportInterval-r17", "nr-rrc.rxTxReportInterval_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RxTxReportInterval_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportAmount_r17,
      { "reportAmount-r17", "nr-rrc.reportAmount_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r17_vals), 0,
        "T_reportAmount_r17", HFILL }},
    { &hf_nr_rrc_srs_RSRP_r16,
      { "srs-RSRP-r16", "nr-rrc.srs_RSRP_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SRS_RSRP_r16_fmt), 0,
        "SRS_RSRP_Range_r16", HFILL }},
    { &hf_nr_rrc_cli_RSSI_r16,
      { "cli-RSSI-r16", "nr-rrc.cli_RSSI_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSSI_Range_r16_fmt), 0,
        "CLI_RSSI_Range_r16", HFILL }},
    { &hf_nr_rrc_reportType_r16,
      { "reportType-r16", "nr-rrc.reportType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodical_r16,
      { "periodical-r16", "nr-rrc.periodical_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PeriodicalReportConfigNR_SL_r16", HFILL }},
    { &hf_nr_rrc_eventTriggered_r16,
      { "eventTriggered-r16", "nr-rrc.eventTriggered_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EventTriggerConfigNR_SL_r16", HFILL }},
    { &hf_nr_rrc_eventId_r16_01,
      { "eventId-r16", "nr-rrc.eventId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_r16_01_vals), 0,
        "T_eventId_r16_01", HFILL }},
    { &hf_nr_rrc_eventC1,
      { "eventC1", "nr-rrc.eventC1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_c1_Threshold_r16,
      { "c1-Threshold-r16", "nr-rrc.c1_Threshold_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_CBR_r16", HFILL }},
    { &hf_nr_rrc_eventC2_r16,
      { "eventC2-r16", "nr-rrc.eventC2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_c2_Threshold_r16,
      { "c2-Threshold-r16", "nr-rrc.c2_Threshold_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_CBR_r16", HFILL }},
    { &hf_nr_rrc_reportAmount_r16_02,
      { "reportAmount-r16", "nr-rrc.reportAmount_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r16_02_vals), 0,
        "T_reportAmount_r16_02", HFILL }},
    { &hf_nr_rrc_reportQuantity_r16_01,
      { "reportQuantity-r16", "nr-rrc.reportQuantity_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasReportQuantity_r16", HFILL }},
    { &hf_nr_rrc_reportAmount_r16_03,
      { "reportAmount-r16", "nr-rrc.reportAmount_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r16_03_vals), 0,
        "T_reportAmount_r16_03", HFILL }},
    { &hf_nr_rrc_cbr_r16,
      { "cbr-r16", "nr-rrc.cbr_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_ReportConfigToAddModList_item,
      { "ReportConfigToAddMod", "nr-rrc.ReportConfigToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportConfig,
      { "reportConfig", "nr-rrc.reportConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportConfigNR,
      { "reportConfigNR", "nr-rrc.reportConfigNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportConfigInterRAT,
      { "reportConfigInterRAT", "nr-rrc.reportConfigInterRAT_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportConfigNR_SL_r16,
      { "reportConfigNR-SL-r16", "nr-rrc.reportConfigNR_SL_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servedRadioBearer,
      { "servedRadioBearer", "nr-rrc.servedRadioBearer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_servedRadioBearer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reestablishRLC,
      { "reestablishRLC", "nr-rrc.reestablishRLC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishRLC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_Config,
      { "rlc-Config", "nr-rrc.rlc_Config",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RLC_Config_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_LogicalChannelConfig,
      { "mac-LogicalChannelConfig", "nr-rrc.mac_LogicalChannelConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LogicalChannelConfig", HFILL }},
    { &hf_nr_rrc_rlc_Config_v1610,
      { "rlc-Config-v1610", "nr-rrc.rlc_Config_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_Config_v1700,
      { "rlc-Config-v1700", "nr-rrc.rlc_Config_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logicalChannelIdentityExt_r17,
      { "logicalChannelIdentityExt-r17", "nr-rrc.logicalChannelIdentityExt_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multicastRLC_BearerConfig_r17,
      { "multicastRLC-BearerConfig-r17", "nr-rrc.multicastRLC_BearerConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servedRadioBearerSRB4_r17,
      { "servedRadioBearerSRB4-r17", "nr-rrc.servedRadioBearerSRB4_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRB_Identity_v1700", HFILL }},
    { &hf_nr_rrc_servedMBS_RadioBearer_r17,
      { "servedMBS-RadioBearer-r17", "nr-rrc.servedMBS_RadioBearer_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MRB_Identity_r17", HFILL }},
    { &hf_nr_rrc_isPTM_Entity_r17,
      { "isPTM-Entity-r17", "nr-rrc.isPTM_Entity_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_isPTM_Entity_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_am,
      { "am", "nr-rrc.am_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_AM_RLC,
      { "ul-AM-RLC", "nr-rrc.ul_AM_RLC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_AM_RLC,
      { "dl-AM-RLC", "nr-rrc.dl_AM_RLC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_um_Bi_Directional,
      { "um-Bi-Directional", "nr-rrc.um_Bi_Directional_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_UM_RLC,
      { "ul-UM-RLC", "nr-rrc.ul_UM_RLC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_UM_RLC,
      { "dl-UM-RLC", "nr-rrc.dl_UM_RLC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_um_Uni_Directional_UL,
      { "um-Uni-Directional-UL", "nr-rrc.um_Uni_Directional_UL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_um_Uni_Directional_DL,
      { "um-Uni-Directional-DL", "nr-rrc.um_Uni_Directional_DL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sn_FieldLength,
      { "sn-FieldLength", "nr-rrc.sn_FieldLength",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthAM_vals), 0,
        "SN_FieldLengthAM", HFILL }},
    { &hf_nr_rrc_t_PollRetransmit,
      { "t-PollRetransmit", "nr-rrc.t_PollRetransmit",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_PollRetransmit_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pollPDU,
      { "pollPDU", "nr-rrc.pollPDU",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollPDU_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pollByte,
      { "pollByte", "nr-rrc.pollByte",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollByte_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxRetxThreshold,
      { "maxRetxThreshold", "nr-rrc.maxRetxThreshold",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxRetxThreshold_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_Reassembly,
      { "t-Reassembly", "nr-rrc.t_Reassembly",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_Reassembly_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_StatusProhibit,
      { "t-StatusProhibit", "nr-rrc.t_StatusProhibit",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_StatusProhibit_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sn_FieldLength_01,
      { "sn-FieldLength", "nr-rrc.sn_FieldLength",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthUM_vals), 0,
        "SN_FieldLengthUM", HFILL }},
    { &hf_nr_rrc_dl_AM_RLC_v1610,
      { "dl-AM-RLC-v1610", "nr-rrc.dl_AM_RLC_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_AM_RLC_v1700,
      { "dl-AM-RLC-v1700", "nr-rrc.dl_AM_RLC_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_UM_RLC_v1700,
      { "dl-UM-RLC-v1700", "nr-rrc.dl_UM_RLC_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_StatusProhibit_v1610,
      { "t-StatusProhibit-v1610", "nr-rrc.t_StatusProhibit_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_StatusProhibit_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_ReassemblyExt_r17,
      { "t-ReassemblyExt-r17", "nr-rrc.t_ReassemblyExt_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ReassemblyExt_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t310,
      { "t310", "nr-rrc.t310",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n310,
      { "n310", "nr-rrc.n310",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n310_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n311,
      { "n311", "nr-rrc.n311",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n311_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t311,
      { "t311", "nr-rrc.t311",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t311_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_result_k5_r17,
      { "result-k5-r17", "nr-rrc.result_k5_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_61565", HFILL }},
    { &hf_nr_rrc_scellActivationRS_Id_r17,
      { "scellActivationRS-Id-r17", "nr-rrc.scellActivationRS_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SCellActivationRS_ConfigId_r17", HFILL }},
    { &hf_nr_rrc_resourceSet_r17,
      { "resourceSet-r17", "nr-rrc.resourceSet_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_gapBetweenBursts_r17,
      { "gapBetweenBursts-r17", "nr-rrc.gapBetweenBursts_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_31", HFILL }},
    { &hf_nr_rrc_qcl_Info_r17,
      { "qcl-Info-r17", "nr-rrc.qcl_Info_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TCI_StateId", HFILL }},
    { &hf_nr_rrc_schedulingRequestToAddModList,
      { "schedulingRequestToAddModList", "nr-rrc.schedulingRequestToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod", HFILL }},
    { &hf_nr_rrc_schedulingRequestToAddModList_item,
      { "SchedulingRequestToAddMod", "nr-rrc.SchedulingRequestToAddMod_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingRequestToReleaseList,
      { "schedulingRequestToReleaseList", "nr-rrc.schedulingRequestToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId", HFILL }},
    { &hf_nr_rrc_schedulingRequestToReleaseList_item,
      { "SchedulingRequestId", "nr-rrc.SchedulingRequestId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingRequestId,
      { "schedulingRequestId", "nr-rrc.schedulingRequestId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sr_ProhibitTimer,
      { "sr-ProhibitTimer", "nr-rrc.sr_ProhibitTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_ProhibitTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sr_TransMax,
      { "sr-TransMax", "nr-rrc.sr_TransMax",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_TransMax_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingRequestToAddModListExt_v1700,
      { "schedulingRequestToAddModListExt-v1700", "nr-rrc.schedulingRequestToAddModListExt_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700", HFILL }},
    { &hf_nr_rrc_schedulingRequestToAddModListExt_v1700_item,
      { "SchedulingRequestToAddModExt-v1700", "nr-rrc.SchedulingRequestToAddModExt_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sr_ProhibitTimer_v1700,
      { "sr-ProhibitTimer-v1700", "nr-rrc.sr_ProhibitTimer_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_ProhibitTimer_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_schedulingRequestResourceId,
      { "schedulingRequestResourceId", "nr-rrc.schedulingRequestResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_01,
      { "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sym2,
      { "sym2", "nr-rrc.sym2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sym6or7,
      { "sym6or7", "nr-rrc.sym6or7_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl1,
      { "sl1", "nr-rrc.sl1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl2,
      { "sl2", "nr-rrc.sl2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_sl4,
      { "sl4", "nr-rrc.sl4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_sl5,
      { "sl5", "nr-rrc.sl5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_sl8,
      { "sl8", "nr-rrc.sl8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_sl16,
      { "sl16", "nr-rrc.sl16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_sl640,
      { "sl640", "nr-rrc.sl640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_resource_01,
      { "resource", "nr-rrc.resource",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_phy_PriorityIndex_r16_01,
      { "phy-PriorityIndex-r16", "nr-rrc.phy_PriorityIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phy_PriorityIndex_r16_01_vals), 0,
        "T_phy_PriorityIndex_r16_01", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_r17_01,
      { "periodicityAndOffset-r17", "nr-rrc.periodicityAndOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_r17_vals), 0,
        "T_periodicityAndOffset_r17", HFILL }},
    { &hf_nr_rrc_sl1280,
      { "sl1280", "nr-rrc.sl1280",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1279", HFILL }},
    { &hf_nr_rrc_sl2560,
      { "sl2560", "nr-rrc.sl2560",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2559", HFILL }},
    { &hf_nr_rrc_sl5120,
      { "sl5120", "nr-rrc.sl5120",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119", HFILL }},
    { &hf_nr_rrc_offsetToCarrier,
      { "offsetToCarrier", "nr-rrc.offsetToCarrier",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2199", HFILL }},
    { &hf_nr_rrc_carrierBandwidth,
      { "carrierBandwidth", "nr-rrc.carrierBandwidth",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofPhysicalResourceBlocks", HFILL }},
    { &hf_nr_rrc_txDirectCurrentLocation,
      { "txDirectCurrentLocation", "nr-rrc.txDirectCurrentLocation",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4095", HFILL }},
    { &hf_nr_rrc_pdu_Session,
      { "pdu-Session", "nr-rrc.pdu_Session",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDU_SessionID", HFILL }},
    { &hf_nr_rrc_sdap_HeaderDL,
      { "sdap-HeaderDL", "nr-rrc.sdap_HeaderDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_HeaderDL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sdap_HeaderUL,
      { "sdap-HeaderUL", "nr-rrc.sdap_HeaderUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_HeaderUL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_defaultDRB,
      { "defaultDRB", "nr-rrc.defaultDRB",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_mappedQoS_FlowsToAdd,
      { "mappedQoS-FlowsToAdd", "nr-rrc.mappedQoS_FlowsToAdd",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI", HFILL }},
    { &hf_nr_rrc_mappedQoS_FlowsToAdd_item,
      { "QFI", "nr-rrc.QFI",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mappedQoS_FlowsToRelease,
      { "mappedQoS-FlowsToRelease", "nr-rrc.mappedQoS_FlowsToRelease",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI", HFILL }},
    { &hf_nr_rrc_mappedQoS_FlowsToRelease_item,
      { "QFI", "nr-rrc.QFI",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceId,
      { "searchSpaceId", "nr-rrc.searchSpaceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset,
      { "monitoringSlotPeriodicityAndOffset", "nr-rrc.monitoringSlotPeriodicityAndOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_duration_01,
      { "duration", "nr-rrc.duration",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_slots, 0,
        "INTEGER_2_2559", HFILL }},
    { &hf_nr_rrc_monitoringSymbolsWithinSlot,
      { "monitoringSymbolsWithinSlot", "nr-rrc.monitoringSymbolsWithinSlot",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_14", HFILL }},
    { &hf_nr_rrc_nrofCandidates,
      { "nrofCandidates", "nr-rrc.nrofCandidates_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel1,
      { "aggregationLevel1", "nr-rrc.aggregationLevel1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel2,
      { "aggregationLevel2", "nr-rrc.aggregationLevel2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel4,
      { "aggregationLevel4", "nr-rrc.aggregationLevel4",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel8,
      { "aggregationLevel8", "nr-rrc.aggregationLevel8",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel16,
      { "aggregationLevel16", "nr-rrc.aggregationLevel16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceType,
      { "searchSpaceType", "nr-rrc.searchSpaceType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_common,
      { "common", "nr-rrc.common_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format0_0_AndFormat1_0,
      { "dci-Format0-0-AndFormat1-0", "nr-rrc.dci_Format0_0_AndFormat1_0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format2_0,
      { "dci-Format2-0", "nr-rrc.dci_Format2_0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofCandidates_SFI,
      { "nrofCandidates-SFI", "nr-rrc.nrofCandidates_SFI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel1_01,
      { "aggregationLevel1", "nr-rrc.aggregationLevel1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_01_vals), 0,
        "T_aggregationLevel1_01", HFILL }},
    { &hf_nr_rrc_aggregationLevel2_01,
      { "aggregationLevel2", "nr-rrc.aggregationLevel2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_01_vals), 0,
        "T_aggregationLevel2_01", HFILL }},
    { &hf_nr_rrc_aggregationLevel4_01,
      { "aggregationLevel4", "nr-rrc.aggregationLevel4",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_01_vals), 0,
        "T_aggregationLevel4_01", HFILL }},
    { &hf_nr_rrc_aggregationLevel8_01,
      { "aggregationLevel8", "nr-rrc.aggregationLevel8",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_01_vals), 0,
        "T_aggregationLevel8_01", HFILL }},
    { &hf_nr_rrc_aggregationLevel16_01,
      { "aggregationLevel16", "nr-rrc.aggregationLevel16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_01_vals), 0,
        "T_aggregationLevel16_01", HFILL }},
    { &hf_nr_rrc_dci_Format2_1,
      { "dci-Format2-1", "nr-rrc.dci_Format2_1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format2_2,
      { "dci-Format2-2", "nr-rrc.dci_Format2_2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format2_3,
      { "dci-Format2-3", "nr-rrc.dci_Format2_3_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1,
      { "dummy1", "nr-rrc.searchSpace.searchSpaceType.common.dci_Format2_3.dummy1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1_vals), 0,
        "T_searchSpace_searchSpaceType__common_dci_Format2_3_dummy1", HFILL }},
    { &hf_nr_rrc_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2,
      { "dummy2", "nr-rrc.searchSpace.searchSpaceType.common.dci_Format2_3.dummy2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2_vals), 0,
        "T_searchSpace_searchSpaceType_common_dci_Format2_3_dummy2", HFILL }},
    { &hf_nr_rrc_ue_Specific,
      { "ue-Specific", "nr-rrc.ue_Specific_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Formats,
      { "dci-Formats", "nr-rrc.dci_Formats",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Formats_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Formats_MT_r16,
      { "dci-Formats-MT-r16", "nr-rrc.dci_Formats_MT_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Formats_MT_r16_vals), 0,
        "T_dci_Formats_MT_r16", HFILL }},
    { &hf_nr_rrc_dci_FormatsSL_r16,
      { "dci-FormatsSL-r16", "nr-rrc.dci_FormatsSL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_FormatsSL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_FormatsExt_r16,
      { "dci-FormatsExt-r16", "nr-rrc.dci_FormatsExt_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_FormatsExt_r16_vals), 0,
        "T_dci_FormatsExt_r16", HFILL }},
    { &hf_nr_rrc_controlResourceSetId_r16,
      { "controlResourceSetId-r16", "nr-rrc.controlResourceSetId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceType_r16,
      { "searchSpaceType-r16", "nr-rrc.searchSpaceType_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_common_r16,
      { "common-r16", "nr-rrc.common_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format2_4_r16,
      { "dci-Format2-4-r16", "nr-rrc.dci_Format2_4_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofCandidates_CI_r16,
      { "nrofCandidates-CI-r16", "nr-rrc.nrofCandidates_CI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel1_r16,
      { "aggregationLevel1-r16", "nr-rrc.aggregationLevel1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel2_r16,
      { "aggregationLevel2-r16", "nr-rrc.aggregationLevel2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel4_r16,
      { "aggregationLevel4-r16", "nr-rrc.aggregationLevel4_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel8_r16,
      { "aggregationLevel8-r16", "nr-rrc.aggregationLevel8_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel16_r16,
      { "aggregationLevel16-r16", "nr-rrc.aggregationLevel16_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format2_5_r16,
      { "dci-Format2-5-r16", "nr-rrc.dci_Format2_5_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofCandidates_IAB_r16,
      { "nrofCandidates-IAB-r16", "nr-rrc.nrofCandidates_IAB_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel1_r16_01,
      { "aggregationLevel1-r16", "nr-rrc.aggregationLevel1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_r16_01_vals), 0,
        "T_aggregationLevel1_r16_01", HFILL }},
    { &hf_nr_rrc_aggregationLevel2_r16_01,
      { "aggregationLevel2-r16", "nr-rrc.aggregationLevel2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_r16_01_vals), 0,
        "T_aggregationLevel2_r16_01", HFILL }},
    { &hf_nr_rrc_aggregationLevel4_r16_01,
      { "aggregationLevel4-r16", "nr-rrc.aggregationLevel4_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_r16_01_vals), 0,
        "T_aggregationLevel4_r16_01", HFILL }},
    { &hf_nr_rrc_aggregationLevel8_r16_01,
      { "aggregationLevel8-r16", "nr-rrc.aggregationLevel8_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_r16_01_vals), 0,
        "T_aggregationLevel8_r16_01", HFILL }},
    { &hf_nr_rrc_aggregationLevel16_r16_01,
      { "aggregationLevel16-r16", "nr-rrc.aggregationLevel16_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_r16_01_vals), 0,
        "T_aggregationLevel16_r16_01", HFILL }},
    { &hf_nr_rrc_dci_Format2_6_r16,
      { "dci-Format2-6-r16", "nr-rrc.dci_Format2_6_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceGroupIdList_r16,
      { "searchSpaceGroupIdList-r16", "nr-rrc.searchSpaceGroupIdList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_searchSpaceGroupIdList_r16", HFILL }},
    { &hf_nr_rrc_searchSpaceGroupIdList_r16_item,
      { "searchSpaceGroupIdList-r16 item", "nr-rrc.searchSpaceGroupIdList_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_freqMonitorLocations_r16,
      { "freqMonitorLocations-r16", "nr-rrc.freqMonitorLocations_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_5", HFILL }},
    { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset_v1710,
      { "monitoringSlotPeriodicityAndOffset-v1710", "nr-rrc.monitoringSlotPeriodicityAndOffset_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringSlotPeriodicityAndOffset_v1710_vals), 0,
        "T_monitoringSlotPeriodicityAndOffset_v1710", HFILL }},
    { &hf_nr_rrc_sl32,
      { "sl32", "nr-rrc.sl32",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_sl64,
      { "sl64", "nr-rrc.sl64",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_sl128,
      { "sl128", "nr-rrc.sl128",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_nr_rrc_sl10240,
      { "sl10240", "nr-rrc.sl10240",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_10239", HFILL }},
    { &hf_nr_rrc_sl20480,
      { "sl20480", "nr-rrc.sl20480",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_20479", HFILL }},
    { &hf_nr_rrc_monitoringSlotsWithinSlotGroup_r17,
      { "monitoringSlotsWithinSlotGroup-r17", "nr-rrc.monitoringSlotsWithinSlotGroup_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringSlotsWithinSlotGroup_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotGroupLength4_r17,
      { "slotGroupLength4-r17", "nr-rrc.slotGroupLength4_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_slotGroupLength8_r17,
      { "slotGroupLength8-r17", "nr-rrc.slotGroupLength8_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_duration_r17_02,
      { "duration-r17", "nr-rrc.duration_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_4_20476", HFILL }},
    { &hf_nr_rrc_searchSpaceType_r17,
      { "searchSpaceType-r17", "nr-rrc.searchSpaceType_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_common_r17,
      { "common-r17", "nr-rrc.common_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format4_0_r17,
      { "dci-Format4-0-r17", "nr-rrc.dci_Format4_0_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format4_1_r17,
      { "dci-Format4-1-r17", "nr-rrc.dci_Format4_1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format4_2_r17,
      { "dci-Format4-2-r17", "nr-rrc.dci_Format4_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format4_1_AndFormat4_2_r17,
      { "dci-Format4-1-AndFormat4-2-r17", "nr-rrc.dci_Format4_1_AndFormat4_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format2_7_r17,
      { "dci-Format2-7-r17", "nr-rrc.dci_Format2_7_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofCandidates_PEI_r17,
      { "nrofCandidates-PEI-r17", "nr-rrc.nrofCandidates_PEI_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel4_r17,
      { "aggregationLevel4-r17", "nr-rrc.aggregationLevel4_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel8_r17,
      { "aggregationLevel8-r17", "nr-rrc.aggregationLevel8_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationLevel16_r17,
      { "aggregationLevel16-r17", "nr-rrc.aggregationLevel16_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceGroupIdList_r17,
      { "searchSpaceGroupIdList-r17", "nr-rrc.searchSpaceGroupIdList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_searchSpaceGroupIdList_r17", HFILL }},
    { &hf_nr_rrc_searchSpaceGroupIdList_r17_item,
      { "searchSpaceGroupIdList-r17 item", "nr-rrc.searchSpaceGroupIdList_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofSearchSpaceGroups_1_r17", HFILL }},
    { &hf_nr_rrc_searchSpaceLinkingId_r17,
      { "searchSpaceLinkingId-r17", "nr-rrc.searchSpaceLinkingId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofSearchSpacesLinks_1_r17", HFILL }},
    { &hf_nr_rrc_cipheringAlgorithm,
      { "cipheringAlgorithm", "nr-rrc.cipheringAlgorithm",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CipheringAlgorithm_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_integrityProtAlgorithm,
      { "integrityProtAlgorithm", "nr-rrc.integrityProtAlgorithm",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IntegrityProtAlgorithm_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_period_r16,
      { "period-r16", "nr-rrc.period_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_period_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodUE_r17,
      { "periodUE-r17", "nr-rrc.periodUE_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodUE_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_offsetUE_r17,
      { "offsetUE-r17", "nr-rrc.offsetUE_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_559", HFILL }},
    { &hf_nr_rrc_sensor_MeasurementInformation_r16,
      { "sensor-MeasurementInformation-r16", "nr-rrc.sensor_MeasurementInformation_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sensor_MotionInformation_r16,
      { "sensor-MotionInformation-r16", "nr-rrc.sensor_MotionInformation_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servingcell_r17,
      { "servingcell-r17", "nr-rrc.servingcell_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_bwp_r17,
      { "bwp-r17", "nr-rrc.bwp_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated,
      { "tdd-UL-DL-ConfigurationDedicated", "nr-rrc.tdd_UL_DL_ConfigurationDedicated_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TDD_UL_DL_ConfigDedicated", HFILL }},
    { &hf_nr_rrc_initialDownlinkBWP_01,
      { "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_DownlinkDedicated", HFILL }},
    { &hf_nr_rrc_downlinkBWP_ToReleaseList,
      { "downlinkBWP-ToReleaseList", "nr-rrc.downlinkBWP_ToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id", HFILL }},
    { &hf_nr_rrc_downlinkBWP_ToReleaseList_item,
      { "BWP-Id", "nr-rrc.BWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_downlinkBWP_ToAddModList,
      { "downlinkBWP-ToAddModList", "nr-rrc.downlinkBWP_ToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink", HFILL }},
    { &hf_nr_rrc_downlinkBWP_ToAddModList_item,
      { "BWP-Downlink", "nr-rrc.BWP_Downlink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_firstActiveDownlinkBWP_Id,
      { "firstActiveDownlinkBWP-Id", "nr-rrc.firstActiveDownlinkBWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_bwp_InactivityTimer,
      { "bwp-InactivityTimer", "nr-rrc.bwp_InactivityTimer",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_bwp_InactivityTimer_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_defaultDownlinkBWP_Id,
      { "defaultDownlinkBWP-Id", "nr-rrc.defaultDownlinkBWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_uplinkConfig,
      { "uplinkConfig", "nr-rrc.uplinkConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supplementaryUplink_01,
      { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkConfig", HFILL }},
    { &hf_nr_rrc_pdcch_ServingCellConfig,
      { "pdcch-ServingCellConfig", "nr-rrc.pdcch_ServingCellConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ServingCellConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_150,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_ServingCellConfig", HFILL }},
    { &hf_nr_rrc_pdsch_ServingCellConfig,
      { "pdsch-ServingCellConfig", "nr-rrc.pdsch_ServingCellConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ServingCellConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_151,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDSCH_ServingCellConfig", HFILL }},
    { &hf_nr_rrc_csi_MeasConfig,
      { "csi-MeasConfig", "nr-rrc.csi_MeasConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_MeasConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_152,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CSI_MeasConfig", HFILL }},
    { &hf_nr_rrc_sCellDeactivationTimer,
      { "sCellDeactivationTimer", "nr-rrc.sCellDeactivationTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellDeactivationTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingConfig,
      { "crossCarrierSchedulingConfig", "nr-rrc.crossCarrierSchedulingConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tag_Id,
      { "tag-Id", "nr-rrc.tag_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy1_01,
      { "dummy1", "nr-rrc.dummy1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy1_01_vals), 0,
        "T_dummy1_01", HFILL }},
    { &hf_nr_rrc_pathlossReferenceLinking,
      { "pathlossReferenceLinking", "nr-rrc.pathlossReferenceLinking",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceLinking_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servingCellMO,
      { "servingCellMO", "nr-rrc.servingCellMO",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MeasObjectId", HFILL }},
    { &hf_nr_rrc_lte_CRS_ToMatchAround,
      { "lte-CRS-ToMatchAround", "nr-rrc.lte_CRS_ToMatchAround",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_ToMatchAround_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_153,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RateMatchPatternLTE_CRS", HFILL }},
    { &hf_nr_rrc_downlinkChannelBW_PerSCS_List,
      { "downlinkChannelBW-PerSCS-List", "nr-rrc.downlinkChannelBW_PerSCS_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }},
    { &hf_nr_rrc_downlinkChannelBW_PerSCS_List_item,
      { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supplementaryUplinkRelease_r16,
      { "supplementaryUplinkRelease-r16", "nr-rrc.supplementaryUplinkRelease_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supplementaryUplinkRelease_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated_IAB_MT_r16,
      { "tdd-UL-DL-ConfigurationDedicated-IAB-MT-r16", "nr-rrc.tdd_UL_DL_ConfigurationDedicated_IAB_MT_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TDD_UL_DL_ConfigDedicated_IAB_MT_r16", HFILL }},
    { &hf_nr_rrc_dormantBWP_Config_r16,
      { "dormantBWP-Config-r16", "nr-rrc.dormantBWP_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dormantBWP_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_154,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DormantBWP_Config_r16", HFILL }},
    { &hf_nr_rrc_ca_SlotOffset_r16,
      { "ca-SlotOffset-r16", "nr-rrc.ca_SlotOffset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ca_SlotOffset_r16_vals), 0,
        "T_ca_SlotOffset_r16", HFILL }},
    { &hf_nr_rrc_refSCS15kHz,
      { "refSCS15kHz", "nr-rrc.refSCS15kHz",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M2_2", HFILL }},
    { &hf_nr_rrc_refSCS30KHz,
      { "refSCS30KHz", "nr-rrc.refSCS30KHz",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M5_5", HFILL }},
    { &hf_nr_rrc_refSCS60KHz,
      { "refSCS60KHz", "nr-rrc.refSCS60KHz",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M10_10", HFILL }},
    { &hf_nr_rrc_refSCS120KHz,
      { "refSCS120KHz", "nr-rrc.refSCS120KHz",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M20_20", HFILL }},
    { &hf_nr_rrc_servingCellConfig_eag_2_dummy2,
      { "dummy2", "nr-rrc.servingCellConfig.eag_2.dummy2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_servingCellConfig_eag_2_dummy2_vals), 0,
        "T_servingCellConfig_eag_2_dummy2", HFILL }},
    { &hf_nr_rrc_setup_155,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DummyJ", HFILL }},
    { &hf_nr_rrc_intraCellGuardBandsDL_List_r16,
      { "intraCellGuardBandsDL-List-r16", "nr-rrc.intraCellGuardBandsDL_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16", HFILL }},
    { &hf_nr_rrc_intraCellGuardBandsDL_List_r16_item,
      { "IntraCellGuardBandsPerSCS-r16", "nr-rrc.IntraCellGuardBandsPerSCS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraCellGuardBandsUL_List_r16,
      { "intraCellGuardBandsUL-List-r16", "nr-rrc.intraCellGuardBandsUL_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16", HFILL }},
    { &hf_nr_rrc_intraCellGuardBandsUL_List_r16_item,
      { "IntraCellGuardBandsPerSCS-r16", "nr-rrc.IntraCellGuardBandsPerSCS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_ValidationWithDCI_r16,
      { "csi-RS-ValidationWithDCI-r16", "nr-rrc.csi_RS_ValidationWithDCI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_ValidationWithDCI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lte_CRS_PatternList1_r16,
      { "lte-CRS-PatternList1-r16", "nr-rrc.lte_CRS_PatternList1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_PatternList1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_156,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LTE_CRS_PatternList_r16", HFILL }},
    { &hf_nr_rrc_lte_CRS_PatternList2_r16,
      { "lte-CRS-PatternList2-r16", "nr-rrc.lte_CRS_PatternList2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_PatternList2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crs_RateMatch_PerCORESETPoolIndex_r16,
      { "crs-RateMatch-PerCORESETPoolIndex-r16", "nr-rrc.crs_RateMatch_PerCORESETPoolIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crs_RateMatch_PerCORESETPoolIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enableTwoDefaultTCI_States_r16,
      { "enableTwoDefaultTCI-States-r16", "nr-rrc.enableTwoDefaultTCI_States_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableTwoDefaultTCI_States_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enableDefaultTCI_StatePerCoresetPoolIndex_r16,
      { "enableDefaultTCI-StatePerCoresetPoolIndex-r16", "nr-rrc.enableDefaultTCI_StatePerCoresetPoolIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultTCI_StatePerCoresetPoolIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enableBeamSwitchTiming_r16,
      { "enableBeamSwitchTiming-r16", "nr-rrc.enableBeamSwitchTiming_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableBeamSwitchTiming_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cbg_TxDiffTBsProcessingType1_r16,
      { "cbg-TxDiffTBsProcessingType1-r16", "nr-rrc.cbg_TxDiffTBsProcessingType1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TxDiffTBsProcessingType1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cbg_TxDiffTBsProcessingType2_r16,
      { "cbg-TxDiffTBsProcessingType2-r16", "nr-rrc.cbg_TxDiffTBsProcessingType2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TxDiffTBsProcessingType2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directionalCollisionHandling_r16,
      { "directionalCollisionHandling-r16", "nr-rrc.directionalCollisionHandling_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directionalCollisionHandling_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelAccessConfig_r16,
      { "channelAccessConfig-r16", "nr-rrc.channelAccessConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_157,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ChannelAccessConfig_r16", HFILL }},
    { &hf_nr_rrc_nr_dl_PRS_PDC_Info_r17,
      { "nr-dl-PRS-PDC-Info-r17", "nr-rrc.nr_dl_PRS_PDC_Info_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_dl_PRS_PDC_Info_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_158,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NR_DL_PRS_PDC_Info_r17", HFILL }},
    { &hf_nr_rrc_semiStaticChannelAccessConfigUE_r17,
      { "semiStaticChannelAccessConfigUE-r17", "nr-rrc.semiStaticChannelAccessConfigUE_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiStaticChannelAccessConfigUE_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_159,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SemiStaticChannelAccessConfigUE_r17", HFILL }},
    { &hf_nr_rrc_mimoParam_r17,
      { "mimoParam-r17", "nr-rrc.mimoParam_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mimoParam_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_160,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MIMOParam_r17", HFILL }},
    { &hf_nr_rrc_channelAccessMode2_r17_02,
      { "channelAccessMode2-r17", "nr-rrc.channelAccessMode2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode2_r17_02_vals), 0,
        "T_channelAccessMode2_r17_02", HFILL }},
    { &hf_nr_rrc_timeDomainHARQ_BundlingType1_r17,
      { "timeDomainHARQ-BundlingType1-r17", "nr-rrc.timeDomainHARQ_BundlingType1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDomainHARQ_BundlingType1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofHARQ_BundlingGroups_r17,
      { "nrofHARQ-BundlingGroups-r17", "nr-rrc.nrofHARQ_BundlingGroups_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofHARQ_BundlingGroups_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fdmed_ReceptionMulticast_r17,
      { "fdmed-ReceptionMulticast-r17", "nr-rrc.fdmed_ReceptionMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdmed_ReceptionMulticast_r17_vals), 0,
        "T_fdmed_ReceptionMulticast_r17", HFILL }},
    { &hf_nr_rrc_moreThanOneNackOnlyMode_r17,
      { "moreThanOneNackOnlyMode-r17", "nr-rrc.moreThanOneNackOnlyMode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_moreThanOneNackOnlyMode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_ActivatedConfig_r17,
      { "tci-ActivatedConfig-r17", "nr-rrc.tci_ActivatedConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directionalCollisionHandling_DC_r17,
      { "directionalCollisionHandling-DC-r17", "nr-rrc.directionalCollisionHandling_DC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directionalCollisionHandling_DC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lte_NeighCellsCRS_AssistInfoList_r17,
      { "lte-NeighCellsCRS-AssistInfoList-r17", "nr-rrc.lte_NeighCellsCRS_AssistInfoList_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_NeighCellsCRS_AssistInfoList_r17_vals), 0,
        "T_lte_NeighCellsCRS_AssistInfoList_r17", HFILL }},
    { &hf_nr_rrc_setup_161,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LTE_NeighCellsCRS_AssistInfoList_r17", HFILL }},
    { &hf_nr_rrc_lte_NeighCellsCRS_Assumptions_r17,
      { "lte-NeighCellsCRS-Assumptions-r17", "nr-rrc.lte_NeighCellsCRS_Assumptions_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_NeighCellsCRS_Assumptions_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingConfigRelease_r17,
      { "crossCarrierSchedulingConfigRelease-r17", "nr-rrc.crossCarrierSchedulingConfigRelease_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingConfigRelease_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_initialUplinkBWP,
      { "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_UplinkDedicated", HFILL }},
    { &hf_nr_rrc_uplinkBWP_ToReleaseList,
      { "uplinkBWP-ToReleaseList", "nr-rrc.uplinkBWP_ToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id", HFILL }},
    { &hf_nr_rrc_uplinkBWP_ToReleaseList_item,
      { "BWP-Id", "nr-rrc.BWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkBWP_ToAddModList,
      { "uplinkBWP-ToAddModList", "nr-rrc.uplinkBWP_ToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink", HFILL }},
    { &hf_nr_rrc_uplinkBWP_ToAddModList_item,
      { "BWP-Uplink", "nr-rrc.BWP_Uplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_firstActiveUplinkBWP_Id,
      { "firstActiveUplinkBWP-Id", "nr-rrc.firstActiveUplinkBWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_pusch_ServingCellConfig,
      { "pusch-ServingCellConfig", "nr-rrc.pusch_ServingCellConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ServingCellConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_162,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUSCH_ServingCellConfig", HFILL }},
    { &hf_nr_rrc_carrierSwitching,
      { "carrierSwitching", "nr-rrc.carrierSwitching",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierSwitching_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_163,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_CarrierSwitching", HFILL }},
    { &hf_nr_rrc_powerBoostPi2BPSK,
      { "powerBoostPi2BPSK", "nr-rrc.powerBoostPi2BPSK",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_uplinkChannelBW_PerSCS_List,
      { "uplinkChannelBW-PerSCS-List", "nr-rrc.uplinkChannelBW_PerSCS_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }},
    { &hf_nr_rrc_uplinkChannelBW_PerSCS_List_item,
      { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enablePL_RS_UpdateForPUSCH_SRS_r16,
      { "enablePL-RS-UpdateForPUSCH-SRS-r16", "nr-rrc.enablePL_RS_UpdateForPUSCH_SRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enablePL_RS_UpdateForPUSCH_SRS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enableDefaultBeamPL_ForPUSCH0_0_r16,
      { "enableDefaultBeamPL-ForPUSCH0-0-r16", "nr-rrc.enableDefaultBeamPL_ForPUSCH0_0_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultBeamPL_ForPUSCH0_0_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enableDefaultBeamPL_ForPUCCH_r16,
      { "enableDefaultBeamPL-ForPUCCH-r16", "nr-rrc.enableDefaultBeamPL_ForPUCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultBeamPL_ForPUCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enableDefaultBeamPL_ForSRS_r16,
      { "enableDefaultBeamPL-ForSRS-r16", "nr-rrc.enableDefaultBeamPL_ForSRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultBeamPL_ForSRS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching_r16,
      { "uplinkTxSwitching-r16", "nr-rrc.uplinkTxSwitching_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_164,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkTxSwitching_r16", HFILL }},
    { &hf_nr_rrc_mpr_PowerBoost_FR2_r16,
      { "mpr-PowerBoost-FR2-r16", "nr-rrc.mpr_PowerBoost_FR2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpr_PowerBoost_FR2_r16_vals), 0,
        "T_mpr_PowerBoost_FR2_r16", HFILL }},
    { &hf_nr_rrc_maxEnergyDetectionThreshold_r16,
      { "maxEnergyDetectionThreshold-r16", "nr-rrc.maxEnergyDetectionThreshold_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M85_M52", HFILL }},
    { &hf_nr_rrc_energyDetectionThresholdOffset_r16,
      { "energyDetectionThresholdOffset-r16", "nr-rrc.energyDetectionThresholdOffset_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M20_M13", HFILL }},
    { &hf_nr_rrc_ul_toDL_COT_SharingED_Threshold_r16,
      { "ul-toDL-COT-SharingED-Threshold-r16", "nr-rrc.ul_toDL_COT_SharingED_Threshold_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M85_M52", HFILL }},
    { &hf_nr_rrc_absenceOfAnyOtherTechnology_r16,
      { "absenceOfAnyOtherTechnology-r16", "nr-rrc.absenceOfAnyOtherTechnology_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_absenceOfAnyOtherTechnology_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_energyDetectionConfig_r16,
      { "energyDetectionConfig-r16", "nr-rrc.energyDetectionConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_energyDetectionConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_energyDetectionThresholdOffset_r16_01,
      { "energyDetectionThresholdOffset-r16", "nr-rrc.energyDetectionThresholdOffset_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M13_20", HFILL }},
    { &hf_nr_rrc_absenceOfAnyOtherTechnology_r16_01,
      { "absenceOfAnyOtherTechnology-r16", "nr-rrc.absenceOfAnyOtherTechnology_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_absenceOfAnyOtherTechnology_r16_01_vals), 0,
        "T_absenceOfAnyOtherTechnology_r16_01", HFILL }},
    { &hf_nr_rrc_guardBandSCS_r16,
      { "guardBandSCS-r16", "nr-rrc.guardBandSCS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_intraCellGuardBands_r16,
      { "intraCellGuardBands-r16", "nr-rrc.intraCellGuardBands_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_GuardBand_r16", HFILL }},
    { &hf_nr_rrc_intraCellGuardBands_r16_item,
      { "GuardBand-r16", "nr-rrc.GuardBand_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startCRB_r16,
      { "startCRB-r16", "nr-rrc.startCRB_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_274", HFILL }},
    { &hf_nr_rrc_nrofCRBs_r16,
      { "nrofCRBs-r16", "nr-rrc.nrofCRBs_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_dormantBWP_Id_r16,
      { "dormantBWP-Id-r16", "nr-rrc.dormantBWP_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_withinActiveTimeConfig_r16,
      { "withinActiveTimeConfig-r16", "nr-rrc.withinActiveTimeConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_withinActiveTimeConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_165,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "WithinActiveTimeConfig_r16", HFILL }},
    { &hf_nr_rrc_outsideActiveTimeConfig_r16,
      { "outsideActiveTimeConfig-r16", "nr-rrc.outsideActiveTimeConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outsideActiveTimeConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_166,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "OutsideActiveTimeConfig_r16", HFILL }},
    { &hf_nr_rrc_firstWithinActiveTimeBWP_Id_r16,
      { "firstWithinActiveTimeBWP-Id-r16", "nr-rrc.firstWithinActiveTimeBWP_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_dormancyGroupWithinActiveTime_r16,
      { "dormancyGroupWithinActiveTime-r16", "nr-rrc.dormancyGroupWithinActiveTime_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DormancyGroupID_r16", HFILL }},
    { &hf_nr_rrc_firstOutsideActiveTimeBWP_Id_r16,
      { "firstOutsideActiveTimeBWP-Id-r16", "nr-rrc.firstOutsideActiveTimeBWP_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_dormancyGroupOutsideActiveTime_r16,
      { "dormancyGroupOutsideActiveTime-r16", "nr-rrc.dormancyGroupOutsideActiveTime_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DormancyGroupID_r16", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchingPeriodLocation_r16,
      { "uplinkTxSwitchingPeriodLocation-r16", "nr-rrc.uplinkTxSwitchingPeriodLocation_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchingCarrier_r16,
      { "uplinkTxSwitchingCarrier-r16", "nr-rrc.uplinkTxSwitchingCarrier_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchingCarrier_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalPCI_ToAddModList_r17,
      { "additionalPCI-ToAddModList-r17", "nr-rrc.additionalPCI_ToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17", HFILL }},
    { &hf_nr_rrc_additionalPCI_ToAddModList_r17_item,
      { "SSB-MTC-AdditionalPCI-r17", "nr-rrc.SSB_MTC_AdditionalPCI_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalPCI_ToReleaseList_r17,
      { "additionalPCI-ToReleaseList-r17", "nr-rrc.additionalPCI_ToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17", HFILL }},
    { &hf_nr_rrc_additionalPCI_ToReleaseList_r17_item,
      { "AdditionalPCIIndex-r17", "nr-rrc.AdditionalPCIIndex_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedTCI_StateType_r17,
      { "unifiedTCI-StateType-r17", "nr-rrc.unifiedTCI_StateType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedTCI_StateType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplink_PowerControlToAddModList_r17,
      { "uplink-PowerControlToAddModList-r17", "nr-rrc.uplink_PowerControlToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17", HFILL }},
    { &hf_nr_rrc_uplink_PowerControlToAddModList_r17_item,
      { "Uplink-powerControl-r17", "nr-rrc.Uplink_powerControl_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplink_PowerControlToReleaseList_r17,
      { "uplink-PowerControlToReleaseList-r17", "nr-rrc.uplink_PowerControlToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17", HFILL }},
    { &hf_nr_rrc_uplink_PowerControlToReleaseList_r17_item,
      { "Uplink-powerControlId-r17", "nr-rrc.Uplink_powerControlId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfnSchemePDCCH_r17,
      { "sfnSchemePDCCH-r17", "nr-rrc.sfnSchemePDCCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfnSchemePDCCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfnSchemePDSCH_r17,
      { "sfnSchemePDSCH-r17", "nr-rrc.sfnSchemePDSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfnSchemePDSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_downlinkConfigCommon,
      { "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkConfigCommon,
      { "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supplementaryUplinkConfig,
      { "supplementaryUplinkConfig", "nr-rrc.supplementaryUplinkConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkConfigCommon", HFILL }},
    { &hf_nr_rrc_n_TimingAdvanceOffset,
      { "n-TimingAdvanceOffset", "nr-rrc.n_TimingAdvanceOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n_TimingAdvanceOffset_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_PositionsInBurst,
      { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionsInBurst_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_shortBitmap,
      { "shortBitmap", "nr-rrc.shortBitmap",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_mediumBitmap,
      { "mediumBitmap", "nr-rrc.mediumBitmap",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_longBitmap,
      { "longBitmap", "nr-rrc.longBitmap",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_ssb_periodicityServingCell,
      { "ssb-periodicityServingCell", "nr-rrc.ssb_periodicityServingCell",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_periodicityServingCell_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_TypeA_Position_01,
      { "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_01_vals), 0,
        "T_dmrs_TypeA_Position_01", HFILL }},
    { &hf_nr_rrc_lte_CRS_ToMatchAround_01,
      { "lte-CRS-ToMatchAround", "nr-rrc.lte_CRS_ToMatchAround",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_ToMatchAround_01_vals), 0,
        "T_lte_CRS_ToMatchAround_01", HFILL }},
    { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon,
      { "tdd-UL-DL-ConfigurationCommon", "nr-rrc.tdd_UL_DL_ConfigurationCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TDD_UL_DL_ConfigCommon", HFILL }},
    { &hf_nr_rrc_ss_PBCH_BlockPower,
      { "ss-PBCH-BlockPower", "nr-rrc.ss_PBCH_BlockPower",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M60_50", HFILL }},
    { &hf_nr_rrc_channelAccessMode_r16,
      { "channelAccessMode-r16", "nr-rrc.channelAccessMode_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamic_02,
      { "dynamic", "nr-rrc.dynamic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStatic_01,
      { "semiStatic", "nr-rrc.semiStatic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SemiStaticChannelAccessConfig_r16", HFILL }},
    { &hf_nr_rrc_discoveryBurstWindowLength_r16,
      { "discoveryBurstWindowLength-r16", "nr-rrc.discoveryBurstWindowLength_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discoveryBurstWindowLength_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedConfig_r16,
      { "highSpeedConfig-r16", "nr-rrc.highSpeedConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedConfig_v1700,
      { "highSpeedConfig-v1700", "nr-rrc.highSpeedConfig_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelAccessMode2_r17_03,
      { "channelAccessMode2-r17", "nr-rrc.channelAccessMode2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode2_r17_03_vals), 0,
        "T_channelAccessMode2_r17_03", HFILL }},
    { &hf_nr_rrc_discoveryBurstWindowLength_r17,
      { "discoveryBurstWindowLength-r17", "nr-rrc.discoveryBurstWindowLength_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discoveryBurstWindowLength_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedConfigFR2_r17,
      { "highSpeedConfigFR2-r17", "nr-rrc.highSpeedConfigFR2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkConfigCommon_v1700,
      { "uplinkConfigCommon-v1700", "nr-rrc.uplinkConfigCommon_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featurePriorities_r17_01,
      { "featurePriorities-r17", "nr-rrc.featurePriorities_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_featurePriorities_r17_01", HFILL }},
    { &hf_nr_rrc_ra_ChannelAccess_r17,
      { "ra-ChannelAccess-r17", "nr-rrc.ra_ChannelAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ChannelAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_downlinkConfigCommon_01,
      { "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DownlinkConfigCommonSIB", HFILL }},
    { &hf_nr_rrc_uplinkConfigCommon_01,
      { "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkConfigCommonSIB", HFILL }},
    { &hf_nr_rrc_supplementaryUplink_02,
      { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkConfigCommonSIB", HFILL }},
    { &hf_nr_rrc_n_TimingAdvanceOffset_01,
      { "n-TimingAdvanceOffset", "nr-rrc.n_TimingAdvanceOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n_TimingAdvanceOffset_01_vals), 0,
        "T_n_TimingAdvanceOffset_01", HFILL }},
    { &hf_nr_rrc_ssb_PositionsInBurst_01,
      { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_ssb_PositionsInBurst_01", HFILL }},
    { &hf_nr_rrc_inOneGroup,
      { "inOneGroup", "nr-rrc.inOneGroup",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_groupPresence,
      { "groupPresence", "nr-rrc.groupPresence",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_ssb_PeriodicityServingCell,
      { "ssb-PeriodicityServingCell", "nr-rrc.ssb_PeriodicityServingCell",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PeriodicityServingCell_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelAccessMode_r16_01,
      { "channelAccessMode-r16", "nr-rrc.channelAccessMode_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode_r16_01_vals), 0,
        "T_channelAccessMode_r16_01", HFILL }},
    { &hf_nr_rrc_discoveryBurstWindowLength_r16_01,
      { "discoveryBurstWindowLength-r16", "nr-rrc.discoveryBurstWindowLength_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discoveryBurstWindowLength_r16_01_vals), 0,
        "T_discoveryBurstWindowLength_r16_01", HFILL }},
    { &hf_nr_rrc_channelAccessMode2_r17_04,
      { "channelAccessMode2-r17", "nr-rrc.channelAccessMode2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode2_r17_04_vals), 0,
        "T_channelAccessMode2_r17_04", HFILL }},
    { &hf_nr_rrc_discoveryBurstWindowLength_v1700,
      { "discoveryBurstWindowLength-v1700", "nr-rrc.discoveryBurstWindowLength_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discoveryBurstWindowLength_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkConfigCommon_v1700_01,
      { "uplinkConfigCommon-v1700", "nr-rrc.uplinkConfigCommon_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkConfigCommonSIB_v1700", HFILL }},
    { &hf_nr_rrc_enhancedMeasurementLEO_r17,
      { "enhancedMeasurementLEO-r17", "nr-rrc.enhancedMeasurementLEO_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedMeasurementLEO_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_ChannelAccess_r17_01,
      { "ra-ChannelAccess-r17", "nr-rrc.ra_ChannelAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ChannelAccess_r17_01_vals), 0,
        "T_ra_ChannelAccess_r17_01", HFILL }},
    { &hf_nr_rrc_rach_OccasionsSI,
      { "rach-OccasionsSI", "nr-rrc.rach_OccasionsSI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rach_ConfigSI,
      { "rach-ConfigSI", "nr-rrc.rach_ConfigSI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RACH_ConfigGeneric", HFILL }},
    { &hf_nr_rrc_ssb_perRACH_Occasion_02,
      { "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_02_vals), 0,
        "T_ssb_perRACH_Occasion_02", HFILL }},
    { &hf_nr_rrc_si_RequestPeriod,
      { "si-RequestPeriod", "nr-rrc.si_RequestPeriod",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_RequestPeriod_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_si_RequestResources,
      { "si-RequestResources", "nr-rrc.si_RequestResources",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources", HFILL }},
    { &hf_nr_rrc_si_RequestResources_item,
      { "SI-RequestResources", "nr-rrc.SI_RequestResources_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_PreambleStartIndex,
      { "ra-PreambleStartIndex", "nr-rrc.ra_PreambleStartIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_ra_AssociationPeriodIndex,
      { "ra-AssociationPeriodIndex", "nr-rrc.ra_AssociationPeriodIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_schedulingInfoList,
      { "schedulingInfoList", "nr-rrc.schedulingInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo", HFILL }},
    { &hf_nr_rrc_schedulingInfoList_item,
      { "SchedulingInfo", "nr-rrc.SchedulingInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_si_WindowLength,
      { "si-WindowLength", "nr-rrc.si_WindowLength",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_WindowLength_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_si_RequestConfig,
      { "si-RequestConfig", "nr-rrc.si_RequestConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_si_RequestConfigSUL,
      { "si-RequestConfigSUL", "nr-rrc.si_RequestConfigSUL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SI_RequestConfig", HFILL }},
    { &hf_nr_rrc_systemInformationAreaID,
      { "systemInformationAreaID", "nr-rrc.systemInformationAreaID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_nr_rrc_si_BroadcastStatus,
      { "si-BroadcastStatus", "nr-rrc.si_BroadcastStatus",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_BroadcastStatus_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_si_Periodicity,
      { "si-Periodicity", "nr-rrc.si_Periodicity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_Periodicity_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib_MappingInfo,
      { "sib-MappingInfo", "nr-rrc.sib_MappingInfo",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SIB_Mapping", HFILL }},
    { &hf_nr_rrc_schedulingInfoList2_r17,
      { "schedulingInfoList2-r17", "nr-rrc.schedulingInfoList2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17", HFILL }},
    { &hf_nr_rrc_schedulingInfoList2_r17_item,
      { "SchedulingInfo2-r17", "nr-rrc.SchedulingInfo2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy_02,
      { "dummy", "nr-rrc.dummy_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SI_RequestConfig", HFILL }},
    { &hf_nr_rrc_si_RequestConfigRedCap_r17,
      { "si-RequestConfigRedCap-r17", "nr-rrc.si_RequestConfigRedCap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SI_RequestConfig", HFILL }},
    { &hf_nr_rrc_si_BroadcastStatus_r17,
      { "si-BroadcastStatus-r17", "nr-rrc.si_BroadcastStatus_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_BroadcastStatus_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_si_WindowPosition_r17,
      { "si-WindowPosition-r17", "nr-rrc.si_WindowPosition_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_256", HFILL }},
    { &hf_nr_rrc_si_Periodicity_r17,
      { "si-Periodicity-r17", "nr-rrc.si_Periodicity_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_Periodicity_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib_MappingInfo_r17,
      { "sib-MappingInfo-r17", "nr-rrc.sib_MappingInfo_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SIB_Mapping_v1700", HFILL }},
    { &hf_nr_rrc_SIB_Mapping_item,
      { "SIB-TypeInfo", "nr-rrc.SIB_TypeInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SIB_Mapping_v1700_item,
      { "SIB-TypeInfo-v1700", "nr-rrc.SIB_TypeInfo_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type,
      { "type", "nr-rrc.type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_valueTag,
      { "valueTag", "nr-rrc.valueTag",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_areaScope,
      { "areaScope", "nr-rrc.areaScope",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_areaScope_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sibType_r17,
      { "sibType-r17", "nr-rrc.sibType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sibType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_r17,
      { "type1-r17", "nr-rrc.type1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_r17,
      { "type2-r17", "nr-rrc.type2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSibType_r17,
      { "posSibType-r17", "nr-rrc.posSibType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSibType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_encrypted_r17,
      { "encrypted-r17", "nr-rrc.encrypted_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_encrypted_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gnss_id_r17,
      { "gnss-id-r17", "nr-rrc.gnss_id_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GNSS_ID_r16", HFILL }},
    { &hf_nr_rrc_sbas_id_r17,
      { "sbas-id-r17", "nr-rrc.sbas_id_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SBAS_ID_r16", HFILL }},
    { &hf_nr_rrc_valueTag_r17,
      { "valueTag-r17", "nr-rrc.valueTag_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_areaScope_r17,
      { "areaScope-r17", "nr-rrc.areaScope_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_areaScope_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_subcarrierSpacing2,
      { "subcarrierSpacing2", "nr-rrc.subcarrierSpacing2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_slotFormatCombinations,
      { "slotFormatCombinations", "nr-rrc.slotFormatCombinations",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination", HFILL }},
    { &hf_nr_rrc_slotFormatCombinations_item,
      { "SlotFormatCombination", "nr-rrc.SlotFormatCombination_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_positionInDCI_01,
      { "positionInDCI", "nr-rrc.positionInDCI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxSFI_DCI_PayloadSize_1", HFILL }},
    { &hf_nr_rrc_enableConfiguredUL_r16,
      { "enableConfiguredUL-r16", "nr-rrc.enableConfiguredUL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableConfiguredUL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotFormatCombinationId,
      { "slotFormatCombinationId", "nr-rrc.slotFormatCombinationId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotFormats,
      { "slotFormats", "nr-rrc.slotFormats",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotFormats_item,
      { "slotFormats item", "nr-rrc.slotFormats_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_sfi_RNTI,
      { "sfi-RNTI", "nr-rrc.sfi_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_dci_PayloadSize_01,
      { "dci-PayloadSize", "nr-rrc.dci_PayloadSize",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxSFI_DCI_PayloadSize", HFILL }},
    { &hf_nr_rrc_slotFormatCombToAddModList,
      { "slotFormatCombToAddModList", "nr-rrc.slotFormatCombToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell", HFILL }},
    { &hf_nr_rrc_slotFormatCombToAddModList_item,
      { "SlotFormatCombinationsPerCell", "nr-rrc.SlotFormatCombinationsPerCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotFormatCombToReleaseList,
      { "slotFormatCombToReleaseList", "nr-rrc.slotFormatCombToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_slotFormatCombToReleaseList_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_availableRB_SetsToAddModList_r16,
      { "availableRB-SetsToAddModList-r16", "nr-rrc.availableRB_SetsToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16", HFILL }},
    { &hf_nr_rrc_availableRB_SetsToAddModList_r16_item,
      { "AvailableRB-SetsPerCell-r16", "nr-rrc.AvailableRB_SetsPerCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_availableRB_SetsToReleaseList_r16,
      { "availableRB-SetsToReleaseList-r16", "nr-rrc.availableRB_SetsToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_availableRB_SetsToReleaseList_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_switchTriggerToAddModList_r16,
      { "switchTriggerToAddModList-r16", "nr-rrc.switchTriggerToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16", HFILL }},
    { &hf_nr_rrc_switchTriggerToAddModList_r16_item,
      { "SearchSpaceSwitchTrigger-r16", "nr-rrc.SearchSpaceSwitchTrigger_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_switchTriggerToReleaseList_r16,
      { "switchTriggerToReleaseList-r16", "nr-rrc.switchTriggerToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_switchTriggerToReleaseList_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_co_DurationsPerCellToAddModList_r16,
      { "co-DurationsPerCellToAddModList-r16", "nr-rrc.co_DurationsPerCellToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16", HFILL }},
    { &hf_nr_rrc_co_DurationsPerCellToAddModList_r16_item,
      { "CO-DurationsPerCell-r16", "nr-rrc.CO_DurationsPerCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_co_DurationsPerCellToReleaseList_r16,
      { "co-DurationsPerCellToReleaseList-r16", "nr-rrc.co_DurationsPerCellToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_co_DurationsPerCellToReleaseList_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_switchTriggerToAddModListSizeExt_r16,
      { "switchTriggerToAddModListSizeExt-r16", "nr-rrc.switchTriggerToAddModListSizeExt_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16", HFILL }},
    { &hf_nr_rrc_switchTriggerToAddModListSizeExt_r16_item,
      { "SearchSpaceSwitchTrigger-r16", "nr-rrc.SearchSpaceSwitchTrigger_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_switchTriggerToReleaseListSizeExt_r16,
      { "switchTriggerToReleaseListSizeExt-r16", "nr-rrc.switchTriggerToReleaseListSizeExt_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_switchTriggerToReleaseListSizeExt_r16_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_co_DurationsPerCellToAddModList_r17,
      { "co-DurationsPerCellToAddModList-r17", "nr-rrc.co_DurationsPerCellToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17", HFILL }},
    { &hf_nr_rrc_co_DurationsPerCellToAddModList_r17_item,
      { "CO-DurationsPerCell-r17", "nr-rrc.CO_DurationsPerCell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servingCellId_r16,
      { "servingCellId-r16", "nr-rrc.servingCellId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_positionInDCI_r16,
      { "positionInDCI-r16", "nr-rrc.positionInDCI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxSFI_DCI_PayloadSize_1", HFILL }},
    { &hf_nr_rrc_co_DurationList_r16,
      { "co-DurationList-r16", "nr-rrc.co_DurationList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_64_OF_CO_Duration_r16", HFILL }},
    { &hf_nr_rrc_co_DurationList_r16_item,
      { "CO-Duration-r16", "nr-rrc.CO_Duration_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servingCellId_r17,
      { "servingCellId-r17", "nr-rrc.servingCellId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_positionInDCI_r17,
      { "positionInDCI-r17", "nr-rrc.positionInDCI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxSFI_DCI_PayloadSize_1", HFILL }},
    { &hf_nr_rrc_subcarrierSpacing_r17,
      { "subcarrierSpacing-r17", "nr-rrc.subcarrierSpacing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_co_DurationList_r17,
      { "co-DurationList-r17", "nr-rrc.co_DurationList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_64_OF_CO_Duration_r17", HFILL }},
    { &hf_nr_rrc_co_DurationList_r17_item,
      { "CO-Duration-r17", "nr-rrc.CO_Duration_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sst,
      { "sst", "nr-rrc.sst",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_sst_SD,
      { "sst-SD", "nr-rrc.sst_SD",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_sf_Medium_01,
      { "sf-Medium", "nr-rrc.sf_Medium",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_Medium_01_vals), 0,
        "T_sf_Medium_01", HFILL }},
    { &hf_nr_rrc_sf_High_01,
      { "sf-High", "nr-rrc.sf_High",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_High_01_vals), 0,
        "T_sf_High_01", HFILL }},
    { &hf_nr_rrc_periodicity_01,
      { "periodicity", "nr-rrc.periodicity",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_periodicity_01_vals_ext, 0,
        "T_periodicity_01", HFILL }},
    { &hf_nr_rrc_nrofHARQ_Processes_01,
      { "nrofHARQ-Processes", "nr-rrc.nrofHARQ_Processes",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_n1PUCCH_AN,
      { "n1PUCCH-AN", "nr-rrc.n1PUCCH_AN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_mcs_Table_03,
      { "mcs-Table", "nr-rrc.mcs_Table",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_03_vals), 0,
        "T_mcs_Table_03", HFILL }},
    { &hf_nr_rrc_sps_ConfigIndex_r16,
      { "sps-ConfigIndex-r16", "nr-rrc.sps_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_CodebookID_r16,
      { "harq-CodebookID-r16", "nr-rrc.harq_CodebookID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_pdsch_AggregationFactor_r16,
      { "pdsch-AggregationFactor-r16", "nr-rrc.pdsch_AggregationFactor_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_AggregationFactor_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_HARQ_Deferral_r17,
      { "sps-HARQ-Deferral-r17", "nr-rrc.sps_HARQ_Deferral_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_n1PUCCH_AN_PUCCHsSCell_r17,
      { "n1PUCCH-AN-PUCCHsSCell-r17", "nr-rrc.n1PUCCH_AN_PUCCHsSCell_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_nrofHARQ_Processes_v1710,
      { "nrofHARQ-Processes-v1710", "nr-rrc.nrofHARQ_Processes_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_9_32", HFILL }},
    { &hf_nr_rrc_harq_ProcID_Offset_v1700,
      { "harq-ProcID-Offset-v1700", "nr-rrc.harq_ProcID_Offset_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_16_31", HFILL }},
    { &hf_nr_rrc_sps_PUCCH_AN_ResourceID_r16,
      { "sps-PUCCH-AN-ResourceID-r16", "nr-rrc.sps_PUCCH_AN_ResourceID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_maxPayloadSize_r16,
      { "maxPayloadSize-r16", "nr-rrc.maxPayloadSize_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_4_256", HFILL }},
    { &hf_nr_rrc_SPS_PUCCH_AN_List_r16_item,
      { "SPS-PUCCH-AN-r16", "nr-rrc.SPS_PUCCH_AN_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_SwitchFromServCellIndex,
      { "srs-SwitchFromServCellIndex", "nr-rrc.srs_SwitchFromServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_srs_SwitchFromCarrier,
      { "srs-SwitchFromCarrier", "nr-rrc.srs_SwitchFromCarrier",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchFromCarrier_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_TPC_PDCCH_Group,
      { "srs-TPC-PDCCH-Group", "nr-rrc.srs_TPC_PDCCH_Group",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TPC_PDCCH_Group_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_typeA,
      { "typeA", "nr-rrc.typeA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config", HFILL }},
    { &hf_nr_rrc_typeA_item,
      { "SRS-TPC-PDCCH-Config", "nr-rrc.SRS_TPC_PDCCH_Config_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_typeB,
      { "typeB", "nr-rrc.typeB_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_TPC_PDCCH_Config", HFILL }},
    { &hf_nr_rrc_monitoringCells,
      { "monitoringCells", "nr-rrc.monitoringCells",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex", HFILL }},
    { &hf_nr_rrc_monitoringCells_item,
      { "ServCellIndex", "nr-rrc.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_CC_SetIndexlist,
      { "srs-CC-SetIndexlist", "nr-rrc.srs_CC_SetIndexlist",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex", HFILL }},
    { &hf_nr_rrc_srs_CC_SetIndexlist_item,
      { "SRS-CC-SetIndex", "nr-rrc.SRS_CC_SetIndex_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cc_SetIndex,
      { "cc-SetIndex", "nr-rrc.cc_SetIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_cc_IndexInOneCC_Set,
      { "cc-IndexInOneCC-Set", "nr-rrc.cc_IndexInOneCC_Set",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_srs_ResourceSetToReleaseList,
      { "srs-ResourceSetToReleaseList", "nr-rrc.srs_ResourceSetToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_srs_ResourceSetToReleaseList_item,
      { "SRS-ResourceSetId", "nr-rrc.SRS_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ResourceSetToAddModList,
      { "srs-ResourceSetToAddModList", "nr-rrc.srs_ResourceSetToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet", HFILL }},
    { &hf_nr_rrc_srs_ResourceSetToAddModList_item,
      { "SRS-ResourceSet", "nr-rrc.SRS_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ResourceToReleaseList,
      { "srs-ResourceToReleaseList", "nr-rrc.srs_ResourceToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId", HFILL }},
    { &hf_nr_rrc_srs_ResourceToReleaseList_item,
      { "SRS-ResourceId", "nr-rrc.SRS_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ResourceToAddModList,
      { "srs-ResourceToAddModList", "nr-rrc.srs_ResourceToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource", HFILL }},
    { &hf_nr_rrc_srs_ResourceToAddModList_item,
      { "SRS-Resource", "nr-rrc.SRS_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tpc_Accumulation_01,
      { "tpc-Accumulation", "nr-rrc.tpc_Accumulation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_01_vals), 0,
        "T_tpc_Accumulation_01", HFILL }},
    { &hf_nr_rrc_srs_RequestDCI_1_2_r16,
      { "srs-RequestDCI-1-2-r16", "nr-rrc.srs_RequestDCI_1_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_srs_RequestDCI_0_2_r16,
      { "srs-RequestDCI-0-2-r16", "nr-rrc.srs_RequestDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_srs_ResourceSetToAddModListDCI_0_2_r16,
      { "srs-ResourceSetToAddModListDCI-0-2-r16", "nr-rrc.srs_ResourceSetToAddModListDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet", HFILL }},
    { &hf_nr_rrc_srs_ResourceSetToAddModListDCI_0_2_r16_item,
      { "SRS-ResourceSet", "nr-rrc.SRS_ResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ResourceSetToReleaseListDCI_0_2_r16,
      { "srs-ResourceSetToReleaseListDCI-0-2-r16", "nr-rrc.srs_ResourceSetToReleaseListDCI_0_2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId", HFILL }},
    { &hf_nr_rrc_srs_ResourceSetToReleaseListDCI_0_2_r16_item,
      { "SRS-ResourceSetId", "nr-rrc.SRS_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r16,
      { "srs-PosResourceSetToReleaseList-r16", "nr-rrc.srs_PosResourceSetToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r16_item,
      { "SRS-PosResourceSetId-r16", "nr-rrc.SRS_PosResourceSetId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetToAddModList_r16,
      { "srs-PosResourceSetToAddModList-r16", "nr-rrc.srs_PosResourceSetToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetToAddModList_r16_item,
      { "SRS-PosResourceSet-r16", "nr-rrc.SRS_PosResourceSet_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceToReleaseList_r16,
      { "srs-PosResourceToReleaseList-r16", "nr-rrc.srs_PosResourceToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceToReleaseList_r16_item,
      { "SRS-PosResourceId-r16", "nr-rrc.SRS_PosResourceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceToAddModList_r16,
      { "srs-PosResourceToAddModList-r16", "nr-rrc.srs_PosResourceToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceToAddModList_r16_item,
      { "SRS-PosResource-r16", "nr-rrc.SRS_PosResource_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ResourceSetId,
      { "srs-ResourceSetId", "nr-rrc.srs_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ResourceIdList,
      { "srs-ResourceIdList", "nr-rrc.srs_ResourceIdList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId", HFILL }},
    { &hf_nr_rrc_srs_ResourceIdList_item,
      { "SRS-ResourceId", "nr-rrc.SRS_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceType_01,
      { "resourceType", "nr-rrc.resourceType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_01_vals), 0,
        "T_resourceType_01", HFILL }},
    { &hf_nr_rrc_aperiodic_01,
      { "aperiodic", "nr-rrc.aperiodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_aperiodic_01", HFILL }},
    { &hf_nr_rrc_aperiodicSRS_ResourceTrigger,
      { "aperiodicSRS-ResourceTrigger", "nr-rrc.aperiodicSRS_ResourceTrigger",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }},
    { &hf_nr_rrc_slotOffset,
      { "slotOffset", "nr-rrc.slotOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList,
      { "aperiodicSRS-ResourceTriggerList", "nr-rrc.aperiodicSRS_ResourceTriggerList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_item,
      { "aperiodicSRS-ResourceTriggerList item", "nr-rrc.aperiodicSRS_ResourceTriggerList_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }},
    { &hf_nr_rrc_semi_persistent,
      { "semi-persistent", "nr-rrc.semi_persistent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_associatedCSI_RS,
      { "associatedCSI-RS", "nr-rrc.associatedCSI_RS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_periodic_01,
      { "periodic", "nr-rrc.periodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_periodic_01", HFILL }},
    { &hf_nr_rrc_usage,
      { "usage", "nr-rrc.usage",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_usage_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_01,
      { "p0", "nr-rrc.p0",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRS,
      { "pathlossReferenceRS", "nr-rrc.pathlossReferenceRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PathlossReferenceRS_Config_vals), 0,
        "PathlossReferenceRS_Config", HFILL }},
    { &hf_nr_rrc_srs_PowerControlAdjustmentStates,
      { "srs-PowerControlAdjustmentStates", "nr-rrc.srs_PowerControlAdjustmentStates",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_PowerControlAdjustmentStates_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRSList_r16,
      { "pathlossReferenceRSList-r16", "nr-rrc.pathlossReferenceRSList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRSList_r16_vals), 0,
        "T_pathlossReferenceRSList_r16", HFILL }},
    { &hf_nr_rrc_setup_167,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PathlossReferenceRSList_r16", HFILL }},
    { &hf_nr_rrc_usagePDC_r17,
      { "usagePDC-r17", "nr-rrc.usagePDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_usagePDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_availableSlotOffsetList_r17,
      { "availableSlotOffsetList-r17", "nr-rrc.availableSlotOffsetList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17", HFILL }},
    { &hf_nr_rrc_availableSlotOffsetList_r17_item,
      { "AvailableSlotOffset-r17", "nr-rrc.AvailableSlotOffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_followUnifiedTCI_StateSRS_r17,
      { "followUnifiedTCI-StateSRS-r17", "nr-rrc.followUnifiedTCI_StateSRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_followUnifiedTCI_StateSRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_PathlossReferenceRSList_r16_item,
      { "PathlossReferenceRS-r16", "nr-rrc.PathlossReferenceRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PathlossReferenceRS_Id_r16,
      { "srs-PathlossReferenceRS-Id-r16", "nr-rrc.srs_PathlossReferenceRS_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossReferenceRS_r16,
      { "pathlossReferenceRS-r16", "nr-rrc.pathlossReferenceRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PathlossReferenceRS_Config_vals), 0,
        "PathlossReferenceRS_Config", HFILL }},
    { &hf_nr_rrc_srs_PosResourceSetId_r16,
      { "srs-PosResourceSetId-r16", "nr-rrc.srs_PosResourceSetId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceIdList_r16,
      { "srs-PosResourceIdList-r16", "nr-rrc.srs_PosResourceIdList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16", HFILL }},
    { &hf_nr_rrc_srs_PosResourceIdList_r16_item,
      { "SRS-PosResourceId-r16", "nr-rrc.SRS_PosResourceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceType_r16,
      { "resourceType-r16", "nr-rrc.resourceType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodic_r16,
      { "aperiodic-r16", "nr-rrc.aperiodic_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16,
      { "aperiodicSRS-ResourceTriggerList-r16", "nr-rrc.aperiodicSRS_ResourceTriggerList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_aperiodicSRS_ResourceTriggerList_r16", HFILL }},
    { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16_item,
      { "aperiodicSRS-ResourceTriggerList-r16 item", "nr-rrc.aperiodicSRS_ResourceTriggerList_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }},
    { &hf_nr_rrc_semi_persistent_r16,
      { "semi-persistent-r16", "nr-rrc.semi_persistent_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_semi_persistent_r16", HFILL }},
    { &hf_nr_rrc_periodic_r16,
      { "periodic-r16", "nr-rrc.periodic_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_alpha_r16,
      { "alpha-r16", "nr-rrc.alpha_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0,
        "Alpha", HFILL }},
    { &hf_nr_rrc_p0_r16,
      { "p0-r16", "nr-rrc.p0_r16",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_pathlossReferenceRS_Pos_r16,
      { "pathlossReferenceRS-Pos-r16", "nr-rrc.pathlossReferenceRS_Pos_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRS_Pos_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_IndexServing_r16,
      { "ssb-IndexServing-r16", "nr-rrc.ssb_IndexServing_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_Index", HFILL }},
    { &hf_nr_rrc_ssb_Ncell_r16,
      { "ssb-Ncell-r16", "nr-rrc.ssb_Ncell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_InfoNcell_r16", HFILL }},
    { &hf_nr_rrc_dl_PRS_r16,
      { "dl-PRS-r16", "nr-rrc.dl_PRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DL_PRS_Info_r16", HFILL }},
    { &hf_nr_rrc_srs_ResourceId,
      { "srs-ResourceId", "nr-rrc.srs_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofSRS_Ports,
      { "nrofSRS-Ports", "nr-rrc.nrofSRS_Ports",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSRS_Ports_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ptrs_PortIndex,
      { "ptrs-PortIndex", "nr-rrc.ptrs_PortIndex",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_PortIndex_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_transmissionComb,
      { "transmissionComb", "nr-rrc.transmissionComb",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transmissionComb_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n2_01,
      { "n2", "nr-rrc.n2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_combOffset_n2,
      { "combOffset-n2", "nr-rrc.combOffset_n2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_cyclicShift_n2,
      { "cyclicShift-n2", "nr-rrc.cyclicShift_n2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_n4_02,
      { "n4", "nr-rrc.n4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_combOffset_n4,
      { "combOffset-n4", "nr-rrc.combOffset_n4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_cyclicShift_n4,
      { "cyclicShift-n4", "nr-rrc.cyclicShift_n4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_11", HFILL }},
    { &hf_nr_rrc_resourceMapping_01,
      { "resourceMapping", "nr-rrc.resourceMapping_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startPosition,
      { "startPosition", "nr-rrc.startPosition",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5", HFILL }},
    { &hf_nr_rrc_nrofSymbols_02,
      { "nrofSymbols", "nr-rrc.nrofSymbols",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_repetitionFactor,
      { "repetitionFactor", "nr-rrc.repetitionFactor",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_freqDomainPosition,
      { "freqDomainPosition", "nr-rrc.freqDomainPosition",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_67", HFILL }},
    { &hf_nr_rrc_freqDomainShift,
      { "freqDomainShift", "nr-rrc.freqDomainShift",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_268", HFILL }},
    { &hf_nr_rrc_freqHopping,
      { "freqHopping", "nr-rrc.freqHopping_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_c_SRS,
      { "c-SRS", "nr-rrc.c_SRS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_b_SRS,
      { "b-SRS", "nr-rrc.b_SRS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_b_hop,
      { "b-hop", "nr-rrc.b_hop",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_groupOrSequenceHopping,
      { "groupOrSequenceHopping", "nr-rrc.groupOrSequenceHopping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupOrSequenceHopping_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceType_02,
      { "resourceType", "nr-rrc.resourceType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_02_vals), 0,
        "T_resourceType_02", HFILL }},
    { &hf_nr_rrc_aperiodic_02,
      { "aperiodic", "nr-rrc.aperiodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_aperiodic_02", HFILL }},
    { &hf_nr_rrc_semi_persistent_01,
      { "semi-persistent", "nr-rrc.semi_persistent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_semi_persistent_01", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_sp,
      { "periodicityAndOffset-sp", "nr-rrc.periodicityAndOffset_sp",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_vals_ext, 0,
        "SRS_PeriodicityAndOffset", HFILL }},
    { &hf_nr_rrc_periodic_02,
      { "periodic", "nr-rrc.periodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_periodic_02", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_p,
      { "periodicityAndOffset-p", "nr-rrc.periodicityAndOffset_p",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_vals_ext, 0,
        "SRS_PeriodicityAndOffset", HFILL }},
    { &hf_nr_rrc_sequenceId,
      { "sequenceId", "nr-rrc.sequenceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_spatialRelationInfo,
      { "spatialRelationInfo", "nr-rrc.spatialRelationInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_SpatialRelationInfo", HFILL }},
    { &hf_nr_rrc_resourceMapping_r16,
      { "resourceMapping-r16", "nr-rrc.resourceMapping_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofSymbols_r16_01,
      { "nrofSymbols-r16", "nr-rrc.nrofSymbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_repetitionFactor_r16,
      { "repetitionFactor-r16", "nr-rrc.repetitionFactor_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelationInfo_PDC_r17,
      { "spatialRelationInfo-PDC-r17", "nr-rrc.spatialRelationInfo_PDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelationInfo_PDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_168,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SpatialRelationInfo_PDC_r17", HFILL }},
    { &hf_nr_rrc_resourceMapping_r17,
      { "resourceMapping-r17", "nr-rrc.resourceMapping_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startPosition_r17,
      { "startPosition-r17", "nr-rrc.startPosition_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13", HFILL }},
    { &hf_nr_rrc_nrofSymbols_r17,
      { "nrofSymbols-r17", "nr-rrc.nrofSymbols_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_repetitionFactor_r17_01,
      { "repetitionFactor-r17", "nr-rrc.repetitionFactor_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_r17_01_vals), 0,
        "T_repetitionFactor_r17_01", HFILL }},
    { &hf_nr_rrc_partialFreqSounding_r17,
      { "partialFreqSounding-r17", "nr-rrc.partialFreqSounding_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startRBIndexFScaling_r17,
      { "startRBIndexFScaling-r17", "nr-rrc.startRBIndexFScaling_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_startRBIndexFScaling_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_startRBIndexAndFreqScalingFactor2_r17,
      { "startRBIndexAndFreqScalingFactor2-r17", "nr-rrc.startRBIndexAndFreqScalingFactor2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_startRBIndexAndFreqScalingFactor4_r17,
      { "startRBIndexAndFreqScalingFactor4-r17", "nr-rrc.startRBIndexAndFreqScalingFactor4_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_enableStartRBHopping_r17,
      { "enableStartRBHopping-r17", "nr-rrc.enableStartRBHopping_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableStartRBHopping_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_transmissionComb_n8_r17,
      { "transmissionComb-n8-r17", "nr-rrc.transmissionComb_n8_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_combOffset_n8_r17,
      { "combOffset-n8-r17", "nr-rrc.combOffset_n8_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_cyclicShift_n8_r17,
      { "cyclicShift-n8-r17", "nr-rrc.cyclicShift_n8_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5", HFILL }},
    { &hf_nr_rrc_srs_TCI_State_r17,
      { "srs-TCI-State-r17", "nr-rrc.srs_TCI_State_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TCI_State_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_UL_TCI_State,
      { "srs-UL-TCI-State", "nr-rrc.srs_UL_TCI_State",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TCI_UL_StateId_r17", HFILL }},
    { &hf_nr_rrc_srs_DLorJointTCI_State,
      { "srs-DLorJointTCI-State", "nr-rrc.srs_DLorJointTCI_State",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TCI_StateId", HFILL }},
    { &hf_nr_rrc_repetitionFactor_v1730,
      { "repetitionFactor-v1730", "nr-rrc.repetitionFactor_v1730",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_v1730_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_DLorJointTCI_State_v1730,
      { "srs-DLorJointTCI-State-v1730", "nr-rrc.srs_DLorJointTCI_State_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellAndBWP_r17,
      { "cellAndBWP-r17", "nr-rrc.cellAndBWP_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ServingCellAndBWP_Id_r17", HFILL }},
    { &hf_nr_rrc_srs_PosResourceId_r16,
      { "srs-PosResourceId-r16", "nr-rrc.srs_PosResourceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_transmissionComb_r16,
      { "transmissionComb-r16", "nr-rrc.transmissionComb_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transmissionComb_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_n2_r16,
      { "n2-r16", "nr-rrc.n2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_combOffset_n2_r16,
      { "combOffset-n2-r16", "nr-rrc.combOffset_n2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_cyclicShift_n2_r16,
      { "cyclicShift-n2-r16", "nr-rrc.cyclicShift_n2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_n4_r16,
      { "n4-r16", "nr-rrc.n4_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_combOffset_n4_r16,
      { "combOffset-n4-r16", "nr-rrc.combOffset_n4_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_cyclicShift_n4_r16,
      { "cyclicShift-n4-r16", "nr-rrc.cyclicShift_n4_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_11", HFILL }},
    { &hf_nr_rrc_n8_r16,
      { "n8-r16", "nr-rrc.n8_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_combOffset_n8_r16,
      { "combOffset-n8-r16", "nr-rrc.combOffset_n8_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_cyclicShift_n8_r16,
      { "cyclicShift-n8-r16", "nr-rrc.cyclicShift_n8_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5", HFILL }},
    { &hf_nr_rrc_resourceMapping_r16_01,
      { "resourceMapping-r16", "nr-rrc.resourceMapping_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_resourceMapping_r16_01", HFILL }},
    { &hf_nr_rrc_nrofSymbols_r16_02,
      { "nrofSymbols-r16", "nr-rrc.nrofSymbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_r16_01_vals), 0,
        "T_nrofSymbols_r16_01", HFILL }},
    { &hf_nr_rrc_freqDomainShift_r16,
      { "freqDomainShift-r16", "nr-rrc.freqDomainShift_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_268", HFILL }},
    { &hf_nr_rrc_freqHopping_r16,
      { "freqHopping-r16", "nr-rrc.freqHopping_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_c_SRS_r16,
      { "c-SRS-r16", "nr-rrc.c_SRS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_groupOrSequenceHopping_r16,
      { "groupOrSequenceHopping-r16", "nr-rrc.groupOrSequenceHopping_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupOrSequenceHopping_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceType_r16_01,
      { "resourceType-r16", "nr-rrc.resourceType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_r16_01_vals), 0,
        "T_resourceType_r16_01", HFILL }},
    { &hf_nr_rrc_aperiodic_r16_01,
      { "aperiodic-r16", "nr-rrc.aperiodic_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_aperiodic_r16_01", HFILL }},
    { &hf_nr_rrc_slotOffset_r16,
      { "slotOffset-r16", "nr-rrc.slotOffset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_semi_persistent_r16_01,
      { "semi-persistent-r16", "nr-rrc.semi_persistent_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_semi_persistent_r16_01", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_sp_r16,
      { "periodicityAndOffset-sp-r16", "nr-rrc.periodicityAndOffset_sp_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_r16_vals_ext, 0,
        "SRS_PeriodicityAndOffset_r16", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_sp_Ext_r16,
      { "periodicityAndOffset-sp-Ext-r16", "nr-rrc.periodicityAndOffset_sp_Ext_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SRS_PeriodicityAndOffsetExt_r16_vals), 0,
        "SRS_PeriodicityAndOffsetExt_r16", HFILL }},
    { &hf_nr_rrc_periodic_r16_01,
      { "periodic-r16", "nr-rrc.periodic_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_periodic_r16_01", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_p_r16,
      { "periodicityAndOffset-p-r16", "nr-rrc.periodicityAndOffset_p_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_r16_vals_ext, 0,
        "SRS_PeriodicityAndOffset_r16", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_p_Ext_r16,
      { "periodicityAndOffset-p-Ext-r16", "nr-rrc.periodicityAndOffset_p_Ext_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SRS_PeriodicityAndOffsetExt_r16_vals), 0,
        "SRS_PeriodicityAndOffsetExt_r16", HFILL }},
    { &hf_nr_rrc_sequenceId_r16,
      { "sequenceId-r16", "nr-rrc.sequenceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_spatialRelationInfoPos_r16,
      { "spatialRelationInfoPos-r16", "nr-rrc.spatialRelationInfoPos_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SRS_SpatialRelationInfoPos_r16_vals), 0,
        "SRS_SpatialRelationInfoPos_r16", HFILL }},
    { &hf_nr_rrc_referenceSignal_03,
      { "referenceSignal", "nr-rrc.referenceSignal",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_03_vals), 0,
        "T_referenceSignal_03", HFILL }},
    { &hf_nr_rrc_srs_01,
      { "srs", "nr-rrc.srs_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceId,
      { "resourceId", "nr-rrc.resourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRS_ResourceId", HFILL }},
    { &hf_nr_rrc_servingRS_r16,
      { "servingRS-r16", "nr-rrc.servingRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceSignal_r16_02,
      { "referenceSignal-r16", "nr-rrc.referenceSignal_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_r16_02_vals), 0,
        "T_referenceSignal_r16_02", HFILL }},
    { &hf_nr_rrc_csi_RS_IndexServing_r16,
      { "csi-RS-IndexServing-r16", "nr-rrc.csi_RS_IndexServing_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_srs_SpatialRelation_r16,
      { "srs-SpatialRelation-r16", "nr-rrc.srs_SpatialRelation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resourceSelection_r16,
      { "resourceSelection-r16", "nr-rrc.resourceSelection_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceSelection_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkBWP_r16,
      { "uplinkBWP-r16", "nr-rrc.uplinkBWP_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_ssb_Freq_r16,
      { "ssb-Freq-r16", "nr-rrc.ssb_Freq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_halfFrameIndex_r16,
      { "halfFrameIndex-r16", "nr-rrc.halfFrameIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_halfFrameIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_Periodicity_r16,
      { "ssb-Periodicity-r16", "nr-rrc.ssb_Periodicity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_Periodicity_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn0_Offset_r16,
      { "sfn0-Offset-r16", "nr-rrc.sfn0_Offset_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_sfn0_Offset_r16", HFILL }},
    { &hf_nr_rrc_sfn_Offset_r16,
      { "sfn-Offset-r16", "nr-rrc.sfn_Offset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_integerSubframeOffset_r16,
      { "integerSubframeOffset-r16", "nr-rrc.integerSubframeOffset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_sfn_SSB_Offset_r16,
      { "sfn-SSB-Offset-r16", "nr-rrc.sfn_SSB_Offset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_ss_PBCH_BlockPower_r16,
      { "ss-PBCH-BlockPower-r16", "nr-rrc.ss_PBCH_BlockPower_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M60_50", HFILL }},
    { &hf_nr_rrc_physicalCellId_r16,
      { "physicalCellId-r16", "nr-rrc.physicalCellId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_ssb_IndexNcell_r16,
      { "ssb-IndexNcell-r16", "nr-rrc.ssb_IndexNcell_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_Index", HFILL }},
    { &hf_nr_rrc_ssb_Configuration_r16,
      { "ssb-Configuration-r16", "nr-rrc.ssb_Configuration_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_PRS_ID_r16,
      { "dl-PRS-ID-r16", "nr-rrc.dl_PRS_ID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_dl_PRS_ResourceSetId_r16,
      { "dl-PRS-ResourceSetId-r16", "nr-rrc.dl_PRS_ResourceSetId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_dl_PRS_ResourceId_r16,
      { "dl-PRS-ResourceId-r16", "nr-rrc.dl_PRS_ResourceId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_nr_rrc_sl40960,
      { "sl40960", "nr-rrc.sl40960",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_40959", HFILL }},
    { &hf_nr_rrc_sl81920,
      { "sl81920", "nr-rrc.sl81920",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_81919", HFILL }},
    { &hf_nr_rrc_sl256,
      { "sl256", "nr-rrc.sl256",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_sl512,
      { "sl512", "nr-rrc.sl512",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_511", HFILL }},
    { &hf_nr_rrc_referenceSignal_04,
      { "referenceSignal", "nr-rrc.referenceSignal",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_04_vals), 0,
        "T_referenceSignal_04", HFILL }},
    { &hf_nr_rrc_dl_PRS_PDC,
      { "dl-PRS-PDC", "nr-rrc.dl_PRS_PDC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NR_DL_PRS_ResourceID_r17", HFILL }},
    { &hf_nr_rrc_srs_02,
      { "srs", "nr-rrc.srs_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_srs_01", HFILL }},
    { &hf_nr_rrc_startingBitOfFormat2_3,
      { "startingBitOfFormat2-3", "nr-rrc.startingBitOfFormat2_3",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_31", HFILL }},
    { &hf_nr_rrc_fieldTypeFormat2_3,
      { "fieldTypeFormat2-3", "nr-rrc.fieldTypeFormat2_3",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_startingBitOfFormat2_3SUL,
      { "startingBitOfFormat2-3SUL", "nr-rrc.startingBitOfFormat2_3SUL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_31", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_02,
      { "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_01_vals), 0,
        "T_periodicityAndOffset_01", HFILL }},
    { &hf_nr_rrc_sf5,
      { "sf5", "nr-rrc.sf5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_sf10,
      { "sf10", "nr-rrc.sf10",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_sf20,
      { "sf20", "nr-rrc.sf20",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_sf40,
      { "sf40", "nr-rrc.sf40",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_sf80,
      { "sf80", "nr-rrc.sf80",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_sf160,
      { "sf160", "nr-rrc.sf160",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_duration_02,
      { "duration", "nr-rrc.duration",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_duration_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pci_List,
      { "pci-List", "nr-rrc.pci_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId", HFILL }},
    { &hf_nr_rrc_pci_List_item,
      { "PhysCellId", "nr-rrc.PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicity_02,
      { "periodicity", "nr-rrc.periodicity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_02_vals), 0,
        "T_periodicity_02", HFILL }},
    { &hf_nr_rrc_periodicity_03,
      { "periodicity", "nr-rrc.periodicity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_03_vals), 0,
        "T_periodicity_03", HFILL }},
    { &hf_nr_rrc_periodicityAndOffset_r16,
      { "periodicityAndOffset-r16", "nr-rrc.periodicityAndOffset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_r16_vals), 0,
        "T_periodicityAndOffset_r16", HFILL }},
    { &hf_nr_rrc_sf5_r16,
      { "sf5-r16", "nr-rrc.sf5_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_sf10_r16,
      { "sf10-r16", "nr-rrc.sf10_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_sf20_r16,
      { "sf20-r16", "nr-rrc.sf20_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_nr_rrc_sf40_r16,
      { "sf40-r16", "nr-rrc.sf40_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_nr_rrc_sf80_r16,
      { "sf80-r16", "nr-rrc.sf80_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_nr_rrc_sf160_r16,
      { "sf160-r16", "nr-rrc.sf160_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_sf320_r16,
      { "sf320-r16", "nr-rrc.sf320_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_319", HFILL }},
    { &hf_nr_rrc_sf640_r16,
      { "sf640-r16", "nr-rrc.sf640_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_sf1280_r16,
      { "sf1280-r16", "nr-rrc.sf1280_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1279", HFILL }},
    { &hf_nr_rrc_duration_r16_01,
      { "duration-r16", "nr-rrc.duration_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_duration_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pci_List_r16,
      { "pci-List-r16", "nr-rrc.pci_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId", HFILL }},
    { &hf_nr_rrc_pci_List_r16_item,
      { "PhysCellId", "nr-rrc.PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_ToMeasure_r16_01,
      { "ssb-ToMeasure-r16", "nr-rrc.ssb_ToMeasure_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pci_List_r17,
      { "pci-List-r17", "nr-rrc.pci_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId", HFILL }},
    { &hf_nr_rrc_pci_List_r17_item,
      { "PhysCellId", "nr-rrc.PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_offset_r17_02,
      { "offset-r17", "nr-rrc.offset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159", HFILL }},
    { &hf_nr_rrc_additionalPCIIndex_r17,
      { "additionalPCIIndex-r17", "nr-rrc.additionalPCIIndex_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalPCI_r17_01,
      { "additionalPCI-r17", "nr-rrc.additionalPCI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PhysCellId", HFILL }},
    { &hf_nr_rrc_periodicity_r17,
      { "periodicity-r17", "nr-rrc.periodicity_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_PositionsInBurst_r17,
      { "ssb-PositionsInBurst-r17", "nr-rrc.ssb_PositionsInBurst_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionsInBurst_r17_vals), 0,
        "T_ssb_PositionsInBurst_r17", HFILL }},
    { &hf_nr_rrc_ss_PBCH_BlockPower_r17,
      { "ss-PBCH-BlockPower-r17", "nr-rrc.ss_PBCH_BlockPower_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M60_50", HFILL }},
    { &hf_nr_rrc_measurementSlots,
      { "measurementSlots", "nr-rrc.measurementSlots",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_80", HFILL }},
    { &hf_nr_rrc_endSymbol,
      { "endSymbol", "nr-rrc.endSymbol",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_tag_ToReleaseList,
      { "tag-ToReleaseList", "nr-rrc.tag_ToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id", HFILL }},
    { &hf_nr_rrc_tag_ToReleaseList_item,
      { "TAG-Id", "nr-rrc.TAG_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tag_ToAddModList,
      { "tag-ToAddModList", "nr-rrc.tag_ToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG", HFILL }},
    { &hf_nr_rrc_tag_ToAddModList_item,
      { "TAG", "nr-rrc.TAG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeAlignmentTimer,
      { "timeAlignmentTimer", "nr-rrc.timeAlignmentTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_offsetThresholdTA_r17,
      { "offsetThresholdTA-r17", "nr-rrc.offsetThresholdTA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offsetThresholdTA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timingAdvanceSR_r17,
      { "timingAdvanceSR-r17", "nr-rrc.timingAdvanceSR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timingAdvanceSR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_TCI_r17,
      { "pdcch-TCI-r17", "nr-rrc.pdcch_TCI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_5_OF_TCI_StateId", HFILL }},
    { &hf_nr_rrc_pdcch_TCI_r17_item,
      { "TCI-StateId", "nr-rrc.TCI_StateId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_TCI_r17,
      { "pdsch-TCI-r17", "nr-rrc.pdsch_TCI_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxNrofTCI_States", HFILL }},
    { &hf_nr_rrc_tci_StateId,
      { "tci-StateId", "nr-rrc.tci_StateId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_qcl_Type1,
      { "qcl-Type1", "nr-rrc.qcl_Type1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QCL_Info", HFILL }},
    { &hf_nr_rrc_qcl_Type2,
      { "qcl-Type2", "nr-rrc.qcl_Type2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QCL_Info", HFILL }},
    { &hf_nr_rrc_cell,
      { "cell", "nr-rrc.cell",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_referenceSignal_05,
      { "referenceSignal", "nr-rrc.referenceSignal",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_05_vals), 0,
        "T_referenceSignal_05", HFILL }},
    { &hf_nr_rrc_csi_rs,
      { "csi-rs", "nr-rrc.csi_rs",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_qcl_Type,
      { "qcl-Type", "nr-rrc.qcl_Type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_qcl_Type_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tci_UL_StateId_r17,
      { "tci-UL-StateId-r17", "nr-rrc.tci_UL_StateId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_Id_r17,
      { "bwp-Id-r17", "nr-rrc.bwp_Id_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_referenceSignal_r17_01,
      { "referenceSignal-r17", "nr-rrc.referenceSignal_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_r17_01_vals), 0,
        "T_referenceSignal_r17_01", HFILL }},
    { &hf_nr_rrc_ssb_Index_r17_01,
      { "ssb-Index-r17", "nr-rrc.ssb_Index_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSB_Index", HFILL }},
    { &hf_nr_rrc_csi_RS_Index_r17,
      { "csi-RS-Index-r17", "nr-rrc.csi_RS_Index_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_srs_r17,
      { "srs-r17", "nr-rrc.srs_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRS_ResourceId", HFILL }},
    { &hf_nr_rrc_referenceSubcarrierSpacing,
      { "referenceSubcarrierSpacing", "nr-rrc.referenceSubcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_pattern1_01,
      { "pattern1", "nr-rrc.pattern1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TDD_UL_DL_Pattern", HFILL }},
    { &hf_nr_rrc_pattern2,
      { "pattern2", "nr-rrc.pattern2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TDD_UL_DL_Pattern", HFILL }},
    { &hf_nr_rrc_dl_UL_TransmissionPeriodicity,
      { "dl-UL-TransmissionPeriodicity", "nr-rrc.dl_UL_TransmissionPeriodicity",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_UL_TransmissionPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofDownlinkSlots,
      { "nrofDownlinkSlots", "nr-rrc.nrofDownlinkSlots",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofSlots", HFILL }},
    { &hf_nr_rrc_nrofDownlinkSymbols,
      { "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofSymbols_1", HFILL }},
    { &hf_nr_rrc_nrofUplinkSlots,
      { "nrofUplinkSlots", "nr-rrc.nrofUplinkSlots",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofSlots", HFILL }},
    { &hf_nr_rrc_nrofUplinkSymbols,
      { "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofSymbols_1", HFILL }},
    { &hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530,
      { "dl-UL-TransmissionPeriodicity-v1530", "nr-rrc.dl_UL_TransmissionPeriodicity_v1530",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotSpecificConfigurationsToAddModList,
      { "slotSpecificConfigurationsToAddModList", "nr-rrc.slotSpecificConfigurationsToAddModList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig", HFILL }},
    { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_item,
      { "TDD-UL-DL-SlotConfig", "nr-rrc.TDD_UL_DL_SlotConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList,
      { "slotSpecificConfigurationsToReleaseList", "nr-rrc.slotSpecificConfigurationsToReleaseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex", HFILL }},
    { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_item,
      { "TDD-UL-DL-SlotIndex", "nr-rrc.TDD_UL_DL_SlotIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16,
      { "slotSpecificConfigurationsToAddModList-IAB-MT-r16", "nr-rrc.slotSpecificConfigurationsToAddModList_IAB_MT_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16", HFILL }},
    { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16_item,
      { "TDD-UL-DL-SlotConfig-IAB-MT-r16", "nr-rrc.TDD_UL_DL_SlotConfig_IAB_MT_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16,
      { "slotSpecificConfigurationsToReleaseList-IAB-MT-r16", "nr-rrc.slotSpecificConfigurationsToReleaseList_IAB_MT_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex", HFILL }},
    { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16_item,
      { "TDD-UL-DL-SlotIndex", "nr-rrc.TDD_UL_DL_SlotIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slotIndex,
      { "slotIndex", "nr-rrc.slotIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TDD_UL_DL_SlotIndex", HFILL }},
    { &hf_nr_rrc_symbols,
      { "symbols", "nr-rrc.symbols",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbols_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allDownlink,
      { "allDownlink", "nr-rrc.allDownlink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allUplink,
      { "allUplink", "nr-rrc.allUplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_explicit,
      { "explicit", "nr-rrc.explicit_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrofDownlinkSymbols_01,
      { "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSymbols_1", HFILL }},
    { &hf_nr_rrc_nrofUplinkSymbols_01,
      { "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSymbols_1", HFILL }},
    { &hf_nr_rrc_slotIndex_r16,
      { "slotIndex-r16", "nr-rrc.slotIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TDD_UL_DL_SlotIndex", HFILL }},
    { &hf_nr_rrc_symbols_IAB_MT_r16,
      { "symbols-IAB-MT-r16", "nr-rrc.symbols_IAB_MT_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbols_IAB_MT_r16_vals), 0,
        "T_symbols_IAB_MT_r16", HFILL }},
    { &hf_nr_rrc_allDownlink_r16,
      { "allDownlink-r16", "nr-rrc.allDownlink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_allUplink_r16,
      { "allUplink-r16", "nr-rrc.allUplink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_explicit_r16,
      { "explicit-r16", "nr-rrc.explicit_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_explicit_r16", HFILL }},
    { &hf_nr_rrc_nrofDownlinkSymbols_r16,
      { "nrofDownlinkSymbols-r16", "nr-rrc.nrofDownlinkSymbols_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSymbols_1", HFILL }},
    { &hf_nr_rrc_nrofUplinkSymbols_r16,
      { "nrofUplinkSymbols-r16", "nr-rrc.nrofUplinkSymbols_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofSymbols_1", HFILL }},
    { &hf_nr_rrc_explicit_IAB_MT_r16,
      { "explicit-IAB-MT-r16", "nr-rrc.explicit_IAB_MT_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_explicit_IAB_MT_r16", HFILL }},
    { &hf_nr_rrc_UAC_BarringInfoSetList_item,
      { "UAC-BarringInfoSet", "nr-rrc.UAC_BarringInfoSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UAC_BarringInfoSetList_v1700_item,
      { "UAC-BarringInfoSet-v1700", "nr-rrc.UAC_BarringInfoSet_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_BarringFactor,
      { "uac-BarringFactor", "nr-rrc.uac_BarringFactor",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_BarringFactor_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_BarringTime,
      { "uac-BarringTime", "nr-rrc.uac_BarringTime",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_BarringTime_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_BarringForAccessIdentity,
      { "uac-BarringForAccessIdentity", "nr-rrc.uac_BarringForAccessIdentity",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_7", HFILL }},
    { &hf_nr_rrc_uac_BarringFactorForAI3_r17,
      { "uac-BarringFactorForAI3-r17", "nr-rrc.uac_BarringFactorForAI3_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_BarringFactorForAI3_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UAC_BarringPerCatList_item,
      { "UAC-BarringPerCat", "nr-rrc.UAC_BarringPerCat_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_accessCategory,
      { "accessCategory", "nr-rrc.accessCategory",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxAccessCat_1", HFILL }},
    { &hf_nr_rrc_uac_barringInfoSetIndex,
      { "uac-barringInfoSetIndex", "nr-rrc.uac_barringInfoSetIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UAC_BarringPerPLMN_List_item,
      { "UAC-BarringPerPLMN", "nr-rrc.UAC_BarringPerPLMN_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_IdentityIndex,
      { "plmn-IdentityIndex", "nr-rrc.plmn_IdentityIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxPLMN", HFILL }},
    { &hf_nr_rrc_uac_ACBarringListType,
      { "uac-ACBarringListType", "nr-rrc.uac_ACBarringListType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_ACBarringListType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_ImplicitACBarringList,
      { "uac-ImplicitACBarringList", "nr-rrc.uac_ImplicitACBarringList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex", HFILL }},
    { &hf_nr_rrc_uac_ImplicitACBarringList_item,
      { "UAC-BarringInfoSetIndex", "nr-rrc.UAC_BarringInfoSetIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uac_ExplicitACBarringList,
      { "uac-ExplicitACBarringList", "nr-rrc.uac_ExplicitACBarringList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UAC_BarringPerCatList", HFILL }},
    { &hf_nr_rrc_t300,
      { "t300", "nr-rrc.t300",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t300_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t301,
      { "t301", "nr-rrc.t301",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t301_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t310_01,
      { "t310", "nr-rrc.t310",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_01_vals), 0,
        "T_t310_01", HFILL }},
    { &hf_nr_rrc_n310_01,
      { "n310", "nr-rrc.n310",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n310_01_vals), 0,
        "T_n310_01", HFILL }},
    { &hf_nr_rrc_t311_01,
      { "t311", "nr-rrc.t311",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t311_01_vals), 0,
        "T_t311_01", HFILL }},
    { &hf_nr_rrc_n311_01,
      { "n311", "nr-rrc.n311",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n311_01_vals), 0,
        "T_n311_01", HFILL }},
    { &hf_nr_rrc_t319,
      { "t319", "nr-rrc.t319",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t319_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_delay_DRBlist_r16,
      { "delay-DRBlist-r16", "nr-rrc.delay_DRBlist_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity", HFILL }},
    { &hf_nr_rrc_delay_DRBlist_r16_item,
      { "DRB-Identity", "nr-rrc.DRB_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_excessDelay_DRBlist_r17,
      { "excessDelay-DRBlist-r17", "nr-rrc.excessDelay_DRBlist_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17", HFILL }},
    { &hf_nr_rrc_excessDelay_DRBlist_r17_item,
      { "ExcessDelay-DRB-IdentityInfo-r17", "nr-rrc.ExcessDelay_DRB_IdentityInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_IdentityList,
      { "drb-IdentityList", "nr-rrc.drb_IdentityList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity", HFILL }},
    { &hf_nr_rrc_drb_IdentityList_item,
      { "DRB-Identity", "nr-rrc.DRB_Identity",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_delayThreshold,
      { "delayThreshold", "nr-rrc.delayThreshold",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayThreshold_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ugl_r17,
      { "ugl-r17", "nr-rrc.ugl_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ugl_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ugrp_r17,
      { "ugrp-r17", "nr-rrc.ugrp_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ugrp_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ci_RNTI_r16,
      { "ci-RNTI-r16", "nr-rrc.ci_RNTI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_dci_PayloadSizeForCI_r16,
      { "dci-PayloadSizeForCI-r16", "nr-rrc.dci_PayloadSizeForCI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxCI_DCI_PayloadSize_r16", HFILL }},
    { &hf_nr_rrc_ci_ConfigurationPerServingCell_r16,
      { "ci-ConfigurationPerServingCell-r16", "nr-rrc.ci_ConfigurationPerServingCell_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16", HFILL }},
    { &hf_nr_rrc_ci_ConfigurationPerServingCell_r16_item,
      { "CI-ConfigurationPerServingCell-r16", "nr-rrc.CI_ConfigurationPerServingCell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_positionInDCI_r16_01,
      { "positionInDCI-r16", "nr-rrc.positionInDCI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxCI_DCI_PayloadSize_1_r16", HFILL }},
    { &hf_nr_rrc_positionInDCI_ForSUL_r16,
      { "positionInDCI-ForSUL-r16", "nr-rrc.positionInDCI_ForSUL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxCI_DCI_PayloadSize_1_r16", HFILL }},
    { &hf_nr_rrc_ci_PayloadSize_r16,
      { "ci-PayloadSize-r16", "nr-rrc.ci_PayloadSize_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ci_PayloadSize_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeFrequencyRegion_r16,
      { "timeFrequencyRegion-r16", "nr-rrc.timeFrequencyRegion_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeDurationForCI_r16,
      { "timeDurationForCI-r16", "nr-rrc.timeDurationForCI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDurationForCI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeGranularityForCI_r16,
      { "timeGranularityForCI-r16", "nr-rrc.timeGranularityForCI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeGranularityForCI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyRegionForCI_r16,
      { "frequencyRegionForCI-r16", "nr-rrc.frequencyRegionForCI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_37949", HFILL }},
    { &hf_nr_rrc_deltaOffset_r16,
      { "deltaOffset-r16", "nr-rrc.deltaOffset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2", HFILL }},
    { &hf_nr_rrc_uplinkCancellationPriority_v1610,
      { "uplinkCancellationPriority-v1610", "nr-rrc.uplinkCancellationPriority_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkCancellationPriority_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyInfoUL,
      { "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_initialUplinkBWP_01,
      { "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_UplinkCommon", HFILL }},
    { &hf_nr_rrc_uplinkConfigCommon_dummy,
      { "dummy", "nr-rrc.uplinkConfigCommon.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
        "TimeAlignmentTimer", HFILL }},
    { &hf_nr_rrc_initialUplinkBWP_RedCap_r17,
      { "initialUplinkBWP-RedCap-r17", "nr-rrc.initialUplinkBWP_RedCap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP_UplinkCommon", HFILL }},
    { &hf_nr_rrc_frequencyInfoUL_01,
      { "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FrequencyInfoUL_SIB", HFILL }},
    { &hf_nr_rrc_timeAlignmentTimerCommon,
      { "timeAlignmentTimerCommon", "nr-rrc.timeAlignmentTimerCommon",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
        "TimeAlignmentTimer", HFILL }},
    { &hf_nr_rrc_ul_powercontrolId_r17,
      { "ul-powercontrolId-r17", "nr-rrc.ul_powercontrolId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Uplink_powerControlId_r17", HFILL }},
    { &hf_nr_rrc_p0AlphaSetforPUSCH_r17,
      { "p0AlphaSetforPUSCH-r17", "nr-rrc.p0AlphaSetforPUSCH_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "P0AlphaSet_r17", HFILL }},
    { &hf_nr_rrc_p0AlphaSetforPUCCH_r17,
      { "p0AlphaSetforPUCCH-r17", "nr-rrc.p0AlphaSetforPUCCH_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "P0AlphaSet_r17", HFILL }},
    { &hf_nr_rrc_p0AlphaSetforSRS_r17,
      { "p0AlphaSetforSRS-r17", "nr-rrc.p0AlphaSetforSRS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "P0AlphaSet_r17", HFILL }},
    { &hf_nr_rrc_p0_r17,
      { "p0-r17", "nr-rrc.p0_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_alpha_r17,
      { "alpha-r17", "nr-rrc.alpha_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0,
        "Alpha", HFILL }},
    { &hf_nr_rrc_closedLoopIndex_r17,
      { "closedLoopIndex-r17", "nr-rrc.closedLoopIndex_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_closedLoopIndex_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uu_LogicalChannelIdentity_r17,
      { "uu-LogicalChannelIdentity-r17", "nr-rrc.uu_LogicalChannelIdentity_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LogicalChannelIdentity", HFILL }},
    { &hf_nr_rrc_uu_RelayRLC_ChannelID_r17,
      { "uu-RelayRLC-ChannelID-r17", "nr-rrc.uu_RelayRLC_ChannelID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reestablishRLC_r17,
      { "reestablishRLC-r17", "nr-rrc.reestablishRLC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishRLC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_Config_r17,
      { "rlc-Config-r17", "nr-rrc.rlc_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RLC_Config_vals), 0,
        "RLC_Config", HFILL }},
    { &hf_nr_rrc_mac_LogicalChannelConfig_r17,
      { "mac-LogicalChannelConfig-r17", "nr-rrc.mac_LogicalChannelConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "LogicalChannelConfig", HFILL }},
    { &hf_nr_rrc_UplinkTxDirectCurrentList_item,
      { "UplinkTxDirectCurrentCell", "nr-rrc.UplinkTxDirectCurrentCell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkDirectCurrentBWP,
      { "uplinkDirectCurrentBWP", "nr-rrc.uplinkDirectCurrentBWP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP", HFILL }},
    { &hf_nr_rrc_uplinkDirectCurrentBWP_item,
      { "UplinkTxDirectCurrentBWP", "nr-rrc.UplinkTxDirectCurrentBWP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkDirectCurrentBWP_SUL,
      { "uplinkDirectCurrentBWP-SUL", "nr-rrc.uplinkDirectCurrentBWP_SUL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP", HFILL }},
    { &hf_nr_rrc_uplinkDirectCurrentBWP_SUL_item,
      { "UplinkTxDirectCurrentBWP", "nr-rrc.UplinkTxDirectCurrentBWP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_shift7dot5kHz,
      { "shift7dot5kHz", "nr-rrc.shift7dot5kHz",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_txDirectCurrentLocation_01,
      { "txDirectCurrentLocation", "nr-rrc.txDirectCurrentLocation",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3301", HFILL }},
    { &hf_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17_item,
      { "CC-Group-r17", "nr-rrc.CC_Group_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_servCellIndexLower_r17,
      { "servCellIndexLower-r17", "nr-rrc.servCellIndexLower_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_servCellIndexHigher_r17,
      { "servCellIndexHigher-r17", "nr-rrc.servCellIndexHigher_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_defaultDC_Location_r17,
      { "defaultDC-Location-r17", "nr-rrc.defaultDC_Location_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_DefaultDC_Location_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_offsetToDefault_r17,
      { "offsetToDefault-r17", "nr-rrc.offsetToDefault_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offsetToDefault_r17_vals), 0,
        "T_offsetToDefault_r17", HFILL }},
    { &hf_nr_rrc_offsetValue,
      { "offsetValue", "nr-rrc.offsetValue_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "OffsetValue_r17", HFILL }},
    { &hf_nr_rrc_offsetlist,
      { "offsetlist", "nr-rrc.offsetlist",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17", HFILL }},
    { &hf_nr_rrc_offsetlist_item,
      { "OffsetValue-r17", "nr-rrc.OffsetValue_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_offsetValue_r17,
      { "offsetValue-r17", "nr-rrc.offsetValue_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M20000_20000", HFILL }},
    { &hf_nr_rrc_shift7dot5kHz_r17,
      { "shift7dot5kHz-r17", "nr-rrc.shift7dot5kHz_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_ul,
      { "ul", "nr-rrc.ul",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FrequencyComponent_r17_vals), 0,
        "FrequencyComponent_r17", HFILL }},
    { &hf_nr_rrc_dl,
      { "dl", "nr-rrc.dl",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FrequencyComponent_r17_vals), 0,
        "FrequencyComponent_r17", HFILL }},
    { &hf_nr_rrc_ulAndDL,
      { "ulAndDL", "nr-rrc.ulAndDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FrequencyComponent_r17_vals), 0,
        "FrequencyComponent_r17", HFILL }},
    { &hf_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_item,
      { "UplinkTxDirectCurrentTwoCarrier-r16", "nr-rrc.UplinkTxDirectCurrentTwoCarrier_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierOneInfo_r16,
      { "carrierOneInfo-r16", "nr-rrc.carrierOneInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkTxDirectCurrentCarrierInfo_r16", HFILL }},
    { &hf_nr_rrc_carrierTwoInfo_r16,
      { "carrierTwoInfo-r16", "nr-rrc.carrierTwoInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkTxDirectCurrentCarrierInfo_r16", HFILL }},
    { &hf_nr_rrc_singlePA_TxDirectCurrent_r16,
      { "singlePA-TxDirectCurrent-r16", "nr-rrc.singlePA_TxDirectCurrent_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkTxDirectCurrentTwoCarrierInfo_r16", HFILL }},
    { &hf_nr_rrc_secondPA_TxDirectCurrent_r16,
      { "secondPA-TxDirectCurrent-r16", "nr-rrc.secondPA_TxDirectCurrent_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UplinkTxDirectCurrentTwoCarrierInfo_r16", HFILL }},
    { &hf_nr_rrc_servCellIndex_r16,
      { "servCellIndex-r16", "nr-rrc.servCellIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_servCellInfo_r16,
      { "servCellInfo-r16", "nr-rrc.servCellInfo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_servCellInfo_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_Id_r16,
      { "bwp-Id-r16", "nr-rrc.bwp_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_deactivatedCarrier_r16,
      { "deactivatedCarrier-r16", "nr-rrc.deactivatedCarrier_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deactivatedCarrier_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceCarrierIndex_r16,
      { "referenceCarrierIndex-r16", "nr-rrc.referenceCarrierIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServCellIndex", HFILL }},
    { &hf_nr_rrc_shift7dot5kHz_r16,
      { "shift7dot5kHz-r16", "nr-rrc.shift7dot5kHz_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_txDirectCurrentLocation_r16,
      { "txDirectCurrentLocation-r16", "nr-rrc.txDirectCurrentLocation_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3301", HFILL }},
    { &hf_nr_rrc_zp_CSI_RS_ResourceId,
      { "zp-CSI-RS-ResourceId", "nr-rrc.zp_CSI_RS_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_zp_CSI_RS_ResourceSetId,
      { "zp-CSI-RS-ResourceSetId", "nr-rrc.zp_CSI_RS_ResourceSetId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_zp_CSI_RS_ResourceIdList,
      { "zp-CSI-RS-ResourceIdList", "nr-rrc.zp_CSI_RS_ResourceIdList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId", HFILL }},
    { &hf_nr_rrc_zp_CSI_RS_ResourceIdList_item,
      { "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_qoe_Streaming_MeasReport_r17,
      { "qoe-Streaming-MeasReport-r17", "nr-rrc.qoe_Streaming_MeasReport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_qoe_Streaming_MeasReport_r17_vals), 0,
        "T_qoe_Streaming_MeasReport_r17", HFILL }},
    { &hf_nr_rrc_qoe_MTSI_MeasReport_r17,
      { "qoe-MTSI-MeasReport-r17", "nr-rrc.qoe_MTSI_MeasReport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_qoe_MTSI_MeasReport_r17_vals), 0,
        "T_qoe_MTSI_MeasReport_r17", HFILL }},
    { &hf_nr_rrc_qoe_VR_MeasReport_r17,
      { "qoe-VR-MeasReport-r17", "nr-rrc.qoe_VR_MeasReport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_qoe_VR_MeasReport_r17_vals), 0,
        "T_qoe_VR_MeasReport_r17", HFILL }},
    { &hf_nr_rrc_ran_VisibleQoE_Streaming_MeasReport_r17,
      { "ran-VisibleQoE-Streaming-MeasReport-r17", "nr-rrc.ran_VisibleQoE_Streaming_MeasReport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ran_VisibleQoE_Streaming_MeasReport_r17_vals), 0,
        "T_ran_VisibleQoE_Streaming_MeasReport_r17", HFILL }},
    { &hf_nr_rrc_ran_VisibleQoE_VR_MeasReport_r17,
      { "ran-VisibleQoE-VR-MeasReport-r17", "nr-rrc.ran_VisibleQoE_VR_MeasReport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ran_VisibleQoE_VR_MeasReport_r17_vals), 0,
        "T_ran_VisibleQoE_VR_MeasReport_r17", HFILL }},
    { &hf_nr_rrc_ul_MeasurementReportAppLayer_Seg_r17,
      { "ul-MeasurementReportAppLayer-Seg-r17", "nr-rrc.ul_MeasurementReportAppLayer_Seg_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_MeasurementReportAppLayer_Seg_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_item,
      { "BandCombination", "nr-rrc.BandCombination_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1540_item,
      { "BandCombination-v1540", "nr-rrc.BandCombination_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1550_item,
      { "BandCombination-v1550", "nr-rrc.BandCombination_v1550_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1560_item,
      { "BandCombination-v1560", "nr-rrc.BandCombination_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1570_item,
      { "BandCombination-v1570", "nr-rrc.BandCombination_v1570_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1580_item,
      { "BandCombination-v1580", "nr-rrc.BandCombination_v1580_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1590_item,
      { "BandCombination-v1590", "nr-rrc.BandCombination_v1590_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v15g0_item,
      { "BandCombination-v15g0", "nr-rrc.BandCombination_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1610_item,
      { "BandCombination-v1610", "nr-rrc.BandCombination_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1630_item,
      { "BandCombination-v1630", "nr-rrc.BandCombination_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1640_item,
      { "BandCombination-v1640", "nr-rrc.BandCombination_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1650_item,
      { "BandCombination-v1650", "nr-rrc.BandCombination_v1650_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1680_item,
      { "BandCombination-v1680", "nr-rrc.BandCombination_v1680_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1690_item,
      { "BandCombination-v1690", "nr-rrc.BandCombination_v1690_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v16a0_item,
      { "BandCombination-v16a0", "nr-rrc.BandCombination_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1700_item,
      { "BandCombination-v1700", "nr-rrc.BandCombination_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1720_item,
      { "BandCombination-v1720", "nr-rrc.BandCombination_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1730_item,
      { "BandCombination-v1730", "nr-rrc.BandCombination_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_v1740_item,
      { "BandCombination-v1740", "nr-rrc.BandCombination_v1740_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_r16_item,
      { "BandCombination-UplinkTxSwitch-r16", "nr-rrc.BandCombination_UplinkTxSwitch_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630_item,
      { "BandCombination-UplinkTxSwitch-v1630", "nr-rrc.BandCombination_UplinkTxSwitch_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640_item,
      { "BandCombination-UplinkTxSwitch-v1640", "nr-rrc.BandCombination_UplinkTxSwitch_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1650_item,
      { "BandCombination-UplinkTxSwitch-v1650", "nr-rrc.BandCombination_UplinkTxSwitch_v1650_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670_item,
      { "BandCombination-UplinkTxSwitch-v1670", "nr-rrc.BandCombination_UplinkTxSwitch_v1670_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1690_item,
      { "BandCombination-UplinkTxSwitch-v1690", "nr-rrc.BandCombination_UplinkTxSwitch_v1690_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v16a0_item,
      { "BandCombination-UplinkTxSwitch-v16a0", "nr-rrc.BandCombination_UplinkTxSwitch_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700_item,
      { "BandCombination-UplinkTxSwitch-v1700", "nr-rrc.BandCombination_UplinkTxSwitch_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720_item,
      { "BandCombination-UplinkTxSwitch-v1720", "nr-rrc.BandCombination_UplinkTxSwitch_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730_item,
      { "BandCombination-UplinkTxSwitch-v1730", "nr-rrc.BandCombination_UplinkTxSwitch_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740_item,
      { "BandCombination-UplinkTxSwitch-v1740", "nr-rrc.BandCombination_UplinkTxSwitch_v1740_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandList,
      { "bandList", "nr-rrc.bandList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters", HFILL }},
    { &hf_nr_rrc_bandList_item,
      { "BandParameters", "nr-rrc.BandParameters",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParameters_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetCombination,
      { "featureSetCombination", "nr-rrc.featureSetCombination",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetCombinationId", HFILL }},
    { &hf_nr_rrc_ca_ParametersEUTRA,
      { "ca-ParametersEUTRA", "nr-rrc.ca_ParametersEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR,
      { "ca-ParametersNR", "nr-rrc.ca_ParametersNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_Parameters,
      { "mrdc-Parameters", "nr-rrc.mrdc_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandwidthCombinationSet,
      { "supportedBandwidthCombinationSet", "nr-rrc.supportedBandwidthCombinationSet",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_32", HFILL }},
    { &hf_nr_rrc_powerClass_v1530,
      { "powerClass-v1530", "nr-rrc.powerClass_v1530",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerClass_v1530_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandList_v1540,
      { "bandList-v1540", "nr-rrc.bandList_v1540",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540", HFILL }},
    { &hf_nr_rrc_bandList_v1540_item,
      { "BandParameters-v1540", "nr-rrc.BandParameters_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1540,
      { "ca-ParametersNR-v1540", "nr-rrc.ca_ParametersNR_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1550,
      { "ca-ParametersNR-v1550", "nr-rrc.ca_ParametersNR_v1550_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ne_DC_BC,
      { "ne-DC-BC", "nr-rrc.ne_DC_BC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ne_DC_BC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC,
      { "ca-ParametersNRDC", "nr-rrc.ca_ParametersNRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersEUTRA_v1560,
      { "ca-ParametersEUTRA-v1560", "nr-rrc.ca_ParametersEUTRA_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1560,
      { "ca-ParametersNR-v1560", "nr-rrc.ca_ParametersNR_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersEUTRA_v1570,
      { "ca-ParametersEUTRA-v1570", "nr-rrc.ca_ParametersEUTRA_v1570_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_Parameters_v1580,
      { "mrdc-Parameters-v1580", "nr-rrc.mrdc_Parameters_v1580_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandwidthCombinationSetIntraENDC,
      { "supportedBandwidthCombinationSetIntraENDC", "nr-rrc.supportedBandwidthCombinationSetIntraENDC",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_32", HFILL }},
    { &hf_nr_rrc_mrdc_Parameters_v1590,
      { "mrdc-Parameters-v1590", "nr-rrc.mrdc_Parameters_v1590_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v15g0,
      { "ca-ParametersNR-v15g0", "nr-rrc.ca_ParametersNR_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v15g0,
      { "ca-ParametersNRDC-v15g0", "nr-rrc.ca_ParametersNRDC_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_Parameters_v15g0,
      { "mrdc-Parameters-v15g0", "nr-rrc.mrdc_Parameters_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandList_v1610,
      { "bandList-v1610", "nr-rrc.bandList_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610", HFILL }},
    { &hf_nr_rrc_bandList_v1610_item,
      { "BandParameters-v1610", "nr-rrc.BandParameters_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1610,
      { "ca-ParametersNR-v1610", "nr-rrc.ca_ParametersNR_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v1610,
      { "ca-ParametersNRDC-v1610", "nr-rrc.ca_ParametersNRDC_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powerClass_v1610,
      { "powerClass-v1610", "nr-rrc.powerClass_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerClass_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powerClassNRPart_r16,
      { "powerClassNRPart-r16", "nr-rrc.powerClassNRPart_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerClassNRPart_r16_vals), 0,
        "T_powerClassNRPart_r16", HFILL }},
    { &hf_nr_rrc_featureSetCombinationDAPS_r16,
      { "featureSetCombinationDAPS-r16", "nr-rrc.featureSetCombinationDAPS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetCombinationId", HFILL }},
    { &hf_nr_rrc_mrdc_Parameters_v1620,
      { "mrdc-Parameters-v1620", "nr-rrc.mrdc_Parameters_v1620_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1630,
      { "ca-ParametersNR-v1630", "nr-rrc.ca_ParametersNR_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v1630,
      { "ca-ParametersNRDC-v1630", "nr-rrc.ca_ParametersNRDC_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_Parameters_v1630,
      { "mrdc-Parameters-v1630", "nr-rrc.mrdc_Parameters_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedTxBandCombListPerBC_Sidelink_r16,
      { "supportedTxBandCombListPerBC-Sidelink-r16", "nr-rrc.supportedTxBandCombListPerBC_Sidelink_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxBandComb", HFILL }},
    { &hf_nr_rrc_supportedRxBandCombListPerBC_Sidelink_r16,
      { "supportedRxBandCombListPerBC-Sidelink-r16", "nr-rrc.supportedRxBandCombListPerBC_Sidelink_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxBandComb", HFILL }},
    { &hf_nr_rrc_scalingFactorTxSidelink_r16,
      { "scalingFactorTxSidelink-r16", "nr-rrc.scalingFactorTxSidelink_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16", HFILL }},
    { &hf_nr_rrc_scalingFactorTxSidelink_r16_item,
      { "ScalingFactorSidelink-r16", "nr-rrc.ScalingFactorSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ScalingFactorSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scalingFactorRxSidelink_r16,
      { "scalingFactorRxSidelink-r16", "nr-rrc.scalingFactorRxSidelink_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16", HFILL }},
    { &hf_nr_rrc_scalingFactorRxSidelink_r16_item,
      { "ScalingFactorSidelink-r16", "nr-rrc.ScalingFactorSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ScalingFactorSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1640,
      { "ca-ParametersNR-v1640", "nr-rrc.ca_ParametersNR_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v1640,
      { "ca-ParametersNRDC-v1640", "nr-rrc.ca_ParametersNRDC_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v1650,
      { "ca-ParametersNRDC-v1650", "nr-rrc.ca_ParametersNRDC_v1650_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intrabandConcurrentOperationPowerClass_r16,
      { "intrabandConcurrentOperationPowerClass-r16", "nr-rrc.intrabandConcurrentOperationPowerClass_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16", HFILL }},
    { &hf_nr_rrc_intrabandConcurrentOperationPowerClass_r16_item,
      { "IntraBandPowerClass-r16", "nr-rrc.IntraBandPowerClass_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_IntraBandPowerClass_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1690,
      { "ca-ParametersNR-v1690", "nr-rrc.ca_ParametersNR_v1690_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v16a0,
      { "ca-ParametersNR-v16a0", "nr-rrc.ca_ParametersNR_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v16a0,
      { "ca-ParametersNRDC-v16a0", "nr-rrc.ca_ParametersNRDC_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1700,
      { "ca-ParametersNR-v1700", "nr-rrc.ca_ParametersNR_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v1700,
      { "ca-ParametersNRDC-v1700", "nr-rrc.ca_ParametersNRDC_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_Parameters_v1700,
      { "mrdc-Parameters-v1700", "nr-rrc.mrdc_Parameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandList_v1710,
      { "bandList-v1710", "nr-rrc.bandList_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710", HFILL }},
    { &hf_nr_rrc_bandList_v1710_item,
      { "BandParameters-v1710", "nr-rrc.BandParameters_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombListPerBC_SL_RelayDiscovery_r17,
      { "supportedBandCombListPerBC-SL-RelayDiscovery-r17", "nr-rrc.supportedBandCombListPerBC_SL_RelayDiscovery_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxBandComb", HFILL }},
    { &hf_nr_rrc_supportedBandCombListPerBC_SL_NonRelayDiscovery_r17,
      { "supportedBandCombListPerBC-SL-NonRelayDiscovery-r17", "nr-rrc.supportedBandCombListPerBC_SL_NonRelayDiscovery_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxBandComb", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1720,
      { "ca-ParametersNR-v1720", "nr-rrc.ca_ParametersNR_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v1720,
      { "ca-ParametersNRDC-v1720", "nr-rrc.ca_ParametersNRDC_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1730,
      { "ca-ParametersNR-v1730", "nr-rrc.ca_ParametersNR_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNRDC_v1730,
      { "ca-ParametersNRDC-v1730", "nr-rrc.ca_ParametersNRDC_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandList_v1730,
      { "bandList-v1730", "nr-rrc.bandList_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730", HFILL }},
    { &hf_nr_rrc_bandList_v1730_item,
      { "BandParameters-v1730", "nr-rrc.BandParameters_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_v1740,
      { "ca-ParametersNR-v1740", "nr-rrc.ca_ParametersNR_v1740_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_r16,
      { "bandCombination-r16", "nr-rrc.bandCombination_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BandCombination", HFILL }},
    { &hf_nr_rrc_bandCombination_v1540,
      { "bandCombination-v1540", "nr-rrc.bandCombination_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1560,
      { "bandCombination-v1560", "nr-rrc.bandCombination_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1570,
      { "bandCombination-v1570", "nr-rrc.bandCombination_v1570_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1580,
      { "bandCombination-v1580", "nr-rrc.bandCombination_v1580_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1590,
      { "bandCombination-v1590", "nr-rrc.bandCombination_v1590_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1610,
      { "bandCombination-v1610", "nr-rrc.bandCombination_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandPairListNR_r16,
      { "supportedBandPairListNR-r16", "nr-rrc.supportedBandPairListNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16", HFILL }},
    { &hf_nr_rrc_supportedBandPairListNR_r16_item,
      { "ULTxSwitchingBandPair-r16", "nr-rrc.ULTxSwitchingBandPair_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching_OptionSupport_r16,
      { "uplinkTxSwitching-OptionSupport-r16", "nr-rrc.uplinkTxSwitching_OptionSupport_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_OptionSupport_r16_vals), 0,
        "T_uplinkTxSwitching_OptionSupport_r16", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching_PowerBoosting_r16,
      { "uplinkTxSwitching-PowerBoosting-r16", "nr-rrc.uplinkTxSwitching_PowerBoosting_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_PowerBoosting_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching_PUSCH_TransCoherence_r16,
      { "uplinkTxSwitching-PUSCH-TransCoherence-r16", "nr-rrc.uplinkTxSwitching_PUSCH_TransCoherence_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_PUSCH_TransCoherence_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1630,
      { "bandCombination-v1630", "nr-rrc.bandCombination_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1640,
      { "bandCombination-v1640", "nr-rrc.bandCombination_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1650,
      { "bandCombination-v1650", "nr-rrc.bandCombination_v1650_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v15g0,
      { "bandCombination-v15g0", "nr-rrc.bandCombination_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1690,
      { "bandCombination-v1690", "nr-rrc.bandCombination_v1690_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v16a0,
      { "bandCombination-v16a0", "nr-rrc.bandCombination_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1700,
      { "bandCombination-v1700", "nr-rrc.bandCombination_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandPairListNR_v1700,
      { "supportedBandPairListNR-v1700", "nr-rrc.supportedBandPairListNR_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700", HFILL }},
    { &hf_nr_rrc_supportedBandPairListNR_v1700_item,
      { "ULTxSwitchingBandPair-v1700", "nr-rrc.ULTxSwitchingBandPair_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchingBandParametersList_v1700,
      { "uplinkTxSwitchingBandParametersList-v1700", "nr-rrc.uplinkTxSwitchingBandParametersList_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchingBandParametersList_v1700_item,
      { "UplinkTxSwitchingBandParameters-v1700", "nr-rrc.UplinkTxSwitchingBandParameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1720,
      { "bandCombination-v1720", "nr-rrc.bandCombination_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching_OptionSupport2T2T_r17,
      { "uplinkTxSwitching-OptionSupport2T2T-r17", "nr-rrc.uplinkTxSwitching_OptionSupport2T2T_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_OptionSupport2T2T_r17_vals), 0,
        "T_uplinkTxSwitching_OptionSupport2T2T_r17", HFILL }},
    { &hf_nr_rrc_bandCombination_v1730,
      { "bandCombination-v1730", "nr-rrc.bandCombination_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandCombination_v1740,
      { "bandCombination-v1740", "nr-rrc.bandCombination_v1740_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandIndexUL1_r16,
      { "bandIndexUL1-r16", "nr-rrc.bandIndexUL1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxSimultaneousBands", HFILL }},
    { &hf_nr_rrc_bandIndexUL2_r16,
      { "bandIndexUL2-r16", "nr-rrc.bandIndexUL2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxSimultaneousBands", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchingPeriod_r16,
      { "uplinkTxSwitchingPeriod-r16", "nr-rrc.uplinkTxSwitchingPeriod_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchingPeriod_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching_DL_Interruption_r16,
      { "uplinkTxSwitching-DL-Interruption-r16", "nr-rrc.uplinkTxSwitching_DL_Interruption_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxSimultaneousBands", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchingPeriod2T2T_r17,
      { "uplinkTxSwitchingPeriod2T2T-r17", "nr-rrc.uplinkTxSwitchingPeriod2T2T_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchingPeriod2T2T_r17_vals), 0,
        "T_uplinkTxSwitchingPeriod2T2T_r17", HFILL }},
    { &hf_nr_rrc_bandIndex_r17,
      { "bandIndex-r17", "nr-rrc.bandIndex_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxSimultaneousBands", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17,
      { "uplinkTxSwitching2T2T-PUSCH-TransCoherence-r17", "nr-rrc.uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17_vals), 0,
        "T_uplinkTxSwitching2T2T_PUSCH_TransCoherence_r17", HFILL }},
    { &hf_nr_rrc_eutra_01,
      { "eutra", "nr-rrc.eutra_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandEUTRA,
      { "bandEUTRA", "nr-rrc.bandEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorEUTRA", HFILL }},
    { &hf_nr_rrc_ca_BandwidthClassDL_EUTRA,
      { "ca-BandwidthClassDL-EUTRA", "nr-rrc.ca_BandwidthClassDL_EUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClassEUTRA_vals), 0,
        "CA_BandwidthClassEUTRA", HFILL }},
    { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA,
      { "ca-BandwidthClassUL-EUTRA", "nr-rrc.ca_BandwidthClassUL_EUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClassEUTRA_vals), 0,
        "CA_BandwidthClassEUTRA", HFILL }},
    { &hf_nr_rrc_nr_01,
      { "nr", "nr-rrc.nr_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandNR,
      { "bandNR", "nr-rrc.bandNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_ca_BandwidthClassDL_NR,
      { "ca-BandwidthClassDL-NR", "nr-rrc.ca_BandwidthClassDL_NR",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0,
        "CA_BandwidthClassNR", HFILL }},
    { &hf_nr_rrc_ca_BandwidthClassUL_NR,
      { "ca-BandwidthClassUL-NR", "nr-rrc.ca_BandwidthClassUL_NR",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0,
        "CA_BandwidthClassNR", HFILL }},
    { &hf_nr_rrc_srs_CarrierSwitch,
      { "srs-CarrierSwitch", "nr-rrc.srs_CarrierSwitch",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_CarrierSwitch_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_02,
      { "nr", "nr-rrc.nr_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nr_01", HFILL }},
    { &hf_nr_rrc_srs_SwitchingTimesListNR,
      { "srs-SwitchingTimesListNR", "nr-rrc.srs_SwitchingTimesListNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR", HFILL }},
    { &hf_nr_rrc_srs_SwitchingTimesListNR_item,
      { "SRS-SwitchingTimeNR", "nr-rrc.SRS_SwitchingTimeNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_02,
      { "eutra", "nr-rrc.eutra_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_eutra_01", HFILL }},
    { &hf_nr_rrc_srs_SwitchingTimesListEUTRA,
      { "srs-SwitchingTimesListEUTRA", "nr-rrc.srs_SwitchingTimesListEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA", HFILL }},
    { &hf_nr_rrc_srs_SwitchingTimesListEUTRA_item,
      { "SRS-SwitchingTimeEUTRA", "nr-rrc.SRS_SwitchingTimeEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_TxSwitch,
      { "srs-TxSwitch", "nr-rrc.srs_TxSwitch_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedSRS_TxPortSwitch,
      { "supportedSRS-TxPortSwitch", "nr-rrc.supportedSRS_TxPortSwitch",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_txSwitchImpactToRx,
      { "txSwitchImpactToRx", "nr-rrc.txSwitchImpactToRx",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_txSwitchWithAnotherBand,
      { "txSwitchWithAnotherBand", "nr-rrc.txSwitchWithAnotherBand",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_srs_TxSwitch_v1610,
      { "srs-TxSwitch-v1610", "nr-rrc.srs_TxSwitch_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedSRS_TxPortSwitch_v1610,
      { "supportedSRS-TxPortSwitch-v1610", "nr-rrc.supportedSRS_TxPortSwitch_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_AntennaSwitchingBeyond4RX_r17,
      { "srs-AntennaSwitchingBeyond4RX-r17", "nr-rrc.srs_AntennaSwitchingBeyond4RX_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedSRS_TxPortSwitchBeyond4Rx_r17,
      { "supportedSRS-TxPortSwitchBeyond4Rx-r17", "nr-rrc.supportedSRS_TxPortSwitchBeyond4Rx_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_11", HFILL }},
    { &hf_nr_rrc_entryNumberAffectBeyond4Rx_r17,
      { "entryNumberAffectBeyond4Rx-r17", "nr-rrc.entryNumberAffectBeyond4Rx_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_entryNumberSwitchBeyond4Rx_r17,
      { "entryNumberSwitchBeyond4Rx-r17", "nr-rrc.entryNumberSwitchBeyond4Rx_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_srs_SwitchingAffectedBandsListNR_r17,
      { "srs-SwitchingAffectedBandsListNR-r17", "nr-rrc.srs_SwitchingAffectedBandsListNR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17", HFILL }},
    { &hf_nr_rrc_srs_SwitchingAffectedBandsListNR_r17_item,
      { "SRS-SwitchingAffectedBandsNR-r17", "nr-rrc.SRS_SwitchingAffectedBandsNR_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_r16_item,
      { "BandCombinationParametersSidelinkEUTRA-NR-r16", "nr-rrc.BandCombinationParametersSidelinkEUTRA_NR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1630_item,
      { "BandCombinationParametersSidelinkEUTRA-NR-v1630", "nr-rrc.BandCombinationParametersSidelinkEUTRA_NR_v1630",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1710_item,
      { "BandCombinationParametersSidelinkEUTRA-NR-v1710", "nr-rrc.BandCombinationParametersSidelinkEUTRA_NR_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16_item,
      { "BandParametersSidelinkEUTRA-NR-r16", "nr-rrc.BandParametersSidelinkEUTRA_NR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParametersSidelinkEUTRA_NR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1630_item,
      { "BandParametersSidelinkEUTRA-NR-v1630", "nr-rrc.BandParametersSidelinkEUTRA_NR_v1630",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParametersSidelinkEUTRA_NR_v1630_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1710_item,
      { "BandParametersSidelinkEUTRA-NR-v1710", "nr-rrc.BandParametersSidelinkEUTRA_NR_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParametersSidelinkEUTRA_NR_v1710_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_03,
      { "eutra", "nr-rrc.eutra_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_eutra_02", HFILL }},
    { &hf_nr_rrc_bandParametersSidelinkEUTRA1_r16,
      { "bandParametersSidelinkEUTRA1-r16", "nr-rrc.bandParametersSidelinkEUTRA1_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandParametersSidelinkEUTRA2_r16,
      { "bandParametersSidelinkEUTRA2-r16", "nr-rrc.bandParametersSidelinkEUTRA2_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_03,
      { "nr", "nr-rrc.nr_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nr_02", HFILL }},
    { &hf_nr_rrc_bandParametersSidelinkNR_r16,
      { "bandParametersSidelinkNR-r16", "nr-rrc.bandParametersSidelinkNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BandParametersSidelink_r16", HFILL }},
    { &hf_nr_rrc_eutra_04,
      { "eutra", "nr-rrc.eutra_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_04,
      { "nr", "nr-rrc.nr_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nr_03", HFILL }},
    { &hf_nr_rrc_tx_Sidelink_r16,
      { "tx-Sidelink-r16", "nr-rrc.tx_Sidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tx_Sidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rx_Sidelink_r16,
      { "rx-Sidelink-r16", "nr-rrc.rx_Sidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_Sidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CrossCarrierScheduling_r16,
      { "sl-CrossCarrierScheduling-r16", "nr-rrc.sl_CrossCarrierScheduling_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CrossCarrierScheduling_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_05,
      { "nr", "nr-rrc.nr_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nr_04", HFILL }},
    { &hf_nr_rrc_sl_TransmissionMode2_PartialSensing_r17,
      { "sl-TransmissionMode2-PartialSensing-r17", "nr-rrc.sl_TransmissionMode2_PartialSensing_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17,
      { "harq-TxProcessModeTwoSidelink-r17", "nr-rrc.harq_TxProcessModeTwoSidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17,
      { "scs-CP-PatternTxSidelinkModeTwo-r17", "nr-rrc.scs_CP_PatternTxSidelinkModeTwo_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_r17,
      { "fr1-r17", "nr-rrc.fr1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz_r17,
      { "scs-15kHz-r17", "nr-rrc.scs_15kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_scs_30kHz_r17,
      { "scs-30kHz-r17", "nr-rrc.scs_30kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_scs_60kHz_r17,
      { "scs-60kHz-r17", "nr-rrc.scs_60kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_fr2_r17,
      { "fr2-r17", "nr-rrc.fr2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_120kHz_r17,
      { "scs-120kHz-r17", "nr-rrc.scs_120kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_extendedCP_Mode2PartialSensing_r17,
      { "extendedCP-Mode2PartialSensing-r17", "nr-rrc.extendedCP_Mode2PartialSensing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_Mode2PartialSensing_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_openLoopPC_Sidelink_r17,
      { "dl-openLoopPC-Sidelink-r17", "nr-rrc.dl_openLoopPC_Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_openLoopPC_Sidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rx_sidelinkPSFCH_r17,
      { "rx-sidelinkPSFCH-r17", "nr-rrc.rx_sidelinkPSFCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_sidelinkPSFCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17,
      { "tx-IUC-Scheme1-Mode2Sidelink-r17", "nr-rrc.tx_IUC_Scheme1_Mode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tx_IUC_Scheme2_Mode2Sidelink_r17,
      { "tx-IUC-Scheme2-Mode2Sidelink-r17", "nr-rrc.tx_IUC_Scheme2_Mode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tx_IUC_Scheme2_Mode2Sidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_freqBandSidelink_r16,
      { "freqBandSidelink-r16", "nr-rrc.freqBandSidelink_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_BandCombinationListSL_Discovery_r17_item,
      { "BandParametersSidelinkDiscovery-r17", "nr-rrc.BandParametersSidelinkDiscovery_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CrossCarrierScheduling_r17,
      { "sl-CrossCarrierScheduling-r17", "nr-rrc.sl_CrossCarrierScheduling_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CrossCarrierScheduling_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TransmissionMode2_PartialSensing_r17_01,
      { "sl-TransmissionMode2-PartialSensing-r17", "nr-rrc.sl_TransmissionMode2_PartialSensing_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_sl_TransmissionMode2_PartialSensing_r17_01", HFILL }},
    { &hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17_01,
      { "harq-TxProcessModeTwoSidelink-r17", "nr-rrc.harq_TxProcessModeTwoSidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_01_vals), 0,
        "T_harq_TxProcessModeTwoSidelink_r17_01", HFILL }},
    { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17_01,
      { "scs-CP-PatternTxSidelinkModeTwo-r17", "nr-rrc.scs_CP_PatternTxSidelinkModeTwo_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_01_vals), 0,
        "T_scs_CP_PatternTxSidelinkModeTwo_r17_01", HFILL }},
    { &hf_nr_rrc_fr1_r17_01,
      { "fr1-r17", "nr-rrc.fr1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr1_r17_01", HFILL }},
    { &hf_nr_rrc_fr2_r17_01,
      { "fr2-r17", "nr-rrc.fr2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_r17_01", HFILL }},
    { &hf_nr_rrc_extendedCP_Mode2PartialSensing_r17_01,
      { "extendedCP-Mode2PartialSensing-r17", "nr-rrc.extendedCP_Mode2PartialSensing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_Mode2PartialSensing_r17_01_vals), 0,
        "T_extendedCP_Mode2PartialSensing_r17_01", HFILL }},
    { &hf_nr_rrc_dl_openLoopPC_Sidelink_r17_01,
      { "dl-openLoopPC-Sidelink-r17", "nr-rrc.dl_openLoopPC_Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_openLoopPC_Sidelink_r17_01_vals), 0,
        "T_dl_openLoopPC_Sidelink_r17_01", HFILL }},
    { &hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17_01,
      { "tx-IUC-Scheme1-Mode2Sidelink-r17", "nr-rrc.tx_IUC_Scheme1_Mode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_01_vals), 0,
        "T_tx_IUC_Scheme1_Mode2Sidelink_r17_01", HFILL }},
    { &hf_nr_rrc_multipleTimingAdvance,
      { "multipleTimingAdvance", "nr-rrc.multipleTimingAdvance",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTimingAdvance_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRx_Tx,
      { "simultaneousRx-Tx", "nr-rrc.simultaneousRx_Tx",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRx_Tx_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedNAICS_2CRS_AP,
      { "supportedNAICS-2CRS-AP", "nr-rrc.supportedNAICS_2CRS_AP",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_8", HFILL }},
    { &hf_nr_rrc_additionalRx_Tx_PerformanceReq,
      { "additionalRx-Tx-PerformanceReq", "nr-rrc.additionalRx_Tx_PerformanceReq",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalRx_Tx_PerformanceReq_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_CA_PowerClass_N,
      { "ue-CA-PowerClass-N", "nr-rrc.ue_CA_PowerClass_N",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_CA_PowerClass_N_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530,
      { "supportedBandwidthCombinationSetEUTRA-v1530", "nr-rrc.supportedBandwidthCombinationSetEUTRA_v1530",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_32", HFILL }},
    { &hf_nr_rrc_fd_MIMO_TotalWeightedLayers,
      { "fd-MIMO-TotalWeightedLayers", "nr-rrc.fd_MIMO_TotalWeightedLayers",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_128", HFILL }},
    { &hf_nr_rrc_dl_1024QAM_TotalWeightedLayers,
      { "dl-1024QAM-TotalWeightedLayers", "nr-rrc.dl_1024QAM_TotalWeightedLayers",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt), 0,
        "INTEGER_0_10", HFILL }},
    { &hf_nr_rrc_cA_ParametersNR_dummy,
      { "dummy", "nr-rrc.cA_ParametersNR.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cA_ParametersNR_dummy_vals), 0,
        "T_cA_ParametersNR_dummy", HFILL }},
    { &hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH,
      { "parallelTxSRS-PUCCH-PUSCH", "nr-rrc.parallelTxSRS_PUCCH_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH,
      { "parallelTxPRACH-SRS-PUCCH-PUSCH", "nr-rrc.parallelTxPRACH_SRS_PUCCH_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRxTxInterBandCA,
      { "simultaneousRxTxInterBandCA", "nr-rrc.simultaneousRxTxInterBandCA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandCA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRxTxSUL,
      { "simultaneousRxTxSUL", "nr-rrc.simultaneousRxTxSUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxSUL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group,
      { "diffNumerologyAcrossPUCCH-Group", "nr-rrc.diffNumerologyAcrossPUCCH_Group",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS,
      { "diffNumerologyWithinPUCCH-GroupSmallerSCS", "nr-rrc.diffNumerologyWithinPUCCH_GroupSmallerSCS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedNumberTAG,
      { "supportedNumberTAG", "nr-rrc.supportedNumberTAG",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberTAG_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousSRS_AssocCSI_RS_AllCC,
      { "simultaneousSRS-AssocCSI-RS-AllCC", "nr-rrc.simultaneousSRS_AssocCSI_RS_AllCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_5_32", HFILL }},
    { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedbackPerBandComb,
      { "csi-RS-IM-ReceptionForFeedbackPerBandComb", "nr-rrc.csi_RS_IM_ReceptionForFeedbackPerBandComb_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_ActBWP_AllCC,
      { "maxNumberSimultaneousNZP-CSI-RS-ActBWP-AllCC", "nr-rrc.maxNumberSimultaneousNZP_CSI_RS_ActBWP_AllCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_ActBWP_AllCC,
      { "totalNumberPortsSimultaneousNZP-CSI-RS-ActBWP-AllCC", "nr-rrc.totalNumberPortsSimultaneousNZP_CSI_RS_ActBWP_AllCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_256", HFILL }},
    { &hf_nr_rrc_simultaneousCSI_ReportsAllCC,
      { "simultaneousCSI-ReportsAllCC", "nr-rrc.simultaneousCSI_ReportsAllCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_5_32", HFILL }},
    { &hf_nr_rrc_dualPA_Architecture,
      { "dualPA-Architecture", "nr-rrc.dualPA_Architecture",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dualPA_Architecture_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cA_ParametersNR_v1550_dummy,
      { "dummy", "nr-rrc.cA_ParametersNR_v1550.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cA_ParametersNR_v1550_dummy_vals), 0,
        "T_cA_ParametersNR_v1550_dummy", HFILL }},
    { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS,
      { "diffNumerologyWithinPUCCH-GroupLargerSCS", "nr-rrc.diffNumerologyWithinPUCCH_GroupLargerSCS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRxTxInterBandCAPerBandPair,
      { "simultaneousRxTxInterBandCAPerBandPair", "nr-rrc.simultaneousRxTxInterBandCAPerBandPair",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SimultaneousRxTxPerBandPair", HFILL }},
    { &hf_nr_rrc_simultaneousRxTxSULPerBandPair,
      { "simultaneousRxTxSULPerBandPair", "nr-rrc.simultaneousRxTxSULPerBandPair",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SimultaneousRxTxPerBandPair", HFILL }},
    { &hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_r16,
      { "parallelTxMsgA-SRS-PUCCH-PUSCH-r16", "nr-rrc.parallelTxMsgA_SRS_PUCCH_PUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_msgA_SUL_r16,
      { "msgA-SUL-r16", "nr-rrc.msgA_SUL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_SUL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_jointSearchSpaceSwitchAcrossCells_r16,
      { "jointSearchSpaceSwitchAcrossCells-r16", "nr-rrc.jointSearchSpaceSwitchAcrossCells_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_jointSearchSpaceSwitchAcrossCells_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_half_DuplexTDD_CA_SameSCS_r16,
      { "half-DuplexTDD-CA-SameSCS-r16", "nr-rrc.half_DuplexTDD_CA_SameSCS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_half_DuplexTDD_CA_SameSCS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scellDormancyWithinActiveTime_r16,
      { "scellDormancyWithinActiveTime-r16", "nr-rrc.scellDormancyWithinActiveTime_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellDormancyWithinActiveTime_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scellDormancyOutsideActiveTime_r16,
      { "scellDormancyOutsideActiveTime-r16", "nr-rrc.scellDormancyOutsideActiveTime_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellDormancyOutsideActiveTime_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierA_CSI_trigDiffSCS_r16,
      { "crossCarrierA-CSI-trigDiffSCS-r16", "nr-rrc.crossCarrierA_CSI_trigDiffSCS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierA_CSI_trigDiffSCS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_defaultQCL_CrossCarrierA_CSI_Trig_r16,
      { "defaultQCL-CrossCarrierA-CSI-Trig-r16", "nr-rrc.defaultQCL_CrossCarrierA_CSI_Trig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_defaultQCL_CrossCarrierA_CSI_Trig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interCA_NonAlignedFrame_r16,
      { "interCA-NonAlignedFrame-r16", "nr-rrc.interCA_NonAlignedFrame_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interCA_NonAlignedFrame_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simul_SRS_Trans_BC_r16,
      { "simul-SRS-Trans-BC-r16", "nr-rrc.simul_SRS_Trans_BC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simul_SRS_Trans_BC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqDAPS_r16,
      { "interFreqDAPS-r16", "nr-rrc.interFreqDAPS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqAsyncDAPS_r16,
      { "interFreqAsyncDAPS-r16", "nr-rrc.interFreqAsyncDAPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqAsyncDAPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqDiffSCS_DAPS_r16,
      { "interFreqDiffSCS-DAPS-r16", "nr-rrc.interFreqDiffSCS_DAPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqDiffSCS_DAPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqMultiUL_TransmissionDAPS_r16,
      { "interFreqMultiUL-TransmissionDAPS-r16", "nr-rrc.interFreqMultiUL_TransmissionDAPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqMultiUL_TransmissionDAPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqSemiStaticPowerSharingDAPS_Mode1_r16,
      { "interFreqSemiStaticPowerSharingDAPS-Mode1-r16", "nr-rrc.interFreqSemiStaticPowerSharingDAPS_Mode1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqSemiStaticPowerSharingDAPS_Mode1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqSemiStaticPowerSharingDAPS_Mode2_r16,
      { "interFreqSemiStaticPowerSharingDAPS-Mode2-r16", "nr-rrc.interFreqSemiStaticPowerSharingDAPS_Mode2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqSemiStaticPowerSharingDAPS_Mode2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqDynamicPowerSharingDAPS_r16,
      { "interFreqDynamicPowerSharingDAPS-r16", "nr-rrc.interFreqDynamicPowerSharingDAPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqDynamicPowerSharingDAPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqUL_TransCancellationDAPS_r16,
      { "interFreqUL-TransCancellationDAPS-r16", "nr-rrc.interFreqUL_TransCancellationDAPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqUL_TransCancellationDAPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookParametersPerBC_r16,
      { "codebookParametersPerBC-r16", "nr-rrc.codebookParametersPerBC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CodebookParameters_v1610", HFILL }},
    { &hf_nr_rrc_blindDetectFactor_r16,
      { "blindDetectFactor-r16", "nr-rrc.blindDetectFactor_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringCA_r16,
      { "pdcch-MonitoringCA-r16", "nr-rrc.pdcch_MonitoringCA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberOfMonitoringCC_r16,
      { "maxNumberOfMonitoringCC-r16", "nr-rrc.maxNumberOfMonitoringCC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_16", HFILL }},
    { &hf_nr_rrc_supportedSpanArrangement_r16,
      { "supportedSpanArrangement-r16", "nr-rrc.supportedSpanArrangement_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSpanArrangement_r16_vals), 0,
        "T_supportedSpanArrangement_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_r16,
      { "pdcch-BlindDetectionCA-Mixed-r16", "nr-rrc.pdcch_BlindDetectionCA_Mixed_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedSpanArrangement_r16_01,
      { "supportedSpanArrangement-r16", "nr-rrc.supportedSpanArrangement_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSpanArrangement_r16_01_vals), 0,
        "T_supportedSpanArrangement_r16_01", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_r16,
      { "pdcch-BlindDetectionMCG-UE-r16", "nr-rrc.pdcch_BlindDetectionMCG_UE_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_14", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_r16,
      { "pdcch-BlindDetectionSCG-UE-r16", "nr-rrc.pdcch_BlindDetectionSCG_UE_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_14", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_r16,
      { "pdcch-BlindDetectionMCG-UE-Mixed-r16", "nr-rrc.pdcch_BlindDetectionMCG_UE_Mixed_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE1_r16,
      { "pdcch-BlindDetectionMCG-UE1-r16", "nr-rrc.pdcch_BlindDetectionMCG_UE1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE2_r16,
      { "pdcch-BlindDetectionMCG-UE2-r16", "nr-rrc.pdcch_BlindDetectionMCG_UE2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_r16,
      { "pdcch-BlindDetectionSCG-UE-Mixed-r16", "nr-rrc.pdcch_BlindDetectionSCG_UE_Mixed_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE1_r16,
      { "pdcch-BlindDetectionSCG-UE1-r16", "nr-rrc.pdcch_BlindDetectionSCG_UE1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE2_r16,
      { "pdcch-BlindDetectionSCG-UE2-r16", "nr-rrc.pdcch_BlindDetectionSCG_UE2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingDL_DiffSCS_r16,
      { "crossCarrierSchedulingDL-DiffSCS-r16", "nr-rrc.crossCarrierSchedulingDL_DiffSCS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingDL_DiffSCS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingDefaultQCL_r16,
      { "crossCarrierSchedulingDefaultQCL-r16", "nr-rrc.crossCarrierSchedulingDefaultQCL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingDefaultQCL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingUL_DiffSCS_r16,
      { "crossCarrierSchedulingUL-DiffSCS-r16", "nr-rrc.crossCarrierSchedulingUL_DiffSCS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingUL_DiffSCS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simul_SRS_MIMO_Trans_BC_r16,
      { "simul-SRS-MIMO-Trans-BC-r16", "nr-rrc.simul_SRS_MIMO_Trans_BC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simul_SRS_MIMO_Trans_BC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookParametersAdditionPerBC_r16,
      { "codebookParametersAdditionPerBC-r16", "nr-rrc.codebookParametersAdditionPerBC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookComboParametersAdditionPerBC_r16,
      { "codebookComboParametersAdditionPerBC-r16", "nr-rrc.codebookComboParametersAdditionPerBC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simulTX_SRS_AntSwitchingInterBandUL_CA_r16,
      { "simulTX-SRS-AntSwitchingInterBandUL-CA-r16", "nr-rrc.simulTX_SRS_AntSwitchingInterBandUL_CA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SimulSRS_ForAntennaSwitching_r16", HFILL }},
    { &hf_nr_rrc_beamManagementType_r16,
      { "beamManagementType-r16", "nr-rrc.beamManagementType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamManagementType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraBandFreqSeparationUL_AggBW_GapBW_r16,
      { "intraBandFreqSeparationUL-AggBW-GapBW-r16", "nr-rrc.intraBandFreqSeparationUL_AggBW_GapBW_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraBandFreqSeparationUL_AggBW_GapBW_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interCA_NonAlignedFrame_B_r16,
      { "interCA-NonAlignedFrame-B-r16", "nr-rrc.interCA_NonAlignedFrame_B_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interCA_NonAlignedFrame_B_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkTxDC_TwoCarrierReport_r16,
      { "uplinkTxDC-TwoCarrierReport-r16", "nr-rrc.uplinkTxDC_TwoCarrierReport_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxDC_TwoCarrierReport_r16_vals), 0,
        "T_uplinkTxDC_TwoCarrierReport_r16", HFILL }},
    { &hf_nr_rrc_maxUpTo3Diff_NumerologiesConfigSinglePUCCH_grp_r16,
      { "maxUpTo3Diff-NumerologiesConfigSinglePUCCH-grp-r16", "nr-rrc.maxUpTo3Diff_NumerologiesConfigSinglePUCCH_grp_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Grp_CarrierTypes_r16", HFILL }},
    { &hf_nr_rrc_maxUpTo4Diff_NumerologiesConfigSinglePUCCH_grp_r16,
      { "maxUpTo4Diff-NumerologiesConfigSinglePUCCH-grp-r16", "nr-rrc.maxUpTo4Diff_NumerologiesConfigSinglePUCCH_grp_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Grp_CarrierTypes_r16", HFILL }},
    { &hf_nr_rrc_twoPUCCH_Grp_ConfigurationsList_r16,
      { "twoPUCCH-Grp-ConfigurationsList-r16", "nr-rrc.twoPUCCH_Grp_ConfigurationsList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16", HFILL }},
    { &hf_nr_rrc_twoPUCCH_Grp_ConfigurationsList_r16_item,
      { "TwoPUCCH-Grp-Configurations-r16", "nr-rrc.TwoPUCCH_Grp_Configurations_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16,
      { "diffNumerologyAcrossPUCCH-Group-CarrierTypes-r16", "nr-rrc.diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyAcrossPUCCH_Group_CarrierTypes_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16,
      { "diffNumerologyWithinPUCCH-GroupSmallerSCS-CarrierTypes-r16", "nr-rrc.diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS_CarrierTypes_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16,
      { "diffNumerologyWithinPUCCH-GroupLargerSCS-CarrierTypes-r16", "nr-rrc.diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_CarrierTypes_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringCA_NonAlignedSpan_r16,
      { "pdcch-MonitoringCA-NonAlignedSpan-r16", "nr-rrc.pdcch_MonitoringCA_NonAlignedSpan_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16,
      { "pdcch-BlindDetectionCA-Mixed-NonAlignedSpan-r16", "nr-rrc.pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportingCrossPUCCH_Grp_r16,
      { "csi-ReportingCrossPUCCH-Grp-r16", "nr-rrc.csi_ReportingCrossPUCCH_Grp_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_computationTimeForA_CSI_r16,
      { "computationTimeForA-CSI-r16", "nr-rrc.computationTimeForA_CSI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_computationTimeForA_CSI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalSymbols_r16,
      { "additionalSymbols-r16", "nr-rrc.additionalSymbols_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz_additionalSymbols_r16,
      { "scs-15kHz-additionalSymbols-r16", "nr-rrc.scs_15kHz_additionalSymbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_additionalSymbols_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_30kHz_additionalSymbols_r16,
      { "scs-30kHz-additionalSymbols-r16", "nr-rrc.scs_30kHz_additionalSymbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_additionalSymbols_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_60kHz_additionalSymbols_r16,
      { "scs-60kHz-additionalSymbols-r16", "nr-rrc.scs_60kHz_additionalSymbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_additionalSymbols_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_120kHz_additionalSymbols_r16,
      { "scs-120kHz-additionalSymbols-r16", "nr-rrc.scs_120kHz_additionalSymbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_additionalSymbols_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_CSI_ReportingOnPUCCH_r16,
      { "sp-CSI-ReportingOnPUCCH-r16", "nr-rrc.sp_CSI_ReportingOnPUCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportingOnPUCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_CSI_ReportingOnPUSCH_r16,
      { "sp-CSI-ReportingOnPUSCH-r16", "nr-rrc.sp_CSI_ReportingOnPUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportingOnPUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_carrierTypePairList_r16,
      { "carrierTypePairList-r16", "nr-rrc.carrierTypePairList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16", HFILL }},
    { &hf_nr_rrc_carrierTypePairList_r16_item,
      { "CarrierTypePair-r16", "nr-rrc.CarrierTypePair_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMixedList_r16,
      { "pdcch-BlindDetectionMixedList-r16", "nr-rrc.pdcch_BlindDetectionMixedList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMixedList_r16_item,
      { "PDCCH-BlindDetectionMixedList-r16", "nr-rrc.PDCCH_BlindDetectionMixedList_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookParametersfetype2PerBC_r17,
      { "codebookParametersfetype2PerBC-r17", "nr-rrc.codebookParametersfetype2PerBC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_demodulationEnhancementCA_r17,
      { "demodulationEnhancementCA-r17", "nr-rrc.demodulationEnhancementCA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_demodulationEnhancementCA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_interBandCA_PC2_r17,
      { "maxUplinkDutyCycle-interBandCA-PC2-r17", "nr-rrc.maxUplinkDutyCycle_interBandCA_PC2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_interBandCA_PC2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_SULcombination_PC2_r17,
      { "maxUplinkDutyCycle-SULcombination-PC2-r17", "nr-rrc.maxUplinkDutyCycle_SULcombination_PC2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_SULcombination_PC2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamManagementType_CBM_r17,
      { "beamManagementType-CBM-r17", "nr-rrc.beamManagementType_CBM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamManagementType_CBM_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_parallelTxPUCCH_PUSCH_r17,
      { "parallelTxPUCCH-PUSCH-r17", "nr-rrc.parallelTxPUCCH_PUSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxPUCCH_PUSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookComboParameterMixedTypePerBC_r17,
      { "codebookComboParameterMixedTypePerBC-r17", "nr-rrc.codebookComboParameterMixedTypePerBC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_CSI_EnhancementPerBC_r17,
      { "mTRP-CSI-EnhancementPerBC-r17", "nr-rrc.mTRP_CSI_EnhancementPerBC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumNZP_CSI_RS_r17,
      { "maxNumNZP-CSI-RS-r17", "nr-rrc.maxNumNZP_CSI_RS_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_8", HFILL }},
    { &hf_nr_rrc_cSI_Report_mode_r17,
      { "cSI-Report-mode-r17", "nr-rrc.cSI_Report_mode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cSI_Report_mode_r17_vals), 0,
        "T_cSI_Report_mode_r17", HFILL }},
    { &hf_nr_rrc_supportedComboAcrossCCs_r17,
      { "supportedComboAcrossCCs-r17", "nr-rrc.supportedComboAcrossCCs_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17", HFILL }},
    { &hf_nr_rrc_supportedComboAcrossCCs_r17_item,
      { "CSI-MultiTRP-SupportedCombinations-r17", "nr-rrc.CSI_MultiTRP_SupportedCombinations_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookMode_NCJT_r17,
      { "codebookMode-NCJT-r17", "nr-rrc.codebookMode_NCJT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookMode_NCJT_r17_vals), 0,
        "T_codebookMode_NCJT_r17", HFILL }},
    { &hf_nr_rrc_codebookComboParameterMultiTRP_PerBC_r17,
      { "codebookComboParameterMultiTRP-PerBC-r17", "nr-rrc.codebookComboParameterMultiTRP_PerBC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCC_32_DL_HARQ_ProcessFR2_2_r17,
      { "maxCC-32-DL-HARQ-ProcessFR2-2-r17", "nr-rrc.maxCC_32_DL_HARQ_ProcessFR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCC_32_DL_HARQ_ProcessFR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCC_32_UL_HARQ_ProcessFR2_2_r17,
      { "maxCC-32-UL-HARQ-ProcessFR2-2-r17", "nr-rrc.maxCC_32_UL_HARQ_ProcessFR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCC_32_UL_HARQ_ProcessFR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingSCell_SpCellTypeB_r17,
      { "crossCarrierSchedulingSCell-SpCellTypeB-r17", "nr-rrc.crossCarrierSchedulingSCell_SpCellTypeB_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CrossCarrierSchedulingSCell_SpCell_r17", HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingSCell_SpCellTypeA_r17,
      { "crossCarrierSchedulingSCell-SpCellTypeA-r17", "nr-rrc.crossCarrierSchedulingSCell_SpCellTypeA_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CrossCarrierSchedulingSCell_SpCell_r17", HFILL }},
    { &hf_nr_rrc_dci_FormatsPCellPSCellUSS_Sets_r17,
      { "dci-FormatsPCellPSCellUSS-Sets-r17", "nr-rrc.dci_FormatsPCellPSCellUSS_Sets_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_FormatsPCellPSCellUSS_Sets_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_disablingScalingFactorDeactSCell_r17,
      { "disablingScalingFactorDeactSCell-r17", "nr-rrc.disablingScalingFactorDeactSCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_disablingScalingFactorDeactSCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_disablingScalingFactorDormantSCell_r17,
      { "disablingScalingFactorDormantSCell-r17", "nr-rrc.disablingScalingFactorDormantSCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_disablingScalingFactorDormantSCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_AlignedFrameBoundaries_r17,
      { "non-AlignedFrameBoundaries-r17", "nr-rrc.non_AlignedFrameBoundaries_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs15kHz_15kHz_r17,
      { "scs15kHz-15kHz-r17", "nr-rrc.scs15kHz_15kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_496", HFILL }},
    { &hf_nr_rrc_scs15kHz_30kHz_r17,
      { "scs15kHz-30kHz-r17", "nr-rrc.scs15kHz_30kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_496", HFILL }},
    { &hf_nr_rrc_scs15kHz_60kHz_r17,
      { "scs15kHz-60kHz-r17", "nr-rrc.scs15kHz_60kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_496", HFILL }},
    { &hf_nr_rrc_scs30kHz_30kHz_r17,
      { "scs30kHz-30kHz-r17", "nr-rrc.scs30kHz_30kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_496", HFILL }},
    { &hf_nr_rrc_scs30kHz_60kHz_r17,
      { "scs30kHz-60kHz-r17", "nr-rrc.scs30kHz_60kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_496", HFILL }},
    { &hf_nr_rrc_scs60kHz_60kHz_r17,
      { "scs60kHz-60kHz-r17", "nr-rrc.scs60kHz_60kHz_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_496", HFILL }},
    { &hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH_intraBand_r17,
      { "parallelTxSRS-PUCCH-PUSCH-intraBand-r17", "nr-rrc.parallelTxSRS_PUCCH_PUSCH_intraBand_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_intraBand_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17,
      { "parallelTxPRACH-SRS-PUCCH-PUSCH-intraBand-r17", "nr-rrc.parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_intraBand_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStaticPUCCH_CellSwitchSingleGroup_r17,
      { "semiStaticPUCCH-CellSwitchSingleGroup-r17", "nr-rrc.semiStaticPUCCH_CellSwitchSingleGroup_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Group_r17,
      { "pucch-Group-r17", "nr-rrc.pucch_Group_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Group_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Group_Config_r17,
      { "pucch-Group-Config-r17", "nr-rrc.pucch_Group_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStaticPUCCH_CellSwitchTwoGroups_r17,
      { "semiStaticPUCCH-CellSwitchTwoGroups-r17", "nr-rrc.semiStaticPUCCH_CellSwitchTwoGroups_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17", HFILL }},
    { &hf_nr_rrc_semiStaticPUCCH_CellSwitchTwoGroups_r17_item,
      { "TwoPUCCH-Grp-Configurations-r17", "nr-rrc.TwoPUCCH_Grp_Configurations_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17,
      { "dynamicPUCCH-CellSwitchSameLengthSingleGroup-r17", "nr-rrc.dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Group_r17_01,
      { "pucch-Group-r17", "nr-rrc.pucch_Group_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Group_r17_01_vals), 0,
        "T_pucch_Group_r17_01", HFILL }},
    { &hf_nr_rrc_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17,
      { "dynamicPUCCH-CellSwitchDiffLengthSingleGroup-r17", "nr-rrc.dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Group_r17_02,
      { "pucch-Group-r17", "nr-rrc.pucch_Group_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Group_r17_02_vals), 0,
        "T_pucch_Group_r17_02", HFILL }},
    { &hf_nr_rrc_dynamicPUCCH_CellSwitchSameLengthTwoGroups_r17,
      { "dynamicPUCCH-CellSwitchSameLengthTwoGroups-r17", "nr-rrc.dynamicPUCCH_CellSwitchSameLengthTwoGroups_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17", HFILL }},
    { &hf_nr_rrc_dynamicPUCCH_CellSwitchSameLengthTwoGroups_r17_item,
      { "TwoPUCCH-Grp-Configurations-r17", "nr-rrc.TwoPUCCH_Grp_Configurations_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicPUCCH_CellSwitchDiffLengthTwoGroups_r17,
      { "dynamicPUCCH-CellSwitchDiffLengthTwoGroups-r17", "nr-rrc.dynamicPUCCH_CellSwitchDiffLengthTwoGroups_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17", HFILL }},
    { &hf_nr_rrc_dynamicPUCCH_CellSwitchDiffLengthTwoGroups_r17_item,
      { "TwoPUCCH-Grp-Configurations-r17", "nr-rrc.TwoPUCCH_Grp_Configurations_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ack_NACK_FeedbackForMulticast_r17,
      { "ack-NACK-FeedbackForMulticast-r17", "nr-rrc.ack_NACK_FeedbackForMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ack_NACK_FeedbackForMulticast_r17_vals), 0,
        "T_ack_NACK_FeedbackForMulticast_r17", HFILL }},
    { &hf_nr_rrc_ptp_Retx_Multicast_r17,
      { "ptp-Retx-Multicast-r17", "nr-rrc.ptp_Retx_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptp_Retx_Multicast_r17_vals), 0,
        "T_ptp_Retx_Multicast_r17", HFILL }},
    { &hf_nr_rrc_nack_OnlyFeedbackForMulticast_r17,
      { "nack-OnlyFeedbackForMulticast-r17", "nr-rrc.nack_OnlyFeedbackForMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nack_OnlyFeedbackForMulticast_r17_vals), 0,
        "T_nack_OnlyFeedbackForMulticast_r17", HFILL }},
    { &hf_nr_rrc_nack_OnlyFeedbackSpecificResourceForMulticast_r17,
      { "nack-OnlyFeedbackSpecificResourceForMulticast-r17", "nr-rrc.nack_OnlyFeedbackSpecificResourceForMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nack_OnlyFeedbackSpecificResourceForMulticast_r17_vals), 0,
        "T_nack_OnlyFeedbackSpecificResourceForMulticast_r17", HFILL }},
    { &hf_nr_rrc_ack_NACK_FeedbackForSPS_Multicast_r17,
      { "ack-NACK-FeedbackForSPS-Multicast-r17", "nr-rrc.ack_NACK_FeedbackForSPS_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ack_NACK_FeedbackForSPS_Multicast_r17_vals), 0,
        "T_ack_NACK_FeedbackForSPS_Multicast_r17", HFILL }},
    { &hf_nr_rrc_ptp_Retx_SPS_Multicast_r17,
      { "ptp-Retx-SPS-Multicast-r17", "nr-rrc.ptp_Retx_SPS_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptp_Retx_SPS_Multicast_r17_vals), 0,
        "T_ptp_Retx_SPS_Multicast_r17", HFILL }},
    { &hf_nr_rrc_higherPowerLimit_r17,
      { "higherPowerLimit-r17", "nr-rrc.higherPowerLimit_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_higherPowerLimit_r17_vals), 0,
        "T_higherPowerLimit_r17", HFILL }},
    { &hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17,
      { "parallelTxMsgA-SRS-PUCCH-PUSCH-intraBand-r17", "nr-rrc.parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_intraBand_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringCA_r17,
      { "pdcch-MonitoringCA-r17", "nr-rrc.pdcch_MonitoringCA_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_4_16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_SCG_List_r17,
      { "pdcch-BlindDetectionMCG-SCG-List-r17", "nr-rrc.pdcch_BlindDetectionMCG_SCG_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_SCG_List_r17_item,
      { "PDCCH-BlindDetectionMCG-SCG-r17", "nr-rrc.PDCCH_BlindDetectionMCG_SCG_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMixedList1_r17,
      { "pdcch-BlindDetectionMixedList1-r17", "nr-rrc.pdcch_BlindDetectionMixedList1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMixedList1_r17_item,
      { "PDCCH-BlindDetectionMixed-r17", "nr-rrc.PDCCH_BlindDetectionMixed_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMixedList2_r17,
      { "pdcch-BlindDetectionMixedList2-r17", "nr-rrc.pdcch_BlindDetectionMixedList2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMixedList2_r17_item,
      { "PDCCH-BlindDetectionMixed-r17", "nr-rrc.PDCCH_BlindDetectionMixed_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMixedList3_r17,
      { "pdcch-BlindDetectionMixedList3-r17", "nr-rrc.pdcch_BlindDetectionMixedList3_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMixedList3_r17_item,
      { "PDCCH-BlindDetectionMixed1-r17", "nr-rrc.PDCCH_BlindDetectionMixed1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeAPerBC_r17,
      { "dmrs-BundlingPUSCH-RepTypeAPerBC-r17", "nr-rrc.dmrs_BundlingPUSCH_RepTypeAPerBC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUSCH_RepTypeAPerBC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeBPerBC_r17,
      { "dmrs-BundlingPUSCH-RepTypeBPerBC-r17", "nr-rrc.dmrs_BundlingPUSCH_RepTypeBPerBC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUSCH_RepTypeBPerBC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUSCH_multiSlotPerBC_r17,
      { "dmrs-BundlingPUSCH-multiSlotPerBC-r17", "nr-rrc.dmrs_BundlingPUSCH_multiSlotPerBC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUSCH_multiSlotPerBC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUCCH_RepPerBC_r17,
      { "dmrs-BundlingPUCCH-RepPerBC-r17", "nr-rrc.dmrs_BundlingPUCCH_RepPerBC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUCCH_RepPerBC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingRestartPerBC_r17,
      { "dmrs-BundlingRestartPerBC-r17", "nr-rrc.dmrs_BundlingRestartPerBC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingRestartPerBC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingNonBackToBackTX_PerBC_r17,
      { "dmrs-BundlingNonBackToBackTX-PerBC-r17", "nr-rrc.dmrs_BundlingNonBackToBackTX_PerBC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingNonBackToBackTX_PerBC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_stayOnTargetCC_SRS_CarrierSwitch_r17,
      { "stayOnTargetCC-SRS-CarrierSwitch-r17", "nr-rrc.stayOnTargetCC_SRS_CarrierSwitch_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_stayOnTargetCC_SRS_CarrierSwitch_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17,
      { "fdm-CodebookForMux-UnicastMulticastHARQ-ACK-r17", "nr-rrc.fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdm_CodebookForMux_UnicastMulticastHARQ_ACK_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17,
      { "mode2-TDM-CodebookForMux-UnicastMulticastHARQ-ACK-r17", "nr-rrc.mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mode2_TDM_CodebookForMux_UnicastMulticastHARQ_ACK_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mode1_ForType1_CodebookGeneration_r17,
      { "mode1-ForType1-CodebookGeneration-r17", "nr-rrc.mode1_ForType1_CodebookGeneration_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mode1_ForType1_CodebookGeneration_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17,
      { "nack-OnlyFeedbackSpecificResourceForSPS-Multicast-r17", "nr-rrc.nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17_vals), 0,
        "T_nack_OnlyFeedbackSpecificResourceForSPS_Multicast_r17", HFILL }},
    { &hf_nr_rrc_multiPUCCH_ConfigForMulticast_r17,
      { "multiPUCCH-ConfigForMulticast-r17", "nr-rrc.multiPUCCH_ConfigForMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiPUCCH_ConfigForMulticast_r17_vals), 0,
        "T_multiPUCCH_ConfigForMulticast_r17", HFILL }},
    { &hf_nr_rrc_pucch_ConfigForSPS_Multicast_r17,
      { "pucch-ConfigForSPS-Multicast-r17", "nr-rrc.pucch_ConfigForSPS_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigForSPS_Multicast_r17_vals), 0,
        "T_pucch_ConfigForSPS_Multicast_r17", HFILL }},
    { &hf_nr_rrc_maxNumberG_RNTI_HARQ_ACK_Codebook_r17,
      { "maxNumberG-RNTI-HARQ-ACK-Codebook-r17", "nr-rrc.maxNumberG_RNTI_HARQ_ACK_Codebook_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_mux_HARQ_ACK_UnicastMulticast_r17,
      { "mux-HARQ-ACK-UnicastMulticast-r17", "nr-rrc.mux_HARQ_ACK_UnicastMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_HARQ_ACK_UnicastMulticast_r17_vals), 0,
        "T_mux_HARQ_ACK_UnicastMulticast_r17", HFILL }},
    { &hf_nr_rrc_nack_OnlyFeedbackForSPS_Multicast_r17,
      { "nack-OnlyFeedbackForSPS-Multicast-r17", "nr-rrc.nack_OnlyFeedbackForSPS_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nack_OnlyFeedbackForSPS_Multicast_r17_vals), 0,
        "T_nack_OnlyFeedbackForSPS_Multicast_r17", HFILL }},
    { &hf_nr_rrc_singlePUCCH_ConfigForMulticast_r17,
      { "singlePUCCH-ConfigForMulticast-r17", "nr-rrc.singlePUCCH_ConfigForMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singlePUCCH_ConfigForMulticast_r17_vals), 0,
        "T_singlePUCCH_ConfigForMulticast_r17", HFILL }},
    { &hf_nr_rrc_supportedSCS_Combinations_r17,
      { "supportedSCS-Combinations-r17", "nr-rrc.supportedSCS_Combinations_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs15kHz_15kHz_r17_01,
      { "scs15kHz-15kHz-r17", "nr-rrc.scs15kHz_15kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs15kHz_15kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs15kHz_30kHz_r17_01,
      { "scs15kHz-30kHz-r17", "nr-rrc.scs15kHz_30kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs15kHz_30kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs15kHz_60kHz_r17_01,
      { "scs15kHz-60kHz-r17", "nr-rrc.scs15kHz_60kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs15kHz_60kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringOccasion_r17,
      { "pdcch-MonitoringOccasion-r17", "nr-rrc.pdcch_MonitoringOccasion_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringOccasion_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_MixedExt_r16,
      { "pdcch-BlindDetectionCA-MixedExt-r16", "nr-rrc.pdcch_BlindDetectionCA_MixedExt_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetectionCA_MixedExt_r16_vals), 0,
        "T_pdcch_BlindDetectionCA_MixedExt_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_v16a0,
      { "pdcch-BlindDetectionCA-Mixed-v16a0", "nr-rrc.pdcch_BlindDetectionCA_Mixed_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCA_MixedExt_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_v16a0,
      { "pdcch-BlindDetectionCA-Mixed-NonAlignedSpan-v16a0", "nr-rrc.pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCA_MixedExt_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCG_UE_MixedExt_r16,
      { "pdcch-BlindDetectionCG-UE-MixedExt-r16", "nr-rrc.pdcch_BlindDetectionCG_UE_MixedExt_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_pdcch_BlindDetectionCG_UE_MixedExt_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_v16a0,
      { "pdcch-BlindDetectionMCG-UE-Mixed-v16a0", "nr-rrc.pdcch_BlindDetectionMCG_UE_Mixed_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCG_UE_MixedExt_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_v16a0,
      { "pdcch-BlindDetectionSCG-UE-Mixed-v16a0", "nr-rrc.pdcch_BlindDetectionSCG_UE_Mixed_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCG_UE_MixedExt_r16", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCG_UE1_r16,
      { "pdcch-BlindDetectionCG-UE1-r16", "nr-rrc.pdcch_BlindDetectionCG_UE1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCG_UE2_r16,
      { "pdcch-BlindDetectionCG-UE2-r16", "nr-rrc.pdcch_BlindDetectionCG_UE2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_r17,
      { "pdcch-BlindDetectionMCG-UE-r17", "nr-rrc.pdcch_BlindDetectionMCG_UE_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_r17,
      { "pdcch-BlindDetectionSCG-UE-r17", "nr-rrc.pdcch_BlindDetectionSCG_UE_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed_r17,
      { "pdcch-BlindDetectionCA-Mixed-r17", "nr-rrc.pdcch_BlindDetectionCA_Mixed_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCG_UE_Mixed_r17,
      { "pdcch-BlindDetectionCG-UE-Mixed-r17", "nr-rrc.pdcch_BlindDetectionCG_UE_Mixed_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed_v17,
      { "pdcch-BlindDetectionMCG-UE-Mixed-v17", "nr-rrc.pdcch_BlindDetectionMCG_UE_Mixed_v17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCG_UE_Mixed_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed_v17,
      { "pdcch-BlindDetectionSCG-UE-Mixed-v17", "nr-rrc.pdcch_BlindDetectionSCG_UE_Mixed_v17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCG_UE_Mixed_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCG_UE1_r17,
      { "pdcch-BlindDetectionCG-UE1-r17", "nr-rrc.pdcch_BlindDetectionCG_UE1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCG_UE2_r17,
      { "pdcch-BlindDetectionCG-UE2-r17", "nr-rrc.pdcch_BlindDetectionCG_UE2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA_Mixed1_r17,
      { "pdcch-BlindDetectionCA-Mixed1-r17", "nr-rrc.pdcch_BlindDetectionCA_Mixed1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCG_UE_Mixed1_r17,
      { "pdcch-BlindDetectionCG-UE-Mixed1-r17", "nr-rrc.pdcch_BlindDetectionCG_UE_Mixed1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE_Mixed1_v17,
      { "pdcch-BlindDetectionMCG-UE-Mixed1-v17", "nr-rrc.pdcch_BlindDetectionMCG_UE_Mixed1_v17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCG_UE_Mixed1_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE_Mixed1_v17,
      { "pdcch-BlindDetectionSCG-UE-Mixed1-v17", "nr-rrc.pdcch_BlindDetectionSCG_UE_Mixed1_v17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_BlindDetectionCG_UE_Mixed1_r17", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCG_UE3_r17,
      { "pdcch-BlindDetectionCG-UE3-r17", "nr-rrc.pdcch_BlindDetectionCG_UE3_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_supportSRS_xTyR_xLessThanY_r16,
      { "supportSRS-xTyR-xLessThanY-r16", "nr-rrc.supportSRS_xTyR_xLessThanY_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportSRS_xTyR_xLessThanY_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportSRS_xTyR_xEqualToY_r16,
      { "supportSRS-xTyR-xEqualToY-r16", "nr-rrc.supportSRS_xTyR_xEqualToY_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportSRS_xTyR_xEqualToY_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportSRS_AntennaSwitching_r16,
      { "supportSRS-AntennaSwitching-r16", "nr-rrc.supportSRS_AntennaSwitching_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportSRS_AntennaSwitching_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_PrimaryGroupMapping_r16,
      { "pucch-PrimaryGroupMapping-r16", "nr-rrc.pucch_PrimaryGroupMapping_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TwoPUCCH_Grp_ConfigParams_r16", HFILL }},
    { &hf_nr_rrc_pucch_SecondaryGroupMapping_r16,
      { "pucch-SecondaryGroupMapping-r16", "nr-rrc.pucch_SecondaryGroupMapping_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TwoPUCCH_Grp_ConfigParams_r16", HFILL }},
    { &hf_nr_rrc_primaryPUCCH_GroupConfig_r17,
      { "primaryPUCCH-GroupConfig-r17", "nr-rrc.primaryPUCCH_GroupConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Group_Config_r17", HFILL }},
    { &hf_nr_rrc_secondaryPUCCH_GroupConfig_r17,
      { "secondaryPUCCH-GroupConfig-r17", "nr-rrc.secondaryPUCCH_GroupConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Group_Config_r17", HFILL }},
    { &hf_nr_rrc_pucch_GroupMapping_r16,
      { "pucch-GroupMapping-r16", "nr-rrc.pucch_GroupMapping_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Grp_CarrierTypes_r16", HFILL }},
    { &hf_nr_rrc_pucch_TX_r16,
      { "pucch-TX-r16", "nr-rrc.pucch_TX_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Grp_CarrierTypes_r16", HFILL }},
    { &hf_nr_rrc_carrierForCSI_Measurement_r16,
      { "carrierForCSI-Measurement-r16", "nr-rrc.carrierForCSI_Measurement_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Grp_CarrierTypes_r16", HFILL }},
    { &hf_nr_rrc_carrierForCSI_Reporting_r16,
      { "carrierForCSI-Reporting-r16", "nr-rrc.carrierForCSI_Reporting_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PUCCH_Grp_CarrierTypes_r16", HFILL }},
    { &hf_nr_rrc_fr1_NonSharedTDD_r16,
      { "fr1-NonSharedTDD-r16", "nr-rrc.fr1_NonSharedTDD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_NonSharedTDD_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_SharedTDD_r16,
      { "fr1-SharedTDD-r16", "nr-rrc.fr1_SharedTDD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_SharedTDD_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_NonSharedFDD_r16,
      { "fr1-NonSharedFDD-r16", "nr-rrc.fr1_NonSharedFDD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_NonSharedFDD_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr2_r16,
      { "fr2-r16", "nr-rrc.fr2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_FR1_NonSharedTDD_r17,
      { "fr1-FR1-NonSharedTDD-r17", "nr-rrc.fr1_FR1_NonSharedTDD_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_FR1_NonSharedTDD_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr2_FR2_NonSharedTDD_r17,
      { "fr2-FR2-NonSharedTDD-r17", "nr-rrc.fr2_FR2_NonSharedTDD_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_FR2_NonSharedTDD_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_FR2_NonSharedTDD_r17,
      { "fr1-FR2-NonSharedTDD-r17", "nr-rrc.fr1_FR2_NonSharedTDD_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_FR2_NonSharedTDD_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC,
      { "ca-ParametersNR-ForDC", "nr-rrc.ca_ParametersNR_ForDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1540,
      { "ca-ParametersNR-ForDC-v1540", "nr-rrc.ca_ParametersNR_ForDC_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1540", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1550,
      { "ca-ParametersNR-ForDC-v1550", "nr-rrc.ca_ParametersNR_ForDC_v1550_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1550", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1560,
      { "ca-ParametersNR-ForDC-v1560", "nr-rrc.ca_ParametersNR_ForDC_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1560", HFILL }},
    { &hf_nr_rrc_featureSetCombinationDC,
      { "featureSetCombinationDC", "nr-rrc.featureSetCombinationDC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetCombinationId", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v15g0,
      { "ca-ParametersNR-ForDC-v15g0", "nr-rrc.ca_ParametersNR_ForDC_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v15g0", HFILL }},
    { &hf_nr_rrc_intraFR_NR_DC_PwrSharingMode1_r16,
      { "intraFR-NR-DC-PwrSharingMode1-r16", "nr-rrc.intraFR_NR_DC_PwrSharingMode1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFR_NR_DC_PwrSharingMode1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFR_NR_DC_PwrSharingMode2_r16,
      { "intraFR-NR-DC-PwrSharingMode2-r16", "nr-rrc.intraFR_NR_DC_PwrSharingMode2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFR_NR_DC_PwrSharingMode2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFR_NR_DC_DynamicPwrSharing_r16,
      { "intraFR-NR-DC-DynamicPwrSharing-r16", "nr-rrc.intraFR_NR_DC_DynamicPwrSharing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFR_NR_DC_DynamicPwrSharing_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_asyncNRDC_r16,
      { "asyncNRDC-r16", "nr-rrc.asyncNRDC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_asyncNRDC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1610,
      { "ca-ParametersNR-ForDC-v1610", "nr-rrc.ca_ParametersNR_ForDC_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1610", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1630,
      { "ca-ParametersNR-ForDC-v1630", "nr-rrc.ca_ParametersNR_ForDC_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1630", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1640,
      { "ca-ParametersNR-ForDC-v1640", "nr-rrc.ca_ParametersNR_ForDC_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1640", HFILL }},
    { &hf_nr_rrc_supportedCellGrouping_r16,
      { "supportedCellGrouping-r16", "nr-rrc.supportedCellGrouping_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_maxCellGroupings_r16", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v16a0,
      { "ca-ParametersNR-ForDC-v16a0", "nr-rrc.ca_ParametersNR_ForDC_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v16a0", HFILL }},
    { &hf_nr_rrc_simultaneousRxTx_IAB_MultipleParents_r17,
      { "simultaneousRxTx-IAB-MultipleParents-r17", "nr-rrc.simultaneousRxTx_IAB_MultipleParents_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTx_IAB_MultipleParents_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condPSCellAdditionNRDC_r17,
      { "condPSCellAdditionNRDC-r17", "nr-rrc.condPSCellAdditionNRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellAdditionNRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_ActivationDeactivationNRDC_r17,
      { "scg-ActivationDeactivationNRDC-r17", "nr-rrc.scg_ActivationDeactivationNRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_ActivationDeactivationNRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_ActivationDeactivationResumeNRDC_r17,
      { "scg-ActivationDeactivationResumeNRDC-r17", "nr-rrc.scg_ActivationDeactivationResumeNRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_ActivationDeactivationResumeNRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamManagementType_CBM_r17_01,
      { "beamManagementType-CBM-r17", "nr-rrc.beamManagementType_CBM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamManagementType_CBM_r17_01_vals), 0,
        "T_beamManagementType_CBM_r17_01", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1700,
      { "ca-ParametersNR-ForDC-v1700", "nr-rrc.ca_ParametersNR_ForDC_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1700", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1720,
      { "ca-ParametersNR-ForDC-v1720", "nr-rrc.ca_ParametersNR_ForDC_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1720", HFILL }},
    { &hf_nr_rrc_ca_ParametersNR_ForDC_v1730,
      { "ca-ParametersNR-ForDC-v1730", "nr-rrc.ca_ParametersNR_ForDC_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CA_ParametersNR_v1730", HFILL }},
    { &hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD,
      { "fr1fdd-FR1TDD-CA-SpCellOnFR1FDD", "nr-rrc.fr1fdd_FR1TDD_CA_SpCellOnFR1FDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD,
      { "fr1fdd-FR1TDD-CA-SpCellOnFR1TDD", "nr-rrc.fr1fdd_FR1TDD_CA_SpCellOnFR1TDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD,
      { "fr1fdd-FR2TDD-CA-SpCellOnFR1FDD", "nr-rrc.fr1fdd_FR2TDD_CA_SpCellOnFR1FDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD,
      { "fr1fdd-FR2TDD-CA-SpCellOnFR2TDD", "nr-rrc.fr1fdd_FR2TDD_CA_SpCellOnFR2TDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD,
      { "fr1tdd-FR2TDD-CA-SpCellOnFR1TDD", "nr-rrc.fr1tdd_FR2TDD_CA_SpCellOnFR1TDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD,
      { "fr1tdd-FR2TDD-CA-SpCellOnFR2TDD", "nr-rrc.fr1tdd_FR2TDD_CA_SpCellOnFR2TDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD,
      { "fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1FDD", "nr-rrc.fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD,
      { "fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1TDD", "nr-rrc.fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD,
      { "fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR2TDD", "nr-rrc.fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_04,
      { "type1", "nr-rrc.type1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_type1_04", HFILL }},
    { &hf_nr_rrc_singlePanel,
      { "singlePanel", "nr-rrc.singlePanel_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceList,
      { "supportedCSI-RS-ResourceList", "nr-rrc.supportedCSI_RS_ResourceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource", HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceList_item,
      { "SupportedCSI-RS-Resource", "nr-rrc.SupportedCSI_RS_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_modes,
      { "modes", "nr-rrc.modes",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modes_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet,
      { "maxNumberCSI-RS-PerResourceSet", "nr-rrc.maxNumberCSI_RS_PerResourceSet",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_multiPanel,
      { "multiPanel", "nr-rrc.multiPanel_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_modes_01,
      { "modes", "nr-rrc.modes",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modes_01_vals), 0,
        "T_modes_01", HFILL }},
    { &hf_nr_rrc_nrofPanels,
      { "nrofPanels", "nr-rrc.nrofPanels",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPanels_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_03,
      { "type2", "nr-rrc.type2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_type2_03", HFILL }},
    { &hf_nr_rrc_parameterLx,
      { "parameterLx", "nr-rrc.parameterLx",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_4", HFILL }},
    { &hf_nr_rrc_amplitudeScalingType,
      { "amplitudeScalingType", "nr-rrc.amplitudeScalingType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_amplitudeSubsetRestriction,
      { "amplitudeSubsetRestriction", "nr-rrc.amplitudeSubsetRestriction",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeSubsetRestriction_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_PortSelection,
      { "type2-PortSelection", "nr-rrc.type2_PortSelection_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_amplitudeScalingType_01,
      { "amplitudeScalingType", "nr-rrc.amplitudeScalingType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_01_vals), 0,
        "T_amplitudeScalingType_01", HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAlt_r16,
      { "supportedCSI-RS-ResourceListAlt-r16", "nr-rrc.supportedCSI_RS_ResourceListAlt_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_supportedCSI_RS_ResourceListAlt_r16", HFILL }},
    { &hf_nr_rrc_type1_SinglePanel_r16,
      { "type1-SinglePanel-r16", "nr-rrc.type1_SinglePanel_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_SinglePanel_r16_item,
      { "type1-SinglePanel-r16 item", "nr-rrc.type1_SinglePanel_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1_MultiPanel_r16,
      { "type1-MultiPanel-r16", "nr-rrc.type1_MultiPanel_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_MultiPanel_r16_item,
      { "type1-MultiPanel-r16 item", "nr-rrc.type1_MultiPanel_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type2_r16,
      { "type2-r16", "nr-rrc.type2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_r16_item,
      { "type2-r16 item", "nr-rrc.type2_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type2_PortSelection_r16,
      { "type2-PortSelection-r16", "nr-rrc.type2_PortSelection_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_PortSelection_r16_item,
      { "type2-PortSelection-r16 item", "nr-rrc.type2_PortSelection_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_etype2_r16,
      { "etype2-r16", "nr-rrc.etype2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_etype2R1_r16,
      { "etype2R1-r16", "nr-rrc.etype2R1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_item,
      { "supportedCSI-RS-ResourceListAdd-r16 item", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_etype2R2_r16,
      { "etype2R2-r16", "nr-rrc.etype2R2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_01,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_01", HFILL }},
    { &hf_nr_rrc_paramComb7_8_r16,
      { "paramComb7-8-r16", "nr-rrc.paramComb7_8_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_paramComb7_8_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rank3_4_r16,
      { "rank3-4-r16", "nr-rrc.rank3_4_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rank3_4_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_amplitudeSubsetRestriction_r16,
      { "amplitudeSubsetRestriction-r16", "nr-rrc.amplitudeSubsetRestriction_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeSubsetRestriction_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_etype2_PS_r16,
      { "etype2-PS-r16", "nr-rrc.etype2_PS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_etype2R1_PortSelection_r16,
      { "etype2R1-PortSelection-r16", "nr-rrc.etype2R1_PortSelection_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_02,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_02", HFILL }},
    { &hf_nr_rrc_etype2R2_PortSelection_r16,
      { "etype2R2-PortSelection-r16", "nr-rrc.etype2R2_PortSelection_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_03,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_03", HFILL }},
    { &hf_nr_rrc_rank3_4_r16_01,
      { "rank3-4-r16", "nr-rrc.rank3_4_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rank3_4_r16_01_vals), 0,
        "T_rank3_4_r16_01", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_null_r16,
      { "type1SP-Type2-null-r16", "nr-rrc.type1SP_Type2_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_04,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_04", HFILL }},
    { &hf_nr_rrc_type1SP_Type2PS_null_r16,
      { "type1SP-Type2PS-null-r16", "nr-rrc.type1SP_Type2PS_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_05,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_05", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_null_r16,
      { "type1SP-eType2R1-null-r16", "nr-rrc.type1SP_eType2R1_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_06,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_06", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R2_null_r16,
      { "type1SP-eType2R2-null-r16", "nr-rrc.type1SP_eType2R2_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_07,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_07", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1PS_null_r16,
      { "type1SP-eType2R1PS-null-r16", "nr-rrc.type1SP_eType2R1PS_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_08,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_08", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R2PS_null_r16,
      { "type1SP-eType2R2PS-null-r16", "nr-rrc.type1SP_eType2R2PS_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_09,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_09", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_Type2PS_r16,
      { "type1SP-Type2-Type2PS-r16", "nr-rrc.type1SP_Type2_Type2PS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_10,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_10", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_null_r16,
      { "type1MP-Type2-null-r16", "nr-rrc.type1MP_Type2_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_11,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_11", HFILL }},
    { &hf_nr_rrc_type1MP_Type2PS_null_r16,
      { "type1MP-Type2PS-null-r16", "nr-rrc.type1MP_Type2PS_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_12,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_12", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_null_r16,
      { "type1MP-eType2R1-null-r16", "nr-rrc.type1MP_eType2R1_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_13,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_13", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R2_null_r16,
      { "type1MP-eType2R2-null-r16", "nr-rrc.type1MP_eType2R2_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_14,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_14", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1PS_null_r16,
      { "type1MP-eType2R1PS-null-r16", "nr-rrc.type1MP_eType2R1PS_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_15,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_15", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R2PS_null_r16,
      { "type1MP-eType2R2PS-null-r16", "nr-rrc.type1MP_eType2R2PS_null_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_16,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_16", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_Type2PS_r16,
      { "type1MP-Type2-Type2PS-r16", "nr-rrc.type1MP_Type2_Type2PS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_ResourceListAdd_r16_17,
      { "supportedCSI-RS-ResourceListAdd-r16", "nr-rrc.supportedCSI_RS_ResourceListAdd_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_supportedCSI_RS_ResourceListAdd_r16_17", HFILL }},
    { &hf_nr_rrc_fetype2basic_r17,
      { "fetype2basic-r17", "nr-rrc.fetype2basic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fetype2basic_r17_item,
      { "fetype2basic-r17 item", "nr-rrc.fetype2basic_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_fetype2R1_r17,
      { "fetype2R1-r17", "nr-rrc.fetype2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fetype2R1_r17_item,
      { "fetype2R1-r17 item", "nr-rrc.fetype2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_fetype2R2_r17,
      { "fetype2R2-r17", "nr-rrc.fetype2R2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fetype2R2_r17_item,
      { "fetype2R2-r17 item", "nr-rrc.fetype2R2_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_fetype2Rank3Rank4_r17,
      { "fetype2Rank3Rank4-r17", "nr-rrc.fetype2Rank3Rank4_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fetype2Rank3Rank4_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_null_r17,
      { "type1SP-feType2PS-null-r17", "nr-rrc.type1SP_feType2PS_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_null_r17_item,
      { "type1SP-feType2PS-null-r17 item", "nr-rrc.type1SP_feType2PS_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17,
      { "type1SP-feType2PS-M2R1-null-r17", "nr-rrc.type1SP_feType2PS_M2R1_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17_item,
      { "type1SP-feType2PS-M2R1-null-r17 item", "nr-rrc.type1SP_feType2PS_M2R1_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_M2R2_null_r1,
      { "type1SP-feType2PS-M2R2-null-r1", "nr-rrc.type1SP_feType2PS_M2R2_null_r1",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_M2R2_null_r1_item,
      { "type1SP-feType2PS-M2R2-null-r1 item", "nr-rrc.type1SP_feType2PS_M2R2_null_r1_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17,
      { "type1SP-Type2-feType2-PS-M1-r17", "nr-rrc.type1SP_Type2_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17_item,
      { "type1SP-Type2-feType2-PS-M1-r17 item", "nr-rrc.type1SP_Type2_feType2_PS_M1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17,
      { "type1SP-Type2-feType2-PS-M2R1-r17", "nr-rrc.type1SP_Type2_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17_item,
      { "type1SP-Type2-feType2-PS-M2R1-r17 item", "nr-rrc.type1SP_Type2_feType2_PS_M2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17,
      { "type1SP-eType2R1-feType2-PS-M1-r17", "nr-rrc.type1SP_eType2R1_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17_item,
      { "type1SP-eType2R1-feType2-PS-M1-r17 item", "nr-rrc.type1SP_eType2R1_feType2_PS_M1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17,
      { "type1SP-eType2R1-feType2-PS-M2R1-r17", "nr-rrc.type1SP_eType2R1_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17_item,
      { "type1SP-eType2R1-feType2-PS-M2R1-r17 item", "nr-rrc.type1SP_eType2R1_feType2_PS_M2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_null_r17,
      { "type1MP-feType2PS-null-r17", "nr-rrc.type1MP_feType2PS_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_null_r17_item,
      { "type1MP-feType2PS-null-r17 item", "nr-rrc.type1MP_feType2PS_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17,
      { "type1MP-feType2PS-M2R1-null-r17", "nr-rrc.type1MP_feType2PS_M2R1_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17_item,
      { "type1MP-feType2PS-M2R1-null-r17 item", "nr-rrc.type1MP_feType2PS_M2R1_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17,
      { "type1MP-feType2PS-M2R2-null-r17", "nr-rrc.type1MP_feType2PS_M2R2_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17_item,
      { "type1MP-feType2PS-M2R2-null-r17 item", "nr-rrc.type1MP_feType2PS_M2R2_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17,
      { "type1MP-Type2-feType2-PS-M1-r17", "nr-rrc.type1MP_Type2_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17_item,
      { "type1MP-Type2-feType2-PS-M1-r17 item", "nr-rrc.type1MP_Type2_feType2_PS_M1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17,
      { "type1MP-Type2-feType2-PS-M2R1-r17", "nr-rrc.type1MP_Type2_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17_item,
      { "type1MP-Type2-feType2-PS-M2R1-r17 item", "nr-rrc.type1MP_Type2_feType2_PS_M2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17,
      { "type1MP-eType2R1-feType2-PS-M1-r17", "nr-rrc.type1MP_eType2R1_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17_item,
      { "type1MP-eType2R1-feType2-PS-M1-r17 item", "nr-rrc.type1MP_eType2R1_feType2_PS_M1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17,
      { "type1MP-eType2R1-feType2-PS-M2R1-r17", "nr-rrc.type1MP_eType2R1_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17_item,
      { "type1MP-eType2R1-feType2-PS-M2R1-r17 item", "nr-rrc.type1MP_eType2R1_feType2_PS_M2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_null_null,
      { "nCJT-null-null", "nr-rrc.nCJT_null_null",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_null_null", HFILL }},
    { &hf_nr_rrc_nCJT_null_null_item,
      { "nCJT-null-null item", "nr-rrc.nCJT_null_null_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_null_null,
      { "nCJT1SP-null-null", "nr-rrc.nCJT1SP_null_null",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_null_null_item,
      { "nCJT1SP-null-null item", "nr-rrc.nCJT1SP_null_null_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_null_r16,
      { "nCJT-Type2-null-r16", "nr-rrc.nCJT_Type2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2_null_r16", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_null_r16_item,
      { "nCJT-Type2-null-r16 item", "nr-rrc.nCJT_Type2_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_Type2PS_null_r16,
      { "nCJT-Type2PS-null-r16", "nr-rrc.nCJT_Type2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2PS_null_r16", HFILL }},
    { &hf_nr_rrc_nCJT_Type2PS_null_r16_item,
      { "nCJT-Type2PS-null-r16 item", "nr-rrc.nCJT_Type2PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_null_r16,
      { "nCJT-eType2R1-null-r16", "nr-rrc.nCJT_eType2R1_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R1_null_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_null_r16_item,
      { "nCJT-eType2R1-null-r16 item", "nr-rrc.nCJT_eType2R1_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R2_null_r16,
      { "nCJT-eType2R2-null-r16", "nr-rrc.nCJT_eType2R2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R2_null_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R2_null_r16_item,
      { "nCJT-eType2R2-null-r16 item", "nr-rrc.nCJT_eType2R2_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1PS_null_r16,
      { "nCJT-eType2R1PS-null-r16", "nr-rrc.nCJT_eType2R1PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R1PS_null_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1PS_null_r16_item,
      { "nCJT-eType2R1PS-null-r16 item", "nr-rrc.nCJT_eType2R1PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R2PS_null_r16,
      { "nCJT-eType2R2PS-null-r16", "nr-rrc.nCJT_eType2R2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R2PS_null_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R2PS_null_r16_item,
      { "nCJT-eType2R2PS-null-r16 item", "nr-rrc.nCJT_eType2R2PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_Type2PS_r16,
      { "nCJT-Type2-Type2PS-r16", "nr-rrc.nCJT_Type2_Type2PS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2_Type2PS_r16", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_Type2PS_r16_item,
      { "nCJT-Type2-Type2PS-r16 item", "nr-rrc.nCJT_Type2_Type2PS_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_null_r16,
      { "nCJT1SP-Type2-null-r16", "nr-rrc.nCJT1SP_Type2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_null_r16_item,
      { "nCJT1SP-Type2-null-r16 item", "nr-rrc.nCJT1SP_Type2_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2PS_null_r16,
      { "nCJT1SP-Type2PS-null-r16", "nr-rrc.nCJT1SP_Type2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2PS_null_r16_item,
      { "nCJT1SP-Type2PS-null-r16 item", "nr-rrc.nCJT1SP_Type2PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_null_r16,
      { "nCJT1SP-eType2R1-null-r16", "nr-rrc.nCJT1SP_eType2R1_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_null_r16_item,
      { "nCJT1SP-eType2R1-null-r16 item", "nr-rrc.nCJT1SP_eType2R1_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R2_null_r16,
      { "nCJT1SP-eType2R2-null-r16", "nr-rrc.nCJT1SP_eType2R2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R2_null_r16_item,
      { "nCJT1SP-eType2R2-null-r16 item", "nr-rrc.nCJT1SP_eType2R2_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16,
      { "nCJT1SP-eType2R1PS-null-r16", "nr-rrc.nCJT1SP_eType2R1PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16_item,
      { "nCJT1SP-eType2R1PS-null-r16 item", "nr-rrc.nCJT1SP_eType2R1PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16,
      { "nCJT1SP-eType2R2PS-null-r16", "nr-rrc.nCJT1SP_eType2R2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16_item,
      { "nCJT1SP-eType2R2PS-null-r16 item", "nr-rrc.nCJT1SP_eType2R2PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16,
      { "nCJT1SP-Type2-Type2PS-r16", "nr-rrc.nCJT1SP_Type2_Type2PS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16_item,
      { "nCJT1SP-Type2-Type2PS-r16 item", "nr-rrc.nCJT1SP_Type2_Type2PS_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_null_r17,
      { "nCJT-feType2PS-null-r17", "nr-rrc.nCJT_feType2PS_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_feType2PS_null_r17", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_null_r17_item,
      { "nCJT-feType2PS-null-r17 item", "nr-rrc.nCJT_feType2PS_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17,
      { "nCJT-feType2PS-M2R1-null-r17", "nr-rrc.nCJT_feType2PS_M2R1_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_feType2PS_M2R1_null_r17", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17_item,
      { "nCJT-feType2PS-M2R1-null-r17 item", "nr-rrc.nCJT_feType2PS_M2R1_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17,
      { "nCJT-feType2PS-M2R2-null-r17", "nr-rrc.nCJT_feType2PS_M2R2_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_feType2PS_M2R2_null_r17", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17_item,
      { "nCJT-feType2PS-M2R2-null-r17 item", "nr-rrc.nCJT_feType2PS_M2R2_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17,
      { "nCJT-Type2-feType2-PS-M1-r17", "nr-rrc.nCJT_Type2_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2_feType2_PS_M1_r17", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17_item,
      { "nCJT-Type2-feType2-PS-M1-r17 item", "nr-rrc.nCJT_Type2_feType2_PS_M1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17,
      { "nCJT-Type2-feType2-PS-M2R1-r17", "nr-rrc.nCJT_Type2_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2_feType2_PS_M2R1_r17", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17_item,
      { "nCJT-Type2-feType2-PS-M2R1-r17 item", "nr-rrc.nCJT_Type2_feType2_PS_M2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17,
      { "nCJT-eType2R1-feType2-PS-M1-r17", "nr-rrc.nCJT_eType2R1_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R1_feType2_PS_M1_r17", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17_item,
      { "nCJT-eType2R1-feType2-PS-M1-r17 item", "nr-rrc.nCJT_eType2R1_feType2_PS_M1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17,
      { "nCJT-eType2R1-feType2-PS-M2R1-r17", "nr-rrc.nCJT_eType2R1_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R1_feType2_PS_M2R1_r17", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17_item,
      { "nCJT-eType2R1-feType2-PS-M2R1-r17 item", "nr-rrc.nCJT_eType2R1_feType2_PS_M2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_null_r17,
      { "nCJT1SP-feType2PS-null-r17", "nr-rrc.nCJT1SP_feType2PS_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_null_r17_item,
      { "nCJT1SP-feType2PS-null-r17 item", "nr-rrc.nCJT1SP_feType2PS_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17,
      { "nCJT1SP-feType2PS-M2R1-null-r17", "nr-rrc.nCJT1SP_feType2PS_M2R1_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17_item,
      { "nCJT1SP-feType2PS-M2R1-null-r17 item", "nr-rrc.nCJT1SP_feType2PS_M2R1_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1,
      { "nCJT1SP-feType2PS-M2R2-null-r1", "nr-rrc.nCJT1SP_feType2PS_M2R2_null_r1",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1_item,
      { "nCJT1SP-feType2PS-M2R2-null-r1 item", "nr-rrc.nCJT1SP_feType2PS_M2R2_null_r1_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17,
      { "nCJT1SP-Type2-feType2-PS-M1-r17", "nr-rrc.nCJT1SP_Type2_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17_item,
      { "nCJT1SP-Type2-feType2-PS-M1-r17 item", "nr-rrc.nCJT1SP_Type2_feType2_PS_M1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17,
      { "nCJT1SP-Type2-feType2-PS-M2R1-r17", "nr-rrc.nCJT1SP_Type2_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17_item,
      { "nCJT1SP-Type2-feType2-PS-M2R1-r17 item", "nr-rrc.nCJT1SP_Type2_feType2_PS_M2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17,
      { "nCJT1SP-eType2R1-feType2-PS-M1-r17", "nr-rrc.nCJT1SP_eType2R1_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17_item,
      { "nCJT1SP-eType2R1-feType2-PS-M1-r17 item", "nr-rrc.nCJT1SP_eType2R1_feType2_PS_M1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17,
      { "nCJT1SP-eType2R1-feType2-PS-M2R1-r17", "nr-rrc.nCJT1SP_eType2R1_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_item,
      { "nCJT1SP-eType2R1-feType2-PS-M2R1-r17 item", "nr-rrc.nCJT1SP_eType2R1_feType2_PS_M2R1_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_etype2R1_r16_01,
      { "etype2R1-r16", "nr-rrc.etype2R1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_etype2R1_r16_01", HFILL }},
    { &hf_nr_rrc_etype2R1_r16_item,
      { "etype2R1-r16 item", "nr-rrc.etype2R1_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_etype2R2_r16_01,
      { "etype2R2-r16", "nr-rrc.etype2R2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_etype2R2_r16_01", HFILL }},
    { &hf_nr_rrc_etype2R2_r16_item,
      { "etype2R2-r16 item", "nr-rrc.etype2R2_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_etype2R1_PortSelection_r16_01,
      { "etype2R1-PortSelection-r16", "nr-rrc.etype2R1_PortSelection_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_etype2R1_PortSelection_r16_01", HFILL }},
    { &hf_nr_rrc_etype2R1_PortSelection_r16_item,
      { "etype2R1-PortSelection-r16 item", "nr-rrc.etype2R1_PortSelection_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_etype2R2_PortSelection_r16_01,
      { "etype2R2-PortSelection-r16", "nr-rrc.etype2R2_PortSelection_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_etype2R2_PortSelection_r16_01", HFILL }},
    { &hf_nr_rrc_etype2R2_PortSelection_r16_item,
      { "etype2R2-PortSelection-r16 item", "nr-rrc.etype2R2_PortSelection_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_null_r16_01,
      { "type1SP-Type2-null-r16", "nr-rrc.type1SP_Type2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_Type2_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_null_r16_item,
      { "type1SP-Type2-null-r16 item", "nr-rrc.type1SP_Type2_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_Type2PS_null_r16_01,
      { "type1SP-Type2PS-null-r16", "nr-rrc.type1SP_Type2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_Type2PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1SP_Type2PS_null_r16_item,
      { "type1SP-Type2PS-null-r16 item", "nr-rrc.type1SP_Type2PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_null_r16_01,
      { "type1SP-eType2R1-null-r16", "nr-rrc.type1SP_eType2R1_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_eType2R1_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_null_r16_item,
      { "type1SP-eType2R1-null-r16 item", "nr-rrc.type1SP_eType2R1_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R2_null_r16_01,
      { "type1SP-eType2R2-null-r16", "nr-rrc.type1SP_eType2R2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_eType2R2_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R2_null_r16_item,
      { "type1SP-eType2R2-null-r16 item", "nr-rrc.type1SP_eType2R2_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1PS_null_r16_01,
      { "type1SP-eType2R1PS-null-r16", "nr-rrc.type1SP_eType2R1PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_eType2R1PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1PS_null_r16_item,
      { "type1SP-eType2R1PS-null-r16 item", "nr-rrc.type1SP_eType2R1PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R2PS_null_r16_01,
      { "type1SP-eType2R2PS-null-r16", "nr-rrc.type1SP_eType2R2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_eType2R2PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R2PS_null_r16_item,
      { "type1SP-eType2R2PS-null-r16 item", "nr-rrc.type1SP_eType2R2PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_Type2PS_r16_01,
      { "type1SP-Type2-Type2PS-r16", "nr-rrc.type1SP_Type2_Type2PS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_Type2_Type2PS_r16_01", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_Type2PS_r16_item,
      { "type1SP-Type2-Type2PS-r16 item", "nr-rrc.type1SP_Type2_Type2PS_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_null_r16_01,
      { "type1MP-Type2-null-r16", "nr-rrc.type1MP_Type2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_Type2_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_null_r16_item,
      { "type1MP-Type2-null-r16 item", "nr-rrc.type1MP_Type2_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_Type2PS_null_r16_01,
      { "type1MP-Type2PS-null-r16", "nr-rrc.type1MP_Type2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_Type2PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1MP_Type2PS_null_r16_item,
      { "type1MP-Type2PS-null-r16 item", "nr-rrc.type1MP_Type2PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_null_r16_01,
      { "type1MP-eType2R1-null-r16", "nr-rrc.type1MP_eType2R1_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_eType2R1_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_null_r16_item,
      { "type1MP-eType2R1-null-r16 item", "nr-rrc.type1MP_eType2R1_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R2_null_r16_01,
      { "type1MP-eType2R2-null-r16", "nr-rrc.type1MP_eType2R2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_eType2R2_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R2_null_r16_item,
      { "type1MP-eType2R2-null-r16 item", "nr-rrc.type1MP_eType2R2_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1PS_null_r16_01,
      { "type1MP-eType2R1PS-null-r16", "nr-rrc.type1MP_eType2R1PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_eType2R1PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1PS_null_r16_item,
      { "type1MP-eType2R1PS-null-r16 item", "nr-rrc.type1MP_eType2R1PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R2PS_null_r16_01,
      { "type1MP-eType2R2PS-null-r16", "nr-rrc.type1MP_eType2R2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_eType2R2PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R2PS_null_r16_item,
      { "type1MP-eType2R2PS-null-r16 item", "nr-rrc.type1MP_eType2R2PS_null_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_Type2PS_r16_01,
      { "type1MP-Type2-Type2PS-r16", "nr-rrc.type1MP_Type2_Type2PS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_Type2_Type2PS_r16_01", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_Type2PS_r16_item,
      { "type1MP-Type2-Type2PS-r16 item", "nr-rrc.type1MP_Type2_Type2PS_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_fetype2basic_r17_01,
      { "fetype2basic-r17", "nr-rrc.fetype2basic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_fetype2basic_r17_01", HFILL }},
    { &hf_nr_rrc_fetype2R1_r17_01,
      { "fetype2R1-r17", "nr-rrc.fetype2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_fetype2R1_r17_01", HFILL }},
    { &hf_nr_rrc_fetype2R2_r17_01,
      { "fetype2R2-r17", "nr-rrc.fetype2R2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_fetype2R2_r17_01", HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_null_r17_01,
      { "type1SP-feType2PS-null-r17", "nr-rrc.type1SP_feType2PS_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_feType2PS_null_r17_01", HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_M2R1_null_r17_01,
      { "type1SP-feType2PS-M2R1-null-r17", "nr-rrc.type1SP_feType2PS_M2R1_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_feType2PS_M2R1_null_r17_01", HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_M2R2_null_r17,
      { "type1SP-feType2PS-M2R2-null-r17", "nr-rrc.type1SP_feType2PS_M2R2_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1SP_feType2PS_M2R2_null_r17_item,
      { "type1SP-feType2PS-M2R2-null-r17 item", "nr-rrc.type1SP_feType2PS_M2R2_null_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_feType2_PS_M1_r17_01,
      { "type1SP-Type2-feType2-PS-M1-r17", "nr-rrc.type1SP_Type2_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_Type2_feType2_PS_M1_r17_01", HFILL }},
    { &hf_nr_rrc_type1SP_Type2_feType2_PS_M2R1_r17_01,
      { "type1SP-Type2-feType2-PS-M2R1-r17", "nr-rrc.type1SP_Type2_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_Type2_feType2_PS_M2R1_r17_01", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M1_r17_01,
      { "type1SP-eType2R1-feType2-PS-M1-r17", "nr-rrc.type1SP_eType2R1_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_eType2R1_feType2_PS_M1_r17_01", HFILL }},
    { &hf_nr_rrc_type1SP_eType2R1_feType2_PS_M2R1_r17_01,
      { "type1SP-eType2R1-feType2-PS-M2R1-r17", "nr-rrc.type1SP_eType2R1_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1SP_eType2R1_feType2_PS_M2R1_r17_01", HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_null_r17_01,
      { "type1MP-feType2PS-null-r17", "nr-rrc.type1MP_feType2PS_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_feType2PS_null_r17_01", HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_M2R1_null_r17_01,
      { "type1MP-feType2PS-M2R1-null-r17", "nr-rrc.type1MP_feType2PS_M2R1_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_feType2PS_M2R1_null_r17_01", HFILL }},
    { &hf_nr_rrc_type1MP_feType2PS_M2R2_null_r17_01,
      { "type1MP-feType2PS-M2R2-null-r17", "nr-rrc.type1MP_feType2PS_M2R2_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_feType2PS_M2R2_null_r17_01", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_feType2_PS_M1_r17_01,
      { "type1MP-Type2-feType2-PS-M1-r17", "nr-rrc.type1MP_Type2_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_Type2_feType2_PS_M1_r17_01", HFILL }},
    { &hf_nr_rrc_type1MP_Type2_feType2_PS_M2R1_r17_01,
      { "type1MP-Type2-feType2-PS-M2R1-r17", "nr-rrc.type1MP_Type2_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_Type2_feType2_PS_M2R1_r17_01", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M1_r17_01,
      { "type1MP-eType2R1-feType2-PS-M1-r17", "nr-rrc.type1MP_eType2R1_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_eType2R1_feType2_PS_M1_r17_01", HFILL }},
    { &hf_nr_rrc_type1MP_eType2R1_feType2_PS_M2R1_r17_01,
      { "type1MP-eType2R1-feType2-PS-M2R1-r17", "nr-rrc.type1MP_eType2R1_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_type1MP_eType2R1_feType2_PS_M2R1_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT_null_null_01,
      { "nCJT-null-null", "nr-rrc.nCJT_null_null",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_null_null_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_null_null_01,
      { "nCJT1SP-null-null", "nr-rrc.nCJT1SP_null_null",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_null_null_01", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_null_r16_01,
      { "nCJT-Type2-null-r16", "nr-rrc.nCJT_Type2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT_Type2PS_null_r16_01,
      { "nCJT-Type2PS-null-r16", "nr-rrc.nCJT_Type2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_null_r16_01,
      { "nCJT-eType2R1-null-r16", "nr-rrc.nCJT_eType2R1_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R1_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R2_null_r16_01,
      { "nCJT-eType2R2-null-r16", "nr-rrc.nCJT_eType2R2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R2_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1PS_null_r16_01,
      { "nCJT-eType2R1PS-null-r16", "nr-rrc.nCJT_eType2R1PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R1PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R2PS_null_r16_01,
      { "nCJT-eType2R2PS-null-r16", "nr-rrc.nCJT_eType2R2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R2PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_Type2PS_r16_01,
      { "nCJT-Type2-Type2PS-r16", "nr-rrc.nCJT_Type2_Type2PS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2_Type2PS_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_null_r16_01,
      { "nCJT1SP-Type2-null-r16", "nr-rrc.nCJT1SP_Type2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_Type2_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2PS_null_r16_01,
      { "nCJT1SP-Type2PS-null-r16", "nr-rrc.nCJT1SP_Type2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_Type2PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_null_r16_01,
      { "nCJT1SP-eType2R1-null-r16", "nr-rrc.nCJT1SP_eType2R1_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_eType2R1_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R2_null_r16_01,
      { "nCJT1SP-eType2R2-null-r16", "nr-rrc.nCJT1SP_eType2R2_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_eType2R2_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1PS_null_r16_01,
      { "nCJT1SP-eType2R1PS-null-r16", "nr-rrc.nCJT1SP_eType2R1PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_eType2R1PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R2PS_null_r16_01,
      { "nCJT1SP-eType2R2PS-null-r16", "nr-rrc.nCJT1SP_eType2R2PS_null_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_eType2R2PS_null_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_Type2PS_r16_01,
      { "nCJT1SP-Type2-Type2PS-r16", "nr-rrc.nCJT1SP_Type2_Type2PS_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_Type2_Type2PS_r16_01", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_null_r17_01,
      { "nCJT-feType2PS-null-r17", "nr-rrc.nCJT_feType2PS_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_feType2PS_null_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_M2R1_null_r17_01,
      { "nCJT-feType2PS-M2R1-null-r17", "nr-rrc.nCJT_feType2PS_M2R1_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_feType2PS_M2R1_null_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT_feType2PS_M2R2_null_r17_01,
      { "nCJT-feType2PS-M2R2-null-r17", "nr-rrc.nCJT_feType2PS_M2R2_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_feType2PS_M2R2_null_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_feType2_PS_M1_r17_01,
      { "nCJT-Type2-feType2-PS-M1-r17", "nr-rrc.nCJT_Type2_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2_feType2_PS_M1_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT_Type2_feType2_PS_M2R1_r17_01,
      { "nCJT-Type2-feType2-PS-M2R1-r17", "nr-rrc.nCJT_Type2_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_Type2_feType2_PS_M2R1_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M1_r17_01,
      { "nCJT-eType2R1-feType2-PS-M1-r17", "nr-rrc.nCJT_eType2R1_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R1_feType2_PS_M1_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT_eType2R1_feType2_PS_M2R1_r17_01,
      { "nCJT-eType2R1-feType2-PS-M2R1-r17", "nr-rrc.nCJT_eType2R1_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT_eType2R1_feType2_PS_M2R1_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_null_r17_01,
      { "nCJT1SP-feType2PS-null-r17", "nr-rrc.nCJT1SP_feType2PS_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_feType2PS_null_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_M2R1_null_r17_01,
      { "nCJT1SP-feType2PS-M2R1-null-r17", "nr-rrc.nCJT1SP_feType2PS_M2R1_null_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_feType2PS_M2R1_null_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_feType2PS_M2R2_null_r1_01,
      { "nCJT1SP-feType2PS-M2R2-null-r1", "nr-rrc.nCJT1SP_feType2PS_M2R2_null_r1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_feType2PS_M2R2_null_r1_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M1_r17_01,
      { "nCJT1SP-Type2-feType2-PS-M1-r17", "nr-rrc.nCJT1SP_Type2_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_Type2_feType2_PS_M1_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_Type2_feType2_PS_M2R1_r17_01,
      { "nCJT1SP-Type2-feType2-PS-M2R1-r17", "nr-rrc.nCJT1SP_Type2_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M1_r17_01,
      { "nCJT1SP-eType2R1-feType2-PS-M1-r17", "nr-rrc.nCJT1SP_eType2R1_feType2_PS_M1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01", HFILL }},
    { &hf_nr_rrc_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01,
      { "nCJT1SP-eType2R1-feType2-PS-M2R1-r17", "nr-rrc.nCJT1SP_eType2R1_feType2_PS_M2R1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01", HFILL }},
    { &hf_nr_rrc_CodebookVariantsList_r16_item,
      { "SupportedCSI-RS-Resource", "nr-rrc.SupportedCSI_RS_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberTxPortsPerResource,
      { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberResourcesPerBand,
      { "maxNumberResourcesPerBand", "nr-rrc.maxNumberResourcesPerBand",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_totalNumberTxPortsPerBand,
      { "totalNumberTxPortsPerBand", "nr-rrc.totalNumberTxPortsPerBand",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_256", HFILL }},
    { &hf_nr_rrc_FeatureSetCombination_item,
      { "FeatureSetsPerBand", "nr-rrc.FeatureSetsPerBand",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_FeatureSetsPerBand_item,
      { "FeatureSet", "nr-rrc.FeatureSet",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FeatureSet_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_05,
      { "eutra", "nr-rrc.eutra_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_eutra_03", HFILL }},
    { &hf_nr_rrc_downlinkSetEUTRA,
      { "downlinkSetEUTRA", "nr-rrc.downlinkSetEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetEUTRA_DownlinkId", HFILL }},
    { &hf_nr_rrc_uplinkSetEUTRA,
      { "uplinkSetEUTRA", "nr-rrc.uplinkSetEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetEUTRA_UplinkId", HFILL }},
    { &hf_nr_rrc_nr_06,
      { "nr", "nr-rrc.nr_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nr_05", HFILL }},
    { &hf_nr_rrc_downlinkSetNR,
      { "downlinkSetNR", "nr-rrc.downlinkSetNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetDownlinkId", HFILL }},
    { &hf_nr_rrc_uplinkSetNR,
      { "uplinkSetNR", "nr-rrc.uplinkSetNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FeatureSetUplinkId", HFILL }},
    { &hf_nr_rrc_featureSetListPerDownlinkCC,
      { "featureSetListPerDownlinkCC", "nr-rrc.featureSetListPerDownlinkCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id", HFILL }},
    { &hf_nr_rrc_featureSetListPerDownlinkCC_item,
      { "FeatureSetDownlinkPerCC-Id", "nr-rrc.FeatureSetDownlinkPerCC_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraBandFreqSeparationDL,
      { "intraBandFreqSeparationDL", "nr-rrc.intraBandFreqSeparationDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0,
        "FreqSeparationClass", HFILL }},
    { &hf_nr_rrc_scalingFactor,
      { "scalingFactor", "nr-rrc.scalingFactor",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy8,
      { "dummy8", "nr-rrc.dummy8",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy8_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scellWithoutSSB,
      { "scellWithoutSSB", "nr-rrc.scellWithoutSSB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellWithoutSSB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB,
      { "csi-RS-MeasSCellWithoutSSB", "nr-rrc.csi_RS_MeasSCellWithoutSSB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy1,
      { "dummy1", "nr-rrc.featureSetDownlink.dummy1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_dummy1_vals), 0,
        "T_featureSetDownlink_dummy1", HFILL }},
    { &hf_nr_rrc_type1_3_CSS,
      { "type1-3-CSS", "nr-rrc.type1_3_CSS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_3_CSS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringAnyOccasions,
      { "pdcch-MonitoringAnyOccasions", "nr-rrc.pdcch_MonitoringAnyOccasions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringAnyOccasions_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy2,
      { "dummy2", "nr-rrc.featureSetDownlink.dummy2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_dummy2_vals), 0,
        "T_featureSetDownlink_dummy2", HFILL }},
    { &hf_nr_rrc_ue_SpecificUL_DL_Assignment,
      { "ue-SpecificUL-DL-Assignment", "nr-rrc.ue_SpecificUL_DL_Assignment",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_SpecificUL_DL_Assignment_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSharingCA_DL,
      { "searchSpaceSharingCA-DL", "nr-rrc.searchSpaceSharingCA_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeDurationForQCL,
      { "timeDurationForQCL", "nr-rrc.timeDurationForQCL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_timeDurationForQCL_scs_60kHz,
      { "scs-60kHz", "nr-rrc.featureSetDownlink.timeDurationForQCL.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_timeDurationForQCL_scs_60kHz_vals), 0,
        "T_featureSetDownlink_timeDurationForQCL_scs_60kHz", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_timeDurationForQCL_scs_120kHz,
      { "scs-120kHz", "nr-rrc.featureSetDownlink.timeDurationForQCL.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_timeDurationForQCL_scs_120kHz_vals), 0,
        "T_featureSetDownlink_timeDurationForQCL_scs_120kHz", HFILL }},
    { &hf_nr_rrc_pdsch_ProcessingType1_DifferentTB_PerSlot,
      { "pdsch-ProcessingType1-DifferentTB-PerSlot", "nr-rrc.pdsch_ProcessingType1_DifferentTB_PerSlot_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz,
      { "scs-15kHz", "nr-rrc.scs_15kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_30kHz,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_60kHz,
      { "scs-60kHz", "nr-rrc.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz,
      { "scs-120kHz", "nr-rrc.featureSetDownlink.pdsch_ProcessingType1_DifferentTB_PerSlot.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz_vals), 0,
        "T_featureSetDownlink_pdsch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy3,
      { "dummy3", "nr-rrc.featureSetDownlink.dummy3_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DummyA", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy4,
      { "dummy4", "nr-rrc.featureSetDownlink.dummy4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy4_item,
      { "DummyB", "nr-rrc.DummyB_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy5,
      { "dummy5", "nr-rrc.featureSetDownlink.dummy5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy5_item,
      { "DummyC", "nr-rrc.DummyC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy6,
      { "dummy6", "nr-rrc.featureSetDownlink.dummy6",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_dummy6_item,
      { "DummyD", "nr-rrc.DummyD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy7,
      { "dummy7", "nr-rrc.dummy7",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE", HFILL }},
    { &hf_nr_rrc_dummy7_item,
      { "DummyE", "nr-rrc.DummyE_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_DL,
      { "oneFL-DMRS-TwoAdditionalDMRS-DL", "nr-rrc.oneFL_DMRS_TwoAdditionalDMRS_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalDMRS_DL_Alt,
      { "additionalDMRS-DL-Alt", "nr-rrc.additionalDMRS_DL_Alt",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalDMRS_DL_Alt_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_DL,
      { "twoFL-DMRS-TwoAdditionalDMRS-DL", "nr-rrc.twoFL_DMRS_TwoAdditionalDMRS_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_DL,
      { "oneFL-DMRS-ThreeAdditionalDMRS-DL", "nr-rrc.oneFL_DMRS_ThreeAdditionalDMRS_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap,
      { "pdcch-MonitoringAnyOccasionsWithSpanGap", "nr-rrc.pdcch_MonitoringAnyOccasionsWithSpanGap_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz,
      { "scs-15kHz", "nr-rrc.featureSetDownlink_v1540.pdcch_MonitoringAnyOccasionsWithSpanGap.scs_15kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz_vals), 0,
        "T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_15kHz", HFILL }},
    { &hf_nr_rrc_scs_30kHz_01,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_01_vals), 0,
        "T_scs_30kHz_01", HFILL }},
    { &hf_nr_rrc_scs_60kHz_01,
      { "scs-60kHz", "nr-rrc.featureSetDownlink_v1540.pdcch_MonitoringAnyOccasionsWithSpanGap.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_01_vals), 0,
        "T_scs_60kHz_01", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz,
      { "scs-120kHz", "nr-rrc.featureSetDownlink_v1540.pdcch_MonitoringAnyOccasionsWithSpanGap.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz_vals), 0,
        "T_featureSetDownlink_v1540_pdcch_MonitoringAnyOccasionsWithSpanGap_scs_120kHz", HFILL }},
    { &hf_nr_rrc_pdsch_SeparationWithGap,
      { "pdsch-SeparationWithGap", "nr-rrc.pdsch_SeparationWithGap",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_SeparationWithGap_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_ProcessingType2,
      { "pdsch-ProcessingType2", "nr-rrc.pdsch_ProcessingType2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1540_pdsch_ProcessingType2_scs_15kHz,
      { "scs-15kHz", "nr-rrc.featureSetDownlink_v1540.pdsch_ProcessingType2.scs_15kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProcessingParameters", HFILL }},
    { &hf_nr_rrc_scs_30kHz_02,
      { "scs-30kHz", "nr-rrc.scs_30kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProcessingParameters", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1540_pdsch_ProcessingType2_scs_60kHz,
      { "scs-60kHz", "nr-rrc.featureSetDownlink_v1540.pdsch_ProcessingType2.scs_60kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProcessingParameters", HFILL }},
    { &hf_nr_rrc_pdsch_ProcessingType2_Limited,
      { "pdsch-ProcessingType2-Limited", "nr-rrc.pdsch_ProcessingType2_Limited_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_differentTB_PerSlot_SCS_30kHz,
      { "differentTB-PerSlot-SCS-30kHz", "nr-rrc.differentTB_PerSlot_SCS_30kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_differentTB_PerSlot_SCS_30kHz_vals), 0,
        "T_differentTB_PerSlot_SCS_30kHz", HFILL }},
    { &hf_nr_rrc_dl_MCS_TableAlt_DynamicIndication,
      { "dl-MCS-TableAlt-DynamicIndication", "nr-rrc.dl_MCS_TableAlt_DynamicIndication",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_MCS_TableAlt_DynamicIndication_vals), 0,
        "T_dl_MCS_TableAlt_DynamicIndication", HFILL }},
    { &hf_nr_rrc_supportedSRS_Resources,
      { "supportedSRS-Resources", "nr-rrc.supportedSRS_Resources_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_Resources", HFILL }},
    { &hf_nr_rrc_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16,
      { "cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16", "nr-rrc.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.featureSetDownlink_v1610.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_15kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16_vals), 0,
        "T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.featureSetDownlink_v1610.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16_vals), 0,
        "T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.featureSetDownlink_v1610.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16_vals), 0,
        "T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.featureSetDownlink_v1610.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16_vals), 0,
        "T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16", HFILL }},
    { &hf_nr_rrc_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16,
      { "cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16", "nr-rrc.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.featureSetDownlink_v1610.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_15kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16_vals), 0,
        "T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.featureSetDownlink_v1610.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16_vals), 0,
        "T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.featureSetDownlink_v1610.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16_vals), 0,
        "T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.featureSetDownlink_v1610.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16_vals), 0,
        "T_featureSetDownlink_v1610_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16", HFILL }},
    { &hf_nr_rrc_intraFreqDAPS_r16,
      { "intraFreqDAPS-r16", "nr-rrc.intraFreqDAPS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqDiffSCS_DAPS_r16,
      { "intraFreqDiffSCS-DAPS-r16", "nr-rrc.intraFreqDiffSCS_DAPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqDiffSCS_DAPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraFreqAsyncDAPS_r16,
      { "intraFreqAsyncDAPS-r16", "nr-rrc.intraFreqAsyncDAPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqAsyncDAPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraBandFreqSeparationDL_v1620,
      { "intraBandFreqSeparationDL-v1620", "nr-rrc.intraBandFreqSeparationDL_v1620",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClassDL_v1620_vals), 0,
        "FreqSeparationClassDL_v1620", HFILL }},
    { &hf_nr_rrc_intraBandFreqSeparationDL_Only_r16,
      { "intraBandFreqSeparationDL-Only-r16", "nr-rrc.intraBandFreqSeparationDL_Only_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClassDL_Only_r16_vals), 0,
        "FreqSeparationClassDL_Only_r16", HFILL }},
    { &hf_nr_rrc_pdcch_Monitoring_r16,
      { "pdcch-Monitoring-r16", "nr-rrc.pdcch_Monitoring_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_ProcessingType1_r16,
      { "pdsch-ProcessingType1-r16", "nr-rrc.pdsch_ProcessingType1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType1_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.featureSetDownlink_v1610.pdcch_Monitoring_r16.pdsch_ProcessingType1_r16.scs_15kHz_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_MonitoringOccasions_r16", HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType1_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.featureSetDownlink_v1610.pdcch_Monitoring_r16.pdsch_ProcessingType1_r16.scs_30kHz_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_MonitoringOccasions_r16", HFILL }},
    { &hf_nr_rrc_pdsch_ProcessingType2_r16,
      { "pdsch-ProcessingType2-r16", "nr-rrc.pdsch_ProcessingType2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlink_v1610_pdcch_Monitoring_r16_pdsch_ProcessingType2_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.featureSetDownlink_v1610.pdcch_Monitoring_r16.pdsch_ProcessingType2_r16.scs_15kHz_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_MonitoringOccasions_r16", HFILL }},
    { &hf_nr_rrc_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.scs_30kHz_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_MonitoringOccasions_r16", HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringMixed_r16,
      { "pdcch-MonitoringMixed-r16", "nr-rrc.pdcch_MonitoringMixed_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringMixed_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingProcessing_DiffSCS_r16,
      { "crossCarrierSchedulingProcessing-DiffSCS-r16", "nr-rrc.crossCarrierSchedulingProcessing_DiffSCS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz_120kHz_r16,
      { "scs-15kHz-120kHz-r16", "nr-rrc.scs_15kHz_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_120kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz_60kHz_r16,
      { "scs-15kHz-60kHz-r16", "nr-rrc.scs_15kHz_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_60kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_30kHz_120kHz_r16,
      { "scs-30kHz-120kHz-r16", "nr-rrc.scs_30kHz_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_120kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz_30kHz_r16,
      { "scs-15kHz-30kHz-r16", "nr-rrc.scs_15kHz_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_30kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_30kHz_60kHz_r16,
      { "scs-30kHz-60kHz-r16", "nr-rrc.scs_30kHz_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_60kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_60kHz_120kHz_r16,
      { "scs-60kHz-120kHz-r16", "nr-rrc.scs_60kHz_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_120kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_singleDCI_SDM_scheme_r16,
      { "singleDCI-SDM-scheme-r16", "nr-rrc.singleDCI_SDM_scheme_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singleDCI_SDM_scheme_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scalingFactor_1024QAM_FR1_r17,
      { "scalingFactor-1024QAM-FR1-r17", "nr-rrc.scalingFactor_1024QAM_FR1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_1024QAM_FR1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeDurationForQCL_v1710,
      { "timeDurationForQCL-v1710", "nr-rrc.timeDurationForQCL_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_480kHz,
      { "scs-480kHz", "nr-rrc.scs_480kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_480kHz_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_960kHz,
      { "scs-960kHz", "nr-rrc.scs_960kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_960kHz_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_SchemeA_r17,
      { "sfn-SchemeA-r17", "nr-rrc.sfn_SchemeA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SchemeA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_SchemeA_PDCCH_only_r17,
      { "sfn-SchemeA-PDCCH-only-r17", "nr-rrc.sfn_SchemeA_PDCCH_only_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SchemeA_PDCCH_only_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_SchemeA_DynamicSwitching_r17,
      { "sfn-SchemeA-DynamicSwitching-r17", "nr-rrc.sfn_SchemeA_DynamicSwitching_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SchemeA_DynamicSwitching_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_SchemeA_PDSCH_only_r17,
      { "sfn-SchemeA-PDSCH-only-r17", "nr-rrc.sfn_SchemeA_PDSCH_only_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SchemeA_PDSCH_only_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_SchemeB_r17,
      { "sfn-SchemeB-r17", "nr-rrc.sfn_SchemeB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SchemeB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_SchemeB_DynamicSwitching_r17,
      { "sfn-SchemeB-DynamicSwitching-r17", "nr-rrc.sfn_SchemeB_DynamicSwitching_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SchemeB_DynamicSwitching_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_SchemeB_PDSCH_only_r17,
      { "sfn-SchemeB-PDSCH-only-r17", "nr-rrc.sfn_SchemeB_PDSCH_only_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SchemeB_PDSCH_only_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PDCCH_Case2_1SpanGap_r17,
      { "mTRP-PDCCH-Case2-1SpanGap-r17", "nr-rrc.mTRP_PDCCH_Case2_1SpanGap_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz_r17_01,
      { "scs-15kHz-r17", "nr-rrc.scs_15kHz_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_RepetitionParameters_r17", HFILL }},
    { &hf_nr_rrc_scs_30kHz_r17_01,
      { "scs-30kHz-r17", "nr-rrc.scs_30kHz_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_RepetitionParameters_r17", HFILL }},
    { &hf_nr_rrc_scs_60kHz_r17_01,
      { "scs-60kHz-r17", "nr-rrc.scs_60kHz_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_RepetitionParameters_r17", HFILL }},
    { &hf_nr_rrc_scs_120kHz_r17_01,
      { "scs-120kHz-r17", "nr-rrc.scs_120kHz_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCCH_RepetitionParameters_r17", HFILL }},
    { &hf_nr_rrc_mTRP_PDCCH_legacyMonitoring_r17,
      { "mTRP-PDCCH-legacyMonitoring-r17", "nr-rrc.mTRP_PDCCH_legacyMonitoring_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PDCCH_multiDCI_multiTRP_r17,
      { "mTRP-PDCCH-multiDCI-multiTRP-r17", "nr-rrc.mTRP_PDCCH_multiDCI_multiTRP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PDCCH_multiDCI_multiTRP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicMulticastPCell_r17,
      { "dynamicMulticastPCell-r17", "nr-rrc.dynamicMulticastPCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicMulticastPCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PDCCH_Repetition_r17,
      { "mTRP-PDCCH-Repetition-r17", "nr-rrc.mTRP_PDCCH_Repetition_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numBD_twoPDCCH_r17,
      { "numBD-twoPDCCH-r17", "nr-rrc.numBD_twoPDCCH_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_3", HFILL }},
    { &hf_nr_rrc_maxNumOverlaps_r17,
      { "maxNumOverlaps-r17", "nr-rrc.maxNumOverlaps_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOverlaps_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rtt_BasedPDC_CSI_RS_ForTracking_r17,
      { "rtt-BasedPDC-CSI-RS-ForTracking-r17", "nr-rrc.rtt_BasedPDC_CSI_RS_ForTracking_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rtt_BasedPDC_CSI_RS_ForTracking_r17_vals), 0,
        "T_rtt_BasedPDC_CSI_RS_ForTracking_r17", HFILL }},
    { &hf_nr_rrc_rtt_BasedPDC_PRS_r17,
      { "rtt-BasedPDC-PRS-r17", "nr-rrc.rtt_BasedPDC_PRS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_rtt_BasedPDC_PRS_r17", HFILL }},
    { &hf_nr_rrc_maxNumberPRS_Resource_r17,
      { "maxNumberPRS-Resource-r17", "nr-rrc.maxNumberPRS_Resource_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPRS_Resource_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPRS_ResourceProcessedPerSlot_r17,
      { "maxNumberPRS-ResourceProcessedPerSlot-r17", "nr-rrc.maxNumberPRS_ResourceProcessedPerSlot_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_maxNumberPRS_ResourceProcessedPerSlot_r17", HFILL }},
    { &hf_nr_rrc_scs_15kHz_r17_02,
      { "scs-15kHz-r17", "nr-rrc.scs_15kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_30kHz_r17_02,
      { "scs-30kHz-r17", "nr-rrc.scs_30kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_60kHz_r17_02,
      { "scs-60kHz-r17", "nr-rrc.scs_60kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_120kHz_r17_02,
      { "scs-120kHz-r17", "nr-rrc.scs_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_Multicast_r17,
      { "sps-Multicast-r17", "nr-rrc.sps_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Multicast_r17_vals), 0,
        "T_sps_Multicast_r17", HFILL }},
    { &hf_nr_rrc_prs_AsSpatialRelationRS_For_SRS_r17,
      { "prs-AsSpatialRelationRS-For-SRS-r17", "nr-rrc.prs_AsSpatialRelationRS_For_SRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prs_AsSpatialRelationRS_For_SRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_period7span3_r16,
      { "period7span3-r16", "nr-rrc.period7span3_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_period7span3_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_period4span3_r16,
      { "period4span3-r16", "nr-rrc.period4span3_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_period4span3_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_period2span2_r16,
      { "period2span2-r16", "nr-rrc.period2span2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_period2span2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedMode_r17,
      { "supportedMode-r17", "nr-rrc.supportedMode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedMode_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_limitX_PerCC_r17,
      { "limitX-PerCC-r17", "nr-rrc.limitX_PerCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_limitX_PerCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_limitX_AcrossCC_r17,
      { "limitX-AcrossCC-r17", "nr-rrc.limitX_AcrossCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_limitX_AcrossCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC,
      { "maxNumberNZP-CSI-RS-PerCC", "nr-rrc.maxNumberNZP_CSI_RS_PerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC,
      { "maxNumberPortsAcrossNZP-CSI-RS-PerCC", "nr-rrc.maxNumberPortsAcrossNZP_CSI_RS_PerCC",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCS_IM_PerCC,
      { "maxNumberCS-IM-PerCC", "nr-rrc.maxNumberCS_IM_PerCC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCS_IM_PerCC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC,
      { "maxNumberSimultaneousCSI-RS-ActBWP-AllCC", "nr-rrc.maxNumberSimultaneousCSI_RS_ActBWP_AllCC",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC,
      { "totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC", "nr-rrc.totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberTxPortsPerResource_01,
      { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_01_vals), 0,
        "T_maxNumberTxPortsPerResource_01", HFILL }},
    { &hf_nr_rrc_maxNumberResources,
      { "maxNumberResources", "nr-rrc.maxNumberResources",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_totalNumberTxPorts,
      { "totalNumberTxPorts", "nr-rrc.totalNumberTxPorts",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_256", HFILL }},
    { &hf_nr_rrc_supportedCodebookMode,
      { "supportedCodebookMode", "nr-rrc.supportedCodebookMode",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCodebookMode_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberTxPortsPerResource_02,
      { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_02_vals), 0,
        "T_maxNumberTxPortsPerResource_02", HFILL }},
    { &hf_nr_rrc_supportedCodebookMode_01,
      { "supportedCodebookMode", "nr-rrc.supportedCodebookMode",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCodebookMode_01_vals), 0,
        "T_supportedCodebookMode_01", HFILL }},
    { &hf_nr_rrc_supportedNumberPanels,
      { "supportedNumberPanels", "nr-rrc.supportedNumberPanels",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberPanels_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberTxPortsPerResource_03,
      { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_03_vals), 0,
        "T_maxNumberTxPortsPerResource_03", HFILL }},
    { &hf_nr_rrc_amplitudeScalingType_02,
      { "amplitudeScalingType", "nr-rrc.amplitudeScalingType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_02_vals), 0,
        "T_amplitudeScalingType_02", HFILL }},
    { &hf_nr_rrc_amplitudeSubsetRestriction_01,
      { "amplitudeSubsetRestriction", "nr-rrc.amplitudeSubsetRestriction",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeSubsetRestriction_01_vals), 0,
        "T_amplitudeSubsetRestriction_01", HFILL }},
    { &hf_nr_rrc_maxNumberTxPortsPerResource_04,
      { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_04_vals), 0,
        "T_maxNumberTxPortsPerResource_04", HFILL }},
    { &hf_nr_rrc_amplitudeScalingType_03,
      { "amplitudeScalingType", "nr-rrc.amplitudeScalingType",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_03_vals), 0,
        "T_amplitudeScalingType_03", HFILL }},
    { &hf_nr_rrc_supportedSubcarrierSpacingDL,
      { "supportedSubcarrierSpacingDL", "nr-rrc.supportedSubcarrierSpacingDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_supportedBandwidthDL,
      { "supportedBandwidthDL", "nr-rrc.supportedBandwidthDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_vals), 0,
        "SupportedBandwidth", HFILL }},
    { &hf_nr_rrc_channelBW_90mhz,
      { "channelBW-90mhz", "nr-rrc.channelBW_90mhz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_90mhz_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH,
      { "maxNumberMIMO-LayersPDSCH", "nr-rrc.maxNumberMIMO_LayersPDSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0,
        "MIMO_LayersDL", HFILL }},
    { &hf_nr_rrc_supportedModulationOrderDL,
      { "supportedModulationOrderDL", "nr-rrc.supportedModulationOrderDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0,
        "ModulationOrder", HFILL }},
    { &hf_nr_rrc_multiDCI_MultiTRP_r16,
      { "multiDCI-MultiTRP-r16", "nr-rrc.multiDCI_MultiTRP_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportFDM_SchemeB_r16,
      { "supportFDM-SchemeB-r16", "nr-rrc.supportFDM_SchemeB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportFDM_SchemeB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedMinBandwidthDL_r17,
      { "supportedMinBandwidthDL-r17", "nr-rrc.supportedMinBandwidthDL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_v1700_vals), 0,
        "SupportedBandwidth_v1700", HFILL }},
    { &hf_nr_rrc_broadcastSCell_r17,
      { "broadcastSCell-r17", "nr-rrc.broadcastSCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_broadcastSCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberMIMO_LayersMulticastPDSCH_r17,
      { "maxNumberMIMO-LayersMulticastPDSCH-r17", "nr-rrc.maxNumberMIMO_LayersMulticastPDSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberMIMO_LayersMulticastPDSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicMulticastSCell_r17,
      { "dynamicMulticastSCell-r17", "nr-rrc.dynamicMulticastSCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicMulticastSCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandwidthDL_v1710,
      { "supportedBandwidthDL-v1710", "nr-rrc.supportedBandwidthDL_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_v1700_vals), 0,
        "SupportedBandwidth_v1700", HFILL }},
    { &hf_nr_rrc_supportedCRS_InterfMitigation_r17,
      { "supportedCRS-InterfMitigation-r17", "nr-rrc.supportedCRS_InterfMitigation_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CRS_InterfMitigation_r17", HFILL }},
    { &hf_nr_rrc_maxModulationOrderForMulticastDataRateCalculation_r17,
      { "maxModulationOrderForMulticastDataRateCalculation-r17", "nr-rrc.maxModulationOrderForMulticastDataRateCalculation_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxModulationOrderForMulticastDataRateCalculation_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fdm_BroadcastUnicast_r17,
      { "fdm-BroadcastUnicast-r17", "nr-rrc.fdm_BroadcastUnicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdm_BroadcastUnicast_r17_vals), 0,
        "T_fdm_BroadcastUnicast_r17", HFILL }},
    { &hf_nr_rrc_fdm_MulticastUnicast_r17,
      { "fdm-MulticastUnicast-r17", "nr-rrc.fdm_MulticastUnicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdm_MulticastUnicast_r17_vals), 0,
        "T_fdm_MulticastUnicast_r17", HFILL }},
    { &hf_nr_rrc_intraSlotTDM_UnicastGroupCommonPDSCH_r17,
      { "intraSlotTDM-UnicastGroupCommonPDSCH-r17", "nr-rrc.intraSlotTDM_UnicastGroupCommonPDSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotTDM_UnicastGroupCommonPDSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_MulticastSCell_r17,
      { "sps-MulticastSCell-r17", "nr-rrc.sps_MulticastSCell_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_MulticastSCell_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_MulticastSCellMultiConfig_r17,
      { "sps-MulticastSCellMultiConfig-r17", "nr-rrc.sps_MulticastSCellMultiConfig_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_dci_BroadcastWith16Repetitions_r17,
      { "dci-BroadcastWith16Repetitions-r17", "nr-rrc.dci_BroadcastWith16Repetitions_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_BroadcastWith16Repetitions_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCORESET_r16,
      { "maxNumberCORESET-r16", "nr-rrc.maxNumberCORESET_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCORESET_r16_vals), 0,
        "T_maxNumberCORESET_r16", HFILL }},
    { &hf_nr_rrc_maxNumberCORESETPerPoolIndex_r16,
      { "maxNumberCORESETPerPoolIndex-r16", "nr-rrc.maxNumberCORESETPerPoolIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_3", HFILL }},
    { &hf_nr_rrc_maxNumberUnicastPDSCH_PerPool_r16,
      { "maxNumberUnicastPDSCH-PerPool-r16", "nr-rrc.maxNumberUnicastPDSCH_PerPool_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberUnicastPDSCH_PerPool_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crs_IM_DSS_15kHzSCS_r17,
      { "crs-IM-DSS-15kHzSCS-r17", "nr-rrc.crs_IM_DSS_15kHzSCS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crs_IM_DSS_15kHzSCS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crs_IM_nonDSS_15kHzSCS_r17,
      { "crs-IM-nonDSS-15kHzSCS-r17", "nr-rrc.crs_IM_nonDSS_15kHzSCS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crs_IM_nonDSS_15kHzSCS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crs_IM_nonDSS_NWA_15kHzSCS_r17,
      { "crs-IM-nonDSS-NWA-15kHzSCS-r17", "nr-rrc.crs_IM_nonDSS_NWA_15kHzSCS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crs_IM_nonDSS_NWA_15kHzSCS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crs_IM_nonDSS_30kHzSCS_r17,
      { "crs-IM-nonDSS-30kHzSCS-r17", "nr-rrc.crs_IM_nonDSS_30kHzSCS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crs_IM_nonDSS_30kHzSCS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crs_IM_nonDSS_NWA_30kHzSCS_r17,
      { "crs-IM-nonDSS-NWA-30kHzSCS-r17", "nr-rrc.crs_IM_nonDSS_NWA_30kHzSCS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crs_IM_nonDSS_NWA_30kHzSCS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlink,
      { "featureSetsDownlink", "nr-rrc.featureSetsDownlink",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink", HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_item,
      { "FeatureSetDownlink", "nr-rrc.FeatureSetDownlink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlinkPerCC,
      { "featureSetsDownlinkPerCC", "nr-rrc.featureSetsDownlinkPerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC", HFILL }},
    { &hf_nr_rrc_featureSetsDownlinkPerCC_item,
      { "FeatureSetDownlinkPerCC", "nr-rrc.FeatureSetDownlinkPerCC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplink,
      { "featureSetsUplink", "nr-rrc.featureSetsUplink",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink", HFILL }},
    { &hf_nr_rrc_featureSetsUplink_item,
      { "FeatureSetUplink", "nr-rrc.FeatureSetUplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplinkPerCC,
      { "featureSetsUplinkPerCC", "nr-rrc.featureSetsUplinkPerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC", HFILL }},
    { &hf_nr_rrc_featureSetsUplinkPerCC_item,
      { "FeatureSetUplinkPerCC", "nr-rrc.FeatureSetUplinkPerCC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1540,
      { "featureSetsDownlink-v1540", "nr-rrc.featureSetsDownlink_v1540",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540", HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1540_item,
      { "FeatureSetDownlink-v1540", "nr-rrc.FeatureSetDownlink_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1540,
      { "featureSetsUplink-v1540", "nr-rrc.featureSetsUplink_v1540",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540", HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1540_item,
      { "FeatureSetUplink-v1540", "nr-rrc.FeatureSetUplink_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplinkPerCC_v1540,
      { "featureSetsUplinkPerCC-v1540", "nr-rrc.featureSetsUplinkPerCC_v1540",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540", HFILL }},
    { &hf_nr_rrc_featureSetsUplinkPerCC_v1540_item,
      { "FeatureSetUplinkPerCC-v1540", "nr-rrc.FeatureSetUplinkPerCC_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v15a0,
      { "featureSetsDownlink-v15a0", "nr-rrc.featureSetsDownlink_v15a0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0", HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v15a0_item,
      { "FeatureSetDownlink-v15a0", "nr-rrc.FeatureSetDownlink_v15a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1610,
      { "featureSetsDownlink-v1610", "nr-rrc.featureSetsDownlink_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610", HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1610_item,
      { "FeatureSetDownlink-v1610", "nr-rrc.FeatureSetDownlink_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1610,
      { "featureSetsUplink-v1610", "nr-rrc.featureSetsUplink_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610", HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1610_item,
      { "FeatureSetUplink-v1610", "nr-rrc.FeatureSetUplink_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetDownlinkPerCC_v1620,
      { "featureSetDownlinkPerCC-v1620", "nr-rrc.featureSetDownlinkPerCC_v1620",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620", HFILL }},
    { &hf_nr_rrc_featureSetDownlinkPerCC_v1620_item,
      { "FeatureSetDownlinkPerCC-v1620", "nr-rrc.FeatureSetDownlinkPerCC_v1620_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1630,
      { "featureSetsUplink-v1630", "nr-rrc.featureSetsUplink_v1630",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630", HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1630_item,
      { "FeatureSetUplink-v1630", "nr-rrc.FeatureSetUplink_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1640,
      { "featureSetsUplink-v1640", "nr-rrc.featureSetsUplink_v1640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640", HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1640_item,
      { "FeatureSetUplink-v1640", "nr-rrc.FeatureSetUplink_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1700,
      { "featureSetsDownlink-v1700", "nr-rrc.featureSetsDownlink_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700", HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1700_item,
      { "FeatureSetDownlink-v1700", "nr-rrc.FeatureSetDownlink_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlinkPerCC_v1700,
      { "featureSetsDownlinkPerCC-v1700", "nr-rrc.featureSetsDownlinkPerCC_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700", HFILL }},
    { &hf_nr_rrc_featureSetsDownlinkPerCC_v1700_item,
      { "FeatureSetDownlinkPerCC-v1700", "nr-rrc.FeatureSetDownlinkPerCC_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1710,
      { "featureSetsUplink-v1710", "nr-rrc.featureSetsUplink_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710", HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1710_item,
      { "FeatureSetUplink-v1710", "nr-rrc.FeatureSetUplink_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplinkPerCC_v1700,
      { "featureSetsUplinkPerCC-v1700", "nr-rrc.featureSetsUplinkPerCC_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700", HFILL }},
    { &hf_nr_rrc_featureSetsUplinkPerCC_v1700_item,
      { "FeatureSetUplinkPerCC-v1700", "nr-rrc.FeatureSetUplinkPerCC_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1720,
      { "featureSetsDownlink-v1720", "nr-rrc.featureSetsDownlink_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720", HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1720_item,
      { "FeatureSetDownlink-v1720", "nr-rrc.FeatureSetDownlink_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlinkPerCC_v1720,
      { "featureSetsDownlinkPerCC-v1720", "nr-rrc.featureSetsDownlinkPerCC_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720", HFILL }},
    { &hf_nr_rrc_featureSetsDownlinkPerCC_v1720_item,
      { "FeatureSetDownlinkPerCC-v1720", "nr-rrc.FeatureSetDownlinkPerCC_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1720,
      { "featureSetsUplink-v1720", "nr-rrc.featureSetsUplink_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720", HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v1720_item,
      { "FeatureSetUplink-v1720", "nr-rrc.FeatureSetUplink_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1730,
      { "featureSetsDownlink-v1730", "nr-rrc.featureSetsDownlink_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730", HFILL }},
    { &hf_nr_rrc_featureSetsDownlink_v1730_item,
      { "FeatureSetDownlink-v1730", "nr-rrc.FeatureSetDownlink_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsDownlinkPerCC_v1730,
      { "featureSetsDownlinkPerCC-v1730", "nr-rrc.featureSetsDownlinkPerCC_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730", HFILL }},
    { &hf_nr_rrc_featureSetsDownlinkPerCC_v1730_item,
      { "FeatureSetDownlinkPerCC-v1730", "nr-rrc.FeatureSetDownlinkPerCC_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v16d0,
      { "featureSetsUplink-v16d0", "nr-rrc.featureSetsUplink_v16d0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0", HFILL }},
    { &hf_nr_rrc_featureSetsUplink_v16d0_item,
      { "FeatureSetUplink-v16d0", "nr-rrc.FeatureSetUplink_v16d0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetListPerUplinkCC,
      { "featureSetListPerUplinkCC", "nr-rrc.featureSetListPerUplinkCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id", HFILL }},
    { &hf_nr_rrc_featureSetListPerUplinkCC_item,
      { "FeatureSetUplinkPerCC-Id", "nr-rrc.FeatureSetUplinkPerCC_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scalingFactor_01,
      { "scalingFactor", "nr-rrc.scalingFactor",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_01_vals), 0,
        "T_scalingFactor_01", HFILL }},
    { &hf_nr_rrc_dummy3,
      { "dummy3", "nr-rrc.dummy3",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy3_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraBandFreqSeparationUL,
      { "intraBandFreqSeparationUL", "nr-rrc.intraBandFreqSeparationUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0,
        "FreqSeparationClass", HFILL }},
    { &hf_nr_rrc_searchSpaceSharingCA_UL,
      { "searchSpaceSharingCA-UL", "nr-rrc.searchSpaceSharingCA_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_UL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetUplink_dummy1,
      { "dummy1", "nr-rrc.featureSetUplink.dummy1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DummyI", HFILL }},
    { &hf_nr_rrc_twoPUCCH_Group,
      { "twoPUCCH-Group", "nr-rrc.twoPUCCH_Group",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Group_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicSwitchSUL,
      { "dynamicSwitchSUL", "nr-rrc.dynamicSwitchSUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchSUL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousTxSUL_NonSUL,
      { "simultaneousTxSUL-NonSUL", "nr-rrc.simultaneousTxSUL_NonSUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTxSUL_NonSUL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_ProcessingType1_DifferentTB_PerSlot,
      { "pusch-ProcessingType1-DifferentTB-PerSlot", "nr-rrc.pusch_ProcessingType1_DifferentTB_PerSlot_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz,
      { "scs-15kHz", "nr-rrc.featureSetUplink.pusch_ProcessingType1_DifferentTB_PerSlot.scs_15kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz_vals), 0,
        "T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_15kHz", HFILL }},
    { &hf_nr_rrc_scs_30kHz_03,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_02_vals), 0,
        "T_scs_30kHz_02", HFILL }},
    { &hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz,
      { "scs-60kHz", "nr-rrc.featureSetUplink.pusch_ProcessingType1_DifferentTB_PerSlot.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz_vals), 0,
        "T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_60kHz", HFILL }},
    { &hf_nr_rrc_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz,
      { "scs-120kHz", "nr-rrc.featureSetUplink.pusch_ProcessingType1_DifferentTB_PerSlot.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz_vals), 0,
        "T_featureSetUplink_pusch_ProcessingType1_DifferentTB_PerSlot_scs_120kHz", HFILL }},
    { &hf_nr_rrc_featureSetUplink_dummy2,
      { "dummy2", "nr-rrc.featureSetUplink.dummy2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DummyF", HFILL }},
    { &hf_nr_rrc_zeroSlotOffsetAperiodicSRS,
      { "zeroSlotOffsetAperiodicSRS", "nr-rrc.zeroSlotOffsetAperiodicSRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_zeroSlotOffsetAperiodicSRS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pa_PhaseDiscontinuityImpacts,
      { "pa-PhaseDiscontinuityImpacts", "nr-rrc.pa_PhaseDiscontinuityImpacts",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pa_PhaseDiscontinuityImpacts_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_SeparationWithGap,
      { "pusch-SeparationWithGap", "nr-rrc.pusch_SeparationWithGap",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_SeparationWithGap_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_ProcessingType2,
      { "pusch-ProcessingType2", "nr-rrc.pusch_ProcessingType2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1540_pusch_ProcessingType2_scs_15kHz,
      { "scs-15kHz", "nr-rrc.featureSetUplink_v1540.pusch_ProcessingType2.scs_15kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProcessingParameters", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1540_pusch_ProcessingType2_scs_60kHz,
      { "scs-60kHz", "nr-rrc.featureSetUplink_v1540.pusch_ProcessingType2.scs_60kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProcessingParameters", HFILL }},
    { &hf_nr_rrc_ul_MCS_TableAlt_DynamicIndication,
      { "ul-MCS-TableAlt-DynamicIndication", "nr-rrc.ul_MCS_TableAlt_DynamicIndication",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_MCS_TableAlt_DynamicIndication_vals), 0,
        "T_ul_MCS_TableAlt_DynamicIndication", HFILL }},
    { &hf_nr_rrc_pusch_RepetitionTypeB_r16,
      { "pusch-RepetitionTypeB-r16", "nr-rrc.pusch_RepetitionTypeB_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPUSCH_Tx_r16,
      { "maxNumberPUSCH-Tx-r16", "nr-rrc.maxNumberPUSCH_Tx_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPUSCH_Tx_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_hoppingScheme_r16,
      { "hoppingScheme-r16", "nr-rrc.hoppingScheme_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_hoppingScheme_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_CancellationSelfCarrier_r16,
      { "ul-CancellationSelfCarrier-r16", "nr-rrc.ul_CancellationSelfCarrier_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_CancellationSelfCarrier_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_CancellationCrossCarrier_r16,
      { "ul-CancellationCrossCarrier-r16", "nr-rrc.ul_CancellationCrossCarrier_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_CancellationCrossCarrier_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_FullPwrMode2_MaxSRS_ResInSet_r16,
      { "ul-FullPwrMode2-MaxSRS-ResInSet-r16", "nr-rrc.ul_FullPwrMode2_MaxSRS_ResInSet_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FullPwrMode2_MaxSRS_ResInSet_r16_vals), 0,
        "T_ul_FullPwrMode2_MaxSRS_ResInSet_r16", HFILL }},
    { &hf_nr_rrc_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16,
      { "cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16", "nr-rrc.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.featureSetUplink_v1610.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_15kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_15kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.featureSetUplink_v1610.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_30kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.featureSetUplink_v1610.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_60kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.featureSetUplink_v1610.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16_scs_120kHz_r16", HFILL }},
    { &hf_nr_rrc_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16,
      { "cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16", "nr-rrc.cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.featureSetUplink_v1610.cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_30kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.featureSetUplink_v1610.cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_60kHz_r16", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.featureSetUplink_v1610.cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_120kHz_r16", HFILL }},
    { &hf_nr_rrc_supportedSRS_PosResources_r16,
      { "supportedSRS-PosResources-r16", "nr-rrc.supportedSRS_PosResources_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_AllPosResources_r16", HFILL }},
    { &hf_nr_rrc_intraFreqDAPS_UL_r16,
      { "intraFreqDAPS-UL-r16", "nr-rrc.intraFreqDAPS_UL_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy_03,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_01_vals), 0,
        "T_dummy_01", HFILL }},
    { &hf_nr_rrc_intraFreqTwoTAGs_DAPS_r16,
      { "intraFreqTwoTAGs-DAPS-r16", "nr-rrc.intraFreqTwoTAGs_DAPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqTwoTAGs_DAPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy1_02,
      { "dummy1", "nr-rrc.dummy1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy1_02_vals), 0,
        "T_dummy1_02", HFILL }},
    { &hf_nr_rrc_dummy2,
      { "dummy2", "nr-rrc.dummy2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy3_01,
      { "dummy3", "nr-rrc.dummy3",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy3_01_vals), 0,
        "T_dummy3_01", HFILL }},
    { &hf_nr_rrc_intraBandFreqSeparationUL_v1620,
      { "intraBandFreqSeparationUL-v1620", "nr-rrc.intraBandFreqSeparationUL_v1620",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClassUL_v1620_vals), 0,
        "FreqSeparationClassUL_v1620", HFILL }},
    { &hf_nr_rrc_multiPUCCH_r16,
      { "multiPUCCH-r16", "nr-rrc.multiPUCCH_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sub_SlotConfig_NCP_r16,
      { "sub-SlotConfig-NCP-r16", "nr-rrc.sub_SlotConfig_NCP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sub_SlotConfig_NCP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sub_SlotConfig_ECP_r16,
      { "sub-SlotConfig-ECP-r16", "nr-rrc.sub_SlotConfig_ECP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sub_SlotConfig_ECP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type1_r16,
      { "twoPUCCH-Type1-r16", "nr-rrc.twoPUCCH_Type1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type2_r16,
      { "twoPUCCH-Type2-r16", "nr-rrc.twoPUCCH_Type2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type3_r16,
      { "twoPUCCH-Type3-r16", "nr-rrc.twoPUCCH_Type3_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type3_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type4_r16,
      { "twoPUCCH-Type4-r16", "nr-rrc.twoPUCCH_Type4_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type4_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_SR_HARQ_ACK_r16,
      { "mux-SR-HARQ-ACK-r16", "nr-rrc.mux_SR_HARQ_ACK_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy1_03,
      { "dummy1", "nr-rrc.dummy1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy1_03_vals), 0,
        "T_dummy1_03", HFILL }},
    { &hf_nr_rrc_dummy2_01,
      { "dummy2", "nr-rrc.dummy2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy2_01_vals), 0,
        "T_dummy2_01", HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type5_r16,
      { "twoPUCCH-Type5-r16", "nr-rrc.twoPUCCH_Type5_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type5_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type6_r16,
      { "twoPUCCH-Type6-r16", "nr-rrc.twoPUCCH_Type6_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type6_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type7_r16,
      { "twoPUCCH-Type7-r16", "nr-rrc.twoPUCCH_Type7_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type7_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type8_r16,
      { "twoPUCCH-Type8-r16", "nr-rrc.twoPUCCH_Type8_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type8_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type9_r16,
      { "twoPUCCH-Type9-r16", "nr-rrc.twoPUCCH_Type9_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type9_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type10_r16,
      { "twoPUCCH-Type10-r16", "nr-rrc.twoPUCCH_Type10_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type10_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_Type11_r16,
      { "twoPUCCH-Type11-r16", "nr-rrc.twoPUCCH_Type11_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Type11_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_IntraUE_Mux_r16,
      { "ul-IntraUE-Mux-r16", "nr-rrc.ul_IntraUE_Mux_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_PreparationLowPriority_r16,
      { "pusch-PreparationLowPriority-r16", "nr-rrc.pusch_PreparationLowPriority_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_PreparationLowPriority_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_PreparationHighPriority_r16,
      { "pusch-PreparationHighPriority-r16", "nr-rrc.pusch_PreparationHighPriority_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_PreparationHighPriority_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_FullPwrMode_r16,
      { "ul-FullPwrMode-r16", "nr-rrc.ul_FullPwrMode_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FullPwrMode_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingProcessing_DiffSCS_r16_01,
      { "crossCarrierSchedulingProcessing-DiffSCS-r16", "nr-rrc.crossCarrierSchedulingProcessing_DiffSCS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_crossCarrierSchedulingProcessing_DiffSCS_r16_01", HFILL }},
    { &hf_nr_rrc_scs_15kHz_120kHz_r16_01,
      { "scs-15kHz-120kHz-r16", "nr-rrc.scs_15kHz_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_120kHz_r16_01_vals), 0,
        "T_scs_15kHz_120kHz_r16_01", HFILL }},
    { &hf_nr_rrc_scs_15kHz_60kHz_r16_01,
      { "scs-15kHz-60kHz-r16", "nr-rrc.scs_15kHz_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_60kHz_r16_01_vals), 0,
        "T_scs_15kHz_60kHz_r16_01", HFILL }},
    { &hf_nr_rrc_scs_30kHz_120kHz_r16_01,
      { "scs-30kHz-120kHz-r16", "nr-rrc.scs_30kHz_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_120kHz_r16_01_vals), 0,
        "T_scs_30kHz_120kHz_r16_01", HFILL }},
    { &hf_nr_rrc_scs_15kHz_30kHz_r16_01,
      { "scs-15kHz-30kHz-r16", "nr-rrc.scs_15kHz_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_30kHz_r16_01_vals), 0,
        "T_scs_15kHz_30kHz_r16_01", HFILL }},
    { &hf_nr_rrc_scs_30kHz_60kHz_r16_01,
      { "scs-30kHz-60kHz-r16", "nr-rrc.scs_30kHz_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_60kHz_r16_01_vals), 0,
        "T_scs_30kHz_60kHz_r16_01", HFILL }},
    { &hf_nr_rrc_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16,
      { "scs-60kHz-120kHz-r16", "nr-rrc.featureSetUplink_v1610.crossCarrierSchedulingProcessing_DiffSCS_r16.scs_60kHz_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16_vals), 0,
        "T_featureSetUplink_v1610_crossCarrierSchedulingProcessing_DiffSCS_r16_scs_60kHz_120kHz_r16", HFILL }},
    { &hf_nr_rrc_ul_FullPwrMode1_r16,
      { "ul-FullPwrMode1-r16", "nr-rrc.ul_FullPwrMode1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FullPwrMode1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16,
      { "ul-FullPwrMode2-SRSConfig-diffNumSRSPorts-r16", "nr-rrc.ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FullPwrMode2_SRSConfig_diffNumSRSPorts_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_FullPwrMode2_TPMIGroup_r16,
      { "ul-FullPwrMode2-TPMIGroup-r16", "nr-rrc.ul_FullPwrMode2_TPMIGroup_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPorts_r16,
      { "twoPorts-r16", "nr-rrc.twoPorts_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_fourPortsNonCoherent_r16,
      { "fourPortsNonCoherent-r16", "nr-rrc.fourPortsNonCoherent_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fourPortsNonCoherent_r16_vals), 0,
        "T_fourPortsNonCoherent_r16", HFILL }},
    { &hf_nr_rrc_fourPortsPartialCoherent_r16,
      { "fourPortsPartialCoherent-r16", "nr-rrc.fourPortsPartialCoherent_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fourPortsPartialCoherent_r16_vals), 0,
        "T_fourPortsPartialCoherent_r16", HFILL }},
    { &hf_nr_rrc_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16,
      { "offsetSRS-CB-PUSCH-Ant-Switch-fr1-r16", "nr-rrc.offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16_vals), 0,
        "T_offsetSRS_CB_PUSCH_Ant_Switch_fr1_r16", HFILL }},
    { &hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16,
      { "offsetSRS-CB-PUSCH-PDCCH-MonitorSingleOcc-fr1-r16", "nr-rrc.offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorSingleOcc_fr1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16,
      { "offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithoutGap-fr1-r16", "nr-rrc.offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithoutGap_fr1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16,
      { "offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithGap-fr1-r16", "nr-rrc.offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithGap_fr1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy_04,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_02_vals), 0,
        "T_dummy_02", HFILL }},
    { &hf_nr_rrc_partialCancellationPUCCH_PUSCH_PRACH_TX_r16,
      { "partialCancellationPUCCH-PUSCH-PRACH-TX-r16", "nr-rrc.partialCancellationPUCCH_PUSCH_PRACH_TX_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_partialCancellationPUCCH_PUSCH_PRACH_TX_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoHARQ_ACK_Codebook_type1_r16,
      { "twoHARQ-ACK-Codebook-type1-r16", "nr-rrc.twoHARQ_ACK_Codebook_type1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SubSlot_Config_r16", HFILL }},
    { &hf_nr_rrc_twoHARQ_ACK_Codebook_type2_r16,
      { "twoHARQ-ACK-Codebook-type2-r16", "nr-rrc.twoHARQ_ACK_Codebook_type2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SubSlot_Config_r16", HFILL }},
    { &hf_nr_rrc_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16,
      { "offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithSpanGap-fr1-r16", "nr-rrc.offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.scs_15kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_30kHz_r16_01,
      { "scs-30kHz-r16", "nr-rrc.scs_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.scs_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepetitionTypeB_v16d0,
      { "pusch-RepetitionTypeB-v16d0", "nr-rrc.pusch_RepetitionTypeB_v16d0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPUSCH_Tx_Cap1_r16,
      { "maxNumberPUSCH-Tx-Cap1-r16", "nr-rrc.maxNumberPUSCH_Tx_Cap1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPUSCH_Tx_Cap1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPUSCH_Tx_Cap2_r16,
      { "maxNumberPUSCH-Tx-Cap2-r16", "nr-rrc.maxNumberPUSCH_Tx_Cap2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPUSCH_Tx_Cap2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_TypeA_CB_r17,
      { "mTRP-PUSCH-TypeA-CB-r17", "nr-rrc.mTRP_PUSCH_TypeA_CB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_TypeA_CB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_RepetitionTypeA_r17,
      { "mTRP-PUSCH-RepetitionTypeA-r17", "nr-rrc.mTRP_PUSCH_RepetitionTypeA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_RepetitionTypeA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUCCH_IntraSlot_r17,
      { "mTRP-PUCCH-IntraSlot-r17", "nr-rrc.mTRP_PUCCH_IntraSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUCCH_IntraSlot_r17_vals), 0,
        "T_mTRP_PUCCH_IntraSlot_r17", HFILL }},
    { &hf_nr_rrc_srs_AntennaSwitching2SP_1Periodic_r17,
      { "srs-AntennaSwitching2SP-1Periodic-r17", "nr-rrc.srs_AntennaSwitching2SP_1Periodic_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_AntennaSwitching2SP_1Periodic_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_ExtensionAperiodicSRS_r17,
      { "srs-ExtensionAperiodicSRS-r17", "nr-rrc.srs_ExtensionAperiodicSRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_ExtensionAperiodicSRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_OneAP_SRS_r17,
      { "srs-OneAP-SRS-r17", "nr-rrc.srs_OneAP_SRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_OneAP_SRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_PowerClassPerBandPerBC_r17,
      { "ue-PowerClassPerBandPerBC-r17", "nr-rrc.ue_PowerClassPerBandPerBC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_PowerClassPerBandPerBC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tx_Support_UL_GapFR2_r17,
      { "tx-Support-UL-GapFR2-r17", "nr-rrc.tx_Support_UL_GapFR2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tx_Support_UL_GapFR2_r17_vals), 0,
        "T_tx_Support_UL_GapFR2_r17", HFILL }},
    { &hf_nr_rrc_pucch_Repetition_F0_1_2_3_4_RRC_Config_r17,
      { "pucch-Repetition-F0-1-2-3-4-RRC-Config-r17", "nr-rrc.pucch_Repetition_F0_1_2_3_4_RRC_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Repetition_F0_1_2_3_4_RRC_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17,
      { "pucch-Repetition-F0-1-2-3-4-DynamicIndication-r17", "nr-rrc.pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Repetition_F0_1_2_3_4_DynamicIndication_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interSubslotFreqHopping_PUCCH_r17,
      { "interSubslotFreqHopping-PUCCH-r17", "nr-rrc.interSubslotFreqHopping_PUCCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interSubslotFreqHopping_PUCCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17,
      { "semiStaticHARQ-ACK-CodebookSub-SlotPUCCH-r17", "nr-rrc.semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiStaticHARQ_ACK_CodebookSub_SlotPUCCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_PrioritizationLowPriorityDG_HighPriorityCG_r17,
      { "phy-PrioritizationLowPriorityDG-HighPriorityCG-r17", "nr-rrc.phy_PrioritizationLowPriorityDG_HighPriorityCG_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17,
      { "phy-PrioritizationHighPriorityDG-LowPriorityCG-r17", "nr-rrc.phy_PrioritizationHighPriorityDG_LowPriorityCG_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_PreparationLowPriority_r17,
      { "pusch-PreparationLowPriority-r17", "nr-rrc.pusch_PreparationLowPriority_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_PreparationLowPriority_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalCancellationTime_r17,
      { "additionalCancellationTime-r17", "nr-rrc.additionalCancellationTime_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_15kHz_r17_03,
      { "scs-15kHz-r17", "nr-rrc.scs_15kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_r17_01_vals), 0,
        "T_scs_15kHz_r17_01", HFILL }},
    { &hf_nr_rrc_scs_30kHz_r17_03,
      { "scs-30kHz-r17", "nr-rrc.scs_30kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_r17_01_vals), 0,
        "T_scs_30kHz_r17_01", HFILL }},
    { &hf_nr_rrc_scs_60kHz_r17_03,
      { "scs-60kHz-r17", "nr-rrc.scs_60kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_r17_01_vals), 0,
        "T_scs_60kHz_r17_01", HFILL }},
    { &hf_nr_rrc_scs_120kHz_r17_03,
      { "scs-120kHz-r17", "nr-rrc.scs_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_r17_01_vals), 0,
        "T_scs_120kHz_r17_01", HFILL }},
    { &hf_nr_rrc_maxNumberCarriers_r17,
      { "maxNumberCarriers-r17", "nr-rrc.maxNumberCarriers_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_extendedDC_LocationReport_r17,
      { "extendedDC-LocationReport-r17", "nr-rrc.extendedDC_LocationReport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedDC_LocationReport_r17_vals), 0,
        "T_extendedDC_LocationReport_r17", HFILL }},
    { &hf_nr_rrc_sub_SlotConfig_NCP_r16_01,
      { "sub-SlotConfig-NCP-r16", "nr-rrc.sub_SlotConfig_NCP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sub_SlotConfig_NCP_r16_01_vals), 0,
        "T_sub_SlotConfig_NCP_r16_01", HFILL }},
    { &hf_nr_rrc_sub_SlotConfig_ECP_r16_01,
      { "sub-SlotConfig-ECP-r16", "nr-rrc.sub_SlotConfig_ECP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sub_SlotConfig_ECP_r16_01_vals), 0,
        "T_sub_SlotConfig_ECP_r16_01", HFILL }},
    { &hf_nr_rrc_srs_PosResources_r16,
      { "srs-PosResources-r16", "nr-rrc.srs_PosResources_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceAP_r16,
      { "srs-PosResourceAP-r16", "nr-rrc.srs_PosResourceAP_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourceSP_r16,
      { "srs-PosResourceSP-r16", "nr-rrc.srs_PosResourceSP_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r16,
      { "maxNumberSRS-PosResourceSetPerBWP-r16", "nr-rrc.maxNumberSRS_PosResourceSetPerBWP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r16,
      { "maxNumberSRS-PosResourcesPerBWP-r16", "nr-rrc.maxNumberSRS_PosResourcesPerBWP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r16,
      { "maxNumberSRS-ResourcesPerBWP-PerSlot-r16", "nr-rrc.maxNumberSRS_ResourcesPerBWP_PerSlot_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16_vals), 0,
        "T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r16,
      { "maxNumberPeriodicSRS-PosResourcesPerBWP-r16", "nr-rrc.maxNumberPeriodicSRS_PosResourcesPerBWP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16,
      { "maxNumberPeriodicSRS-PosResourcesPerBWP-PerSlot-r16", "nr-rrc.maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16_vals), 0,
        "T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_r16,
      { "maxNumberAP-SRS-PosResourcesPerBWP-r16", "nr-rrc.maxNumberAP_SRS_PosResourcesPerBWP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16,
      { "maxNumberAP-SRS-PosResourcesPerBWP-PerSlot-r16", "nr-rrc.maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16_vals), 0,
        "T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_r16,
      { "maxNumberSP-SRS-PosResourcesPerBWP-r16", "nr-rrc.maxNumberSP_SRS_PosResourcesPerBWP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16,
      { "maxNumberSP-SRS-PosResourcesPerBWP-PerSlot-r16", "nr-rrc.maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16_vals), 0,
        "T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16", HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP,
      { "maxNumberAperiodicSRS-PerBWP", "nr-rrc.maxNumberAperiodicSRS_PerBWP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot,
      { "maxNumberAperiodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberAperiodicSRS_PerBWP_PerSlot",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_6", HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP,
      { "maxNumberPeriodicSRS-PerBWP", "nr-rrc.maxNumberPeriodicSRS_PerBWP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot,
      { "maxNumberPeriodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberPeriodicSRS_PerBWP_PerSlot",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_6", HFILL }},
    { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP,
      { "maxNumberSemiPersistentSRS-PerBWP", "nr-rrc.maxNumberSemiPersistentSRS_PerBWP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP_PerSlot,
      { "maxNumberSemiPersistentSRS-PerBWP-PerSlot", "nr-rrc.maxNumberSemiPersistentSRS_PerBWP_PerSlot",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_6", HFILL }},
    { &hf_nr_rrc_maxNumberSRS_Ports_PerResource,
      { "maxNumberSRS-Ports-PerResource", "nr-rrc.maxNumberSRS_Ports_PerResource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_Ports_PerResource_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP,
      { "maxNumberPeriodicCSI-ReportPerBWP", "nr-rrc.maxNumberPeriodicCSI_ReportPerBWP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP,
      { "maxNumberAperiodicCSI-ReportPerBWP", "nr-rrc.maxNumberAperiodicCSI_ReportPerBWP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP,
      { "maxNumberSemiPersistentCSI-ReportPerBWP", "nr-rrc.maxNumberSemiPersistentCSI_ReportPerBWP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_supportedSubcarrierSpacingUL,
      { "supportedSubcarrierSpacingUL", "nr-rrc.supportedSubcarrierSpacingUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        "SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_supportedBandwidthUL,
      { "supportedBandwidthUL", "nr-rrc.supportedBandwidthUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_vals), 0,
        "SupportedBandwidth", HFILL }},
    { &hf_nr_rrc_channelBW_90mhz_01,
      { "channelBW-90mhz", "nr-rrc.channelBW_90mhz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_90mhz_01_vals), 0,
        "T_channelBW_90mhz_01", HFILL }},
    { &hf_nr_rrc_mimo_CB_PUSCH,
      { "mimo-CB-PUSCH", "nr-rrc.mimo_CB_PUSCH_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH,
      { "maxNumberMIMO-LayersCB-PUSCH", "nr-rrc.maxNumberMIMO_LayersCB_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
        "MIMO_LayersUL", HFILL }},
    { &hf_nr_rrc_maxNumberSRS_ResourcePerSet,
      { "maxNumberSRS-ResourcePerSet", "nr-rrc.maxNumberSRS_ResourcePerSet",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH,
      { "maxNumberMIMO-LayersNonCB-PUSCH", "nr-rrc.maxNumberMIMO_LayersNonCB_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
        "MIMO_LayersUL", HFILL }},
    { &hf_nr_rrc_supportedModulationOrderUL,
      { "supportedModulationOrderUL", "nr-rrc.supportedModulationOrderUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0,
        "ModulationOrder", HFILL }},
    { &hf_nr_rrc_mimo_NonCB_PUSCH,
      { "mimo-NonCB-PUSCH", "nr-rrc.mimo_NonCB_PUSCH_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_01,
      { "maxNumberSRS-ResourcePerSet", "nr-rrc.maxNumberSRS_ResourcePerSet",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberSimultaneousSRS_ResourceTx,
      { "maxNumberSimultaneousSRS-ResourceTx", "nr-rrc.maxNumberSimultaneousSRS_ResourceTx",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_supportedMinBandwidthUL_r17,
      { "supportedMinBandwidthUL-r17", "nr-rrc.supportedMinBandwidthUL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_v1700_vals), 0,
        "SupportedBandwidth_v1700", HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_RepetitionTypeB_r17,
      { "mTRP-PUSCH-RepetitionTypeB-r17", "nr-rrc.mTRP_PUSCH_RepetitionTypeB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_RepetitionTypeB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_TypeB_CB_r17,
      { "mTRP-PUSCH-TypeB-CB-r17", "nr-rrc.mTRP_PUSCH_TypeB_CB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_TypeB_CB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandwidthUL_v1710,
      { "supportedBandwidthUL-v1710", "nr-rrc.supportedBandwidthUL_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_v1700_vals), 0,
        "SupportedBandwidth_v1700", HFILL }},
    { &hf_nr_rrc_FreqBandList_item,
      { "FreqBandInformation", "nr-rrc.FreqBandInformation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqBandInformation_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandInformationEUTRA,
      { "bandInformationEUTRA", "nr-rrc.bandInformationEUTRA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FreqBandInformationEUTRA", HFILL }},
    { &hf_nr_rrc_bandInformationNR,
      { "bandInformationNR", "nr-rrc.bandInformationNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FreqBandInformationNR", HFILL }},
    { &hf_nr_rrc_maxBandwidthRequestedDL,
      { "maxBandwidthRequestedDL", "nr-rrc.maxBandwidthRequestedDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwidth_vals), 0,
        "AggregatedBandwidth", HFILL }},
    { &hf_nr_rrc_maxBandwidthRequestedUL,
      { "maxBandwidthRequestedUL", "nr-rrc.maxBandwidthRequestedUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwidth_vals), 0,
        "AggregatedBandwidth", HFILL }},
    { &hf_nr_rrc_maxCarriersRequestedDL,
      { "maxCarriersRequestedDL", "nr-rrc.maxCarriersRequestedDL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofServingCells", HFILL }},
    { &hf_nr_rrc_maxCarriersRequestedUL,
      { "maxCarriersRequestedUL", "nr-rrc.maxCarriersRequestedUL",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxNrofServingCells", HFILL }},
    { &hf_nr_rrc_dl_FR2_2_SCS_120kHz_r17,
      { "dl-FR2-2-SCS-120kHz-r17", "nr-rrc.dl_FR2_2_SCS_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_FR2_2_SCS_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_FR2_2_SCS_120kHz_r17,
      { "ul-FR2-2-SCS-120kHz-r17", "nr-rrc.ul_FR2_2_SCS_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FR2_2_SCS_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_initialAccessSSB_120kHz_r17,
      { "initialAccessSSB-120kHz-r17", "nr-rrc.initialAccessSSB_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_initialAccessSSB_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_widebandPRACH_SCS_120kHz_r17,
      { "widebandPRACH-SCS-120kHz-r17", "nr-rrc.widebandPRACH_SCS_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_widebandPRACH_SCS_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiRB_PUCCH_SCS_120kHz_r17,
      { "multiRB-PUCCH-SCS-120kHz-r17", "nr-rrc.multiRB_PUCCH_SCS_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiRB_PUCCH_SCS_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17,
      { "multiPDSCH-SingleDCI-FR2-2-SCS-120kHz-r17", "nr-rrc.multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiPDSCH_SingleDCI_FR2_2_SCS_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17,
      { "multiPUSCH-SingleDCI-FR2-2-SCS-120kHz-r17", "nr-rrc.multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiPUSCH_SingleDCI_FR2_2_SCS_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_FR2_2_SCS_480kHz_r17,
      { "dl-FR2-2-SCS-480kHz-r17", "nr-rrc.dl_FR2_2_SCS_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_FR2_2_SCS_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_FR2_2_SCS_480kHz_r17,
      { "ul-FR2-2-SCS-480kHz-r17", "nr-rrc.ul_FR2_2_SCS_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FR2_2_SCS_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_initialAccessSSB_480kHz_r17,
      { "initialAccessSSB-480kHz-r17", "nr-rrc.initialAccessSSB_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_initialAccessSSB_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_widebandPRACH_SCS_480kHz_r17,
      { "widebandPRACH-SCS-480kHz-r17", "nr-rrc.widebandPRACH_SCS_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_widebandPRACH_SCS_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiRB_PUCCH_SCS_480kHz_r17,
      { "multiRB-PUCCH-SCS-480kHz-r17", "nr-rrc.multiRB_PUCCH_SCS_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiRB_PUCCH_SCS_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedPDCCH_monitoringSCS_480kHz_r17,
      { "enhancedPDCCH-monitoringSCS-480kHz-r17", "nr-rrc.enhancedPDCCH_monitoringSCS_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedPDCCH_monitoringSCS_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_FR2_2_SCS_960kHz_r17,
      { "dl-FR2-2-SCS-960kHz-r17", "nr-rrc.dl_FR2_2_SCS_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_FR2_2_SCS_960kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_FR2_2_SCS_960kHz_r17,
      { "ul-FR2-2-SCS-960kHz-r17", "nr-rrc.ul_FR2_2_SCS_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FR2_2_SCS_960kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiRB_PUCCH_SCS_960kHz_r17,
      { "multiRB-PUCCH-SCS-960kHz-r17", "nr-rrc.multiRB_PUCCH_SCS_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiRB_PUCCH_SCS_960kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedPDCCH_monitoringSCS_960kHz_r17,
      { "enhancedPDCCH-monitoringSCS-960kHz-r17", "nr-rrc.enhancedPDCCH_monitoringSCS_960kHz_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_monitoring4_1_r17,
      { "pdcch-monitoring4-1-r17", "nr-rrc.pdcch_monitoring4_1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_monitoring4_1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_monitoring4_2_r17,
      { "pdcch-monitoring4-2-r17", "nr-rrc.pdcch_monitoring4_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_monitoring4_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_monitoring8_4_r17,
      { "pdcch-monitoring8-4-r17", "nr-rrc.pdcch_monitoring8_4_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_monitoring8_4_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_ChannelAccess_FR2_2_r17,
      { "type1-ChannelAccess-FR2-2-r17", "nr-rrc.type1_ChannelAccess_FR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_ChannelAccess_FR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_ChannelAccess_FR2_2_r17,
      { "type2-ChannelAccess-FR2-2-r17", "nr-rrc.type2_ChannelAccess_FR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_ChannelAccess_FR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reduced_BeamSwitchTiming_FR2_2_r17,
      { "reduced-BeamSwitchTiming-FR2-2-r17", "nr-rrc.reduced_BeamSwitchTiming_FR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reduced_BeamSwitchTiming_FR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_support32_DL_HARQ_ProcessPerSCS_r17,
      { "support32-DL-HARQ-ProcessPerSCS-r17", "nr-rrc.support32_DL_HARQ_ProcessPerSCS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_120kHz_r17_04,
      { "scs-120kHz-r17", "nr-rrc.scs_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_r17_02_vals), 0,
        "T_scs_120kHz_r17_02", HFILL }},
    { &hf_nr_rrc_scs_480kHz_r17,
      { "scs-480kHz-r17", "nr-rrc.scs_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_480kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_960kHz_r17,
      { "scs-960kHz-r17", "nr-rrc.scs_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_960kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_support32_UL_HARQ_ProcessPerSCS_r17,
      { "support32-UL-HARQ-ProcessPerSCS-r17", "nr-rrc.support32_UL_HARQ_ProcessPerSCS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_120kHz_r17_05,
      { "scs-120kHz-r17", "nr-rrc.scs_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_r17_03_vals), 0,
        "T_scs_120kHz_r17_03", HFILL }},
    { &hf_nr_rrc_scs_480kHz_r17_01,
      { "scs-480kHz-r17", "nr-rrc.scs_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_480kHz_r17_01_vals), 0,
        "T_scs_480kHz_r17_01", HFILL }},
    { &hf_nr_rrc_scs_960kHz_r17_01,
      { "scs-960kHz-r17", "nr-rrc.scs_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_960kHz_r17_01_vals), 0,
        "T_scs_960kHz_r17_01", HFILL }},
    { &hf_nr_rrc_modulation64_QAM_PUSCH_FR2_2_r17,
      { "modulation64-QAM-PUSCH-FR2-2-r17", "nr-rrc.modulation64_QAM_PUSCH_FR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modulation64_QAM_PUSCH_FR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measurementEnhancement_r16,
      { "measurementEnhancement-r16", "nr-rrc.measurementEnhancement_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementEnhancement_r16_vals), 0,
        "T_measurementEnhancement_r16", HFILL }},
    { &hf_nr_rrc_demodulationEnhancement_r16,
      { "demodulationEnhancement-r16", "nr-rrc.demodulationEnhancement_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_demodulationEnhancement_r16_vals), 0,
        "T_demodulationEnhancement_r16", HFILL }},
    { &hf_nr_rrc_intraNR_MeasurementEnhancement_r16,
      { "intraNR-MeasurementEnhancement-r16", "nr-rrc.intraNR_MeasurementEnhancement_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraNR_MeasurementEnhancement_r16_vals), 0,
        "T_intraNR_MeasurementEnhancement_r16", HFILL }},
    { &hf_nr_rrc_interRAT_MeasurementEnhancement_r16,
      { "interRAT-MeasurementEnhancement-r16", "nr-rrc.interRAT_MeasurementEnhancement_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interRAT_MeasurementEnhancement_r16_vals), 0,
        "T_interRAT_MeasurementEnhancement_r16", HFILL }},
    { &hf_nr_rrc_measurementEnhancementCA_r17,
      { "measurementEnhancementCA-r17", "nr-rrc.measurementEnhancementCA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementEnhancementCA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measurementEnhancementInterFreq_r17,
      { "measurementEnhancementInterFreq-r17", "nr-rrc.measurementEnhancementInterFreq_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementEnhancementInterFreq_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ims_ParametersCommon,
      { "ims-ParametersCommon", "nr-rrc.ims_ParametersCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ims_ParametersFRX_Diff,
      { "ims-ParametersFRX-Diff", "nr-rrc.ims_ParametersFRX_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ims_ParametersFR2_2_r17,
      { "ims-ParametersFR2-2-r17", "nr-rrc.ims_ParametersFR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_voiceOverEUTRA_5GC,
      { "voiceOverEUTRA-5GC", "nr-rrc.voiceOverEUTRA_5GC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverEUTRA_5GC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_voiceOverSCG_BearerEUTRA_5GC,
      { "voiceOverSCG-BearerEUTRA-5GC", "nr-rrc.voiceOverSCG_BearerEUTRA_5GC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_voiceFallbackIndicationEPS_r16,
      { "voiceFallbackIndicationEPS-r16", "nr-rrc.voiceFallbackIndicationEPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceFallbackIndicationEPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_voiceOverNR,
      { "voiceOverNR", "nr-rrc.voiceOverNR",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverNR_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_voiceOverNR_r17,
      { "voiceOverNR-r17", "nr-rrc.voiceOverNR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverNR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_06,
      { "eutra", "nr-rrc.eutra_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EUTRA_Parameters", HFILL }},
    { &hf_nr_rrc_utra_FDD_r16,
      { "utra-FDD-r16", "nr-rrc.utra_FDD_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UTRA_FDD_Parameters_r16", HFILL }},
    { &hf_nr_rrc_supportedBandListEUTRA,
      { "supportedBandListEUTRA", "nr-rrc.supportedBandListEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA", HFILL }},
    { &hf_nr_rrc_supportedBandListEUTRA_item,
      { "FreqBandIndicatorEUTRA", "nr-rrc.FreqBandIndicatorEUTRA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_ParametersCommon,
      { "eutra-ParametersCommon", "nr-rrc.eutra_ParametersCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_ParametersXDD_Diff,
      { "eutra-ParametersXDD-Diff", "nr-rrc.eutra_ParametersXDD_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mfbi_EUTRA,
      { "mfbi-EUTRA", "nr-rrc.mfbi_EUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mfbi_EUTRA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_modifiedMPR_BehaviorEUTRA,
      { "modifiedMPR-BehaviorEUTRA", "nr-rrc.modifiedMPR_BehaviorEUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_multiNS_Pmax_EUTRA,
      { "multiNS-Pmax-EUTRA", "nr-rrc.multiNS_Pmax_EUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiNS_Pmax_EUTRA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rs_SINR_MeasEUTRA,
      { "rs-SINR-MeasEUTRA", "nr-rrc.rs_SINR_MeasEUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rs_SINR_MeasEUTRA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ne_DC,
      { "ne-DC", "nr-rrc.ne_DC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ne_DC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_HO_ToEN_DC_r16,
      { "nr-HO-ToEN-DC-r16", "nr-rrc.nr_HO_ToEN_DC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_HO_ToEN_DC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rsrqMeasWidebandEUTRA,
      { "rsrqMeasWidebandEUTRA", "nr-rrc.rsrqMeasWidebandEUTRA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rsrqMeasWidebandEUTRA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandListUTRA_FDD_r16,
      { "supportedBandListUTRA-FDD-r16", "nr-rrc.supportedBandListUTRA_FDD_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16", HFILL }},
    { &hf_nr_rrc_supportedBandListUTRA_FDD_r16_item,
      { "SupportedBandUTRA-FDD-r16", "nr-rrc.SupportedBandUTRA_FDD_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SupportedBandUTRA_FDD_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_ParametersCommon,
      { "mac-ParametersCommon", "nr-rrc.mac_ParametersCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_ParametersXDD_Diff,
      { "mac-ParametersXDD-Diff", "nr-rrc.mac_ParametersXDD_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_ParametersFRX_Diff_r16,
      { "mac-ParametersFRX-Diff-r16", "nr-rrc.mac_ParametersFRX_Diff_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_ParametersFR2_2_r17,
      { "mac-ParametersFR2-2-r17", "nr-rrc.mac_ParametersFR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lcp_Restriction,
      { "lcp-Restriction", "nr-rrc.lcp_Restriction",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_Restriction_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mAC_ParametersCommon_dummy,
      { "dummy", "nr-rrc.mAC_ParametersCommon.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mAC_ParametersCommon_dummy_vals), 0,
        "T_mAC_ParametersCommon_dummy", HFILL }},
    { &hf_nr_rrc_lch_ToSCellRestriction,
      { "lch-ToSCellRestriction", "nr-rrc.lch_ToSCellRestriction",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_ToSCellRestriction_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_recommendedBitRate,
      { "recommendedBitRate", "nr-rrc.recommendedBitRate",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRate_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_recommendedBitRateQuery,
      { "recommendedBitRateQuery", "nr-rrc.recommendedBitRateQuery",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRateQuery_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_recommendedBitRateMultiplier_r16,
      { "recommendedBitRateMultiplier-r16", "nr-rrc.recommendedBitRateMultiplier_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRateMultiplier_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preEmptiveBSR_r16,
      { "preEmptiveBSR-r16", "nr-rrc.preEmptiveBSR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preEmptiveBSR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_autonomousTransmission_r16,
      { "autonomousTransmission-r16", "nr-rrc.autonomousTransmission_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_autonomousTransmission_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lch_PriorityBasedPrioritization_r16,
      { "lch-PriorityBasedPrioritization-r16", "nr-rrc.lch_PriorityBasedPrioritization_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_PriorityBasedPrioritization_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lch_ToConfiguredGrantMapping_r16,
      { "lch-ToConfiguredGrantMapping-r16", "nr-rrc.lch_ToConfiguredGrantMapping_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_ToConfiguredGrantMapping_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lch_ToGrantPriorityRestriction_r16,
      { "lch-ToGrantPriorityRestriction-r16", "nr-rrc.lch_ToGrantPriorityRestriction_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_ToGrantPriorityRestriction_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_singlePHR_P_r16,
      { "singlePHR-P-r16", "nr-rrc.singlePHR_P_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singlePHR_P_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_LBT_FailureDetectionRecovery_r16,
      { "ul-LBT-FailureDetectionRecovery-r16", "nr-rrc.ul_LBT_FailureDetectionRecovery_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_LBT_FailureDetectionRecovery_r16_vals), 0,
        "T_ul_LBT_FailureDetectionRecovery_r16", HFILL }},
    { &hf_nr_rrc_tdd_MPE_P_MPR_Reporting_r16,
      { "tdd-MPE-P-MPR-Reporting-r16", "nr-rrc.tdd_MPE_P_MPR_Reporting_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdd_MPE_P_MPR_Reporting_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lcid_ExtensionIAB_r16,
      { "lcid-ExtensionIAB-r16", "nr-rrc.lcid_ExtensionIAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcid_ExtensionIAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spCell_BFR_CBRA_r16_01,
      { "spCell-BFR-CBRA-r16", "nr-rrc.spCell_BFR_CBRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spCell_BFR_CBRA_r16_01_vals), 0,
        "T_spCell_BFR_CBRA_r16_01", HFILL }},
    { &hf_nr_rrc_srs_ResourceId_Ext_r16,
      { "srs-ResourceId-Ext-r16", "nr-rrc.srs_ResourceId_Ext_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_ResourceId_Ext_r16_vals), 0,
        "T_srs_ResourceId_Ext_r16", HFILL }},
    { &hf_nr_rrc_enhancedUuDRX_forSidelink_r17,
      { "enhancedUuDRX-forSidelink-r17", "nr-rrc.enhancedUuDRX_forSidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedUuDRX_forSidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mg_ActivationRequestPRS_Meas_r17,
      { "mg-ActivationRequestPRS-Meas-r17", "nr-rrc.mg_ActivationRequestPRS_Meas_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mg_ActivationRequestPRS_Meas_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mg_ActivationCommPRS_Meas_r17,
      { "mg-ActivationCommPRS-Meas-r17", "nr-rrc.mg_ActivationCommPRS_Meas_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mg_ActivationCommPRS_Meas_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraCG_Prioritization_r17_01,
      { "intraCG-Prioritization-r17", "nr-rrc.intraCG_Prioritization_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraCG_Prioritization_r17_01_vals), 0,
        "T_intraCG_Prioritization_r17_01", HFILL }},
    { &hf_nr_rrc_jointPrioritizationCG_Retx_Timer_r17,
      { "jointPrioritizationCG-Retx-Timer-r17", "nr-rrc.jointPrioritizationCG_Retx_Timer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_jointPrioritizationCG_Retx_Timer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_survivalTime_r17,
      { "survivalTime-r17", "nr-rrc.survivalTime_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_survivalTime_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lcg_ExtensionIAB_r17,
      { "lcg-ExtensionIAB-r17", "nr-rrc.lcg_ExtensionIAB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcg_ExtensionIAB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_FeedbackDisabled_r17,
      { "harq-FeedbackDisabled-r17", "nr-rrc.harq_FeedbackDisabled_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_FeedbackDisabled_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplink_Harq_ModeB_r17,
      { "uplink-Harq-ModeB-r17", "nr-rrc.uplink_Harq_ModeB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplink_Harq_ModeB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sr_TriggeredBy_TA_Report_r17,
      { "sr-TriggeredBy-TA-Report-r17", "nr-rrc.sr_TriggeredBy_TA_Report_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_TriggeredBy_TA_Report_r17_vals), 0,
        "T_sr_TriggeredBy_TA_Report_r17", HFILL }},
    { &hf_nr_rrc_extendedDRX_CycleInactive_r17,
      { "extendedDRX-CycleInactive-r17", "nr-rrc.extendedDRX_CycleInactive_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedDRX_CycleInactive_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousSR_PUSCH_DiffPUCCH_groups_r17,
      { "simultaneousSR-PUSCH-DiffPUCCH-groups-r17", "nr-rrc.simultaneousSR_PUSCH_DiffPUCCH_groups_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousSR_PUSCH_DiffPUCCH_groups_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lastTransmissionUL_r17,
      { "lastTransmissionUL-r17", "nr-rrc.lastTransmissionUL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lastTransmissionUL_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directMCG_SCellActivation_r16,
      { "directMCG-SCellActivation-r16", "nr-rrc.directMCG_SCellActivation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directMCG_SCellActivation_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directMCG_SCellActivationResume_r16,
      { "directMCG-SCellActivationResume-r16", "nr-rrc.directMCG_SCellActivationResume_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directMCG_SCellActivationResume_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directSCG_SCellActivation_r16,
      { "directSCG-SCellActivation-r16", "nr-rrc.directSCG_SCellActivation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directSCG_SCellActivation_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directSCG_SCellActivationResume_r16,
      { "directSCG-SCellActivationResume-r16", "nr-rrc.directSCG_SCellActivationResume_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directSCG_SCellActivationResume_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_Adaptation_r16,
      { "drx-Adaptation-r16", "nr-rrc.drx_Adaptation_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_SharedSpectrumChAccess_r16,
      { "non-SharedSpectrumChAccess-r16", "nr-rrc.non_SharedSpectrumChAccess_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MinTimeGap_r16", HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccess_r16,
      { "sharedSpectrumChAccess-r16", "nr-rrc.sharedSpectrumChAccess_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MinTimeGap_r16", HFILL }},
    { &hf_nr_rrc_directMCG_SCellActivation_r17,
      { "directMCG-SCellActivation-r17", "nr-rrc.directMCG_SCellActivation_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directMCG_SCellActivation_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directMCG_SCellActivationResume_r17,
      { "directMCG-SCellActivationResume-r17", "nr-rrc.directMCG_SCellActivationResume_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directMCG_SCellActivationResume_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directSCG_SCellActivation_r17,
      { "directSCG-SCellActivation-r17", "nr-rrc.directSCG_SCellActivation_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directSCG_SCellActivation_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directSCG_SCellActivationResume_r17,
      { "directSCG-SCellActivationResume-r17", "nr-rrc.directSCG_SCellActivationResume_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directSCG_SCellActivationResume_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_Adaptation_r17,
      { "drx-Adaptation-r17", "nr-rrc.drx_Adaptation_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_SharedSpectrumChAccess_r17,
      { "non-SharedSpectrumChAccess-r17", "nr-rrc.non_SharedSpectrumChAccess_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MinTimeGapFR2_2_r17", HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccess_r17,
      { "sharedSpectrumChAccess-r17", "nr-rrc.sharedSpectrumChAccess_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MinTimeGapFR2_2_r17", HFILL }},
    { &hf_nr_rrc_skipUplinkTxDynamic,
      { "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_skipUplinkTxDynamic_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logicalChannelSR_DelayTimer_01,
      { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_01_vals), 0,
        "T_logicalChannelSR_DelayTimer_01", HFILL }},
    { &hf_nr_rrc_longDRX_Cycle,
      { "longDRX-Cycle", "nr-rrc.longDRX_Cycle",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_longDRX_Cycle_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_shortDRX_Cycle,
      { "shortDRX-Cycle", "nr-rrc.shortDRX_Cycle",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortDRX_Cycle_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multipleSR_Configurations,
      { "multipleSR-Configurations", "nr-rrc.multipleSR_Configurations",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_Configurations_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multipleConfiguredGrants,
      { "multipleConfiguredGrants", "nr-rrc.multipleConfiguredGrants",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrants_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_secondaryDRX_Group_r16,
      { "secondaryDRX-Group-r16", "nr-rrc.secondaryDRX_Group_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_secondaryDRX_Group_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedSkipUplinkTxDynamic_r16_01,
      { "enhancedSkipUplinkTxDynamic-r16", "nr-rrc.enhancedSkipUplinkTxDynamic_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedSkipUplinkTxDynamic_r16_01_vals), 0,
        "T_enhancedSkipUplinkTxDynamic_r16_01", HFILL }},
    { &hf_nr_rrc_enhancedSkipUplinkTxConfigured_r16_01,
      { "enhancedSkipUplinkTxConfigured-r16", "nr-rrc.enhancedSkipUplinkTxConfigured_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedSkipUplinkTxConfigured_r16_01_vals), 0,
        "T_enhancedSkipUplinkTxConfigured_r16_01", HFILL }},
    { &hf_nr_rrc_scs_15kHz_r16_01,
      { "scs-15kHz-r16", "nr-rrc.scs_15kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_r16_01_vals), 0,
        "T_scs_15kHz_r16_01", HFILL }},
    { &hf_nr_rrc_minTimeGap_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.minTimeGap_r16.scs_30kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minTimeGap_r16_scs_30kHz_r16_vals), 0,
        "T_minTimeGap_r16_scs_30kHz_r16", HFILL }},
    { &hf_nr_rrc_minTimeGap_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.minTimeGap_r16.scs_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minTimeGap_r16_scs_60kHz_r16_vals), 0,
        "T_minTimeGap_r16_scs_60kHz_r16", HFILL }},
    { &hf_nr_rrc_minTimeGap_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.minTimeGap_r16.scs_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minTimeGap_r16_scs_120kHz_r16_vals), 0,
        "T_minTimeGap_r16_scs_120kHz_r16", HFILL }},
    { &hf_nr_rrc_scs_120kHz_r17_06,
      { "scs-120kHz-r17", "nr-rrc.scs_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_r17_04_vals), 0,
        "T_scs_120kHz_r17_04", HFILL }},
    { &hf_nr_rrc_scs_480kHz_r17_02,
      { "scs-480kHz-r17", "nr-rrc.scs_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_480kHz_r17_02_vals), 0,
        "T_scs_480kHz_r17_02", HFILL }},
    { &hf_nr_rrc_scs_960kHz_r17_02,
      { "scs-960kHz-r17", "nr-rrc.scs_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_960kHz_r17_02_vals), 0,
        "T_scs_960kHz_r17_02", HFILL }},
    { &hf_nr_rrc_measAndMobParametersCommon,
      { "measAndMobParametersCommon", "nr-rrc.measAndMobParametersCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersXDD_Diff,
      { "measAndMobParametersXDD-Diff", "nr-rrc.measAndMobParametersXDD_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersFRX_Diff,
      { "measAndMobParametersFRX-Diff", "nr-rrc.measAndMobParametersFRX_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersFR2_2_r17,
      { "measAndMobParametersFR2-2-r17", "nr-rrc.measAndMobParametersFR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedGapPattern,
      { "supportedGapPattern", "nr-rrc.supportedGapPattern",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_22", HFILL }},
    { &hf_nr_rrc_ssb_RLM,
      { "ssb-RLM", "nr-rrc.ssb_RLM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_RLM_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_AndCSI_RS_RLM,
      { "ssb-AndCSI-RS-RLM", "nr-rrc.ssb_AndCSI_RS_RLM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_AndCSI_RS_RLM_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventB_MeasAndReport,
      { "eventB-MeasAndReport", "nr-rrc.eventB_MeasAndReport",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventB_MeasAndReport_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverFDD_TDD,
      { "handoverFDD-TDD", "nr-rrc.handoverFDD_TDD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverFDD_TDD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_CGI_Reporting,
      { "eutra-CGI-Reporting", "nr-rrc.eutra_CGI_Reporting",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CGI_Reporting_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_CGI_Reporting,
      { "nr-CGI-Reporting", "nr-rrc.nr_CGI_Reporting",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_independentGapConfig,
      { "independentGapConfig", "nr-rrc.independentGapConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_independentGapConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicEUTRA_MeasAndReport,
      { "periodicEUTRA-MeasAndReport", "nr-rrc.periodicEUTRA_MeasAndReport",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicEUTRA_MeasAndReport_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverFR1_FR2,
      { "handoverFR1-FR2", "nr-rrc.handoverFR1_FR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverFR1_FR2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCSI_RS_RRM_RS_SINR,
      { "maxNumberCSI-RS-RRM-RS-SINR", "nr-rrc.maxNumberCSI_RS_RRM_RS_SINR",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSI_RS_RRM_RS_SINR_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_CGI_Reporting_ENDC,
      { "nr-CGI-Reporting-ENDC", "nr-rrc.nr_CGI_Reporting_ENDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_ENDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_CGI_Reporting_NEDC,
      { "eutra-CGI-Reporting-NEDC", "nr-rrc.eutra_CGI_Reporting_NEDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CGI_Reporting_NEDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_CGI_Reporting_NRDC,
      { "eutra-CGI-Reporting-NRDC", "nr-rrc.eutra_CGI_Reporting_NRDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CGI_Reporting_NRDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_CGI_Reporting_NEDC,
      { "nr-CGI-Reporting-NEDC", "nr-rrc.nr_CGI_Reporting_NEDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_NEDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_CGI_Reporting_NRDC,
      { "nr-CGI-Reporting-NRDC", "nr-rrc.nr_CGI_Reporting_NRDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_NRDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_reportAddNeighMeasForPeriodic_r16,
      { "reportAddNeighMeasForPeriodic-r16", "nr-rrc.reportAddNeighMeasForPeriodic_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeasForPeriodic_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandoverParametersCommon_r16,
      { "condHandoverParametersCommon-r16", "nr-rrc.condHandoverParametersCommon_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandoverFDD_TDD_r16,
      { "condHandoverFDD-TDD-r16", "nr-rrc.condHandoverFDD_TDD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverFDD_TDD_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandoverFR1_FR2_r16,
      { "condHandoverFR1-FR2-r16", "nr-rrc.condHandoverFR1_FR2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverFR1_FR2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_NeedForGap_Reporting_r16,
      { "nr-NeedForGap-Reporting-r16", "nr-rrc.nr_NeedForGap_Reporting_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_NeedForGap_Reporting_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedGapPattern_NRonly_r16,
      { "supportedGapPattern-NRonly-r16", "nr-rrc.supportedGapPattern_NRonly_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_supportedGapPattern_NRonly_NEDC_r16,
      { "supportedGapPattern-NRonly-NEDC-r16", "nr-rrc.supportedGapPattern_NRonly_NEDC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedGapPattern_NRonly_NEDC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCLI_RSSI_r16,
      { "maxNumberCLI-RSSI-r16", "nr-rrc.maxNumberCLI_RSSI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCLI_RSSI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCLI_SRS_RSRP_r16,
      { "maxNumberCLI-SRS-RSRP-r16", "nr-rrc.maxNumberCLI_SRS_RSRP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCLI_SRS_RSRP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPerSlotCLI_SRS_RSRP_r16,
      { "maxNumberPerSlotCLI-SRS-RSRP-r16", "nr-rrc.maxNumberPerSlotCLI_SRS_RSRP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPerSlotCLI_SRS_RSRP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mfbi_IAB_r16,
      { "mfbi-IAB-r16", "nr-rrc.mfbi_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mfbi_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersCommon_eag_5_dummy,
      { "dummy", "nr-rrc.measAndMobParametersCommon.eag_5.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measAndMobParametersCommon_eag_5_dummy_vals), 0,
        "T_measAndMobParametersCommon_eag_5_dummy", HFILL }},
    { &hf_nr_rrc_nr_CGI_Reporting_NPN_r16,
      { "nr-CGI-Reporting-NPN-r16", "nr-rrc.nr_CGI_Reporting_NPN_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_NPN_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_idleInactiveEUTRA_MeasReport_r16,
      { "idleInactiveEUTRA-MeasReport-r16", "nr-rrc.idleInactiveEUTRA_MeasReport_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleInactiveEUTRA_MeasReport_r16_vals), 0,
        "T_idleInactiveEUTRA_MeasReport_r16", HFILL }},
    { &hf_nr_rrc_idleInactive_ValidityArea_r16,
      { "idleInactive-ValidityArea-r16", "nr-rrc.idleInactive_ValidityArea_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleInactive_ValidityArea_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_AutonomousGaps_r16,
      { "eutra-AutonomousGaps-r16", "nr-rrc.eutra_AutonomousGaps_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_AutonomousGaps_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_AutonomousGaps_NEDC_r16,
      { "eutra-AutonomousGaps-NEDC-r16", "nr-rrc.eutra_AutonomousGaps_NEDC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_AutonomousGaps_NEDC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_AutonomousGaps_NRDC_r16,
      { "eutra-AutonomousGaps-NRDC-r16", "nr-rrc.eutra_AutonomousGaps_NRDC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_AutonomousGaps_NRDC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pcellT312_r16,
      { "pcellT312-r16", "nr-rrc.pcellT312_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pcellT312_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedGapPattern_r16,
      { "supportedGapPattern-r16", "nr-rrc.supportedGapPattern_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_concurrentMeasGap_r17,
      { "concurrentMeasGap-r17", "nr-rrc.concurrentMeasGap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_concurrentMeasGap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_concurrentPerUE_OnlyMeasGap_r17,
      { "concurrentPerUE-OnlyMeasGap-r17", "nr-rrc.concurrentPerUE_OnlyMeasGap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_concurrentPerUE_OnlyMeasGap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_concurrentPerUE_PerFRCombMeasGap_r17,
      { "concurrentPerUE-PerFRCombMeasGap-r17", "nr-rrc.concurrentPerUE_PerFRCombMeasGap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_concurrentPerUE_PerFRCombMeasGap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_NeedForGapNCSG_Reporting_r17,
      { "nr-NeedForGapNCSG-Reporting-r17", "nr-rrc.nr_NeedForGapNCSG_Reporting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_NeedForGapNCSG_Reporting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_NeedForGapNCSG_Reporting_r17,
      { "eutra-NeedForGapNCSG-Reporting-r17", "nr-rrc.eutra_NeedForGapNCSG_Reporting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_NeedForGapNCSG_Reporting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ncsg_MeasGapPerFR_r17,
      { "ncsg-MeasGapPerFR-r17", "nr-rrc.ncsg_MeasGapPerFR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ncsg_MeasGapPerFR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ncsg_MeasGapPatterns_r17,
      { "ncsg-MeasGapPatterns-r17", "nr-rrc.ncsg_MeasGapPatterns_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_nr_rrc_ncsg_MeasGapNR_Patterns_r17,
      { "ncsg-MeasGapNR-Patterns-r17", "nr-rrc.ncsg_MeasGapNR_Patterns_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_nr_rrc_preconfiguredUE_AutonomousMeasGap_r17,
      { "preconfiguredUE-AutonomousMeasGap-r17", "nr-rrc.preconfiguredUE_AutonomousMeasGap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preconfiguredUE_AutonomousMeasGap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_preconfiguredNW_ControlledMeasGap_r17,
      { "preconfiguredNW-ControlledMeasGap-r17", "nr-rrc.preconfiguredNW_ControlledMeasGap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preconfiguredNW_ControlledMeasGap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverFR1_FR2_2_r17,
      { "handoverFR1-FR2-2-r17", "nr-rrc.handoverFR1_FR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverFR1_FR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverFR2_1_FR2_2_r17,
      { "handoverFR2-1-FR2-2-r17", "nr-rrc.handoverFR2_1_FR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverFR2_1_FR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_independentGapConfigPRS_r17,
      { "independentGapConfigPRS-r17", "nr-rrc.independentGapConfigPRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_independentGapConfigPRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrm_RelaxationRRC_ConnectedRedCap_r17,
      { "rrm-RelaxationRRC-ConnectedRedCap-r17", "nr-rrc.rrm_RelaxationRRC_ConnectedRedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrm_RelaxationRRC_ConnectedRedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_parallelMeasurementGap_r17,
      { "parallelMeasurementGap-r17", "nr-rrc.parallelMeasurementGap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelMeasurementGap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandoverWithSCG_NRDC_r17,
      { "condHandoverWithSCG-NRDC-r17", "nr-rrc.condHandoverWithSCG_NRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverWithSCG_NRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_ID_LengthReporting_r17,
      { "gNB-ID-LengthReporting-r17", "nr-rrc.gNB_ID_LengthReporting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_ID_LengthReporting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_ID_LengthReporting_ENDC_r17,
      { "gNB-ID-LengthReporting-ENDC-r17", "nr-rrc.gNB_ID_LengthReporting_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_ID_LengthReporting_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_ID_LengthReporting_NEDC_r17,
      { "gNB-ID-LengthReporting-NEDC-r17", "nr-rrc.gNB_ID_LengthReporting_NEDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_ID_LengthReporting_NEDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_ID_LengthReporting_NRDC_r17,
      { "gNB-ID-LengthReporting-NRDC-r17", "nr-rrc.gNB_ID_LengthReporting_NRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_ID_LengthReporting_NRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_ID_LengthReporting_NPN_r17,
      { "gNB-ID-LengthReporting-NPN-r17", "nr-rrc.gNB_ID_LengthReporting_NPN_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_ID_LengthReporting_NPN_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_parallelSMTC_r17,
      { "parallelSMTC-r17", "nr-rrc.parallelSMTC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelSMTC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_concurrentMeasGapEUTRA_r17,
      { "concurrentMeasGapEUTRA-r17", "nr-rrc.concurrentMeasGapEUTRA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_concurrentMeasGapEUTRA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_serviceLinkPropDelayDiffReporting_r17,
      { "serviceLinkPropDelayDiffReporting-r17", "nr-rrc.serviceLinkPropDelayDiffReporting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_serviceLinkPropDelayDiffReporting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ncsg_SymbolLevelScheduleRestrictionInter_r17,
      { "ncsg-SymbolLevelScheduleRestrictionInter-r17", "nr-rrc.ncsg_SymbolLevelScheduleRestrictionInter_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ncsg_SymbolLevelScheduleRestrictionInter_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventD1_MeasReportTrigger_r17,
      { "eventD1-MeasReportTrigger-r17", "nr-rrc.eventD1_MeasReportTrigger_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventD1_MeasReportTrigger_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_independentGapConfig_maxCC_r17,
      { "independentGapConfig-maxCC-r17", "nr-rrc.independentGapConfig_maxCC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_Only_r17,
      { "fr1-Only-r17", "nr-rrc.fr1_Only_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_fr2_Only_r17,
      { "fr2-Only-r17", "nr-rrc.fr2_Only_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_fr1_AndFR2_r17,
      { "fr1-AndFR2-r17", "nr-rrc.fr1_AndFR2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_interSatMeas_r17,
      { "interSatMeas-r17", "nr-rrc.interSatMeas_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interSatMeas_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_deriveSSB_IndexFromCellInterNon_NCSG_r17,
      { "deriveSSB-IndexFromCellInterNon-NCSG-r17", "nr-rrc.deriveSSB_IndexFromCellInterNon_NCSG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deriveSSB_IndexFromCellInterNon_NCSG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraAndInterF_MeasAndReport,
      { "intraAndInterF-MeasAndReport", "nr-rrc.intraAndInterF_MeasAndReport",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraAndInterF_MeasAndReport_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventA_MeasAndReport,
      { "eventA-MeasAndReport", "nr-rrc.eventA_MeasAndReport",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventA_MeasAndReport_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverInterF,
      { "handoverInterF", "nr-rrc.handoverInterF",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverInterF_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverLTE_EPC,
      { "handoverLTE-EPC", "nr-rrc.handoverLTE_EPC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_EPC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverLTE_5GC,
      { "handoverLTE-5GC", "nr-rrc.handoverLTE_5GC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_5GC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sftd_MeasNR_Neigh,
      { "sftd-MeasNR-Neigh", "nr-rrc.sftd_MeasNR_Neigh",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Neigh_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sftd_MeasNR_Neigh_DRX,
      { "sftd-MeasNR-Neigh-DRX", "nr-rrc.sftd_MeasNR_Neigh_DRX",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Neigh_DRX_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy_05,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_03_vals), 0,
        "T_dummy_03", HFILL }},
    { &hf_nr_rrc_ss_SINR_Meas,
      { "ss-SINR-Meas", "nr-rrc.ss_SINR_Meas",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ss_SINR_Meas_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB,
      { "csi-RSRP-AndRSRQ-MeasWithSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithSSB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB,
      { "csi-RSRP-AndRSRQ-MeasWithoutSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithoutSSB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SINR_Meas,
      { "csi-SINR-Meas", "nr-rrc.csi_SINR_Meas",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_SINR_Meas_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_RLM,
      { "csi-RS-RLM", "nr-rrc.csi_RS_RLM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_RLM_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverInterF_01,
      { "handoverInterF", "nr-rrc.handoverInterF",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverInterF_01_vals), 0,
        "T_handoverInterF_01", HFILL }},
    { &hf_nr_rrc_handoverLTE_EPC_01,
      { "handoverLTE-EPC", "nr-rrc.handoverLTE_EPC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_EPC_01_vals), 0,
        "T_handoverLTE_EPC_01", HFILL }},
    { &hf_nr_rrc_handoverLTE_5GC_01,
      { "handoverLTE-5GC", "nr-rrc.handoverLTE_5GC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_5GC_01_vals), 0,
        "T_handoverLTE_5GC_01", HFILL }},
    { &hf_nr_rrc_maxNumberResource_CSI_RS_RLM,
      { "maxNumberResource-CSI-RS-RLM", "nr-rrc.maxNumberResource_CSI_RS_RLM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberResource_CSI_RS_RLM_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology,
      { "simultaneousRxDataSSB-DiffNumerology", "nr-rrc.simultaneousRxDataSSB_DiffNumerology",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_AutonomousGaps_r16,
      { "nr-AutonomousGaps-r16", "nr-rrc.nr_AutonomousGaps_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGaps_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_AutonomousGaps_ENDC_r16,
      { "nr-AutonomousGaps-ENDC-r16", "nr-rrc.nr_AutonomousGaps_ENDC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGaps_ENDC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_AutonomousGaps_NEDC_r16,
      { "nr-AutonomousGaps-NEDC-r16", "nr-rrc.nr_AutonomousGaps_NEDC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGaps_NEDC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_AutonomousGaps_NRDC_r16,
      { "nr-AutonomousGaps-NRDC-r16", "nr-rrc.nr_AutonomousGaps_NRDC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGaps_NRDC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy_06,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_04_vals), 0,
        "T_dummy_04", HFILL }},
    { &hf_nr_rrc_cli_RSSI_Meas_r16,
      { "cli-RSSI-Meas-r16", "nr-rrc.cli_RSSI_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cli_RSSI_Meas_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cli_SRS_RSRP_Meas_r16,
      { "cli-SRS-RSRP-Meas-r16", "nr-rrc.cli_SRS_RSRP_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cli_SRS_RSRP_Meas_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFrequencyMeas_NoGap_r16,
      { "interFrequencyMeas-NoGap-r16", "nr-rrc.interFrequencyMeas_NoGap_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFrequencyMeas_NoGap_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_Inter_r16,
      { "simultaneousRxDataSSB-DiffNumerology-Inter-r16", "nr-rrc.simultaneousRxDataSSB_DiffNumerology_Inter_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_Inter_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_idleInactiveNR_MeasReport_r16,
      { "idleInactiveNR-MeasReport-r16", "nr-rrc.idleInactiveNR_MeasReport_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleInactiveNR_MeasReport_r16_vals), 0,
        "T_idleInactiveNR_MeasReport_r16", HFILL }},
    { &hf_nr_rrc_idleInactiveNR_MeasBeamReport_r16,
      { "idleInactiveNR-MeasBeamReport-r16", "nr-rrc.idleInactiveNR_MeasBeamReport_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleInactiveNR_MeasBeamReport_r16_vals), 0,
        "T_idleInactiveNR_MeasBeamReport_r16", HFILL }},
    { &hf_nr_rrc_increasedNumberofCSIRSPerMO_r16,
      { "increasedNumberofCSIRSPerMO-r16", "nr-rrc.increasedNumberofCSIRSPerMO_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_increasedNumberofCSIRSPerMO_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverInterF_r17,
      { "handoverInterF-r17", "nr-rrc.handoverInterF_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverInterF_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverLTE_EPC_r17,
      { "handoverLTE-EPC-r17", "nr-rrc.handoverLTE_EPC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_EPC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverLTE_5GC_r17,
      { "handoverLTE-5GC-r17", "nr-rrc.handoverLTE_5GC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_5GC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_idleInactiveNR_MeasReport_r17,
      { "idleInactiveNR-MeasReport-r17", "nr-rrc.idleInactiveNR_MeasReport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleInactiveNR_MeasReport_r17_vals), 0,
        "T_idleInactiveNR_MeasReport_r17", HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_Common,
      { "measAndMobParametersMRDC-Common", "nr-rrc.measAndMobParametersMRDC_Common_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff,
      { "measAndMobParametersMRDC-XDD-Diff", "nr-rrc.measAndMobParametersMRDC_XDD_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff,
      { "measAndMobParametersMRDC-FRX-Diff", "nr-rrc.measAndMobParametersMRDC_FRX_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560,
      { "measAndMobParametersMRDC-XDD-Diff-v1560", "nr-rrc.measAndMobParametersMRDC_XDD_Diff_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_Common_v1610,
      { "measAndMobParametersMRDC-Common-v1610", "nr-rrc.measAndMobParametersMRDC_Common_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interNR_MeasEUTRA_IAB_r16,
      { "interNR-MeasEUTRA-IAB-r16", "nr-rrc.interNR_MeasEUTRA_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interNR_MeasEUTRA_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_Common_v1700,
      { "measAndMobParametersMRDC-Common-v1700", "nr-rrc.measAndMobParametersMRDC_Common_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_Common_v1730,
      { "measAndMobParametersMRDC-Common-v1730", "nr-rrc.measAndMobParametersMRDC_Common_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_independentGapConfig_01,
      { "independentGapConfig", "nr-rrc.independentGapConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_independentGapConfig_01_vals), 0,
        "T_independentGapConfig_01", HFILL }},
    { &hf_nr_rrc_condPSCellChangeParametersCommon_r16,
      { "condPSCellChangeParametersCommon-r16", "nr-rrc.condPSCellChangeParametersCommon_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condPSCellChangeFDD_TDD_r16,
      { "condPSCellChangeFDD-TDD-r16", "nr-rrc.condPSCellChangeFDD_TDD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChangeFDD_TDD_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condPSCellChangeFR1_FR2_r16,
      { "condPSCellChangeFR1-FR2-r16", "nr-rrc.condPSCellChangeFR1_FR2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChangeFR1_FR2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pscellT312_r16,
      { "pscellT312-r16", "nr-rrc.pscellT312_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pscellT312_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condPSCellChangeParameters_r17,
      { "condPSCellChangeParameters-r17", "nr-rrc.condPSCellChangeParameters_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_inter_SN_condPSCellChangeFDD_TDD_NRDC_r17,
      { "inter-SN-condPSCellChangeFDD-TDD-NRDC-r17", "nr-rrc.inter_SN_condPSCellChangeFDD_TDD_NRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inter_SN_condPSCellChangeFDD_TDD_NRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_inter_SN_condPSCellChangeFR1_FR2_NRDC_r17,
      { "inter-SN-condPSCellChangeFR1-FR2-NRDC-r17", "nr-rrc.inter_SN_condPSCellChangeFR1_FR2_NRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inter_SN_condPSCellChangeFR1_FR2_NRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_inter_SN_condPSCellChangeFDD_TDD_ENDC_r17,
      { "inter-SN-condPSCellChangeFDD-TDD-ENDC-r17", "nr-rrc.inter_SN_condPSCellChangeFDD_TDD_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inter_SN_condPSCellChangeFDD_TDD_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_inter_SN_condPSCellChangeFR1_FR2_ENDC_r17,
      { "inter-SN-condPSCellChangeFR1-FR2-ENDC-r17", "nr-rrc.inter_SN_condPSCellChangeFR1_FR2_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inter_SN_condPSCellChangeFR1_FR2_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17,
      { "mn-InitiatedCondPSCellChange-FR1FDD-ENDC-r17", "nr-rrc.mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17,
      { "mn-InitiatedCondPSCellChange-FR1TDD-ENDC-r17", "nr-rrc.mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17,
      { "mn-InitiatedCondPSCellChange-FR2TDD-ENDC-r17", "nr-rrc.mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17,
      { "sn-InitiatedCondPSCellChange-FR1FDD-ENDC-r17", "nr-rrc.sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sn_InitiatedCondPSCellChange_FR1FDD_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17,
      { "sn-InitiatedCondPSCellChange-FR1TDD-ENDC-r17", "nr-rrc.sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sn_InitiatedCondPSCellChange_FR1TDD_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17,
      { "sn-InitiatedCondPSCellChange-FR2TDD-ENDC-r17", "nr-rrc.sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sn_InitiatedCondPSCellChange_FR2TDD_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandoverWithSCG_ENDC_r17,
      { "condHandoverWithSCG-ENDC-r17", "nr-rrc.condHandoverWithSCG_ENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverWithSCG_ENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandoverWithSCG_NEDC_r17,
      { "condHandoverWithSCG-NEDC-r17", "nr-rrc.condHandoverWithSCG_NEDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverWithSCG_NEDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_independentGapConfig_maxCC_r17_01,
      { "independentGapConfig-maxCC-r17", "nr-rrc.independentGapConfig_maxCC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_independentGapConfig_maxCC_r17_01", HFILL }},
    { &hf_nr_rrc_sftd_MeasPSCell,
      { "sftd-MeasPSCell", "nr-rrc.sftd_MeasPSCell",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasPSCell_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sftd_MeasNR_Cell,
      { "sftd-MeasNR-Cell", "nr-rrc.sftd_MeasNR_Cell",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Cell_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sftd_MeasPSCell_NEDC,
      { "sftd-MeasPSCell-NEDC", "nr-rrc.sftd_MeasPSCell_NEDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasPSCell_NEDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_01,
      { "simultaneousRxDataSSB-DiffNumerology", "nr-rrc.simultaneousRxDataSSB_DiffNumerology",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01_vals), 0,
        "T_simultaneousRxDataSSB_DiffNumerology_01", HFILL }},
    { &hf_nr_rrc_tci_StatePDSCH,
      { "tci-StatePDSCH", "nr-rrc.tci_StatePDSCH_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberConfiguredTCI_StatesPerCC,
      { "maxNumberConfiguredTCI-StatesPerCC", "nr-rrc.maxNumberConfiguredTCI_StatesPerCC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredTCI_StatesPerCC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberActiveTCI_PerBWP,
      { "maxNumberActiveTCI-PerBWP", "nr-rrc.maxNumberActiveTCI_PerBWP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveTCI_PerBWP_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalActiveTCI_StatePDCCH,
      { "additionalActiveTCI-StatePDCCH", "nr-rrc.additionalActiveTCI_StatePDCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalActiveTCI_StatePDCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_TransCoherence,
      { "pusch-TransCoherence", "nr-rrc.pusch_TransCoherence",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TransCoherence_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamCorrespondenceWithoutUL_BeamSweeping,
      { "beamCorrespondenceWithoutUL-BeamSweeping", "nr-rrc.beamCorrespondenceWithoutUL_BeamSweeping",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamCorrespondenceWithoutUL_BeamSweeping_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_periodicBeamReport,
      { "periodicBeamReport", "nr-rrc.periodicBeamReport",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBeamReport_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicBeamReport,
      { "aperiodicBeamReport", "nr-rrc.aperiodicBeamReport",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicBeamReport_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_BeamReportPUCCH,
      { "sp-BeamReportPUCCH", "nr-rrc.sp_BeamReportPUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_BeamReportPUSCH,
      { "sp-BeamReportPUSCH", "nr-rrc.sp_BeamReportPUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_dummy1,
      { "dummy1", "nr-rrc.mIMO_ParametersPerBand.dummy1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DummyG", HFILL }},
    { &hf_nr_rrc_maxNumberRxBeam,
      { "maxNumberRxBeam", "nr-rrc.maxNumberRxBeam",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_8", HFILL }},
    { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL,
      { "maxNumberRxTxBeamSwitchDL", "nr-rrc.maxNumberRxTxBeamSwitchDL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz,
      { "scs-15kHz", "nr-rrc.mIMO_ParametersPerBand.maxNumberRxTxBeamSwitchDL.scs_15kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz_vals), 0,
        "T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_15kHz", HFILL }},
    { &hf_nr_rrc_scs_30kHz_04,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_03_vals), 0,
        "T_scs_30kHz_03", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz,
      { "scs-60kHz", "nr-rrc.mIMO_ParametersPerBand.maxNumberRxTxBeamSwitchDL.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz_vals), 0,
        "T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_60kHz", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz,
      { "scs-120kHz", "nr-rrc.mIMO_ParametersPerBand.maxNumberRxTxBeamSwitchDL.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz_vals), 0,
        "T_mIMO_ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs_120kHz", HFILL }},
    { &hf_nr_rrc_scs_240kHz,
      { "scs-240kHz", "nr-rrc.scs_240kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_240kHz_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberNonGroupBeamReporting,
      { "maxNumberNonGroupBeamReporting", "nr-rrc.maxNumberNonGroupBeamReporting",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberNonGroupBeamReporting_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_groupBeamReporting,
      { "groupBeamReporting", "nr-rrc.groupBeamReporting",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBeamReporting_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkBeamManagement,
      { "uplinkBeamManagement", "nr-rrc.uplinkBeamManagement_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_BM,
      { "maxNumberSRS-ResourcePerSet-BM", "nr-rrc.maxNumberSRS_ResourcePerSet_BM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcePerSet_BM_vals), 0,
        "T_maxNumberSRS_ResourcePerSet_BM", HFILL }},
    { &hf_nr_rrc_maxNumberSRS_ResourceSet,
      { "maxNumberSRS-ResourceSet", "nr-rrc.maxNumberSRS_ResourceSet",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_maxNumberCSI_RS_BFD,
      { "maxNumberCSI-RS-BFD", "nr-rrc.maxNumberCSI_RS_BFD",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_maxNumberSSB_BFD,
      { "maxNumberSSB-BFD", "nr-rrc.maxNumberSSB_BFD",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_maxNumberCSI_RS_SSB_CBD,
      { "maxNumberCSI-RS-SSB-CBD", "nr-rrc.maxNumberCSI_RS_SSB_CBD",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_256", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_dummy2,
      { "dummy2", "nr-rrc.mIMO_ParametersPerBand.dummy2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_dummy2_vals), 0,
        "T_mIMO_ParametersPerBand_dummy2", HFILL }},
    { &hf_nr_rrc_twoPortsPTRS_UL,
      { "twoPortsPTRS-UL", "nr-rrc.twoPortsPTRS_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPortsPTRS_UL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_dummy5,
      { "dummy5", "nr-rrc.mIMO_ParametersPerBand.dummy5_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRS_Resources", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_dummy3,
      { "dummy3", "nr-rrc.mIMO_ParametersPerBand.dummy3",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_beamReportTiming,
      { "beamReportTiming", "nr-rrc.beamReportTiming_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz,
      { "scs-15kHz", "nr-rrc.mIMO_ParametersPerBand.beamReportTiming.scs_15kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz_vals), 0,
        "T_mIMO_ParametersPerBand_beamReportTiming_scs_15kHz", HFILL }},
    { &hf_nr_rrc_scs_30kHz_05,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_04_vals), 0,
        "T_scs_30kHz_04", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz,
      { "scs-60kHz", "nr-rrc.mIMO_ParametersPerBand.beamReportTiming.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz_vals), 0,
        "T_mIMO_ParametersPerBand_beamReportTiming_scs_60kHz", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz,
      { "scs-120kHz", "nr-rrc.mIMO_ParametersPerBand.beamReportTiming.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz_vals), 0,
        "T_mIMO_ParametersPerBand_beamReportTiming_scs_120kHz", HFILL }},
    { &hf_nr_rrc_ptrs_DensityRecommendationSetDL,
      { "ptrs-DensityRecommendationSetDL", "nr-rrc.ptrs_DensityRecommendationSetDL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_15kHz,
      { "scs-15kHz", "nr-rrc.mIMO_ParametersPerBand.ptrs_DensityRecommendationSetDL.scs_15kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DensityRecommendationDL", HFILL }},
    { &hf_nr_rrc_scs_30kHz_06,
      { "scs-30kHz", "nr-rrc.scs_30kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DensityRecommendationDL", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_60kHz,
      { "scs-60kHz", "nr-rrc.mIMO_ParametersPerBand.ptrs_DensityRecommendationSetDL.scs_60kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DensityRecommendationDL", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetDL_scs_120kHz,
      { "scs-120kHz", "nr-rrc.mIMO_ParametersPerBand.ptrs_DensityRecommendationSetDL.scs_120kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DensityRecommendationDL", HFILL }},
    { &hf_nr_rrc_ptrs_DensityRecommendationSetUL,
      { "ptrs-DensityRecommendationSetUL", "nr-rrc.ptrs_DensityRecommendationSetUL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_15kHz,
      { "scs-15kHz", "nr-rrc.mIMO_ParametersPerBand.ptrs_DensityRecommendationSetUL.scs_15kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DensityRecommendationUL", HFILL }},
    { &hf_nr_rrc_scs_30kHz_07,
      { "scs-30kHz", "nr-rrc.scs_30kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DensityRecommendationUL", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_60kHz,
      { "scs-60kHz", "nr-rrc.mIMO_ParametersPerBand.ptrs_DensityRecommendationSetUL.scs_60kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DensityRecommendationUL", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_ptrs_DensityRecommendationSetUL_scs_120kHz,
      { "scs-120kHz", "nr-rrc.mIMO_ParametersPerBand.ptrs_DensityRecommendationSetUL.scs_120kHz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PTRS_DensityRecommendationUL", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_dummy4,
      { "dummy4", "nr-rrc.mIMO_ParametersPerBand.dummy4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DummyH", HFILL }},
    { &hf_nr_rrc_aperiodicTRS,
      { "aperiodicTRS", "nr-rrc.aperiodicTRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTRS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_eag_1_dummy6,
      { "dummy6", "nr-rrc.mIMO_ParametersPerBand.eag_1.dummy6",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_eag_1_dummy6_vals), 0,
        "T_mIMO_ParametersPerBand_eag_1_dummy6", HFILL }},
    { &hf_nr_rrc_beamManagementSSB_CSI_RS,
      { "beamManagementSSB-CSI-RS", "nr-rrc.beamManagementSSB_CSI_RS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamSwitchTiming,
      { "beamSwitchTiming", "nr-rrc.beamSwitchTiming_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz,
      { "scs-60kHz", "nr-rrc.mIMO_ParametersPerBand.eag_1.beamSwitchTiming.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz_vals), 0,
        "T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_60kHz", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz,
      { "scs-120kHz", "nr-rrc.mIMO_ParametersPerBand.eag_1.beamSwitchTiming.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz_vals), 0,
        "T_mIMO_ParametersPerBand_eag_1_beamSwitchTiming_scs_120kHz", HFILL }},
    { &hf_nr_rrc_codebookParameters,
      { "codebookParameters", "nr-rrc.codebookParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedback,
      { "csi-RS-IM-ReceptionForFeedback", "nr-rrc.csi_RS_IM_ReceptionForFeedback_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_ProcFrameworkForSRS,
      { "csi-RS-ProcFrameworkForSRS", "nr-rrc.csi_RS_ProcFrameworkForSRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportFramework,
      { "csi-ReportFramework", "nr-rrc.csi_ReportFramework_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_ForTracking,
      { "csi-RS-ForTracking", "nr-rrc.csi_RS_ForTracking_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_AssocCSI_RS,
      { "srs-AssocCSI-RS", "nr-rrc.srs_AssocCSI_RS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource", HFILL }},
    { &hf_nr_rrc_srs_AssocCSI_RS_item,
      { "SupportedCSI-RS-Resource", "nr-rrc.SupportedCSI_RS_Resource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelations,
      { "spatialRelations", "nr-rrc.spatialRelations_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_defaultQCL_TwoTCI_r16,
      { "defaultQCL-TwoTCI-r16", "nr-rrc.defaultQCL_TwoTCI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_defaultQCL_TwoTCI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookParametersPerBand_r16,
      { "codebookParametersPerBand-r16", "nr-rrc.codebookParametersPerBand_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CodebookParameters_v1610", HFILL }},
    { &hf_nr_rrc_simul_SpatialRelationUpdatePUCCHResGroup_r16,
      { "simul-SpatialRelationUpdatePUCCHResGroup-r16", "nr-rrc.simul_SpatialRelationUpdatePUCCHResGroup_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simul_SpatialRelationUpdatePUCCHResGroup_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSCellBFR_r16,
      { "maxNumberSCellBFR-r16", "nr-rrc.maxNumberSCellBFR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSCellBFR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousReceptionDiffTypeD_r16,
      { "simultaneousReceptionDiffTypeD-r16", "nr-rrc.simultaneousReceptionDiffTypeD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousReceptionDiffTypeD_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_csirs_SINR_measurement_r16,
      { "ssb-csirs-SINR-measurement-r16", "nr-rrc.ssb_csirs_SINR_measurement_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_ssb_csirs_SINR_measurement_r16", HFILL }},
    { &hf_nr_rrc_maxNumberSSB_CSIRS_OneTx_CMR_r16,
      { "maxNumberSSB-CSIRS-OneTx-CMR-r16", "nr-rrc.maxNumberSSB_CSIRS_OneTx_CMR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSIRS_OneTx_CMR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCSI_IM_NZP_IMR_res_r16,
      { "maxNumberCSI-IM-NZP-IMR-res-r16", "nr-rrc.maxNumberCSI_IM_NZP_IMR_res_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSI_IM_NZP_IMR_res_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCSIRS_2Tx_res_r16,
      { "maxNumberCSIRS-2Tx-res-r16", "nr-rrc.maxNumberCSIRS_2Tx_res_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSIRS_2Tx_res_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSSB_CSIRS_res_r16,
      { "maxNumberSSB-CSIRS-res-r16", "nr-rrc.maxNumberSSB_CSIRS_res_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSIRS_res_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCSI_IM_NZP_IMR_res_mem_r16,
      { "maxNumberCSI-IM-NZP-IMR-res-mem-r16", "nr-rrc.maxNumberCSI_IM_NZP_IMR_res_mem_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSI_IM_NZP_IMR_res_mem_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_Density_CMR_r16,
      { "supportedCSI-RS-Density-CMR-r16", "nr-rrc.supportedCSI_RS_Density_CMR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_CMR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_RS_Res_r16,
      { "maxNumberAperiodicCSI-RS-Res-r16", "nr-rrc.maxNumberAperiodicCSI_RS_Res_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicCSI_RS_Res_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedSINR_meas_r16,
      { "supportedSINR-meas-r16", "nr-rrc.supportedSINR_meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSINR_meas_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonGroupSINR_reporting_r16,
      { "nonGroupSINR-reporting-r16", "nr-rrc.nonGroupSINR_reporting_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nonGroupSINR_reporting_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_groupSINR_reporting_r16,
      { "groupSINR-reporting-r16", "nr-rrc.groupSINR_reporting_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupSINR_reporting_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiDCI_multiTRP_Parameters_r16,
      { "multiDCI-multiTRP-Parameters-r16", "nr-rrc.multiDCI_multiTRP_Parameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_overlapPDSCHsFullyFreqTime_r16,
      { "overlapPDSCHsFullyFreqTime-r16", "nr-rrc.overlapPDSCHsFullyFreqTime_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_overlapPDSCHsInTimePartiallyFreq_r16,
      { "overlapPDSCHsInTimePartiallyFreq-r16", "nr-rrc.overlapPDSCHsInTimePartiallyFreq_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overlapPDSCHsInTimePartiallyFreq_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_outOfOrderOperationDL_r16,
      { "outOfOrderOperationDL-r16", "nr-rrc.outOfOrderOperationDL_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportPDCCH_ToPDSCH_r16,
      { "supportPDCCH-ToPDSCH-r16", "nr-rrc.supportPDCCH_ToPDSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportPDCCH_ToPDSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportPDSCH_ToHARQ_ACK_r16,
      { "supportPDSCH-ToHARQ-ACK-r16", "nr-rrc.supportPDSCH_ToHARQ_ACK_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportPDSCH_ToHARQ_ACK_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_outOfOrderOperationUL_r16,
      { "outOfOrderOperationUL-r16", "nr-rrc.outOfOrderOperationUL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderOperationUL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_separateCRS_RateMatching_r16,
      { "separateCRS-RateMatching-r16", "nr-rrc.separateCRS_RateMatching_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_separateCRS_RateMatching_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_defaultQCL_PerCORESETPoolIndex_r16,
      { "defaultQCL-PerCORESETPoolIndex-r16", "nr-rrc.defaultQCL_PerCORESETPoolIndex_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_defaultQCL_PerCORESETPoolIndex_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberActivatedTCI_States_r16,
      { "maxNumberActivatedTCI-States-r16", "nr-rrc.maxNumberActivatedTCI_States_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPerCORESET_Pool_r16,
      { "maxNumberPerCORESET-Pool-r16", "nr-rrc.maxNumberPerCORESET_Pool_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPerCORESET_Pool_r16_vals), 0,
        "T_maxNumberPerCORESET_Pool_r16", HFILL }},
    { &hf_nr_rrc_maxTotalNumberAcrossCORESET_Pool_r16,
      { "maxTotalNumberAcrossCORESET-Pool-r16", "nr-rrc.maxTotalNumberAcrossCORESET_Pool_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxTotalNumberAcrossCORESET_Pool_r16_vals), 0,
        "T_maxTotalNumberAcrossCORESET_Pool_r16", HFILL }},
    { &hf_nr_rrc_singleDCI_SDM_scheme_Parameters_r16,
      { "singleDCI-SDM-scheme-Parameters-r16", "nr-rrc.singleDCI_SDM_scheme_Parameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportNewDMRS_Port_r16,
      { "supportNewDMRS-Port-r16", "nr-rrc.supportNewDMRS_Port_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportNewDMRS_Port_r16_vals), 0,
        "T_supportNewDMRS_Port_r16", HFILL }},
    { &hf_nr_rrc_supportTwoPortDL_PTRS_r16,
      { "supportTwoPortDL-PTRS-r16", "nr-rrc.supportTwoPortDL_PTRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportTwoPortDL_PTRS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportFDM_SchemeA_r16,
      { "supportFDM-SchemeA-r16", "nr-rrc.supportFDM_SchemeA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportFDM_SchemeA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportCodeWordSoftCombining_r16,
      { "supportCodeWordSoftCombining-r16", "nr-rrc.supportCodeWordSoftCombining_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportCodeWordSoftCombining_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportTDM_SchemeA_r16,
      { "supportTDM-SchemeA-r16", "nr-rrc.supportTDM_SchemeA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportTDM_SchemeA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportInter_slotTDM_r16,
      { "supportInter-slotTDM-r16", "nr-rrc.supportInter_slotTDM_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportRepNumPDSCH_TDRA_r16,
      { "supportRepNumPDSCH-TDRA-r16", "nr-rrc.supportRepNumPDSCH_TDRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportRepNumPDSCH_TDRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxTBS_Size_r16,
      { "maxTBS-Size-r16", "nr-rrc.maxTBS_Size_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxTBS_Size_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberTCI_states_r16,
      { "maxNumberTCI-states-r16", "nr-rrc.maxNumberTCI_states_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_lowPAPR_DMRS_PDSCH_r16,
      { "lowPAPR-DMRS-PDSCH-r16", "nr-rrc.lowPAPR_DMRS_PDSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowPAPR_DMRS_PDSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lowPAPR_DMRS_PUSCHwithoutPrecoding_r16,
      { "lowPAPR-DMRS-PUSCHwithoutPrecoding-r16", "nr-rrc.lowPAPR_DMRS_PUSCHwithoutPrecoding_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowPAPR_DMRS_PUSCHwithoutPrecoding_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lowPAPR_DMRS_PUCCH_r16,
      { "lowPAPR-DMRS-PUCCH-r16", "nr-rrc.lowPAPR_DMRS_PUCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowPAPR_DMRS_PUCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lowPAPR_DMRS_PUSCHwithPrecoding_r16,
      { "lowPAPR-DMRS-PUSCHwithPrecoding-r16", "nr-rrc.lowPAPR_DMRS_PUSCHwithPrecoding_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowPAPR_DMRS_PUSCHwithPrecoding_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportFrameworkExt_r16,
      { "csi-ReportFrameworkExt-r16", "nr-rrc.csi_ReportFrameworkExt_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookParametersAddition_r16,
      { "codebookParametersAddition-r16", "nr-rrc.codebookParametersAddition_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookComboParametersAddition_r16,
      { "codebookComboParametersAddition-r16", "nr-rrc.codebookComboParametersAddition_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamCorrespondenceSSB_based_r16,
      { "beamCorrespondenceSSB-based-r16", "nr-rrc.beamCorrespondenceSSB_based_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamCorrespondenceSSB_based_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamCorrespondenceCSI_RS_based_r16,
      { "beamCorrespondenceCSI-RS-based-r16", "nr-rrc.beamCorrespondenceCSI_RS_based_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamCorrespondenceCSI_RS_based_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamSwitchTiming_r16,
      { "beamSwitchTiming-r16", "nr-rrc.beamSwitchTiming_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.mIMO_ParametersPerBand.eag_2.beamSwitchTiming_r16.scs_60kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16_vals), 0,
        "T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_60kHz_r16", HFILL }},
    { &hf_nr_rrc_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.mIMO_ParametersPerBand.eag_2.beamSwitchTiming_r16.scs_120kHz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16_vals), 0,
        "T_mIMO_ParametersPerBand_eag_2_beamSwitchTiming_r16_scs_120kHz_r16", HFILL }},
    { &hf_nr_rrc_semi_PersistentL1_SINR_Report_PUCCH_r16,
      { "semi-PersistentL1-SINR-Report-PUCCH-r16", "nr-rrc.semi_PersistentL1_SINR_Report_PUCCH_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_semi_PersistentL1_SINR_Report_PUCCH_r16", HFILL }},
    { &hf_nr_rrc_supportReportFormat1_2OFDM_syms_r16,
      { "supportReportFormat1-2OFDM-syms-r16", "nr-rrc.supportReportFormat1_2OFDM_syms_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportReportFormat1_2OFDM_syms_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportReportFormat4_14OFDM_syms_r16,
      { "supportReportFormat4-14OFDM-syms-r16", "nr-rrc.supportReportFormat4_14OFDM_syms_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportReportFormat4_14OFDM_syms_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semi_PersistentL1_SINR_Report_PUSCH_r16,
      { "semi-PersistentL1-SINR-Report-PUSCH-r16", "nr-rrc.semi_PersistentL1_SINR_Report_PUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semi_PersistentL1_SINR_Report_PUSCH_r16_vals), 0,
        "T_semi_PersistentL1_SINR_Report_PUSCH_r16", HFILL }},
    { &hf_nr_rrc_spatialRelations_v1640,
      { "spatialRelations-v1640", "nr-rrc.spatialRelations_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberConfiguredSpatialRelations_v1640,
      { "maxNumberConfiguredSpatialRelations-v1640", "nr-rrc.maxNumberConfiguredSpatialRelations_v1640",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredSpatialRelations_v1640_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_support64CandidateBeamRS_BFR_r16,
      { "support64CandidateBeamRS-BFR-r16", "nr-rrc.support64CandidateBeamRS_BFR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_support64CandidateBeamRS_BFR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMIMO_LayersForMulti_DCI_mTRP_r16,
      { "maxMIMO-LayersForMulti-DCI-mTRP-r16", "nr-rrc.maxMIMO_LayersForMulti_DCI_mTRP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayersForMulti_DCI_mTRP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedSINR_meas_v1670,
      { "supportedSINR-meas-v1670", "nr-rrc.supportedSINR_meas_v1670",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_srs_increasedRepetition_r17,
      { "srs-increasedRepetition-r17", "nr-rrc.srs_increasedRepetition_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_increasedRepetition_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_partialFrequencySounding_r17,
      { "srs-partialFrequencySounding-r17", "nr-rrc.srs_partialFrequencySounding_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_partialFrequencySounding_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_startRB_locationHoppingPartial_r17,
      { "srs-startRB-locationHoppingPartial-r17", "nr-rrc.srs_startRB_locationHoppingPartial_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_startRB_locationHoppingPartial_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_combEight_r17,
      { "srs-combEight-r17", "nr-rrc.srs_combEight_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_combEight_r17_vals), 0,
        "T_srs_combEight_r17", HFILL }},
    { &hf_nr_rrc_codebookParametersfetype2_r17,
      { "codebookParametersfetype2-r17", "nr-rrc.codebookParametersfetype2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_twoCSI_RS_r17,
      { "mTRP-PUSCH-twoCSI-RS-r17", "nr-rrc.mTRP_PUSCH_twoCSI_RS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_twoCSI_RS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUCCH_InterSlot_r17,
      { "mTRP-PUCCH-InterSlot-r17", "nr-rrc.mTRP_PUCCH_InterSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUCCH_InterSlot_r17_vals), 0,
        "T_mTRP_PUCCH_InterSlot_r17", HFILL }},
    { &hf_nr_rrc_mTRP_PUCCH_CyclicMapping_r17,
      { "mTRP-PUCCH-CyclicMapping-r17", "nr-rrc.mTRP_PUCCH_CyclicMapping_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUCCH_CyclicMapping_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUCCH_SecondTPC_r17,
      { "mTRP-PUCCH-SecondTPC-r17", "nr-rrc.mTRP_PUCCH_SecondTPC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUCCH_SecondTPC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_BFR_twoBFD_RS_Set_r17,
      { "mTRP-BFR-twoBFD-RS-Set-r17", "nr-rrc.mTRP_BFR_twoBFD_RS_Set_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_mTRP_BFR_twoBFD_RS_Set_r17", HFILL }},
    { &hf_nr_rrc_maxBFD_RS_resourcesPerSetPerBWP_r17,
      { "maxBFD-RS-resourcesPerSetPerBWP-r17", "nr-rrc.maxBFD_RS_resourcesPerSetPerBWP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBFD_RS_resourcesPerSetPerBWP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxBFR_r17,
      { "maxBFR-r17", "nr-rrc.maxBFR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_9", HFILL }},
    { &hf_nr_rrc_maxBFD_RS_resourcesAcrossSetsPerBWP_r17,
      { "maxBFD-RS-resourcesAcrossSetsPerBWP-r17", "nr-rrc.maxBFD_RS_resourcesAcrossSetsPerBWP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBFD_RS_resourcesAcrossSetsPerBWP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_BFR_PUCCH_SR_perCG_r17,
      { "mTRP-BFR-PUCCH-SR-perCG-r17", "nr-rrc.mTRP_BFR_PUCCH_SR_perCG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_BFR_PUCCH_SR_perCG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_BFR_association_PUCCH_SR_r17,
      { "mTRP-BFR-association-PUCCH-SR-r17", "nr-rrc.mTRP_BFR_association_PUCCH_SR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_BFR_association_PUCCH_SR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_SimulTwoTCI_AcrossMultiCC_r17,
      { "sfn-SimulTwoTCI-AcrossMultiCC-r17", "nr-rrc.sfn_SimulTwoTCI_AcrossMultiCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SimulTwoTCI_AcrossMultiCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_DefaultDL_BeamSetup_r17,
      { "sfn-DefaultDL-BeamSetup-r17", "nr-rrc.sfn_DefaultDL_BeamSetup_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_DefaultDL_BeamSetup_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_DefaultUL_BeamSetup_r17,
      { "sfn-DefaultUL-BeamSetup-r17", "nr-rrc.sfn_DefaultUL_BeamSetup_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_DefaultUL_BeamSetup_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_TriggeringOffset_r17,
      { "srs-TriggeringOffset-r17", "nr-rrc.srs_TriggeringOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TriggeringOffset_r17_vals), 0,
        "T_srs_TriggeringOffset_r17", HFILL }},
    { &hf_nr_rrc_srs_TriggeringDCI_r17,
      { "srs-TriggeringDCI-r17", "nr-rrc.srs_TriggeringDCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TriggeringDCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookComboParameterMixedType_r17,
      { "codebookComboParameterMixedType-r17", "nr-rrc.codebookComboParameterMixedType_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_r17,
      { "unifiedJointTCI-r17", "nr-rrc.unifiedJointTCI_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxConfiguredJointTCI_r17,
      { "maxConfiguredJointTCI-r17", "nr-rrc.maxConfiguredJointTCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxConfiguredJointTCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxActivatedTCIAcrossCC_r17,
      { "maxActivatedTCIAcrossCC-r17", "nr-rrc.maxActivatedTCIAcrossCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxActivatedTCIAcrossCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_multiMAC_CE_r17,
      { "unifiedJointTCI-multiMAC-CE-r17", "nr-rrc.unifiedJointTCI_multiMAC_CE_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minBeamApplicationTime_r17,
      { "minBeamApplicationTime-r17", "nr-rrc.minBeamApplicationTime_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minBeamApplicationTime_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumMAC_CE_PerCC,
      { "maxNumMAC-CE-PerCC", "nr-rrc.maxNumMAC_CE_PerCC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumMAC_CE_PerCC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_perBWP_CA_r17,
      { "unifiedJointTCI-perBWP-CA-r17", "nr-rrc.unifiedJointTCI_perBWP_CA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_perBWP_CA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_ListSharingCA_r17,
      { "unifiedJointTCI-ListSharingCA-r17", "nr-rrc.unifiedJointTCI_ListSharingCA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_ListSharingCA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_commonMultiCC_r17,
      { "unifiedJointTCI-commonMultiCC-r17", "nr-rrc.unifiedJointTCI_commonMultiCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_commonMultiCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_BeamAlignDLRS_r17,
      { "unifiedJointTCI-BeamAlignDLRS-r17", "nr-rrc.unifiedJointTCI_BeamAlignDLRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_BeamAlignDLRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_PC_association_r17,
      { "unifiedJointTCI-PC-association-r17", "nr-rrc.unifiedJointTCI_PC_association_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_PC_association_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_Legacy_r17,
      { "unifiedJointTCI-Legacy-r17", "nr-rrc.unifiedJointTCI_Legacy_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_Legacy_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_Legacy_SRS_r17,
      { "unifiedJointTCI-Legacy-SRS-r17", "nr-rrc.unifiedJointTCI_Legacy_SRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_Legacy_SRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_Legacy_CORESET0_r17,
      { "unifiedJointTCI-Legacy-CORESET0-r17", "nr-rrc.unifiedJointTCI_Legacy_CORESET0_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_Legacy_CORESET0_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_SCellBFR_r17,
      { "unifiedJointTCI-SCellBFR-r17", "nr-rrc.unifiedJointTCI_SCellBFR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedJointTCI_SCellBFR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_InterCell_r17,
      { "unifiedJointTCI-InterCell-r17", "nr-rrc.unifiedJointTCI_InterCell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalMAC_CE_PerCC_r17,
      { "additionalMAC-CE-PerCC-r17", "nr-rrc.additionalMAC_CE_PerCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalMAC_CE_PerCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalMAC_CE_AcrossCC_r17,
      { "additionalMAC-CE-AcrossCC-r17", "nr-rrc.additionalMAC_CE_AcrossCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalMAC_CE_AcrossCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedSeparateTCI_r17,
      { "unifiedSeparateTCI-r17", "nr-rrc.unifiedSeparateTCI_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxConfiguredDL_TCI_r17,
      { "maxConfiguredDL-TCI-r17", "nr-rrc.maxConfiguredDL_TCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxConfiguredDL_TCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxConfiguredUL_TCI_r17,
      { "maxConfiguredUL-TCI-r17", "nr-rrc.maxConfiguredUL_TCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxConfiguredUL_TCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxActivatedDL_TCIAcrossCC_r17,
      { "maxActivatedDL-TCIAcrossCC-r17", "nr-rrc.maxActivatedDL_TCIAcrossCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxActivatedDL_TCIAcrossCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxActivatedUL_TCIAcrossCC_r17,
      { "maxActivatedUL-TCIAcrossCC-r17", "nr-rrc.maxActivatedUL_TCIAcrossCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxActivatedUL_TCIAcrossCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedSeparateTCI_multiMAC_CE_r17,
      { "unifiedSeparateTCI-multiMAC-CE-r17", "nr-rrc.unifiedSeparateTCI_multiMAC_CE_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minBeamApplicationTime_r17_01,
      { "minBeamApplicationTime-r17", "nr-rrc.minBeamApplicationTime_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minBeamApplicationTime_r17_01_vals), 0,
        "T_minBeamApplicationTime_r17_01", HFILL }},
    { &hf_nr_rrc_maxActivatedDL_TCIPerCC_r17,
      { "maxActivatedDL-TCIPerCC-r17", "nr-rrc.maxActivatedDL_TCIPerCC_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_8", HFILL }},
    { &hf_nr_rrc_maxActivatedUL_TCIPerCC_r17,
      { "maxActivatedUL-TCIPerCC-r17", "nr-rrc.maxActivatedUL_TCIPerCC_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_8", HFILL }},
    { &hf_nr_rrc_unifiedSeparateTCI_perBWP_CA_r17,
      { "unifiedSeparateTCI-perBWP-CA-r17", "nr-rrc.unifiedSeparateTCI_perBWP_CA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedSeparateTCI_perBWP_CA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedSeparateTCI_ListSharingCA_r17,
      { "unifiedSeparateTCI-ListSharingCA-r17", "nr-rrc.unifiedSeparateTCI_ListSharingCA_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumListDL_TCI_r17,
      { "maxNumListDL-TCI-r17", "nr-rrc.maxNumListDL_TCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumListDL_TCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumListUL_TCI_r17,
      { "maxNumListUL-TCI-r17", "nr-rrc.maxNumListUL_TCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumListUL_TCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedSeparateTCI_commonMultiCC_r17,
      { "unifiedSeparateTCI-commonMultiCC-r17", "nr-rrc.unifiedSeparateTCI_commonMultiCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unifiedSeparateTCI_commonMultiCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedSeparateTCI_InterCell_r17,
      { "unifiedSeparateTCI-InterCell-r17", "nr-rrc.unifiedSeparateTCI_InterCell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k_DL_PerCC_r17,
      { "k-DL-PerCC-r17", "nr-rrc.k_DL_PerCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_k_DL_PerCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k_UL_PerCC_r17,
      { "k-UL-PerCC-r17", "nr-rrc.k_UL_PerCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_k_UL_PerCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k_DL_AcrossCC_r17,
      { "k-DL-AcrossCC-r17", "nr-rrc.k_DL_AcrossCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_k_DL_AcrossCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k_UL_AcrossCC_r17,
      { "k-UL-AcrossCC-r17", "nr-rrc.k_UL_AcrossCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_k_UL_AcrossCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_mTRP_InterCell_BM_r17,
      { "unifiedJointTCI-mTRP-InterCell-BM-r17", "nr-rrc.unifiedJointTCI_mTRP_InterCell_BM_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumAdditionalPCI_L1_RSRP_r17,
      { "maxNumAdditionalPCI-L1-RSRP-r17", "nr-rrc.maxNumAdditionalPCI_L1_RSRP_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_7", HFILL }},
    { &hf_nr_rrc_maxNumSSB_ResourceL1_RSRP_AcrossCC_r17,
      { "maxNumSSB-ResourceL1-RSRP-AcrossCC-r17", "nr-rrc.maxNumSSB_ResourceL1_RSRP_AcrossCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumSSB_ResourceL1_RSRP_AcrossCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mpe_Mitigation_r17,
      { "mpe-Mitigation-r17", "nr-rrc.mpe_Mitigation_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumP_MPR_RI_pairs_r17,
      { "maxNumP-MPR-RI-pairs-r17", "nr-rrc.maxNumP_MPR_RI_pairs_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumConfRS_r17,
      { "maxNumConfRS-r17", "nr-rrc.maxNumConfRS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumConfRS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PortReport_r17,
      { "srs-PortReport-r17", "nr-rrc.srs_PortReport_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_srs_PortReport_r17", HFILL }},
    { &hf_nr_rrc_capVal1_r17,
      { "capVal1-r17", "nr-rrc.capVal1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_capVal1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_capVal2_r17,
      { "capVal2-r17", "nr-rrc.capVal2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_capVal2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_capVal3_r17,
      { "capVal3-r17", "nr-rrc.capVal3_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_capVal3_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_capVal4_r17,
      { "capVal4-r17", "nr-rrc.capVal4_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_capVal4_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PDCCH_individual_r17,
      { "mTRP-PDCCH-individual-r17", "nr-rrc.mTRP_PDCCH_individual_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PDCCH_individual_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PDCCH_anySpan_3Symbols_r17,
      { "mTRP-PDCCH-anySpan-3Symbols-r17", "nr-rrc.mTRP_PDCCH_anySpan_3Symbols_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PDCCH_anySpan_3Symbols_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PDCCH_TwoQCL_TypeD_r17,
      { "mTRP-PDCCH-TwoQCL-TypeD-r17", "nr-rrc.mTRP_PDCCH_TwoQCL_TypeD_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PDCCH_TwoQCL_TypeD_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_CSI_RS_r17,
      { "mTRP-PUSCH-CSI-RS-r17", "nr-rrc.mTRP_PUSCH_CSI_RS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumPeriodicSRS_r17,
      { "maxNumPeriodicSRS-r17", "nr-rrc.maxNumPeriodicSRS_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_maxNumAperiodicSRS_r17,
      { "maxNumAperiodicSRS-r17", "nr-rrc.maxNumAperiodicSRS_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_maxNumSP_SRS_r17,
      { "maxNumSP-SRS-r17", "nr-rrc.maxNumSP_SRS_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_8", HFILL }},
    { &hf_nr_rrc_numSRS_ResourcePerCC_r17,
      { "numSRS-ResourcePerCC-r17", "nr-rrc.numSRS_ResourcePerCC_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_numSRS_ResourceNonCodebook_r17,
      { "numSRS-ResourceNonCodebook-r17", "nr-rrc.numSRS_ResourceNonCodebook_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_cyclicMapping_r17,
      { "mTRP-PUSCH-cyclicMapping-r17", "nr-rrc.mTRP_PUSCH_cyclicMapping_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_cyclicMapping_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_secondTPC_r17,
      { "mTRP-PUSCH-secondTPC-r17", "nr-rrc.mTRP_PUSCH_secondTPC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_secondTPC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_twoPHR_Reporting_r17,
      { "mTRP-PUSCH-twoPHR-Reporting-r17", "nr-rrc.mTRP_PUSCH_twoPHR_Reporting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_twoPHR_Reporting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_A_CSI_r17,
      { "mTRP-PUSCH-A-CSI-r17", "nr-rrc.mTRP_PUSCH_A_CSI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_A_CSI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_SP_CSI_r17,
      { "mTRP-PUSCH-SP-CSI-r17", "nr-rrc.mTRP_PUSCH_SP_CSI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_SP_CSI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUSCH_CG_r17,
      { "mTRP-PUSCH-CG-r17", "nr-rrc.mTRP_PUSCH_CG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUSCH_CG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUCCH_MAC_CE_r17,
      { "mTRP-PUCCH-MAC-CE-r17", "nr-rrc.mTRP_PUCCH_MAC_CE_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PUCCH_MAC_CE_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_PUCCH_maxNum_PC_FR1_r17,
      { "mTRP-PUCCH-maxNum-PC-FR1-r17", "nr-rrc.mTRP_PUCCH_maxNum_PC_FR1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_3_8", HFILL }},
    { &hf_nr_rrc_mTRP_inter_Cell_r17,
      { "mTRP-inter-Cell-r17", "nr-rrc.mTRP_inter_Cell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumAdditionalPCI_Case1_r17,
      { "maxNumAdditionalPCI-Case1-r17", "nr-rrc.maxNumAdditionalPCI_Case1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_7", HFILL }},
    { &hf_nr_rrc_maxNumAdditionalPCI_Case2_r17,
      { "maxNumAdditionalPCI-Case2-r17", "nr-rrc.maxNumAdditionalPCI_Case2_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_mTRP_GroupBasedL1_RSRP_r17,
      { "mTRP-GroupBasedL1-RSRP-r17", "nr-rrc.mTRP_GroupBasedL1_RSRP_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumBeamGroups_r17,
      { "maxNumBeamGroups-r17", "nr-rrc.maxNumBeamGroups_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumRS_WithinSlot_r17,
      { "maxNumRS-WithinSlot-r17", "nr-rrc.maxNumRS_WithinSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumRS_WithinSlot_r17_vals), 0,
        "T_maxNumRS_WithinSlot_r17", HFILL }},
    { &hf_nr_rrc_maxNumRS_AcrossSlot_r17,
      { "maxNumRS-AcrossSlot-r17", "nr-rrc.maxNumRS_AcrossSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumRS_AcrossSlot_r17_vals), 0,
        "T_maxNumRS_AcrossSlot_r17", HFILL }},
    { &hf_nr_rrc_mTRP_BFD_RS_MAC_CE_r17,
      { "mTRP-BFD-RS-MAC-CE-r17", "nr-rrc.mTRP_BFD_RS_MAC_CE_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_BFD_RS_MAC_CE_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_CSI_EnhancementPerBand_r17,
      { "mTRP-CSI-EnhancementPerBand-r17", "nr-rrc.mTRP_CSI_EnhancementPerBand_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cSI_Report_mode_r17_01,
      { "cSI-Report-mode-r17", "nr-rrc.cSI_Report_mode_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cSI_Report_mode_r17_01_vals), 0,
        "T_cSI_Report_mode_r17_01", HFILL }},
    { &hf_nr_rrc_codebookModeNCJT_r17,
      { "codebookModeNCJT-r17", "nr-rrc.codebookModeNCJT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookModeNCJT_r17_vals), 0,
        "T_codebookModeNCJT_r17", HFILL }},
    { &hf_nr_rrc_codebookComboParameterMultiTRP_r17,
      { "codebookComboParameterMultiTRP-r17", "nr-rrc.codebookComboParameterMultiTRP_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_CSI_additionalCSI_r17,
      { "mTRP-CSI-additionalCSI-r17", "nr-rrc.mTRP_CSI_additionalCSI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_CSI_additionalCSI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_CSI_N_Max2_r17,
      { "mTRP-CSI-N-Max2-r17", "nr-rrc.mTRP_CSI_N_Max2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_CSI_N_Max2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_CSI_CMR_r17,
      { "mTRP-CSI-CMR-r17", "nr-rrc.mTRP_CSI_CMR_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_CSI_CMR_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_partialFreqSounding_r17,
      { "srs-partialFreqSounding-r17", "nr-rrc.srs_partialFreqSounding_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_partialFreqSounding_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_beamSwitchTiming_v1710,
      { "beamSwitchTiming-v1710", "nr-rrc.beamSwitchTiming_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_480kHz_01,
      { "scs-480kHz", "nr-rrc.scs_480kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_480kHz_01_vals), 0,
        "T_scs_480kHz_01", HFILL }},
    { &hf_nr_rrc_scs_960kHz_01,
      { "scs-960kHz", "nr-rrc.scs_960kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_960kHz_01_vals), 0,
        "T_scs_960kHz_01", HFILL }},
    { &hf_nr_rrc_beamSwitchTiming_r17,
      { "beamSwitchTiming-r17", "nr-rrc.beamSwitchTiming_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_480kHz_r17_03,
      { "scs-480kHz-r17", "nr-rrc.scs_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_480kHz_r17_03_vals), 0,
        "T_scs_480kHz_r17_03", HFILL }},
    { &hf_nr_rrc_scs_960kHz_r17_03,
      { "scs-960kHz-r17", "nr-rrc.scs_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_960kHz_r17_03_vals), 0,
        "T_scs_960kHz_r17_03", HFILL }},
    { &hf_nr_rrc_beamReportTiming_v1710,
      { "beamReportTiming-v1710", "nr-rrc.beamReportTiming_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_480kHz_r17_04,
      { "scs-480kHz-r17", "nr-rrc.scs_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_480kHz_r17_04_vals), 0,
        "T_scs_480kHz_r17_04", HFILL }},
    { &hf_nr_rrc_scs_960kHz_r17_04,
      { "scs-960kHz-r17", "nr-rrc.scs_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_960kHz_r17_04_vals), 0,
        "T_scs_960kHz_r17_04", HFILL }},
    { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL_v1710,
      { "maxNumberRxTxBeamSwitchDL-v1710", "nr-rrc.maxNumberRxTxBeamSwitchDL_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_480kHz_r17_05,
      { "scs-480kHz-r17", "nr-rrc.scs_480kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_480kHz_r17_05_vals), 0,
        "T_scs_480kHz_r17_05", HFILL }},
    { &hf_nr_rrc_scs_960kHz_r17_05,
      { "scs-960kHz-r17", "nr-rrc.scs_960kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_960kHz_r17_05_vals), 0,
        "T_scs_960kHz_r17_05", HFILL }},
    { &hf_nr_rrc_srs_PortReportSP_AP_r17,
      { "srs-PortReportSP-AP-r17", "nr-rrc.srs_PortReportSP_AP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_PortReportSP_AP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberRxBeam_v1720,
      { "maxNumberRxBeam-v1720", "nr-rrc.maxNumberRxBeam_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_9_12", HFILL }},
    { &hf_nr_rrc_sfn_ImplicitRS_twoTCI_r17,
      { "sfn-ImplicitRS-twoTCI-r17", "nr-rrc.sfn_ImplicitRS_twoTCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_ImplicitRS_twoTCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sfn_QCL_TypeD_Collision_twoTCI_r17,
      { "sfn-QCL-TypeD-Collision-twoTCI-r17", "nr-rrc.sfn_QCL_TypeD_Collision_twoTCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_QCL_TypeD_Collision_twoTCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mTRP_CSI_numCPU_r17,
      { "mTRP-CSI-numCPU-r17", "nr-rrc.mTRP_CSI_numCPU_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_CSI_numCPU_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportRepNumPDSCH_TDRA_DCI_1_2_r17,
      { "supportRepNumPDSCH-TDRA-DCI-1-2-r17", "nr-rrc.supportRepNumPDSCH_TDRA_DCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportRepNumPDSCH_TDRA_DCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx,
      { "maxNumberSSB-CSI-RS-ResourceOneTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceOneTx",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx,
      { "maxNumberSSB-CSI-RS-ResourceTwoTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceTwoTx",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_Density,
      { "supportedCSI-RS-Density", "nr-rrc.supportedCSI_RS_Density",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx_01,
      { "maxNumberSSB-CSI-RS-ResourceOneTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceOneTx",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_01_vals), 0,
        "T_maxNumberSSB_CSI_RS_ResourceOneTx_01", HFILL }},
    { &hf_nr_rrc_maxNumberCSI_RS_Resource,
      { "maxNumberCSI-RS-Resource", "nr-rrc.maxNumberCSI_RS_Resource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSI_RS_Resource_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberCSI_RS_ResourceTwoTx,
      { "maxNumberCSI-RS-ResourceTwoTx", "nr-rrc.maxNumberCSI_RS_ResourceTwoTx",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSI_RS_ResourceTwoTx_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedCSI_RS_Density_01,
      { "supportedCSI-RS-Density", "nr-rrc.supportedCSI_RS_Density",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_01_vals), 0,
        "T_supportedCSI_RS_Density_01", HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_RS_Resource,
      { "maxNumberAperiodicCSI-RS-Resource", "nr-rrc.maxNumberAperiodicCSI_RS_Resource",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicCSI_RS_Resource_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_burstLength,
      { "burstLength", "nr-rrc.burstLength",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC,
      { "maxSimultaneousResourceSetsPerCC", "nr-rrc.maxSimultaneousResourceSetsPerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_maxConfiguredResourceSetsPerCC,
      { "maxConfiguredResourceSetsPerCC", "nr-rrc.maxConfiguredResourceSetsPerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_maxConfiguredResourceSetsAllCC,
      { "maxConfiguredResourceSetsAllCC", "nr-rrc.maxConfiguredResourceSetsAllCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_128", HFILL }},
    { &hf_nr_rrc_maxBurstLength,
      { "maxBurstLength", "nr-rrc.maxBurstLength",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_2", HFILL }},
    { &hf_nr_rrc_maxConfiguredResourceSetsAllCC_01,
      { "maxConfiguredResourceSetsAllCC", "nr-rrc.maxConfiguredResourceSetsAllCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_256", HFILL }},
    { &hf_nr_rrc_maxConfigNumberNZP_CSI_RS_PerCC,
      { "maxConfigNumberNZP-CSI-RS-PerCC", "nr-rrc.maxConfigNumberNZP_CSI_RS_PerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_maxConfigNumberPortsAcrossNZP_CSI_RS_PerCC,
      { "maxConfigNumberPortsAcrossNZP-CSI-RS-PerCC", "nr-rrc.maxConfigNumberPortsAcrossNZP_CSI_RS_PerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_256", HFILL }},
    { &hf_nr_rrc_maxConfigNumberCSI_IM_PerCC,
      { "maxConfigNumberCSI-IM-PerCC", "nr-rrc.maxConfigNumberCSI_IM_PerCC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxConfigNumberCSI_IM_PerCC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_PerCC,
      { "maxNumberSimultaneousNZP-CSI-RS-PerCC", "nr-rrc.maxNumberSimultaneousNZP_CSI_RS_PerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_64", HFILL }},
    { &hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_PerCC,
      { "totalNumberPortsSimultaneousNZP-CSI-RS-PerCC", "nr-rrc.totalNumberPortsSimultaneousNZP_CSI_RS_PerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_256", HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicSRS_AssocCSI_RS_PerBWP,
      { "maxNumberPeriodicSRS-AssocCSI-RS-PerBWP", "nr-rrc.maxNumberPeriodicSRS_AssocCSI_RS_PerBWP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicSRS_AssocCSI_RS_PerBWP,
      { "maxNumberAperiodicSRS-AssocCSI-RS-PerBWP", "nr-rrc.maxNumberAperiodicSRS_AssocCSI_RS_PerBWP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberSP_SRS_AssocCSI_RS_PerBWP,
      { "maxNumberSP-SRS-AssocCSI-RS-PerBWP", "nr-rrc.maxNumberSP_SRS_AssocCSI_RS_PerBWP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_simultaneousSRS_AssocCSI_RS_PerCC,
      { "simultaneousSRS-AssocCSI-RS-PerCC", "nr-rrc.simultaneousSRS_AssocCSI_RS_PerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForCSI_Report,
      { "maxNumberPeriodicCSI-PerBWP-ForCSI-Report", "nr-rrc.maxNumberPeriodicCSI_PerBWP_ForCSI_Report",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_Report,
      { "maxNumberAperiodicCSI-PerBWP-ForCSI-Report", "nr-rrc.maxNumberAperiodicCSI_PerBWP_ForCSI_Report",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForCSI_Report,
      { "maxNumberSemiPersistentCSI-PerBWP-ForCSI-Report", "nr-rrc.maxNumberSemiPersistentCSI_PerBWP_ForCSI_Report",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForBeamReport,
      { "maxNumberPeriodicCSI-PerBWP-ForBeamReport", "nr-rrc.maxNumberPeriodicCSI_PerBWP_ForBeamReport",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForBeamReport,
      { "maxNumberAperiodicCSI-PerBWP-ForBeamReport", "nr-rrc.maxNumberAperiodicCSI_PerBWP_ForBeamReport",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_triggeringStatePerCC,
      { "maxNumberAperiodicCSI-triggeringStatePerCC", "nr-rrc.maxNumberAperiodicCSI_triggeringStatePerCC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicCSI_triggeringStatePerCC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForBeamReport,
      { "maxNumberSemiPersistentCSI-PerBWP-ForBeamReport", "nr-rrc.maxNumberSemiPersistentCSI_PerBWP_ForBeamReport",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4", HFILL }},
    { &hf_nr_rrc_simultaneousCSI_ReportsPerCC,
      { "simultaneousCSI-ReportsPerCC", "nr-rrc.simultaneousCSI_ReportsPerCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_ReportExt_r16,
      { "maxNumberAperiodicCSI-PerBWP-ForCSI-ReportExt-r16", "nr-rrc.maxNumberAperiodicCSI_PerBWP_ForCSI_ReportExt_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_5_8", HFILL }},
    { &hf_nr_rrc_frequencyDensity1,
      { "frequencyDensity1", "nr-rrc.frequencyDensity1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_frequencyDensity2,
      { "frequencyDensity2", "nr-rrc.frequencyDensity2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_timeDensity1,
      { "timeDensity1", "nr-rrc.timeDensity1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_29", HFILL }},
    { &hf_nr_rrc_timeDensity2,
      { "timeDensity2", "nr-rrc.timeDensity2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_29", HFILL }},
    { &hf_nr_rrc_timeDensity3,
      { "timeDensity3", "nr-rrc.timeDensity3",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_29", HFILL }},
    { &hf_nr_rrc_sampleDensity1,
      { "sampleDensity1", "nr-rrc.sampleDensity1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_sampleDensity2,
      { "sampleDensity2", "nr-rrc.sampleDensity2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_sampleDensity3,
      { "sampleDensity3", "nr-rrc.sampleDensity3",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_sampleDensity4,
      { "sampleDensity4", "nr-rrc.sampleDensity4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_sampleDensity5,
      { "sampleDensity5", "nr-rrc.sampleDensity5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_maxNumberConfiguredSpatialRelations,
      { "maxNumberConfiguredSpatialRelations", "nr-rrc.maxNumberConfiguredSpatialRelations",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredSpatialRelations_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberActiveSpatialRelations,
      { "maxNumberActiveSpatialRelations", "nr-rrc.maxNumberActiveSpatialRelations",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveSpatialRelations_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalActiveSpatialRelationPUCCH,
      { "additionalActiveSpatialRelationPUCCH", "nr-rrc.additionalActiveSpatialRelationPUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalActiveSpatialRelationPUCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberDL_RS_QCL_TypeD,
      { "maxNumberDL-RS-QCL-TypeD", "nr-rrc.maxNumberDL_RS_QCL_TypeD",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberDL_RS_QCL_TypeD_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedSRS_TxPortSwitch_01,
      { "supportedSRS-TxPortSwitch", "nr-rrc.supportedSRS_TxPortSwitch",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_01_vals), 0,
        "T_supportedSRS_TxPortSwitch_01", HFILL }},
    { &hf_nr_rrc_txSwitchImpactToRx_01,
      { "txSwitchImpactToRx", "nr-rrc.txSwitchImpactToRx",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txSwitchImpactToRx_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumTx_Ports_r17,
      { "maxNumTx-Ports-r17", "nr-rrc.maxNumTx_Ports_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumTx_Ports_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxTotalNumCMR_r17,
      { "maxTotalNumCMR-r17", "nr-rrc.maxTotalNumCMR_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_64", HFILL }},
    { &hf_nr_rrc_maxTotalNumTx_PortsNZP_CSI_RS_r17,
      { "maxTotalNumTx-PortsNZP-CSI-RS-r17", "nr-rrc.maxTotalNumTx_PortsNZP_CSI_RS_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_256", HFILL }},
    { &hf_nr_rrc_singleUL_Transmission,
      { "singleUL-Transmission", "nr-rrc.singleUL_Transmission",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singleUL_Transmission_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicPowerSharingENDC,
      { "dynamicPowerSharingENDC", "nr-rrc.dynamicPowerSharingENDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharingENDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tdm_Pattern,
      { "tdm-Pattern", "nr-rrc.tdm_Pattern",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_Pattern_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_SharingEUTRA_NR,
      { "ul-SharingEUTRA-NR", "nr-rrc.ul_SharingEUTRA_NR",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SharingEUTRA_NR_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR,
      { "ul-SwitchingTimeEUTRA-NR", "nr-rrc.ul_SwitchingTimeEUTRA_NR",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRxTxInterBandENDC,
      { "simultaneousRxTxInterBandENDC", "nr-rrc.simultaneousRxTxInterBandENDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandENDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_asyncIntraBandENDC,
      { "asyncIntraBandENDC", "nr-rrc.asyncIntraBandENDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_asyncIntraBandENDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dualPA_Architecture_01,
      { "dualPA-Architecture", "nr-rrc.dualPA_Architecture",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dualPA_Architecture_01_vals), 0,
        "T_dualPA_Architecture_01", HFILL }},
    { &hf_nr_rrc_intraBandENDC_Support,
      { "intraBandENDC-Support", "nr-rrc.intraBandENDC_Support",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraBandENDC_Support_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_TimingAlignmentEUTRA_NR,
      { "ul-TimingAlignmentEUTRA-NR", "nr-rrc.ul_TimingAlignmentEUTRA_NR",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_TimingAlignmentEUTRA_NR_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicPowerSharingNEDC,
      { "dynamicPowerSharingNEDC", "nr-rrc.dynamicPowerSharingNEDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharingNEDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interBandContiguousMRDC,
      { "interBandContiguousMRDC", "nr-rrc.interBandContiguousMRDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interBandContiguousMRDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousRxTxInterBandENDCPerBandPair,
      { "simultaneousRxTxInterBandENDCPerBandPair", "nr-rrc.simultaneousRxTxInterBandENDCPerBandPair",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SimultaneousRxTxPerBandPair", HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16,
      { "maxUplinkDutyCycle-interBandENDC-TDD-PC2-r16", "nr-rrc.maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_TDD_Config0_r16,
      { "eutra-TDD-Config0-r16", "nr-rrc.eutra_TDD_Config0_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config0_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_TDD_Config1_r16,
      { "eutra-TDD-Config1-r16", "nr-rrc.eutra_TDD_Config1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_TDD_Config2_r16,
      { "eutra-TDD-Config2-r16", "nr-rrc.eutra_TDD_Config2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_TDD_Config3_r16,
      { "eutra-TDD-Config3-r16", "nr-rrc.eutra_TDD_Config3_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config3_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_TDD_Config4_r16,
      { "eutra-TDD-Config4-r16", "nr-rrc.eutra_TDD_Config4_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config4_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_TDD_Config5_r16,
      { "eutra-TDD-Config5-r16", "nr-rrc.eutra_TDD_Config5_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config5_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_TDD_Config6_r16,
      { "eutra-TDD-Config6-r16", "nr-rrc.eutra_TDD_Config6_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config6_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tdm_restrictionTDD_endc_r16,
      { "tdm-restrictionTDD-endc-r16", "nr-rrc.tdm_restrictionTDD_endc_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_restrictionTDD_endc_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tdm_restrictionFDD_endc_r16,
      { "tdm-restrictionFDD-endc-r16", "nr-rrc.tdm_restrictionFDD_endc_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_restrictionFDD_endc_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_singleUL_HARQ_offsetTDD_PCell_r16,
      { "singleUL-HARQ-offsetTDD-PCell-r16", "nr-rrc.singleUL_HARQ_offsetTDD_PCell_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singleUL_HARQ_offsetTDD_PCell_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tdm_restrictionDualTX_FDD_endc_r16,
      { "tdm-restrictionDualTX-FDD-endc-r16", "nr-rrc.tdm_restrictionDualTX_FDD_endc_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_restrictionDualTX_FDD_endc_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16,
      { "maxUplinkDutyCycle-interBandENDC-FDD-TDD-PC2-r16", "nr-rrc.maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16,
      { "maxUplinkDutyCycle-FDD-TDD-EN-DC1-r16", "nr-rrc.maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_FDD_TDD_EN_DC1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16,
      { "maxUplinkDutyCycle-FDD-TDD-EN-DC2-r16", "nr-rrc.maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_FDD_TDD_EN_DC2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interBandMRDC_WithOverlapDL_Bands_r16,
      { "interBandMRDC-WithOverlapDL-Bands-r16", "nr-rrc.interBandMRDC_WithOverlapDL_Bands_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interBandMRDC_WithOverlapDL_Bands_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condPSCellAdditionENDC_r17,
      { "condPSCellAdditionENDC-r17", "nr-rrc.condPSCellAdditionENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellAdditionENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_ActivationDeactivationENDC_r17,
      { "scg-ActivationDeactivationENDC-r17", "nr-rrc.scg_ActivationDeactivationENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_ActivationDeactivationENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_ActivationDeactivationResumeENDC_r17,
      { "scg-ActivationDeactivationResumeENDC-r17", "nr-rrc.scg_ActivationDeactivationResumeENDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_ActivationDeactivationResumeENDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersNRDC,
      { "measAndMobParametersNRDC", "nr-rrc.measAndMobParametersNRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasAndMobParametersMRDC", HFILL }},
    { &hf_nr_rrc_generalParametersNRDC,
      { "generalParametersNRDC", "nr-rrc.generalParametersNRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GeneralParametersMRDC_XDD_Diff", HFILL }},
    { &hf_nr_rrc_fdd_Add_UE_NRDC_Capabilities,
      { "fdd-Add-UE-NRDC-Capabilities", "nr-rrc.fdd_Add_UE_NRDC_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
    { &hf_nr_rrc_tdd_Add_UE_NRDC_Capabilities,
      { "tdd-Add-UE-NRDC-Capabilities", "nr-rrc.tdd_Add_UE_NRDC_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
    { &hf_nr_rrc_fr1_Add_UE_NRDC_Capabilities,
      { "fr1-Add-UE-NRDC-Capabilities", "nr-rrc.fr1_Add_UE_NRDC_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
    { &hf_nr_rrc_fr2_Add_UE_NRDC_Capabilities,
      { "fr2-Add-UE-NRDC-Capabilities", "nr-rrc.fr2_Add_UE_NRDC_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
    { &hf_nr_rrc_nRDC_Parameters_dummy2,
      { "dummy2", "nr-rrc.nRDC_Parameters.dummy2",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_nRDC_Parameters_dummy,
      { "dummy", "nr-rrc.nRDC_Parameters.dummy_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nRDC_Parameters_dummy", HFILL }},
    { &hf_nr_rrc_sfn_SyncNRDC,
      { "sfn-SyncNRDC", "nr-rrc.sfn_SyncNRDC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SyncNRDC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_DuplicationSplitSRB,
      { "pdcp-DuplicationSplitSRB", "nr-rrc.pdcp_DuplicationSplitSRB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitSRB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_DuplicationSplitDRB,
      { "pdcp-DuplicationSplitDRB", "nr-rrc.pdcp_DuplicationSplitDRB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitDRB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersNRDC_v1610,
      { "measAndMobParametersNRDC-v1610", "nr-rrc.measAndMobParametersNRDC_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasAndMobParametersMRDC_v1610", HFILL }},
    { &hf_nr_rrc_f1c_OverNR_RRC_r17,
      { "f1c-OverNR-RRC-r17", "nr-rrc.f1c_OverNR_RRC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1c_OverNR_RRC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersNRDC_v1700,
      { "measAndMobParametersNRDC-v1700", "nr-rrc.measAndMobParametersNRDC_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasAndMobParametersMRDC_v1700", HFILL }},
    { &hf_nr_rrc_inactiveStateNTN_r17,
      { "inactiveStateNTN-r17", "nr-rrc.inactiveStateNTN_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inactiveStateNTN_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_SDT_NTN_r17,
      { "ra-SDT-NTN-r17", "nr-rrc.ra_SDT_NTN_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_SDT_NTN_r17_vals), 0,
        "T_ra_SDT_NTN_r17", HFILL }},
    { &hf_nr_rrc_srb_SDT_NTN_r17,
      { "srb-SDT-NTN-r17", "nr-rrc.srb_SDT_NTN_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb_SDT_NTN_r17_vals), 0,
        "T_srb_SDT_NTN_r17", HFILL }},
    { &hf_nr_rrc_measAndMobParametersNTN_r17,
      { "measAndMobParametersNTN-r17", "nr-rrc.measAndMobParametersNTN_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasAndMobParameters", HFILL }},
    { &hf_nr_rrc_mac_ParametersNTN_r17,
      { "mac-ParametersNTN-r17", "nr-rrc.mac_ParametersNTN_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MAC_Parameters", HFILL }},
    { &hf_nr_rrc_phy_ParametersNTN_r17,
      { "phy-ParametersNTN-r17", "nr-rrc.phy_ParametersNTN_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Phy_Parameters", HFILL }},
    { &hf_nr_rrc_fdd_Add_UE_NR_CapabilitiesNTN_r17,
      { "fdd-Add-UE-NR-CapabilitiesNTN-r17", "nr-rrc.fdd_Add_UE_NR_CapabilitiesNTN_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddXDD_Mode", HFILL }},
    { &hf_nr_rrc_fr1_Add_UE_NR_CapabilitiesNTN_r17,
      { "fr1-Add-UE-NR-CapabilitiesNTN-r17", "nr-rrc.fr1_Add_UE_NR_CapabilitiesNTN_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddFRX_Mode", HFILL }},
    { &hf_nr_rrc_ue_BasedPerfMeas_ParametersNTN_r17,
      { "ue-BasedPerfMeas-ParametersNTN-r17", "nr-rrc.ue_BasedPerfMeas_ParametersNTN_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_BasedPerfMeas_Parameters_r16", HFILL }},
    { &hf_nr_rrc_son_ParametersNTN_r17,
      { "son-ParametersNTN-r17", "nr-rrc.son_ParametersNTN_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SON_Parameters_r16", HFILL }},
    { &hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Serving_r16,
      { "olpc-SRS-PosBasedOnPRS-Serving-r16", "nr-rrc.olpc_SRS_PosBasedOnPRS_Serving_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_olpc_SRS_PosBasedOnPRS_Serving_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_olpc_SRS_PosBasedOnSSB_Neigh_r16,
      { "olpc-SRS-PosBasedOnSSB-Neigh-r16", "nr-rrc.olpc_SRS_PosBasedOnSSB_Neigh_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_olpc_SRS_PosBasedOnSSB_Neigh_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Neigh_r16,
      { "olpc-SRS-PosBasedOnPRS-Neigh-r16", "nr-rrc.olpc_SRS_PosBasedOnPRS_Neigh_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_olpc_SRS_PosBasedOnPRS_Neigh_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPathLossEstimatePerServing_r16,
      { "maxNumberPathLossEstimatePerServing-r16", "nr-rrc.maxNumberPathLossEstimatePerServing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPathLossEstimatePerServing_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedROHC_Profiles,
      { "supportedROHC-Profiles", "nr-rrc.supportedROHC_Profiles_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_profile0x0000,
      { "profile0x0000", "nr-rrc.profile0x0000",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_maxNumberROHC_ContextSessions,
      { "maxNumberROHC-ContextSessions", "nr-rrc.maxNumberROHC_ContextSessions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberROHC_ContextSessions_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkOnlyROHC_Profiles,
      { "uplinkOnlyROHC-Profiles", "nr-rrc.uplinkOnlyROHC_Profiles",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkOnlyROHC_Profiles_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_continueROHC_Context,
      { "continueROHC-Context", "nr-rrc.continueROHC_Context",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_continueROHC_Context_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_outOfOrderDelivery_01,
      { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_01_vals), 0,
        "T_outOfOrderDelivery_01", HFILL }},
    { &hf_nr_rrc_shortSN,
      { "shortSN", "nr-rrc.shortSN",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortSN_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_DuplicationSRB,
      { "pdcp-DuplicationSRB", "nr-rrc.pdcp_DuplicationSRB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSRB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_DuplicationMCG_OrSCG_DRB,
      { "pdcp-DuplicationMCG-OrSCG-DRB", "nr-rrc.pdcp_DuplicationMCG_OrSCG_DRB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drb_IAB_r16,
      { "drb-IAB-r16", "nr-rrc.drb_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_DRB_IAB_r16,
      { "non-DRB-IAB-r16", "nr-rrc.non_DRB_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_DRB_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedDiscardTimer_r16,
      { "extendedDiscardTimer-r16", "nr-rrc.extendedDiscardTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedDiscardTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_continueEHC_Context_r16,
      { "continueEHC-Context-r16", "nr-rrc.continueEHC_Context_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_continueEHC_Context_r16_vals), 0,
        "T_continueEHC_Context_r16", HFILL }},
    { &hf_nr_rrc_ehc_r16,
      { "ehc-r16", "nr-rrc.ehc_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ehc_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberEHC_Contexts_r16,
      { "maxNumberEHC-Contexts-r16", "nr-rrc.maxNumberEHC_Contexts_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberEHC_Contexts_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_jointEHC_ROHC_Config_r16,
      { "jointEHC-ROHC-Config-r16", "nr-rrc.jointEHC_ROHC_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_jointEHC_ROHC_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_DuplicationMoreThanTwoRLC_r16,
      { "pdcp-DuplicationMoreThanTwoRLC-r16", "nr-rrc.pdcp_DuplicationMoreThanTwoRLC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationMoreThanTwoRLC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_longSN_RedCap_r17,
      { "longSN-RedCap-r17", "nr-rrc.longSN_RedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_longSN_RedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_udc_r17,
      { "udc-r17", "nr-rrc.udc_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_standardDictionary_r17,
      { "standardDictionary-r17", "nr-rrc.standardDictionary_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_standardDictionary_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_operatorDictionary_r17,
      { "operatorDictionary-r17", "nr-rrc.operatorDictionary_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_versionOfDictionary_r17,
      { "versionOfDictionary-r17", "nr-rrc.versionOfDictionary_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_associatedPLMN_ID_r17,
      { "associatedPLMN-ID-r17", "nr-rrc.associatedPLMN_ID_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_nr_rrc_continueUDC_r17,
      { "continueUDC-r17", "nr-rrc.continueUDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_continueUDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportOfBufferSize_r17,
      { "supportOfBufferSize-r17", "nr-rrc.supportOfBufferSize_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportOfBufferSize_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_DuplicationSplitSRB_01,
      { "pdcp-DuplicationSplitSRB", "nr-rrc.pdcp_DuplicationSplitSRB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitSRB_01_vals), 0,
        "T_pdcp_DuplicationSplitSRB_01", HFILL }},
    { &hf_nr_rrc_pdcp_DuplicationSplitDRB_01,
      { "pdcp-DuplicationSplitDRB", "nr-rrc.pdcp_DuplicationSplitDRB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitDRB_01_vals), 0,
        "T_pdcp_DuplicationSplitDRB_01", HFILL }},
    { &hf_nr_rrc_scg_DRB_NR_IAB_r16,
      { "scg-DRB-NR-IAB-r16", "nr-rrc.scg_DRB_NR_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_DRB_NR_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersCommon,
      { "phy-ParametersCommon", "nr-rrc.phy_ParametersCommon_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersXDD_Diff,
      { "phy-ParametersXDD-Diff", "nr-rrc.phy_ParametersXDD_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersFRX_Diff,
      { "phy-ParametersFRX-Diff", "nr-rrc.phy_ParametersFRX_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersFR1,
      { "phy-ParametersFR1", "nr-rrc.phy_ParametersFR1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersFR2,
      { "phy-ParametersFR2", "nr-rrc.phy_ParametersFR2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersCommon_v16a0,
      { "phy-ParametersCommon-v16a0", "nr-rrc.phy_ParametersCommon_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_CFRA_ForHO,
      { "csi-RS-CFRA-ForHO", "nr-rrc.csi_RS_CFRA_ForHO",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_CFRA_ForHO_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicPRB_BundlingDL,
      { "dynamicPRB-BundlingDL", "nr-rrc.dynamicPRB_BundlingDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPRB_BundlingDL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_CSI_ReportPUCCH,
      { "sp-CSI-ReportPUCCH", "nr-rrc.sp_CSI_ReportPUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_CSI_ReportPUSCH,
      { "sp-CSI-ReportPUSCH", "nr-rrc.sp_CSI_ReportPUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nzp_CSI_RS_IntefMgmt,
      { "nzp-CSI-RS-IntefMgmt", "nr-rrc.nzp_CSI_RS_IntefMgmt",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nzp_CSI_RS_IntefMgmt_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH,
      { "type2-SP-CSI-Feedback-LongPUCCH", "nr-rrc.type2_SP_CSI_Feedback_LongPUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_precoderGranularityCORESET,
      { "precoderGranularityCORESET", "nr-rrc.precoderGranularityCORESET",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularityCORESET_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicHARQ_ACK_Codebook,
      { "dynamicHARQ-ACK-Codebook", "nr-rrc.dynamicHARQ_ACK_Codebook",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicHARQ_ACK_Codebook_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiStaticHARQ_ACK_Codebook,
      { "semiStaticHARQ-ACK-Codebook", "nr-rrc.semiStaticHARQ_ACK_Codebook",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiStaticHARQ_ACK_Codebook_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialBundlingHARQ_ACK,
      { "spatialBundlingHARQ-ACK", "nr-rrc.spatialBundlingHARQ_ACK",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialBundlingHARQ_ACK_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI,
      { "dynamicBetaOffsetInd-HARQ-ACK-CSI", "nr-rrc.dynamicBetaOffsetInd_HARQ_ACK_CSI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Repetition_F1_3_4,
      { "pucch-Repetition-F1-3-4", "nr-rrc.pucch_Repetition_F1_3_4",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Repetition_F1_3_4_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_Type0_PUSCH,
      { "ra-Type0-PUSCH", "nr-rrc.ra_Type0_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_Type0_PUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH,
      { "dynamicSwitchRA-Type0-1-PDSCH", "nr-rrc.dynamicSwitchRA_Type0_1_PDSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH,
      { "dynamicSwitchRA-Type0-1-PUSCH", "nr-rrc.dynamicSwitchRA_Type0_1_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_MappingTypeA,
      { "pdsch-MappingTypeA", "nr-rrc.pdsch_MappingTypeA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeA_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_MappingTypeB,
      { "pdsch-MappingTypeB", "nr-rrc.pdsch_MappingTypeB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH,
      { "interleavingVRB-ToPRB-PDSCH", "nr-rrc.interleavingVRB_ToPRB_PDSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleavingVRB_ToPRB_PDSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interSlotFreqHopping_PUSCH,
      { "interSlotFreqHopping-PUSCH", "nr-rrc.interSlotFreqHopping_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interSlotFreqHopping_PUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots,
      { "type1-PUSCH-RepetitionMultiSlots", "nr-rrc.type1_PUSCH_RepetitionMultiSlots",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots,
      { "type2-PUSCH-RepetitionMultiSlots", "nr-rrc.type2_PUSCH_RepetitionMultiSlots",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepetitionMultiSlots,
      { "pusch-RepetitionMultiSlots", "nr-rrc.pusch_RepetitionMultiSlots",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepetitionMultiSlots_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_RepetitionMultiSlots,
      { "pdsch-RepetitionMultiSlots", "nr-rrc.pdsch_RepetitionMultiSlots",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RepetitionMultiSlots_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_downlinkSPS,
      { "downlinkSPS", "nr-rrc.downlinkSPS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkSPS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredUL_GrantType1,
      { "configuredUL-GrantType1", "nr-rrc.configuredUL_GrantType1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredUL_GrantType2,
      { "configuredUL-GrantType2", "nr-rrc.configuredUL_GrantType2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pre_EmptIndication_DL,
      { "pre-EmptIndication-DL", "nr-rrc.pre_EmptIndication_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pre_EmptIndication_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cbg_TransIndication_DL,
      { "cbg-TransIndication-DL", "nr-rrc.cbg_TransIndication_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TransIndication_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cbg_TransIndication_UL,
      { "cbg-TransIndication-UL", "nr-rrc.cbg_TransIndication_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TransIndication_UL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cbg_FlushIndication_DL,
      { "cbg-FlushIndication-DL", "nr-rrc.cbg_FlushIndication_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_FlushIndication_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL,
      { "dynamicHARQ-ACK-CodeB-CBG-Retx-DL", "nr-rrc.dynamicHARQ_ACK_CodeB_CBG_Retx_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchingResrcSetSemi_Static,
      { "rateMatchingResrcSetSemi-Static", "nr-rrc.rateMatchingResrcSetSemi_Static",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetSemi_Static_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchingResrcSetDynamic,
      { "rateMatchingResrcSetDynamic", "nr-rrc.rateMatchingResrcSetDynamic",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetDynamic_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_SwitchingDelay,
      { "bwp-SwitchingDelay", "nr-rrc.bwp_SwitchingDelay",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SwitchingDelay_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersCommon_eag_1_dummy,
      { "dummy", "nr-rrc.phy_ParametersCommon.eag_1.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phy_ParametersCommon_eag_1_dummy_vals), 0,
        "T_phy_ParametersCommon_eag_1_dummy", HFILL }},
    { &hf_nr_rrc_maxNumberSearchSpaces,
      { "maxNumberSearchSpaces", "nr-rrc.maxNumberSearchSpaces",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSearchSpaces_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchingCtrlResrcSetDynamic,
      { "rateMatchingCtrlResrcSetDynamic", "nr-rrc.rateMatchingCtrlResrcSetDynamic",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingCtrlResrcSetDynamic_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxLayersMIMO_Indication,
      { "maxLayersMIMO-Indication", "nr-rrc.maxLayersMIMO_Indication",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLayersMIMO_Indication_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spCellPlacement,
      { "spCellPlacement", "nr-rrc.spCellPlacement_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CarrierAggregationVariant", HFILL }},
    { &hf_nr_rrc_twoStepRACH_r16,
      { "twoStepRACH-r16", "nr-rrc.twoStepRACH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoStepRACH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_Format1_2And0_2_r16,
      { "dci-Format1-2And0-2-r16", "nr-rrc.dci_Format1_2And0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Format1_2And0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_monitoringDCI_SameSearchSpace_r16,
      { "monitoringDCI-SameSearchSpace-r16", "nr-rrc.monitoringDCI_SameSearchSpace_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringDCI_SameSearchSpace_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_CG_ReleaseDCI_0_1_r16,
      { "type2-CG-ReleaseDCI-0-1-r16", "nr-rrc.type2_CG_ReleaseDCI_0_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_CG_ReleaseDCI_0_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_CG_ReleaseDCI_0_2_r16,
      { "type2-CG-ReleaseDCI-0-2-r16", "nr-rrc.type2_CG_ReleaseDCI_0_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_CG_ReleaseDCI_0_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_ReleaseDCI_1_1_r16,
      { "sps-ReleaseDCI-1-1-r16", "nr-rrc.sps_ReleaseDCI_1_1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_ReleaseDCI_1_1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_ReleaseDCI_1_2_r16,
      { "sps-ReleaseDCI-1-2-r16", "nr-rrc.sps_ReleaseDCI_1_2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_ReleaseDCI_1_2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_TriggerStateNon_ActiveBWP_r16,
      { "csi-TriggerStateNon-ActiveBWP-r16", "nr-rrc.csi_TriggerStateNon_ActiveBWP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_TriggerStateNon_ActiveBWP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_separateSMTC_InterIAB_Support_r16,
      { "separateSMTC-InterIAB-Support-r16", "nr-rrc.separateSMTC_InterIAB_Support_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_separateSMTC_InterIAB_Support_r16_vals), 0,
        "T_separateSMTC_InterIAB_Support_r16", HFILL }},
    { &hf_nr_rrc_separateRACH_IAB_Support_r16,
      { "separateRACH-IAB-Support-r16", "nr-rrc.separateRACH_IAB_Support_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_separateRACH_IAB_Support_r16_vals), 0,
        "T_separateRACH_IAB_Support_r16", HFILL }},
    { &hf_nr_rrc_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16,
      { "ul-flexibleDL-SlotFormatSemiStatic-IAB-r16", "nr-rrc.ul_flexibleDL_SlotFormatSemiStatic_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_flexibleDL_SlotFormatDynamics_IAB_r16,
      { "ul-flexibleDL-SlotFormatDynamics-IAB-r16", "nr-rrc.ul_flexibleDL_SlotFormatDynamics_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_flexibleDL_SlotFormatDynamics_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dft_S_OFDM_WaveformUL_IAB_r16,
      { "dft-S-OFDM-WaveformUL-IAB-r16", "nr-rrc.dft_S_OFDM_WaveformUL_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dft_S_OFDM_WaveformUL_IAB_r16_vals), 0,
        "T_dft_S_OFDM_WaveformUL_IAB_r16", HFILL }},
    { &hf_nr_rrc_dci_25_AI_RNTI_Support_IAB_r16,
      { "dci-25-AI-RNTI-Support-IAB-r16", "nr-rrc.dci_25_AI_RNTI_Support_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_25_AI_RNTI_Support_IAB_r16_vals), 0,
        "T_dci_25_AI_RNTI_Support_IAB_r16", HFILL }},
    { &hf_nr_rrc_t_DeltaReceptionSupport_IAB_r16,
      { "t-DeltaReceptionSupport-IAB-r16", "nr-rrc.t_DeltaReceptionSupport_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_DeltaReceptionSupport_IAB_r16_vals), 0,
        "T_t_DeltaReceptionSupport_IAB_r16", HFILL }},
    { &hf_nr_rrc_guardSymbolReportReception_IAB_r16,
      { "guardSymbolReportReception-IAB-r16", "nr-rrc.guardSymbolReportReception_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_guardSymbolReportReception_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harqACK_CB_SpatialBundlingPUCCH_Group_r16,
      { "harqACK-CB-SpatialBundlingPUCCH-Group-r16", "nr-rrc.harqACK_CB_SpatialBundlingPUCCH_Group_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harqACK_CB_SpatialBundlingPUCCH_Group_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossSlotScheduling_r16,
      { "crossSlotScheduling-r16", "nr-rrc.crossSlotScheduling_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_SharedSpectrumChAccess_r16_01,
      { "non-SharedSpectrumChAccess-r16", "nr-rrc.non_SharedSpectrumChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_SharedSpectrumChAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccess_r16_01,
      { "sharedSpectrumChAccess-r16", "nr-rrc.sharedSpectrumChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sharedSpectrumChAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_PosPathLossEstimateAllServingCells_r16,
      { "maxNumberSRS-PosPathLossEstimateAllServingCells-r16", "nr-rrc.maxNumberSRS_PosPathLossEstimateAllServingCells_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedCG_Periodicities_r16,
      { "extendedCG-Periodicities-r16", "nr-rrc.extendedCG_Periodicities_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCG_Periodicities_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedSPS_Periodicities_r16,
      { "extendedSPS-Periodicities-r16", "nr-rrc.extendedSPS_Periodicities_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedSPS_Periodicities_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookVariantsList_r16,
      { "codebookVariantsList-r16", "nr-rrc.codebookVariantsList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepetitionTypeA_r16,
      { "pusch-RepetitionTypeA-r16", "nr-rrc.pusch_RepetitionTypeA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccess_r16_02,
      { "sharedSpectrumChAccess-r16", "nr-rrc.sharedSpectrumChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sharedSpectrumChAccess_r16_01_vals), 0,
        "T_sharedSpectrumChAccess_r16_01", HFILL }},
    { &hf_nr_rrc_non_SharedSpectrumChAccess_r16_02,
      { "non-SharedSpectrumChAccess-r16", "nr-rrc.non_SharedSpectrumChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_SharedSpectrumChAccess_r16_01_vals), 0,
        "T_non_SharedSpectrumChAccess_r16_01", HFILL }},
    { &hf_nr_rrc_dci_DL_PriorityIndicator_r16,
      { "dci-DL-PriorityIndicator-r16", "nr-rrc.dci_DL_PriorityIndicator_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_DL_PriorityIndicator_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_UL_PriorityIndicator_r16,
      { "dci-UL-PriorityIndicator-r16", "nr-rrc.dci_UL_PriorityIndicator_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_UL_PriorityIndicator_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPathlossRS_Update_r16,
      { "maxNumberPathlossRS-Update-r16", "nr-rrc.maxNumberPathlossRS_Update_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPathlossRS_Update_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_HARQ_ACK_Codebook_r16,
      { "type2-HARQ-ACK-Codebook-r16", "nr-rrc.type2_HARQ_ACK_Codebook_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_HARQ_ACK_Codebook_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxTotalResourcesForAcrossFreqRanges_r16,
      { "maxTotalResourcesForAcrossFreqRanges-r16", "nr-rrc.maxTotalResourcesForAcrossFreqRanges_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberResWithinSlotAcrossCC_AcrossFR_r16,
      { "maxNumberResWithinSlotAcrossCC-AcrossFR-r16", "nr-rrc.maxNumberResWithinSlotAcrossCC_AcrossFR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberResWithinSlotAcrossCC_AcrossFR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberResAcrossCC_AcrossFR_r16,
      { "maxNumberResAcrossCC-AcrossFR-r16", "nr-rrc.maxNumberResAcrossCC_AcrossFR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberResAcrossCC_AcrossFR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harqACK_separateMultiDCI_MultiTRP_r16,
      { "harqACK-separateMultiDCI-MultiTRP-r16", "nr-rrc.harqACK_separateMultiDCI_MultiTRP_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberLongPUCCHs_r16,
      { "maxNumberLongPUCCHs-r16", "nr-rrc.maxNumberLongPUCCHs_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberLongPUCCHs_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harqACK_jointMultiDCI_MultiTRP_r16,
      { "harqACK-jointMultiDCI-MultiTRP-r16", "nr-rrc.harqACK_jointMultiDCI_MultiTRP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harqACK_jointMultiDCI_MultiTRP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_SwitchingMultiCCs_r16,
      { "bwp-SwitchingMultiCCs-r16", "nr-rrc.bwp_SwitchingMultiCCs_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SwitchingMultiCCs_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_r16,
      { "type1-r16", "nr-rrc.type1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_r16_01,
      { "type2-r16", "nr-rrc.type2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_r16_01_vals), 0,
        "T_type2_r16_01", HFILL }},
    { &hf_nr_rrc_targetSMTC_SCG_r16,
      { "targetSMTC-SCG-r16", "nr-rrc.targetSMTC_SCG_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_targetSMTC_SCG_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportRepetitionZeroOffsetRV_r16,
      { "supportRepetitionZeroOffsetRV-r16", "nr-rrc.supportRepetitionZeroOffsetRV_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportRepetitionZeroOffsetRV_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cbg_TransInOrderPUSCH_UL_r16,
      { "cbg-TransInOrderPUSCH-UL-r16", "nr-rrc.cbg_TransInOrderPUSCH_UL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TransInOrderPUSCH_UL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_SwitchingMultiDormancyCCs_r16,
      { "bwp-SwitchingMultiDormancyCCs-r16", "nr-rrc.bwp_SwitchingMultiDormancyCCs_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SwitchingMultiDormancyCCs_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_r16_01,
      { "type1-r16", "nr-rrc.type1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_r16_01_vals), 0,
        "T_type1_r16_01", HFILL }},
    { &hf_nr_rrc_type2_r16_02,
      { "type2-r16", "nr-rrc.type2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_r16_02_vals), 0,
        "T_type2_r16_02", HFILL }},
    { &hf_nr_rrc_supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16,
      { "supportRetx-Diff-CoresetPool-Multi-DCI-TRP-r16", "nr-rrc.supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportRetx_Diff_CoresetPool_Multi_DCI_TRP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16,
      { "pdcch-MonitoringAnyOccasionsWithSpanGapCrossCarrierSch-r16", "nr-rrc.pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGapCrossCarrierSch_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_newBeamIdentifications2PortCSI_RS_r16,
      { "newBeamIdentifications2PortCSI-RS-r16", "nr-rrc.newBeamIdentifications2PortCSI_RS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_newBeamIdentifications2PortCSI_RS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pathlossEstimation2PortCSI_RS_r16,
      { "pathlossEstimation2PortCSI-RS-r16", "nr-rrc.pathlossEstimation2PortCSI_RS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossEstimation2PortCSI_RS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16,
      { "mux-HARQ-ACK-withoutPUCCH-onPUSCH-r16", "nr-rrc.mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_HARQ_ACK_withoutPUCCH_onPUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_guardSymbolReportReception_IAB_r17,
      { "guardSymbolReportReception-IAB-r17", "nr-rrc.guardSymbolReportReception_IAB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_guardSymbolReportReception_IAB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_restricted_IAB_DU_BeamReception_r17,
      { "restricted-IAB-DU-BeamReception-r17", "nr-rrc.restricted_IAB_DU_BeamReception_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restricted_IAB_DU_BeamReception_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_recommended_IAB_MT_BeamTransmission_r17,
      { "recommended-IAB-MT-BeamTransmission-r17", "nr-rrc.recommended_IAB_MT_BeamTransmission_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommended_IAB_MT_BeamTransmission_r17_vals), 0,
        "T_recommended_IAB_MT_BeamTransmission_r17", HFILL }},
    { &hf_nr_rrc_case6_TimingAlignmentReception_IAB_r17,
      { "case6-TimingAlignmentReception-IAB-r17", "nr-rrc.case6_TimingAlignmentReception_IAB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_case6_TimingAlignmentReception_IAB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_case7_TimingAlignmentReception_IAB_r17,
      { "case7-TimingAlignmentReception-IAB-r17", "nr-rrc.case7_TimingAlignmentReception_IAB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_case7_TimingAlignmentReception_IAB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_tx_PowerAdjustment_IAB_r17,
      { "dl-tx-PowerAdjustment-IAB-r17", "nr-rrc.dl_tx_PowerAdjustment_IAB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_tx_PowerAdjustment_IAB_r17_vals), 0,
        "T_dl_tx_PowerAdjustment_IAB_r17", HFILL }},
    { &hf_nr_rrc_desired_ul_tx_PowerAdjustment_r17,
      { "desired-ul-tx-PowerAdjustment-r17", "nr-rrc.desired_ul_tx_PowerAdjustment_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_desired_ul_tx_PowerAdjustment_r17_vals), 0,
        "T_desired_ul_tx_PowerAdjustment_r17", HFILL }},
    { &hf_nr_rrc_fdm_SoftResourceAvailability_DynamicIndication_r17,
      { "fdm-SoftResourceAvailability-DynamicIndication-r17", "nr-rrc.fdm_SoftResourceAvailability_DynamicIndication_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdm_SoftResourceAvailability_DynamicIndication_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_updated_T_DeltaRangeReception_r17,
      { "updated-T-DeltaRangeReception-r17", "nr-rrc.updated_T_DeltaRangeReception_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_updated_T_DeltaRangeReception_r17_vals), 0,
        "T_updated_T_DeltaRangeReception_r17", HFILL }},
    { &hf_nr_rrc_slotBasedDynamicPUCCH_Rep_r17,
      { "slotBasedDynamicPUCCH-Rep-r17", "nr-rrc.slotBasedDynamicPUCCH_Rep_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotBasedDynamicPUCCH_Rep_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_HARQ_ACK_Deferral_r17,
      { "sps-HARQ-ACK-Deferral-r17", "nr-rrc.sps_HARQ_ACK_Deferral_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_SharedSpectrumChAccess_r17_01,
      { "non-SharedSpectrumChAccess-r17", "nr-rrc.non_SharedSpectrumChAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_SharedSpectrumChAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccess_r17_01,
      { "sharedSpectrumChAccess-r17", "nr-rrc.sharedSpectrumChAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sharedSpectrumChAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_unifiedJointTCI_commonUpdate_r17,
      { "unifiedJointTCI-commonUpdate-r17", "nr-rrc.unifiedJointTCI_commonUpdate_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_nr_rrc_mTRP_PDCCH_singleSpan_r17,
      { "mTRP-PDCCH-singleSpan-r17", "nr-rrc.mTRP_PDCCH_singleSpan_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mTRP_PDCCH_singleSpan_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedActivatedPRS_ProcessingWindow_r17,
      { "supportedActivatedPRS-ProcessingWindow-r17", "nr-rrc.supportedActivatedPRS_ProcessingWindow_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedActivatedPRS_ProcessingWindow_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_TimeDomainAllocationExtension_r17,
      { "cg-TimeDomainAllocationExtension-r17", "nr-rrc.cg_TimeDomainAllocationExtension_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_TimeDomainAllocationExtension_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17,
      { "ta-BasedPDC-TN-NonSharedSpectrumChAccess-r17", "nr-rrc.ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ta_BasedPDC_TN_NonSharedSpectrumChAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directionalCollisionDC_IAB_r17,
      { "directionalCollisionDC-IAB-r17", "nr-rrc.directionalCollisionDC_IAB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directionalCollisionDC_IAB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy1_04,
      { "dummy1", "nr-rrc.dummy1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy1_04_vals), 0,
        "T_dummy1_04", HFILL }},
    { &hf_nr_rrc_dummy2_02,
      { "dummy2", "nr-rrc.dummy2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy2_02_vals), 0,
        "T_dummy2_02", HFILL }},
    { &hf_nr_rrc_dummy3_02,
      { "dummy3", "nr-rrc.dummy3",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy3_02_vals), 0,
        "T_dummy3_02", HFILL }},
    { &hf_nr_rrc_dummy4,
      { "dummy4", "nr-rrc.dummy4",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy4_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_AdditionalRepetition_r17,
      { "srs-AdditionalRepetition-r17", "nr-rrc.srs_AdditionalRepetition_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_AdditionalRepetition_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_Repetition_CG_SDT_r17,
      { "pusch-Repetition-CG-SDT-r17", "nr-rrc.pusch_Repetition_CG_SDT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Repetition_CG_SDT_r17_vals), 0,
        "T_pusch_Repetition_CG_SDT_r17", HFILL }},
    { &hf_nr_rrc_srs_PeriodicityAndOffsetExt_r16,
      { "srs-PeriodicityAndOffsetExt-r16", "nr-rrc.srs_PeriodicityAndOffsetExt_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_PeriodicityAndOffsetExt_r16_vals), 0,
        "T_srs_PeriodicityAndOffsetExt_r16", HFILL }},
    { &hf_nr_rrc_dynamicSFI,
      { "dynamicSFI", "nr-rrc.dynamicSFI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols,
      { "twoPUCCH-F0-2-ConsecSymbols", "nr-rrc.twoPUCCH_F0_2_ConsecSymbols",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH,
      { "twoDifferentTPC-Loop-PUSCH", "nr-rrc.twoDifferentTPC_Loop_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH,
      { "twoDifferentTPC-Loop-PUCCH", "nr-rrc.twoDifferentTPC_Loop_PUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA,
      { "dl-SchedulingOffset-PDSCH-TypeA", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeA", HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB,
      { "dl-SchedulingOffset-PDSCH-TypeB", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeB", HFILL }},
    { &hf_nr_rrc_ul_SchedulingOffset,
      { "ul-SchedulingOffset", "nr-rrc.ul_SchedulingOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SchedulingOffset_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicSFI_01,
      { "dynamicSFI", "nr-rrc.dynamicSFI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_01_vals), 0,
        "T_dynamicSFI_01", HFILL }},
    { &hf_nr_rrc_phy_ParametersFRX_Diff_dummy1,
      { "dummy1", "nr-rrc.phy_ParametersFRX_Diff.dummy1",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_twoFL_DMRS,
      { "twoFL-DMRS", "nr-rrc.twoFL_DMRS",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_phy_ParametersFRX_Diff_dummy2,
      { "dummy2", "nr-rrc.phy_ParametersFRX_Diff.dummy2",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_phy_ParametersFRX_Diff_dummy3,
      { "dummy3", "nr-rrc.phy_ParametersFRX_Diff.dummy3",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_supportedDMRS_TypeDL,
      { "supportedDMRS-TypeDL", "nr-rrc.supportedDMRS_TypeDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedDMRS_TypeDL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedDMRS_TypeUL,
      { "supportedDMRS-TypeUL", "nr-rrc.supportedDMRS_TypeUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedDMRS_TypeUL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_semiOpenLoopCSI,
      { "semiOpenLoopCSI", "nr-rrc.semiOpenLoopCSI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiOpenLoopCSI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportWithoutPMI,
      { "csi-ReportWithoutPMI", "nr-rrc.csi_ReportWithoutPMI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutPMI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_ReportWithoutCQI,
      { "csi-ReportWithoutCQI", "nr-rrc.csi_ReportWithoutCQI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutCQI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_onePortsPTRS,
      { "onePortsPTRS", "nr-rrc.onePortsPTRS",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01,
      { "twoPUCCH-F0-2-ConsecSymbols", "nr-rrc.twoPUCCH_F0_2_ConsecSymbols",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01_vals), 0,
        "T_twoPUCCH_F0_2_ConsecSymbols_01", HFILL }},
    { &hf_nr_rrc_pucch_F2_WithFH,
      { "pucch-F2-WithFH", "nr-rrc.pucch_F2_WithFH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F2_WithFH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_F3_WithFH,
      { "pucch-F3-WithFH", "nr-rrc.pucch_F3_WithFH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F3_WithFH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_F4_WithFH,
      { "pucch-F4-WithFH", "nr-rrc.pucch_F4_WithFH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F4_WithFH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_F0_2WithoutFH,
      { "pucch-F0-2WithoutFH", "nr-rrc.pucch_F0_2WithoutFH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F0_2WithoutFH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_F1_3_4WithoutFH,
      { "pucch-F1-3-4WithoutFH", "nr-rrc.pucch_F1_3_4WithoutFH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F1_3_4WithoutFH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot,
      { "mux-SR-HARQ-ACK-CSI-PUCCH-MultiPerSlot", "nr-rrc.mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uci_CodeBlockSegmentation,
      { "uci-CodeBlockSegmentation", "nr-rrc.uci_CodeBlockSegmentation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_CodeBlockSegmentation_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_onePUCCH_LongAndShortFormat,
      { "onePUCCH-LongAndShortFormat", "nr-rrc.onePUCCH_LongAndShortFormat",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onePUCCH_LongAndShortFormat_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoPUCCH_AnyOthersInSlot,
      { "twoPUCCH-AnyOthersInSlot", "nr-rrc.twoPUCCH_AnyOthersInSlot",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_AnyOthersInSlot_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_intraSlotFreqHopping_PUSCH,
      { "intraSlotFreqHopping-PUSCH", "nr-rrc.intraSlotFreqHopping_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotFreqHopping_PUSCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_LBRM,
      { "pusch-LBRM", "nr-rrc.pusch_LBRM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_LBRM_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionCA,
      { "pdcch-BlindDetectionCA", "nr-rrc.pdcch_BlindDetectionCA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_4_16", HFILL }},
    { &hf_nr_rrc_tpc_PUSCH_RNTI_01,
      { "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_RNTI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tpc_PUCCH_RNTI_01,
      { "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_RNTI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tpc_SRS_RNTI_01,
      { "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_SRS_RNTI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_absoluteTPC_Command,
      { "absoluteTPC-Command", "nr-rrc.absoluteTPC_Command",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_absoluteTPC_Command_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01,
      { "twoDifferentTPC-Loop-PUSCH", "nr-rrc.twoDifferentTPC_Loop_PUSCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01_vals), 0,
        "T_twoDifferentTPC_Loop_PUSCH_01", HFILL }},
    { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01,
      { "twoDifferentTPC-Loop-PUCCH", "nr-rrc.twoDifferentTPC_Loop_PUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01_vals), 0,
        "T_twoDifferentTPC_Loop_PUCCH_01", HFILL }},
    { &hf_nr_rrc_pusch_HalfPi_BPSK,
      { "pusch-HalfPi-BPSK", "nr-rrc.pusch_HalfPi_BPSK",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_HalfPi_BPSK_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK,
      { "pucch-F3-4-HalfPi-BPSK", "nr-rrc.pucch_F3_4_HalfPi_BPSK",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F3_4_HalfPi_BPSK_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_almostContiguousCP_OFDM_UL,
      { "almostContiguousCP-OFDM-UL", "nr-rrc.almostContiguousCP_OFDM_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_almostContiguousCP_OFDM_UL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_CSI_RS,
      { "sp-CSI-RS", "nr-rrc.sp_CSI_RS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_RS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_CSI_IM,
      { "sp-CSI-IM", "nr-rrc.sp_CSI_IM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_IM_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot,
      { "tdd-MultiDL-UL-SwitchPerSlot", "nr-rrc.tdd_MultiDL_UL_SwitchPerSlot",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multipleCORESET,
      { "multipleCORESET", "nr-rrc.multipleCORESET",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleCORESET_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot,
      { "mux-SR-HARQ-ACK-CSI-PUCCH-OncePerSlot", "nr-rrc.mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sameSymbol,
      { "sameSymbol", "nr-rrc.sameSymbol",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sameSymbol_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_diffSymbol,
      { "diffSymbol", "nr-rrc.diffSymbol",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffSymbol_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH,
      { "mux-SR-HARQ-ACK-PUCCH", "nr-rrc.mux_SR_HARQ_ACK_PUCCH",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_PUCCH_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_MultipleGroupCtrlCH_Overlap,
      { "mux-MultipleGroupCtrlCH-Overlap", "nr-rrc.mux_MultipleGroupCtrlCH_Overlap",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_MultipleGroupCtrlCH_Overlap_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_01,
      { "dl-SchedulingOffset-PDSCH-TypeA", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeA",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_01_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeA_01", HFILL }},
    { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_01,
      { "dl-SchedulingOffset-PDSCH-TypeB", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_01_vals), 0,
        "T_dl_SchedulingOffset_PDSCH_TypeB_01", HFILL }},
    { &hf_nr_rrc_ul_SchedulingOffset_01,
      { "ul-SchedulingOffset", "nr-rrc.ul_SchedulingOffset",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SchedulingOffset_01_vals), 0,
        "T_ul_SchedulingOffset_01", HFILL }},
    { &hf_nr_rrc_dl_64QAM_MCS_TableAlt,
      { "dl-64QAM-MCS-TableAlt", "nr-rrc.dl_64QAM_MCS_TableAlt",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_64QAM_MCS_TableAlt_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_64QAM_MCS_TableAlt,
      { "ul-64QAM-MCS-TableAlt", "nr-rrc.ul_64QAM_MCS_TableAlt",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_64QAM_MCS_TableAlt_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cqi_TableAlt,
      { "cqi-TableAlt", "nr-rrc.cqi_TableAlt",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_TableAlt_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_UL,
      { "oneFL-DMRS-TwoAdditionalDMRS-UL", "nr-rrc.oneFL_DMRS_TwoAdditionalDMRS_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_UL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_UL,
      { "twoFL-DMRS-TwoAdditionalDMRS-UL", "nr-rrc.twoFL_DMRS_TwoAdditionalDMRS_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_UL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_UL,
      { "oneFL-DMRS-ThreeAdditionalDMRS-UL", "nr-rrc.oneFL_DMRS_ThreeAdditionalDMRS_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_UL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionNRDC,
      { "pdcch-BlindDetectionNRDC", "nr-rrc.pdcch_BlindDetectionNRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE,
      { "pdcch-BlindDetectionMCG-UE", "nr-rrc.pdcch_BlindDetectionMCG_UE",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE,
      { "pdcch-BlindDetectionSCG-UE", "nr-rrc.pdcch_BlindDetectionSCG_UE",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_15", HFILL }},
    { &hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol,
      { "mux-HARQ-ACK-PUSCH-DiffSymbol", "nr-rrc.mux_HARQ_ACK_PUSCH_DiffSymbol",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_HARQ_ACK_Codebook_r16,
      { "type1-HARQ-ACK-Codebook-r16", "nr-rrc.type1_HARQ_ACK_Codebook_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_HARQ_ACK_Codebook_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedPowerControl_r16,
      { "enhancedPowerControl-r16", "nr-rrc.enhancedPowerControl_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedPowerControl_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousTCI_ActMultipleCC_r16,
      { "simultaneousTCI-ActMultipleCC-r16", "nr-rrc.simultaneousTCI_ActMultipleCC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTCI_ActMultipleCC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simultaneousSpatialRelationMultipleCC_r16,
      { "simultaneousSpatialRelationMultipleCC-r16", "nr-rrc.simultaneousSpatialRelationMultipleCC_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousSpatialRelationMultipleCC_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cli_RSSI_FDM_DL_r16,
      { "cli-RSSI-FDM-DL-r16", "nr-rrc.cli_RSSI_FDM_DL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cli_RSSI_FDM_DL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cli_SRS_RSRP_FDM_DL_r16,
      { "cli-SRS-RSRP-FDM-DL-r16", "nr-rrc.cli_SRS_RSRP_FDM_DL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cli_SRS_RSRP_FDM_DL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxLayersMIMO_Adaptation_r16,
      { "maxLayersMIMO-Adaptation-r16", "nr-rrc.maxLayersMIMO_Adaptation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLayersMIMO_Adaptation_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aggregationFactorSPS_DL_r16,
      { "aggregationFactorSPS-DL-r16", "nr-rrc.aggregationFactorSPS_DL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationFactorSPS_DL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxTotalResourcesForOneFreqRange_r16,
      { "maxTotalResourcesForOneFreqRange-r16", "nr-rrc.maxTotalResourcesForOneFreqRange_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberResWithinSlotAcrossCC_OneFR_r16,
      { "maxNumberResWithinSlotAcrossCC-OneFR-r16", "nr-rrc.maxNumberResWithinSlotAcrossCC_OneFR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberResWithinSlotAcrossCC_OneFR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberResAcrossCC_OneFR_r16,
      { "maxNumberResAcrossCC-OneFR-r16", "nr-rrc.maxNumberResAcrossCC_OneFR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberResAcrossCC_OneFR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_twoTCI_Act_servingCellInCC_List_r16,
      { "twoTCI-Act-servingCellInCC-List-r16", "nr-rrc.twoTCI_Act_servingCellInCC_List_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoTCI_Act_servingCellInCC_List_r16_vals), 0,
        "T_twoTCI_Act_servingCellInCC_List_r16", HFILL }},
    { &hf_nr_rrc_cri_RI_CQI_WithoutNon_PMI_PortInd_r16,
      { "cri-RI-CQI-WithoutNon-PMI-PortInd-r16", "nr-rrc.cri_RI_CQI_WithoutNon_PMI_PortInd_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cri_RI_CQI_WithoutNon_PMI_PortInd_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17,
      { "cqi-4-BitsSubbandTN-NonSharedSpectrumChAccess-r17", "nr-rrc.cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_4_BitsSubbandTN_NonSharedSpectrumChAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringSingleOccasion,
      { "pdcch-MonitoringSingleOccasion", "nr-rrc.pdcch_MonitoringSingleOccasion",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringSingleOccasion_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersFR1_scs_60kHz,
      { "scs-60kHz", "nr-rrc.phy_ParametersFR1.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phy_ParametersFR1_scs_60kHz_vals), 0,
        "T_phy_ParametersFR1_scs_60kHz", HFILL }},
    { &hf_nr_rrc_pdsch_256QAM_FR1,
      { "pdsch-256QAM-FR1", "nr-rrc.pdsch_256QAM_FR1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSymbol,
      { "pdsch-RE-MappingFR1-PerSymbol", "nr-rrc.pdsch_RE_MappingFR1_PerSymbol",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSlot,
      { "pdsch-RE-MappingFR1-PerSlot", "nr-rrc.pdsch_RE_MappingFR1_PerSlot",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR1_PerSlot_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_MonitoringSingleSpanFirst4Sym_r16,
      { "pdcch-MonitoringSingleSpanFirst4Sym-r16", "nr-rrc.pdcch_MonitoringSingleSpanFirst4Sym_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringSingleSpanFirst4Sym_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersFR2_dummy,
      { "dummy", "nr-rrc.phy_ParametersFR2.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phy_ParametersFR2_dummy_vals), 0,
        "T_phy_ParametersFR2_dummy", HFILL }},
    { &hf_nr_rrc_pdsch_RE_MappingFR2_PerSymbol,
      { "pdsch-RE-MappingFR2-PerSymbol", "nr-rrc.pdsch_RE_MappingFR2_PerSymbol",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR2_PerSymbol_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pCell_FR2,
      { "pCell-FR2", "nr-rrc.pCell_FR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pCell_FR2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_RE_MappingFR2_PerSlot,
      { "pdsch-RE-MappingFR2-PerSlot", "nr-rrc.pdsch_RE_MappingFR2_PerSlot",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR2_PerSlot_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_defaultSpatialRelationPathlossRS_r16,
      { "defaultSpatialRelationPathlossRS-r16", "nr-rrc.defaultSpatialRelationPathlossRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_defaultSpatialRelationPathlossRS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelationUpdateAP_SRS_r16,
      { "spatialRelationUpdateAP-SRS-r16", "nr-rrc.spatialRelationUpdateAP_SRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelationUpdateAP_SRS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_PosSpatialRelationsAllServingCells_r16,
      { "maxNumberSRS-PosSpatialRelationsAllServingCells-r16", "nr-rrc.maxNumberSRS_PosSpatialRelationsAllServingCells_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_naics_Capability_List,
      { "naics-Capability-List", "nr-rrc.naics_Capability_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry", HFILL }},
    { &hf_nr_rrc_naics_Capability_List_item,
      { "NAICS-Capability-Entry", "nr-rrc.NAICS_Capability_Entry_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tdd_PCellUL_TX_AllUL_Subframe_r16,
      { "tdd-PCellUL-TX-AllUL-Subframe-r16", "nr-rrc.tdd_PCellUL_TX_AllUL_Subframe_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdd_PCellUL_TX_AllUL_Subframe_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fdd_PCellUL_TX_AllUL_Subframe_r16,
      { "fdd-PCellUL-TX-AllUL-Subframe-r16", "nr-rrc.fdd_PCellUL_TX_AllUL_Subframe_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdd_PCellUL_TX_AllUL_Subframe_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfNAICS_CapableCC,
      { "numberOfNAICS-CapableCC", "nr-rrc.numberOfNAICS_CapableCC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_5", HFILL }},
    { &hf_nr_rrc_numberOfAggregatedPRB,
      { "numberOfAggregatedPRB", "nr-rrc.numberOfAggregatedPRB",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfAggregatedPRB_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ss_SINR_Meas_r16,
      { "ss-SINR-Meas-r16", "nr-rrc.ss_SINR_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ss_SINR_Meas_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_CSI_ReportPUCCH_r16,
      { "sp-CSI-ReportPUCCH-r16", "nr-rrc.sp_CSI_ReportPUCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sp_CSI_ReportPUSCH_r16,
      { "sp-CSI-ReportPUSCH-r16", "nr-rrc.sp_CSI_ReportPUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicSFI_r16,
      { "dynamicSFI-r16", "nr-rrc.dynamicSFI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16,
      { "mux-SR-HARQ-ACK-CSI-PUCCH-OncePerSlot-r16", "nr-rrc.mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16", HFILL }},
    { &hf_nr_rrc_sameSymbol_r16,
      { "sameSymbol-r16", "nr-rrc.sameSymbol_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sameSymbol_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_diffSymbol_r16,
      { "diffSymbol-r16", "nr-rrc.diffSymbol_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffSymbol_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH_r16,
      { "mux-SR-HARQ-ACK-PUCCH-r16", "nr-rrc.mux_SR_HARQ_ACK_PUCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_PUCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16,
      { "mux-SR-HARQ-ACK-CSI-PUCCH-MultiPerSlot-r16", "nr-rrc.mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16_vals), 0,
        "T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_r16", HFILL }},
    { &hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol_r16,
      { "mux-HARQ-ACK-PUSCH-DiffSymbol-r16", "nr-rrc.mux_HARQ_ACK_PUSCH_DiffSymbol_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Repetition_F1_3_4_r16,
      { "pucch-Repetition-F1-3-4-r16", "nr-rrc.pucch_Repetition_F1_3_4_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Repetition_F1_3_4_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots_r16,
      { "type1-PUSCH-RepetitionMultiSlots-r16", "nr-rrc.type1_PUSCH_RepetitionMultiSlots_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots_r16,
      { "type2-PUSCH-RepetitionMultiSlots-r16", "nr-rrc.type2_PUSCH_RepetitionMultiSlots_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepetitionMultiSlots_r16,
      { "pusch-RepetitionMultiSlots-r16", "nr-rrc.pusch_RepetitionMultiSlots_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepetitionMultiSlots_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_RepetitionMultiSlots_r16,
      { "pdsch-RepetitionMultiSlots-r16", "nr-rrc.pdsch_RepetitionMultiSlots_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RepetitionMultiSlots_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_downlinkSPS_r16,
      { "downlinkSPS-r16", "nr-rrc.downlinkSPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkSPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredUL_GrantType1_r16,
      { "configuredUL-GrantType1-r16", "nr-rrc.configuredUL_GrantType1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredUL_GrantType2_r16,
      { "configuredUL-GrantType2-r16", "nr-rrc.configuredUL_GrantType2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pre_EmptIndication_DL_r16,
      { "pre-EmptIndication-DL-r16", "nr-rrc.pre_EmptIndication_DL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pre_EmptIndication_DL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17,
      { "maxSRSposBandwidthForEachSCS-withinCC-FR1-r17", "nr-rrc.maxSRSposBandwidthForEachSCS_withinCC_FR1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17,
      { "maxSRSposBandwidthForEachSCS-withinCC-FR2-r17", "nr-rrc.maxSRSposBandwidthForEachSCS_withinCC_FR2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumOfSRSposResourceSets_r17,
      { "maxNumOfSRSposResourceSets-r17", "nr-rrc.maxNumOfSRSposResourceSets_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfSRSposResourceSets_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumOfPeriodicSRSposResources_r17,
      { "maxNumOfPeriodicSRSposResources-r17", "nr-rrc.maxNumOfPeriodicSRSposResources_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfPeriodicSRSposResources_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumOfPeriodicSRSposResourcesPerSlot_r17,
      { "maxNumOfPeriodicSRSposResourcesPerSlot-r17", "nr-rrc.maxNumOfPeriodicSRSposResourcesPerSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_vals), 0,
        "T_maxNumOfPeriodicSRSposResourcesPerSlot_r17", HFILL }},
    { &hf_nr_rrc_differentNumerologyBetweenSRSposAndInitialBWP_r17,
      { "differentNumerologyBetweenSRSposAndInitialBWP-r17", "nr-rrc.differentNumerologyBetweenSRSposAndInitialBWP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_differentNumerologyBetweenSRSposAndInitialBWP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srsPosWithoutRestrictionOnBWP_r17,
      { "srsPosWithoutRestrictionOnBWP-r17", "nr-rrc.srsPosWithoutRestrictionOnBWP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srsPosWithoutRestrictionOnBWP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumOfPeriodicAndSemipersistentSRSposResources_r17,
      { "maxNumOfPeriodicAndSemipersistentSRSposResources-r17", "nr-rrc.maxNumOfPeriodicAndSemipersistentSRSposResources_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfPeriodicAndSemipersistentSRSposResources_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17,
      { "maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot-r17", "nr-rrc.maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17_vals), 0,
        "T_maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot_r17", HFILL }},
    { &hf_nr_rrc_differentCenterFreqBetweenSRSposAndInitialBWP_r17,
      { "differentCenterFreqBetweenSRSposAndInitialBWP-r17", "nr-rrc.differentCenterFreqBetweenSRSposAndInitialBWP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_differentCenterFreqBetweenSRSposAndInitialBWP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_switchingTimeSRS_TX_OtherTX_r17,
      { "switchingTimeSRS-TX-OtherTX-r17", "nr-rrc.switchingTimeSRS_TX_OtherTX_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeSRS_TX_OtherTX_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumOfSemiPersistentSRSposResources_r17,
      { "maxNumOfSemiPersistentSRSposResources-r17", "nr-rrc.maxNumOfSemiPersistentSRSposResources_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfSemiPersistentSRSposResources_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17,
      { "maxNumOfSemiPersistentSRSposResourcesPerSlot-r17", "nr-rrc.maxNumOfSemiPersistentSRSposResourcesPerSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_vals), 0,
        "T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17", HFILL }},
    { &hf_nr_rrc_powSav_ParametersCommon_r16,
      { "powSav-ParametersCommon-r16", "nr-rrc.powSav_ParametersCommon_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powSav_ParametersFRX_Diff_r16,
      { "powSav-ParametersFRX-Diff-r16", "nr-rrc.powSav_ParametersFRX_Diff_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powSav_ParametersFR2_2_r17,
      { "powSav-ParametersFR2-2-r17", "nr-rrc.powSav_ParametersFR2_2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_Preference_r16_01,
      { "drx-Preference-r16", "nr-rrc.drx_Preference_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Preference_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCC_Preference_r16_01,
      { "maxCC-Preference-r16", "nr-rrc.maxCC_Preference_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCC_Preference_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_releasePreference_r16_01,
      { "releasePreference-r16", "nr-rrc.releasePreference_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_releasePreference_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minSchedulingOffsetPreference_r16_01,
      { "minSchedulingOffsetPreference-r16", "nr-rrc.minSchedulingOffsetPreference_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minSchedulingOffsetPreference_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxBW_Preference_r16_01,
      { "maxBW-Preference-r16", "nr-rrc.maxBW_Preference_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBW_Preference_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMIMO_LayerPreference_r16_01,
      { "maxMIMO-LayerPreference-r16", "nr-rrc.maxMIMO_LayerPreference_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayerPreference_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxBW_Preference_r17,
      { "maxBW-Preference-r17", "nr-rrc.maxBW_Preference_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBW_Preference_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMIMO_LayerPreference_r17,
      { "maxMIMO-LayerPreference-r17", "nr-rrc.maxMIMO_LayerPreference_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayerPreference_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fallback,
      { "fallback", "nr-rrc.fallback",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fallback_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_differentTB_PerSlot,
      { "differentTB-PerSlot", "nr-rrc.differentTB_PerSlot_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_upto1,
      { "upto1", "nr-rrc.upto1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NumberOfCarriers", HFILL }},
    { &hf_nr_rrc_upto2,
      { "upto2", "nr-rrc.upto2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NumberOfCarriers", HFILL }},
    { &hf_nr_rrc_upto4,
      { "upto4", "nr-rrc.upto4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NumberOfCarriers", HFILL }},
    { &hf_nr_rrc_upto7,
      { "upto7", "nr-rrc.upto7",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NumberOfCarriers", HFILL }},
    { &hf_nr_rrc_prsProcessingType_r17,
      { "prsProcessingType-r17", "nr-rrc.prsProcessingType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prsProcessingType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ppw_dl_PRS_BufferType_r17,
      { "ppw-dl-PRS-BufferType-r17", "nr-rrc.ppw_dl_PRS_BufferType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ppw_dl_PRS_BufferType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ppw_durationOfPRS_Processing_r17,
      { "ppw-durationOfPRS-Processing-r17", "nr-rrc.ppw_durationOfPRS_Processing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ppw_durationOfPRS_Processing_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ppw_durationOfPRS_Processing1_r17,
      { "ppw-durationOfPRS-Processing1-r17", "nr-rrc.ppw_durationOfPRS_Processing1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsN_r17,
      { "ppw-durationOfPRS-ProcessingSymbolsN-r17", "nr-rrc.ppw_durationOfPRS_ProcessingSymbolsN_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsN_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsT_r17,
      { "ppw-durationOfPRS-ProcessingSymbolsT-r17", "nr-rrc.ppw_durationOfPRS_ProcessingSymbolsT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsT_r17_vals), 0,
        "T_ppw_durationOfPRS_ProcessingSymbolsT_r17", HFILL }},
    { &hf_nr_rrc_ppw_durationOfPRS_Processing2_r17,
      { "ppw-durationOfPRS-Processing2-r17", "nr-rrc.ppw_durationOfPRS_Processing2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsN2_r17,
      { "ppw-durationOfPRS-ProcessingSymbolsN2-r17", "nr-rrc.ppw_durationOfPRS_ProcessingSymbolsN2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsN2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ppw_durationOfPRS_ProcessingSymbolsT2_r17,
      { "ppw-durationOfPRS-ProcessingSymbolsT2-r17", "nr-rrc.ppw_durationOfPRS_ProcessingSymbolsT2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ppw_durationOfPRS_ProcessingSymbolsT2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17,
      { "ppw-maxNumOfDL-PRS-ResProcessedPerSlot-r17", "nr-rrc.ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17", HFILL }},
    { &hf_nr_rrc_scs15_r17_02,
      { "scs15-r17", "nr-rrc.scs15_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs15_r17_01_vals), 0,
        "T_scs15_r17_01", HFILL }},
    { &hf_nr_rrc_scs30_r17_02,
      { "scs30-r17", "nr-rrc.scs30_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs30_r17_01_vals), 0,
        "T_scs30_r17_01", HFILL }},
    { &hf_nr_rrc_scs60_r17_02,
      { "scs60-r17", "nr-rrc.scs60_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs60_r17_01_vals), 0,
        "T_scs60_r17_01", HFILL }},
    { &hf_nr_rrc_scs120_r17_02,
      { "scs120-r17", "nr-rrc.scs120_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs120_r17_01_vals), 0,
        "T_scs120_r17_01", HFILL }},
    { &hf_nr_rrc_ppw_maxNumOfDL_Bandwidth_r17,
      { "ppw-maxNumOfDL-Bandwidth-r17", "nr-rrc.ppw_maxNumOfDL_Bandwidth_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ppw_maxNumOfDL_Bandwidth_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_r17_02,
      { "fr1-r17", "nr-rrc.fr1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_r17_02_vals), 0,
        "T_fr1_r17_02", HFILL }},
    { &hf_nr_rrc_fr2_r17_02,
      { "fr2-r17", "nr-rrc.fr2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_r17_02_vals), 0,
        "T_fr2_r17_02", HFILL }},
    { &hf_nr_rrc_supportOfRedCap_r17,
      { "supportOfRedCap-r17", "nr-rrc.supportOfRedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportOfRedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportOf16DRB_RedCap_r17,
      { "supportOf16DRB-RedCap-r17", "nr-rrc.supportOf16DRB_RedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportOf16DRB_RedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ncd_SSB_ForRedCapInitialBWP_SDT_r17,
      { "ncd-SSB-ForRedCapInitialBWP-SDT-r17", "nr-rrc.ncd_SSB_ForRedCapInitialBWP_SDT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ncd_SSB_ForRedCapInitialBWP_SDT_r17_vals), 0,
        "T_ncd_SSB_ForRedCapInitialBWP_SDT_r17", HFILL }},
    { &hf_nr_rrc_supportedBandListNR,
      { "supportedBandListNR", "nr-rrc.supportedBandListNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_BandNR", HFILL }},
    { &hf_nr_rrc_supportedBandListNR_item,
      { "BandNR", "nr-rrc.BandNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList,
      { "supportedBandCombinationList", "nr-rrc.supportedBandCombinationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList", HFILL }},
    { &hf_nr_rrc_appliedFreqBandListFilter,
      { "appliedFreqBandListFilter", "nr-rrc.appliedFreqBandListFilter",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandList", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1540,
      { "supportedBandCombinationList-v1540", "nr-rrc.supportedBandCombinationList_v1540",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1540", HFILL }},
    { &hf_nr_rrc_srs_SwitchingTimeRequested,
      { "srs-SwitchingTimeRequested", "nr-rrc.srs_SwitchingTimeRequested",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchingTimeRequested_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1550,
      { "supportedBandCombinationList-v1550", "nr-rrc.supportedBandCombinationList_v1550",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1550", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1560,
      { "supportedBandCombinationList-v1560", "nr-rrc.supportedBandCombinationList_v1560",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1560", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1610,
      { "supportedBandCombinationList-v1610", "nr-rrc.supportedBandCombinationList_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1610", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_r16,
      { "supportedBandCombinationListSidelinkEUTRA-NR-r16", "nr-rrc.supportedBandCombinationListSidelinkEUTRA_NR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationListSidelinkEUTRA_NR_r16", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_r16,
      { "supportedBandCombinationList-UplinkTxSwitch-r16", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_r16", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1630,
      { "supportedBandCombinationList-v1630", "nr-rrc.supportedBandCombinationList_v1630",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1630", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_v1630,
      { "supportedBandCombinationListSidelinkEUTRA-NR-v1630", "nr-rrc.supportedBandCombinationListSidelinkEUTRA_NR_v1630",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationListSidelinkEUTRA_NR_v1630", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1630,
      { "supportedBandCombinationList-UplinkTxSwitch-v1630", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1630",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1630", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1640,
      { "supportedBandCombinationList-v1640", "nr-rrc.supportedBandCombinationList_v1640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1640", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1640,
      { "supportedBandCombinationList-UplinkTxSwitch-v1640", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1640", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1650,
      { "supportedBandCombinationList-v1650", "nr-rrc.supportedBandCombinationList_v1650",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1650", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1650,
      { "supportedBandCombinationList-UplinkTxSwitch-v1650", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1650",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1650", HFILL }},
    { &hf_nr_rrc_extendedBand_n77_r16,
      { "extendedBand-n77-r16", "nr-rrc.extendedBand_n77_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedBand_n77_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1670,
      { "supportedBandCombinationList-UplinkTxSwitch-v1670", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1670",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1670", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1680,
      { "supportedBandCombinationList-v1680", "nr-rrc.supportedBandCombinationList_v1680",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1680", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1690,
      { "supportedBandCombinationList-v1690", "nr-rrc.supportedBandCombinationList_v1690",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1690", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1690,
      { "supportedBandCombinationList-UplinkTxSwitch-v1690", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1690",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1690", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1700,
      { "supportedBandCombinationList-v1700", "nr-rrc.supportedBandCombinationList_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1700", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1700,
      { "supportedBandCombinationList-UplinkTxSwitch-v1700", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1700",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1700", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSL_RelayDiscovery_r17,
      { "supportedBandCombinationListSL-RelayDiscovery-r17", "nr-rrc.supportedBandCombinationListSL_RelayDiscovery_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSL_NonRelayDiscovery_r17,
      { "supportedBandCombinationListSL-NonRelayDiscovery-r17", "nr-rrc.supportedBandCombinationListSL_NonRelayDiscovery_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_v1710,
      { "supportedBandCombinationListSidelinkEUTRA-NR-v1710", "nr-rrc.supportedBandCombinationListSidelinkEUTRA_NR_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationListSidelinkEUTRA_NR_v1710", HFILL }},
    { &hf_nr_rrc_sidelinkRequested_r17,
      { "sidelinkRequested-r17", "nr-rrc.sidelinkRequested_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sidelinkRequested_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedBand_n77_2_r17,
      { "extendedBand-n77-2-r17", "nr-rrc.extendedBand_n77_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedBand_n77_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1720,
      { "supportedBandCombinationList-v1720", "nr-rrc.supportedBandCombinationList_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1720", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1720,
      { "supportedBandCombinationList-UplinkTxSwitch-v1720", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1720",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1720", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1730,
      { "supportedBandCombinationList-v1730", "nr-rrc.supportedBandCombinationList_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1730", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1730,
      { "supportedBandCombinationList-UplinkTxSwitch-v1730", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1730", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSL_RelayDiscovery_v1730,
      { "supportedBandCombinationListSL-RelayDiscovery-v1730", "nr-rrc.supportedBandCombinationListSL_RelayDiscovery_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationListSL_Discovery_r17", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSL_NonRelayDiscovery_v1730,
      { "supportedBandCombinationListSL-NonRelayDiscovery-v1730", "nr-rrc.supportedBandCombinationListSL_NonRelayDiscovery_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationListSL_Discovery_r17", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1740,
      { "supportedBandCombinationList-v1740", "nr-rrc.supportedBandCombinationList_v1740",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1740", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v1740,
      { "supportedBandCombinationList-UplinkTxSwitch-v1740", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v1740",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v1740", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v15g0,
      { "supportedBandCombinationList-v15g0", "nr-rrc.supportedBandCombinationList_v15g0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v15g0", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v16a0,
      { "supportedBandCombinationList-v16a0", "nr-rrc.supportedBandCombinationList_v16a0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v16a0", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_v16a0,
      { "supportedBandCombinationList-UplinkTxSwitch-v16a0", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_v16a0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_UplinkTxSwitch_v16a0", HFILL }},
    { &hf_nr_rrc_supportedBandListNR_v16c0,
      { "supportedBandListNR-v16c0", "nr-rrc.supportedBandListNR_v16c0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0", HFILL }},
    { &hf_nr_rrc_supportedBandListNR_v16c0_item,
      { "BandNR-v16c0", "nr-rrc.BandNR_v16c0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_modifiedMPR_Behaviour,
      { "modifiedMPR-Behaviour", "nr-rrc.modifiedMPR_Behaviour",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_mimo_ParametersPerBand,
      { "mimo-ParametersPerBand", "nr-rrc.mimo_ParametersPerBand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedCP,
      { "extendedCP", "nr-rrc.extendedCP",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multipleTCI,
      { "multipleTCI", "nr-rrc.multipleTCI",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTCI_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_WithoutRestriction,
      { "bwp-WithoutRestriction", "nr-rrc.bwp_WithoutRestriction",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_WithoutRestriction_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_SameNumerology,
      { "bwp-SameNumerology", "nr-rrc.bwp_SameNumerology",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SameNumerology_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_DiffNumerology,
      { "bwp-DiffNumerology", "nr-rrc.bwp_DiffNumerology",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_DiffNumerology_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_crossCarrierScheduling_SameSCS,
      { "crossCarrierScheduling-SameSCS", "nr-rrc.crossCarrierScheduling_SameSCS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_SameSCS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_256QAM_FR2,
      { "pdsch-256QAM-FR2", "nr-rrc.pdsch_256QAM_FR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_256QAM,
      { "pusch-256QAM", "nr-rrc.pusch_256QAM",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_256QAM_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_PowerClass,
      { "ue-PowerClass", "nr-rrc.ue_PowerClass",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_PowerClass_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rateMatchingLTE_CRS,
      { "rateMatchingLTE-CRS", "nr-rrc.rateMatchingLTE_CRS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingLTE_CRS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelBWs_DL,
      { "channelBWs-DL", "nr-rrc.channelBWs_DL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBWs_DL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1,
      { "fr1", "nr-rrc.fr1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandNR_channelBWs_DL_fr1_scs_15kHz,
      { "scs-15kHz", "nr-rrc.bandNR.channelBWs_DL.fr1.scs_15kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_scs_30kHz_08,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_bandNR_channelBWs_DL_fr1_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.channelBWs_DL.fr1.scs_60kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_fr2,
      { "fr2", "nr-rrc.fr2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandNR_channelBWs_DL_fr2_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.channelBWs_DL.fr2.scs_60kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_3", HFILL }},
    { &hf_nr_rrc_bandNR_channelBWs_DL_fr2_scs_120kHz,
      { "scs-120kHz", "nr-rrc.bandNR.channelBWs_DL.fr2.scs_120kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_3", HFILL }},
    { &hf_nr_rrc_channelBWs_UL,
      { "channelBWs-UL", "nr-rrc.channelBWs_UL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBWs_UL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_01,
      { "fr1", "nr-rrc.fr1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr1_01", HFILL }},
    { &hf_nr_rrc_bandNR_channelBWs_UL_fr1_scs_15kHz,
      { "scs-15kHz", "nr-rrc.bandNR.channelBWs_UL.fr1.scs_15kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_bandNR_channelBWs_UL_fr1_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.channelBWs_UL.fr1.scs_60kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_fr2_01,
      { "fr2", "nr-rrc.fr2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_01", HFILL }},
    { &hf_nr_rrc_bandNR_channelBWs_UL_fr2_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.channelBWs_UL.fr2.scs_60kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_3", HFILL }},
    { &hf_nr_rrc_bandNR_channelBWs_UL_fr2_scs_120kHz,
      { "scs-120kHz", "nr-rrc.bandNR.channelBWs_UL.fr2.scs_120kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_3", HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_PC2_FR1,
      { "maxUplinkDutyCycle-PC2-FR1", "nr-rrc.maxUplinkDutyCycle_PC2_FR1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_PC2_FR1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE,
      { "pucch-SpatialRelInfoMAC-CE", "nr-rrc.pucch_SpatialRelInfoMAC_CE",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powerBoosting_pi2BPSK,
      { "powerBoosting-pi2BPSK", "nr-rrc.powerBoosting_pi2BPSK",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerBoosting_pi2BPSK_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_FR2,
      { "maxUplinkDutyCycle-FR2", "nr-rrc.maxUplinkDutyCycle_FR2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_FR2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelBWs_DL_v1590,
      { "channelBWs-DL-v1590", "nr-rrc.channelBWs_DL_v1590",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBWs_DL_v1590_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_02,
      { "fr1", "nr-rrc.fr1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr1_02", HFILL }},
    { &hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr1_scs_15kHz,
      { "scs-15kHz", "nr-rrc.bandNR.eag_4.channelBWs_DL_v1590.fr1.scs_15kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_scs_30kHz_09,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr1_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.eag_4.channelBWs_DL_v1590.fr1.scs_60kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_fr2_02,
      { "fr2", "nr-rrc.fr2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_02", HFILL }},
    { &hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr2_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.eag_4.channelBWs_DL_v1590.fr2.scs_60kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_bandNR_eag_4_channelBWs_DL_v1590_fr2_scs_120kHz,
      { "scs-120kHz", "nr-rrc.bandNR.eag_4.channelBWs_DL_v1590.fr2.scs_120kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_channelBWs_UL_v1590,
      { "channelBWs-UL-v1590", "nr-rrc.channelBWs_UL_v1590",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBWs_UL_v1590_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_03,
      { "fr1", "nr-rrc.fr1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr1_03", HFILL }},
    { &hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr1_scs_15kHz,
      { "scs-15kHz", "nr-rrc.bandNR.eag_4.channelBWs_UL_v1590.fr1.scs_15kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr1_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.eag_4.channelBWs_UL_v1590.fr1.scs_60kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_fr2_03,
      { "fr2", "nr-rrc.fr2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_03", HFILL }},
    { &hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr2_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.eag_4.channelBWs_UL_v1590.fr2.scs_60kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_bandNR_eag_4_channelBWs_UL_v1590_fr2_scs_120kHz,
      { "scs-120kHz", "nr-rrc.bandNR.eag_4.channelBWs_UL_v1590.fr2.scs_120kHz",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_asymmetricBandwidthCombinationSet,
      { "asymmetricBandwidthCombinationSet", "nr-rrc.asymmetricBandwidthCombinationSet",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_1_32", HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_r16,
      { "sharedSpectrumChAccessParamsPerBand-r16", "nr-rrc.sharedSpectrumChAccessParamsPerBand_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cancelOverlappingPUSCH_r16,
      { "cancelOverlappingPUSCH-r16", "nr-rrc.cancelOverlappingPUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cancelOverlappingPUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multipleRateMatchingEUTRA_CRS_r16,
      { "multipleRateMatchingEUTRA-CRS-r16", "nr-rrc.multipleRateMatchingEUTRA_CRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPatterns_r16,
      { "maxNumberPatterns-r16", "nr-rrc.maxNumberPatterns_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_6", HFILL }},
    { &hf_nr_rrc_maxNumberNon_OverlapPatterns_r16,
      { "maxNumberNon-OverlapPatterns-r16", "nr-rrc.maxNumberNon_OverlapPatterns_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_3", HFILL }},
    { &hf_nr_rrc_overlapRateMatchingEUTRA_CRS_r16,
      { "overlapRateMatchingEUTRA-CRS-r16", "nr-rrc.overlapRateMatchingEUTRA_CRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overlapRateMatchingEUTRA_CRS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_MappingTypeB_Alt_r16,
      { "pdsch-MappingTypeB-Alt-r16", "nr-rrc.pdsch_MappingTypeB_Alt_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeB_Alt_r16_vals), 0,
        "T_pdsch_MappingTypeB_Alt_r16", HFILL }},
    { &hf_nr_rrc_oneSlotPeriodicTRS_r16,
      { "oneSlotPeriodicTRS-r16", "nr-rrc.oneSlotPeriodicTRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneSlotPeriodicTRS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_olpc_SRS_Pos_r16,
      { "olpc-SRS-Pos-r16", "nr-rrc.olpc_SRS_Pos_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelationsSRS_Pos_r16,
      { "spatialRelationsSRS-Pos-r16", "nr-rrc.spatialRelationsSRS_Pos_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simulSRS_MIMO_TransWithinBand_r16,
      { "simulSRS-MIMO-TransWithinBand-r16", "nr-rrc.simulSRS_MIMO_TransWithinBand_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simulSRS_MIMO_TransWithinBand_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelBW_DL_IAB_r16,
      { "channelBW-DL-IAB-r16", "nr-rrc.channelBW_DL_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_DL_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_100mhz,
      { "fr1-100mhz", "nr-rrc.fr1_100mhz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz,
      { "scs-15kHz", "nr-rrc.bandNR.eag_6.channelBW_DL_IAB_r16.fr1_100mhz.scs_15kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz_vals), 0,
        "T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_15kHz", HFILL }},
    { &hf_nr_rrc_scs_30kHz_10,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_05_vals), 0,
        "T_scs_30kHz_05", HFILL }},
    { &hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.eag_6.channelBW_DL_IAB_r16.fr1_100mhz.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz_vals), 0,
        "T_bandNR_eag_6_channelBW_DL_IAB_r16_fr1_100mhz_scs_60kHz", HFILL }},
    { &hf_nr_rrc_fr2_200mhz,
      { "fr2-200mhz", "nr-rrc.fr2_200mhz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.eag_6.channelBW_DL_IAB_r16.fr2_200mhz.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz_vals), 0,
        "T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_60kHz", HFILL }},
    { &hf_nr_rrc_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz,
      { "scs-120kHz", "nr-rrc.bandNR.eag_6.channelBW_DL_IAB_r16.fr2_200mhz.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz_vals), 0,
        "T_bandNR_eag_6_channelBW_DL_IAB_r16_fr2_200mhz_scs_120kHz", HFILL }},
    { &hf_nr_rrc_channelBW_UL_IAB_r16,
      { "channelBW-UL-IAB-r16", "nr-rrc.channelBW_UL_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_UL_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_100mhz_01,
      { "fr1-100mhz", "nr-rrc.fr1_100mhz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr1_100mhz_01", HFILL }},
    { &hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz,
      { "scs-15kHz", "nr-rrc.bandNR.eag_6.channelBW_UL_IAB_r16.fr1_100mhz.scs_15kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz_vals), 0,
        "T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_15kHz", HFILL }},
    { &hf_nr_rrc_scs_30kHz_11,
      { "scs-30kHz", "nr-rrc.scs_30kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_06_vals), 0,
        "T_scs_30kHz_06", HFILL }},
    { &hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.eag_6.channelBW_UL_IAB_r16.fr1_100mhz.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz_vals), 0,
        "T_bandNR_eag_6_channelBW_UL_IAB_r16_fr1_100mhz_scs_60kHz", HFILL }},
    { &hf_nr_rrc_fr2_200mhz_01,
      { "fr2-200mhz", "nr-rrc.fr2_200mhz_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_200mhz_01", HFILL }},
    { &hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz,
      { "scs-60kHz", "nr-rrc.bandNR.eag_6.channelBW_UL_IAB_r16.fr2_200mhz.scs_60kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz_vals), 0,
        "T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_60kHz", HFILL }},
    { &hf_nr_rrc_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz,
      { "scs-120kHz", "nr-rrc.bandNR.eag_6.channelBW_UL_IAB_r16.fr2_200mhz.scs_120kHz",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz_vals), 0,
        "T_bandNR_eag_6_channelBW_UL_IAB_r16_fr2_200mhz_scs_120kHz", HFILL }},
    { &hf_nr_rrc_rasterShift7dot5_IAB_r16,
      { "rasterShift7dot5-IAB-r16", "nr-rrc.rasterShift7dot5_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rasterShift7dot5_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_PowerClass_v1610,
      { "ue-PowerClass-v1610", "nr-rrc.ue_PowerClass_v1610",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_PowerClass_v1610_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandover_r16,
      { "condHandover-r16", "nr-rrc.condHandover_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandover_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandoverFailure_r16,
      { "condHandoverFailure-r16", "nr-rrc.condHandoverFailure_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverFailure_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condHandoverTwoTriggerEvents_r16,
      { "condHandoverTwoTriggerEvents-r16", "nr-rrc.condHandoverTwoTriggerEvents_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverTwoTriggerEvents_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condPSCellChange_r16,
      { "condPSCellChange-r16", "nr-rrc.condPSCellChange_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChange_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16,
      { "condPSCellChangeTwoTriggerEvents-r16", "nr-rrc.condPSCellChangeTwoTriggerEvents_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mpr_PowerBoost_FR2_r16_01,
      { "mpr-PowerBoost-FR2-r16", "nr-rrc.mpr_PowerBoost_FR2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpr_PowerBoost_FR2_r16_01_vals), 0,
        "T_mpr_PowerBoost_FR2_r16_01", HFILL }},
    { &hf_nr_rrc_activeConfiguredGrant_r16,
      { "activeConfiguredGrant-r16", "nr-rrc.activeConfiguredGrant_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_activeConfiguredGrant_r16", HFILL }},
    { &hf_nr_rrc_maxNumberConfigsPerBWP_r16,
      { "maxNumberConfigsPerBWP-r16", "nr-rrc.maxNumberConfigsPerBWP_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfigsPerBWP_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberConfigsAllCC_r16,
      { "maxNumberConfigsAllCC-r16", "nr-rrc.maxNumberConfigsAllCC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_32", HFILL }},
    { &hf_nr_rrc_jointReleaseConfiguredGrantType2_r16,
      { "jointReleaseConfiguredGrantType2-r16", "nr-rrc.jointReleaseConfiguredGrantType2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_jointReleaseConfiguredGrantType2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_r16,
      { "sps-r16", "nr-rrc.sps_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberConfigsPerBWP_r16_01,
      { "maxNumberConfigsPerBWP-r16", "nr-rrc.maxNumberConfigsPerBWP_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_jointReleaseSPS_r16,
      { "jointReleaseSPS-r16", "nr-rrc.jointReleaseSPS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_jointReleaseSPS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simulSRS_TransWithinBand_r16,
      { "simulSRS-TransWithinBand-r16", "nr-rrc.simulSRS_TransWithinBand_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simulSRS_TransWithinBand_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_trs_AdditionalBandwidth_r16,
      { "trs-AdditionalBandwidth-r16", "nr-rrc.trs_AdditionalBandwidth_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_trs_AdditionalBandwidth_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverIntraF_IAB_r16,
      { "handoverIntraF-IAB-r16", "nr-rrc.handoverIntraF_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverIntraF_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_simulTX_SRS_AntSwitchingIntraBandUL_CA_r16,
      { "simulTX-SRS-AntSwitchingIntraBandUL-CA-r16", "nr-rrc.simulTX_SRS_AntSwitchingIntraBandUL_CA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SimulSRS_ForAntennaSwitching_r16", HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1630,
      { "sharedSpectrumChAccessParamsPerBand-v1630", "nr-rrc.sharedSpectrumChAccessParamsPerBand_v1630_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_handoverUTRA_FDD_r16,
      { "handoverUTRA-FDD-r16", "nr-rrc.handoverUTRA_FDD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverUTRA_FDD_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedUL_TransientPeriod_r16,
      { "enhancedUL-TransientPeriod-r16", "nr-rrc.enhancedUL_TransientPeriod_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedUL_TransientPeriod_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1640,
      { "sharedSpectrumChAccessParamsPerBand-v1640", "nr-rrc.sharedSpectrumChAccessParamsPerBand_v1640_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots_v1650,
      { "type1-PUSCH-RepetitionMultiSlots-v1650", "nr-rrc.type1_PUSCH_RepetitionMultiSlots_v1650",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_v1650_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots_v1650,
      { "type2-PUSCH-RepetitionMultiSlots-v1650", "nr-rrc.type2_PUSCH_RepetitionMultiSlots_v1650",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_v1650_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepetitionMultiSlots_v1650,
      { "pusch-RepetitionMultiSlots-v1650", "nr-rrc.pusch_RepetitionMultiSlots_v1650",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepetitionMultiSlots_v1650_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredUL_GrantType1_v1650,
      { "configuredUL-GrantType1-v1650", "nr-rrc.configuredUL_GrantType1_v1650",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType1_v1650_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredUL_GrantType2_v1650,
      { "configuredUL-GrantType2-v1650", "nr-rrc.configuredUL_GrantType2_v1650",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType2_v1650_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1650,
      { "sharedSpectrumChAccessParamsPerBand-v1650", "nr-rrc.sharedSpectrumChAccessParamsPerBand_v1650_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedSkipUplinkTxConfigured_v1660,
      { "enhancedSkipUplinkTxConfigured-v1660", "nr-rrc.enhancedSkipUplinkTxConfigured_v1660",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedSkipUplinkTxConfigured_v1660_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedSkipUplinkTxDynamic_v1660,
      { "enhancedSkipUplinkTxDynamic-v1660", "nr-rrc.enhancedSkipUplinkTxDynamic_v1660",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedSkipUplinkTxDynamic_v1660_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16,
      { "maxUplinkDutyCycle-PC1dot5-MPE-FR1-r16", "nr-rrc.maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_PC1dot5_MPE_FR1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_txDiversity_r16,
      { "txDiversity-r16", "nr-rrc.txDiversity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txDiversity_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_1024QAM_FR1_r17,
      { "pdsch-1024QAM-FR1-r17", "nr-rrc.pdsch_1024QAM_FR1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_1024QAM_FR1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_PowerClass_v1700,
      { "ue-PowerClass-v1700", "nr-rrc.ue_PowerClass_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_PowerClass_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr2_2_AccessParamsPerBand_r17,
      { "fr2-2-AccessParamsPerBand-r17", "nr-rrc.fr2_2_AccessParamsPerBand_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlm_Relaxation_r17,
      { "rlm-Relaxation-r17", "nr-rrc.rlm_Relaxation_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlm_Relaxation_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bfd_Relaxation_r17,
      { "bfd-Relaxation-r17", "nr-rrc.bfd_Relaxation_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bfd_Relaxation_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_SDT_r17,
      { "cg-SDT-r17", "nr-rrc.cg_SDT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_SDT_r17_vals), 0,
        "T_cg_SDT_r17", HFILL }},
    { &hf_nr_rrc_locationBasedCondHandover_r17,
      { "locationBasedCondHandover-r17", "nr-rrc.locationBasedCondHandover_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_locationBasedCondHandover_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_timeBasedCondHandover_r17,
      { "timeBasedCondHandover-r17", "nr-rrc.timeBasedCondHandover_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeBasedCondHandover_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventA4BasedCondHandover_r17,
      { "eventA4BasedCondHandover-r17", "nr-rrc.eventA4BasedCondHandover_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventA4BasedCondHandover_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mn_InitiatedCondPSCellChangeNRDC_r17,
      { "mn-InitiatedCondPSCellChangeNRDC-r17", "nr-rrc.mn_InitiatedCondPSCellChangeNRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mn_InitiatedCondPSCellChangeNRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sn_InitiatedCondPSCellChangeNRDC_r17,
      { "sn-InitiatedCondPSCellChangeNRDC-r17", "nr-rrc.sn_InitiatedCondPSCellChangeNRDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sn_InitiatedCondPSCellChangeNRDC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_SkippingWithoutSSSG_r17,
      { "pdcch-SkippingWithoutSSSG-r17", "nr-rrc.pdcch_SkippingWithoutSSSG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_SkippingWithoutSSSG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sssg_Switching_1BitInd_r17,
      { "sssg-Switching-1BitInd-r17", "nr-rrc.sssg_Switching_1BitInd_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sssg_Switching_1BitInd_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sssg_Switching_2BitInd_r17,
      { "sssg-Switching-2BitInd-r17", "nr-rrc.sssg_Switching_2BitInd_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sssg_Switching_2BitInd_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcch_SkippingWithSSSG_r17,
      { "pdcch-SkippingWithSSSG-r17", "nr-rrc.pdcch_SkippingWithSSSG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_SkippingWithSSSG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSetGrp_switchCap2_r17,
      { "searchSpaceSetGrp-switchCap2-r17", "nr-rrc.searchSpaceSetGrp_switchCap2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSetGrp_switchCap2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplinkPreCompensation_r17,
      { "uplinkPreCompensation-r17", "nr-rrc.uplinkPreCompensation_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkPreCompensation_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uplink_TA_Reporting_r17,
      { "uplink-TA-Reporting-r17", "nr-rrc.uplink_TA_Reporting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplink_TA_Reporting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_max_HARQ_ProcessNumber_r17,
      { "max-HARQ-ProcessNumber-r17", "nr-rrc.max_HARQ_ProcessNumber_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_max_HARQ_ProcessNumber_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type2_HARQ_Codebook_r17,
      { "type2-HARQ-Codebook-r17", "nr-rrc.type2_HARQ_Codebook_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_HARQ_Codebook_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type1_HARQ_Codebook_r17,
      { "type1-HARQ-Codebook-r17", "nr-rrc.type1_HARQ_Codebook_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_HARQ_Codebook_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_type3_HARQ_Codebook_r17,
      { "type3-HARQ-Codebook-r17", "nr-rrc.type3_HARQ_Codebook_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type3_HARQ_Codebook_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_specific_K_Offset_r17,
      { "ue-specific-K-Offset-r17", "nr-rrc.ue_specific_K_Offset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_specific_K_Offset_r17_vals), 0,
        "T_ue_specific_K_Offset_r17", HFILL }},
    { &hf_nr_rrc_multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17,
      { "multiPDSCH-SingleDCI-FR2-1-SCS-120kHz-r17", "nr-rrc.multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiPDSCH_SingleDCI_FR2_1_SCS_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17,
      { "multiPUSCH-SingleDCI-FR2-1-SCS-120kHz-r17", "nr-rrc.multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiPUSCH_SingleDCI_FR2_1_SCS_120kHz_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_parallelPRS_MeasRRC_Inactive_r17,
      { "parallelPRS-MeasRRC-Inactive-r17", "nr-rrc.parallelPRS_MeasRRC_Inactive_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelPRS_MeasRRC_Inactive_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_UE_TxTEG_ID_MaxSupport_r17,
      { "nr-UE-TxTEG-ID-MaxSupport-r17", "nr-rrc.nr_UE_TxTEG_ID_MaxSupport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_UE_TxTEG_ID_MaxSupport_r17_vals), 0,
        "T_nr_UE_TxTEG_ID_MaxSupport_r17", HFILL }},
    { &hf_nr_rrc_prs_ProcessingRRC_Inactive_r17,
      { "prs-ProcessingRRC-Inactive-r17", "nr-rrc.prs_ProcessingRRC_Inactive_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prs_ProcessingRRC_Inactive_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prs_ProcessingWindowType1A_r17,
      { "prs-ProcessingWindowType1A-r17", "nr-rrc.prs_ProcessingWindowType1A_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prs_ProcessingWindowType1A_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prs_ProcessingWindowType1B_r17,
      { "prs-ProcessingWindowType1B-r17", "nr-rrc.prs_ProcessingWindowType1B_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prs_ProcessingWindowType1B_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prs_ProcessingWindowType2_r17,
      { "prs-ProcessingWindowType2-r17", "nr-rrc.prs_ProcessingWindowType2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prs_ProcessingWindowType2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_AllPosResourcesRRC_Inactive_r17,
      { "srs-AllPosResourcesRRC-Inactive-r17", "nr-rrc.srs_AllPosResourcesRRC_Inactive_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_olpc_SRS_PosRRC_Inactive_r17,
      { "olpc-SRS-PosRRC-Inactive-r17", "nr-rrc.olpc_SRS_PosRRC_Inactive_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "OLPC_SRS_Pos_r16", HFILL }},
    { &hf_nr_rrc_spatialRelationsSRS_PosRRC_Inactive_r17,
      { "spatialRelationsSRS-PosRRC-Inactive-r17", "nr-rrc.spatialRelationsSRS_PosRRC_Inactive_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SpatialRelationsSRS_Pos_r16", HFILL }},
    { &hf_nr_rrc_maxNumberPUSCH_TypeA_Repetition_r17,
      { "maxNumberPUSCH-TypeA-Repetition-r17", "nr-rrc.maxNumberPUSCH_TypeA_Repetition_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPUSCH_TypeA_Repetition_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_puschTypeA_RepetitionsAvailSlot_r17,
      { "puschTypeA-RepetitionsAvailSlot-r17", "nr-rrc.puschTypeA_RepetitionsAvailSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_puschTypeA_RepetitionsAvailSlot_r17_vals), 0,
        "T_puschTypeA_RepetitionsAvailSlot_r17", HFILL }},
    { &hf_nr_rrc_tb_ProcessingMultiSlotPUSCH_r17,
      { "tb-ProcessingMultiSlotPUSCH-r17", "nr-rrc.tb_ProcessingMultiSlotPUSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tb_ProcessingMultiSlotPUSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tb_ProcessingRepMultiSlotPUSCH_r17,
      { "tb-ProcessingRepMultiSlotPUSCH-r17", "nr-rrc.tb_ProcessingRepMultiSlotPUSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tb_ProcessingRepMultiSlotPUSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxDurationDMRS_Bundling_r17,
      { "maxDurationDMRS-Bundling-r17", "nr-rrc.maxDurationDMRS_Bundling_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fdd_r17,
      { "fdd-r17", "nr-rrc.fdd_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdd_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tdd_r17,
      { "tdd-r17", "nr-rrc.tdd_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdd_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepetitionMsg3_r17,
      { "pusch-RepetitionMsg3-r17", "nr-rrc.pusch_RepetitionMsg3_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepetitionMsg3_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sharedSpectrumChAccessParamsPerBand_v1710,
      { "sharedSpectrumChAccessParamsPerBand-v1710", "nr-rrc.sharedSpectrumChAccessParamsPerBand_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_parallelMeasurementWithoutRestriction_r17,
      { "parallelMeasurementWithoutRestriction-r17", "nr-rrc.parallelMeasurementWithoutRestriction_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelMeasurementWithoutRestriction_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumber_NGSO_SatellitesWithinOneSMTC_r17,
      { "maxNumber-NGSO-SatellitesWithinOneSMTC-r17", "nr-rrc.maxNumber_NGSO_SatellitesWithinOneSMTC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumber_NGSO_SatellitesWithinOneSMTC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_k1_RangeExtension_r17,
      { "k1-RangeExtension-r17", "nr-rrc.k1_RangeExtension_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_k1_RangeExtension_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicCSI_RS_FastScellActivation_r17,
      { "aperiodicCSI-RS-FastScellActivation-r17", "nr-rrc.aperiodicCSI_RS_FastScellActivation_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_RS_PerCC_r17,
      { "maxNumberAperiodicCSI-RS-PerCC-r17", "nr-rrc.maxNumberAperiodicCSI_RS_PerCC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicCSI_RS_PerCC_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberAperiodicCSI_RS_AcrossCCs_r17,
      { "maxNumberAperiodicCSI-RS-AcrossCCs-r17", "nr-rrc.maxNumberAperiodicCSI_RS_AcrossCCs_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicCSI_RS_AcrossCCs_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_aperiodicCSI_RS_AdditionalBandwidth_r17,
      { "aperiodicCSI-RS-AdditionalBandwidth-r17", "nr-rrc.aperiodicCSI_RS_AdditionalBandwidth_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicCSI_RS_AdditionalBandwidth_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17,
      { "bwp-WithoutCD-SSB-OrNCD-SSB-RedCap-r17", "nr-rrc.bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_WithoutCD_SSB_OrNCD_SSB_RedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_halfDuplexFDD_TypeA_RedCap_r17_01,
      { "halfDuplexFDD-TypeA-RedCap-r17", "nr-rrc.halfDuplexFDD_TypeA_RedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_halfDuplexFDD_TypeA_RedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_posSRS_RRC_Inactive_OutsideInitialUL_BWP_r17,
      { "posSRS-RRC-Inactive-OutsideInitialUL-BWP-r17", "nr-rrc.posSRS_RRC_Inactive_OutsideInitialUL_BWP_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_channelBWs_DL_SCS_480kHz_FR2_2_r17,
      { "channelBWs-DL-SCS-480kHz-FR2-2-r17", "nr-rrc.channelBWs_DL_SCS_480kHz_FR2_2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_channelBWs_UL_SCS_480kHz_FR2_2_r17,
      { "channelBWs-UL-SCS-480kHz-FR2-2-r17", "nr-rrc.channelBWs_UL_SCS_480kHz_FR2_2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_channelBWs_DL_SCS_960kHz_FR2_2_r17,
      { "channelBWs-DL-SCS-960kHz-FR2-2-r17", "nr-rrc.channelBWs_DL_SCS_960kHz_FR2_2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_channelBWs_UL_SCS_960kHz_FR2_2_r17,
      { "channelBWs-UL-SCS-960kHz-FR2-2-r17", "nr-rrc.channelBWs_UL_SCS_960kHz_FR2_2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_ul_GapFR2_r17,
      { "ul-GapFR2-r17", "nr-rrc.ul_GapFR2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_GapFR2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneShotHARQ_feedbackTriggeredByDCI_1_2_r17,
      { "oneShotHARQ-feedbackTriggeredByDCI-1-2-r17", "nr-rrc.oneShotHARQ_feedbackTriggeredByDCI_1_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneShotHARQ_feedbackTriggeredByDCI_1_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneShotHARQ_feedbackPhy_Priority_r17,
      { "oneShotHARQ-feedbackPhy-Priority-r17", "nr-rrc.oneShotHARQ_feedbackPhy_Priority_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneShotHARQ_feedbackPhy_Priority_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedType3_HARQ_CodebookFeedback_r17,
      { "enhancedType3-HARQ-CodebookFeedback-r17", "nr-rrc.enhancedType3_HARQ_CodebookFeedback_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedType3_HARQ_Codebooks_r17,
      { "enhancedType3-HARQ-Codebooks-r17", "nr-rrc.enhancedType3_HARQ_Codebooks_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedType3_HARQ_Codebooks_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPUCCH_Transmissions_r17,
      { "maxNumberPUCCH-Transmissions-r17", "nr-rrc.maxNumberPUCCH_Transmissions_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPUCCH_Transmissions_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_triggeredHARQ_CodebookRetx_r17,
      { "triggeredHARQ-CodebookRetx-r17", "nr-rrc.triggeredHARQ_CodebookRetx_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minHARQ_Retx_Offset_r17,
      { "minHARQ-Retx-Offset-r17", "nr-rrc.minHARQ_Retx_Offset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minHARQ_Retx_Offset_r17_vals), 0,
        "T_minHARQ_Retx_Offset_r17", HFILL }},
    { &hf_nr_rrc_maxHARQ_Retx_Offset_r17,
      { "maxHARQ-Retx-Offset-r17", "nr-rrc.maxHARQ_Retx_Offset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxHARQ_Retx_Offset_r17_vals), 0,
        "T_maxHARQ_Retx_Offset_r17", HFILL }},
    { &hf_nr_rrc_ue_OneShotUL_TimingAdj_r17,
      { "ue-OneShotUL-TimingAdj-r17", "nr-rrc.ue_OneShotUL_TimingAdj_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_OneShotUL_TimingAdj_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_Repetition_F0_2_r17,
      { "pucch-Repetition-F0-2-r17", "nr-rrc.pucch_Repetition_F0_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Repetition_F0_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17,
      { "cqi-4-BitsSubbandNTN-SharedSpectrumChAccess-r17", "nr-rrc.cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_4_BitsSubbandNTN_SharedSpectrumChAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mux_HARQ_ACK_DiffPriorities_r17,
      { "mux-HARQ-ACK-DiffPriorities-r17", "nr-rrc.mux_HARQ_ACK_DiffPriorities_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_HARQ_ACK_DiffPriorities_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ta_BasedPDC_NTN_SharedSpectrumChAccess_r17,
      { "ta-BasedPDC-NTN-SharedSpectrumChAccess-r17", "nr-rrc.ta_BasedPDC_NTN_SharedSpectrumChAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ta_BasedPDC_NTN_SharedSpectrumChAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17,
      { "ack-NACK-FeedbackForMulticastWithDCI-Enabler-r17", "nr-rrc.ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ack_NACK_FeedbackForMulticastWithDCI_Enabler_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberG_RNTI_r17,
      { "maxNumberG-RNTI-r17", "nr-rrc.maxNumberG_RNTI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_8", HFILL }},
    { &hf_nr_rrc_dynamicMulticastDCI_Format4_2_r17,
      { "dynamicMulticastDCI-Format4-2-r17", "nr-rrc.dynamicMulticastDCI_Format4_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicMulticastDCI_Format4_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxModulationOrderForMulticast_r17,
      { "maxModulationOrderForMulticast-r17", "nr-rrc.maxModulationOrderForMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxModulationOrderForMulticast_r17_vals), 0,
        "T_maxModulationOrderForMulticast_r17", HFILL }},
    { &hf_nr_rrc_fr1_r17_03,
      { "fr1-r17", "nr-rrc.fr1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_r17_03_vals), 0,
        "T_fr1_r17_03", HFILL }},
    { &hf_nr_rrc_fr2_r17_03,
      { "fr2-r17", "nr-rrc.fr2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_r17_03_vals), 0,
        "T_fr2_r17_03", HFILL }},
    { &hf_nr_rrc_dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17,
      { "dynamicSlotRepetitionMulticastTN-NonSharedSpectrumChAccess-r17", "nr-rrc.dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSlotRepetitionMulticastTN_NonSharedSpectrumChAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17,
      { "dynamicSlotRepetitionMulticastNTN-SharedSpectrumChAccess-r17", "nr-rrc.dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSlotRepetitionMulticastNTN_SharedSpectrumChAccess_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17,
      { "nack-OnlyFeedbackForMulticastWithDCI-Enabler-r17", "nr-rrc.nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nack_OnlyFeedbackForMulticastWithDCI_Enabler_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17,
      { "ack-NACK-FeedbackForSPS-MulticastWithDCI-Enabler-r17", "nr-rrc.ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ack_NACK_FeedbackForSPS_MulticastWithDCI_Enabler_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberG_CS_RNTI_r17,
      { "maxNumberG-CS-RNTI-r17", "nr-rrc.maxNumberG_CS_RNTI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_8", HFILL }},
    { &hf_nr_rrc_re_LevelRateMatchingForMulticast_r17,
      { "re-LevelRateMatchingForMulticast-r17", "nr-rrc.re_LevelRateMatchingForMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_re_LevelRateMatchingForMulticast_r17_vals), 0,
        "T_re_LevelRateMatchingForMulticast_r17", HFILL }},
    { &hf_nr_rrc_pdsch_1024QAM_2MIMO_FR1_r17,
      { "pdsch-1024QAM-2MIMO-FR1-r17", "nr-rrc.pdsch_1024QAM_2MIMO_FR1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_1024QAM_2MIMO_FR1_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prs_MeasurementWithoutMG_r17,
      { "prs-MeasurementWithoutMG-r17", "nr-rrc.prs_MeasurementWithoutMG_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prs_MeasurementWithoutMG_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumber_LEO_SatellitesPerCarrier_r17,
      { "maxNumber-LEO-SatellitesPerCarrier-r17", "nr-rrc.maxNumber_LEO_SatellitesPerCarrier_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_3_4", HFILL }},
    { &hf_nr_rrc_prs_ProcessingCapabilityOutsideMGinPPW_r17,
      { "prs-ProcessingCapabilityOutsideMGinPPW-r17", "nr-rrc.prs_ProcessingCapabilityOutsideMGinPPW_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17", HFILL }},
    { &hf_nr_rrc_prs_ProcessingCapabilityOutsideMGinPPW_r17_item,
      { "PRS-ProcessingCapabilityOutsideMGinPPWperType-r17", "nr-rrc.PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_SemiPersistent_PosResourcesRRC_Inactive_r17,
      { "srs-SemiPersistent-PosResourcesRRC-Inactive-r17", "nr-rrc.srs_SemiPersistent_PosResourcesRRC_Inactive_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17", HFILL }},
    { &hf_nr_rrc_maxNumOfSemiPersistentSRSposResources_r17_01,
      { "maxNumOfSemiPersistentSRSposResources-r17", "nr-rrc.maxNumOfSemiPersistentSRSposResources_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfSemiPersistentSRSposResources_r17_01_vals), 0,
        "T_maxNumOfSemiPersistentSRSposResources_r17_01", HFILL }},
    { &hf_nr_rrc_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01,
      { "maxNumOfSemiPersistentSRSposResourcesPerSlot-r17", "nr-rrc.maxNumOfSemiPersistentSRSposResourcesPerSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01_vals), 0,
        "T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01", HFILL }},
    { &hf_nr_rrc_channelBWs_DL_SCS_120kHz_FR2_2_r17,
      { "channelBWs-DL-SCS-120kHz-FR2-2-r17", "nr-rrc.channelBWs_DL_SCS_120kHz_FR2_2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_channelBWs_UL_SCS_120kHz_FR2_2_r17,
      { "channelBWs-UL-SCS-120kHz-FR2-2-r17", "nr-rrc.channelBWs_UL_SCS_120kHz_FR2_2_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeA_r17,
      { "dmrs-BundlingPUSCH-RepTypeA-r17", "nr-rrc.dmrs_BundlingPUSCH_RepTypeA_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUSCH_RepTypeA_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUSCH_RepTypeB_r17,
      { "dmrs-BundlingPUSCH-RepTypeB-r17", "nr-rrc.dmrs_BundlingPUSCH_RepTypeB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUSCH_RepTypeB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUSCH_multiSlot_r17,
      { "dmrs-BundlingPUSCH-multiSlot-r17", "nr-rrc.dmrs_BundlingPUSCH_multiSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUSCH_multiSlot_r17_vals), 0,
        "T_dmrs_BundlingPUSCH_multiSlot_r17", HFILL }},
    { &hf_nr_rrc_dmrs_BundlingPUCCH_Rep_r17,
      { "dmrs-BundlingPUCCH-Rep-r17", "nr-rrc.dmrs_BundlingPUCCH_Rep_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingPUCCH_Rep_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interSlotFreqHopInterSlotBundlingPUSCH_r17,
      { "interSlotFreqHopInterSlotBundlingPUSCH-r17", "nr-rrc.interSlotFreqHopInterSlotBundlingPUSCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interSlotFreqHopInterSlotBundlingPUSCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interSlotFreqHopPUCCH_r17,
      { "interSlotFreqHopPUCCH-r17", "nr-rrc.interSlotFreqHopPUCCH_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interSlotFreqHopPUCCH_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dmrs_BundlingRestart_r17,
      { "dmrs-BundlingRestart-r17", "nr-rrc.dmrs_BundlingRestart_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingRestart_r17_vals), 0,
        "T_dmrs_BundlingRestart_r17", HFILL }},
    { &hf_nr_rrc_dmrs_BundlingNonBackToBackTX_r17,
      { "dmrs-BundlingNonBackToBackTX-r17", "nr-rrc.dmrs_BundlingNonBackToBackTX_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_BundlingNonBackToBackTX_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxDynamicSlotRepetitionForSPS_Multicast_r17,
      { "maxDynamicSlotRepetitionForSPS-Multicast-r17", "nr-rrc.maxDynamicSlotRepetitionForSPS_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxDynamicSlotRepetitionForSPS_Multicast_r17_vals), 0,
        "T_maxDynamicSlotRepetitionForSPS_Multicast_r17", HFILL }},
    { &hf_nr_rrc_nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17,
      { "nack-OnlyFeedbackForSPS-MulticastWithDCI-Enabler-r17", "nr-rrc.nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nack_OnlyFeedbackForSPS_MulticastWithDCI_Enabler_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_MulticastDCI_Format4_2_r17,
      { "sps-MulticastDCI-Format4-2-r17", "nr-rrc.sps_MulticastDCI_Format4_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_MulticastDCI_Format4_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sps_MulticastMultiConfig_r17,
      { "sps-MulticastMultiConfig-r17", "nr-rrc.sps_MulticastMultiConfig_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_priorityIndicatorInDCI_Multicast_r17,
      { "priorityIndicatorInDCI-Multicast-r17", "nr-rrc.priorityIndicatorInDCI_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorInDCI_Multicast_r17_vals), 0,
        "T_priorityIndicatorInDCI_Multicast_r17", HFILL }},
    { &hf_nr_rrc_priorityIndicatorInDCI_SPS_Multicast_r17,
      { "priorityIndicatorInDCI-SPS-Multicast-r17", "nr-rrc.priorityIndicatorInDCI_SPS_Multicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorInDCI_SPS_Multicast_r17_vals), 0,
        "T_priorityIndicatorInDCI_SPS_Multicast_r17", HFILL }},
    { &hf_nr_rrc_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17,
      { "twoHARQ-ACK-CodebookForUnicastAndMulticast-r17", "nr-rrc.twoHARQ_ACK_CodebookForUnicastAndMulticast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17_vals), 0,
        "T_twoHARQ_ACK_CodebookForUnicastAndMulticast_r17", HFILL }},
    { &hf_nr_rrc_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17,
      { "multiPUCCH-HARQ-ACK-ForMulticastUnicast-r17", "nr-rrc.multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17_vals), 0,
        "T_multiPUCCH_HARQ_ACK_ForMulticastUnicast_r17", HFILL }},
    { &hf_nr_rrc_releaseSPS_MulticastWithCS_RNTI_r17,
      { "releaseSPS-MulticastWithCS-RNTI-r17", "nr-rrc.releaseSPS_MulticastWithCS_RNTI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_releaseSPS_MulticastWithCS_RNTI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_RepetitionTypeA_v16c0,
      { "pusch-RepetitionTypeA-v16c0", "nr-rrc.pusch_RepetitionTypeA_v16c0",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepetitionTypeA_v16c0_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_SwitchingTimeRequested_01,
      { "srs-SwitchingTimeRequested", "nr-rrc.srs_SwitchingTimeRequested",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchingTimeRequested_01_vals), 0,
        "T_srs_SwitchingTimeRequested_01", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only,
      { "supportedBandCombinationListNEDC-Only", "nr-rrc.supportedBandCombinationListNEDC_Only",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1570,
      { "supportedBandCombinationList-v1570", "nr-rrc.supportedBandCombinationList_v1570",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1570", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1580,
      { "supportedBandCombinationList-v1580", "nr-rrc.supportedBandCombinationList_v1580",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1580", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationList_v1590,
      { "supportedBandCombinationList-v1590", "nr-rrc.supportedBandCombinationList_v1590",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1590", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15a0,
      { "supportedBandCombinationListNEDC-Only-v15a0", "nr-rrc.supportedBandCombinationListNEDC_Only_v15a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1610,
      { "supportedBandCombinationListNEDC-Only-v1610", "nr-rrc.supportedBandCombinationListNEDC_Only_v1610",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1610", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1630,
      { "supportedBandCombinationListNEDC-Only-v1630", "nr-rrc.supportedBandCombinationListNEDC_Only_v1630",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1630", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1640,
      { "supportedBandCombinationListNEDC-Only-v1640", "nr-rrc.supportedBandCombinationListNEDC_Only_v1640",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1640", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1720,
      { "supportedBandCombinationListNEDC-Only-v1720", "nr-rrc.supportedBandCombinationListNEDC_Only_v1720_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1730,
      { "supportedBandCombinationListNEDC-Only-v1730", "nr-rrc.supportedBandCombinationListNEDC_Only_v1730",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1730", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1740,
      { "supportedBandCombinationListNEDC-Only-v1740", "nr-rrc.supportedBandCombinationListNEDC_Only_v1740",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v1740", HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15g0,
      { "supportedBandCombinationListNEDC-Only-v15g0", "nr-rrc.supportedBandCombinationListNEDC_Only_v15g0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationList_v15g0", HFILL }},
    { &hf_nr_rrc_am_WithShortSN,
      { "am-WithShortSN", "nr-rrc.am_WithShortSN",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithShortSN_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_um_WithShortSN,
      { "um-WithShortSN", "nr-rrc.um_WithShortSN",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithShortSN_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_um_WithLongSN,
      { "um-WithLongSN", "nr-rrc.um_WithLongSN",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithLongSN_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedT_PollRetransmit_r16,
      { "extendedT-PollRetransmit-r16", "nr-rrc.extendedT_PollRetransmit_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedT_PollRetransmit_r16_vals), 0,
        "T_extendedT_PollRetransmit_r16", HFILL }},
    { &hf_nr_rrc_extendedT_StatusProhibit_r16,
      { "extendedT-StatusProhibit-r16", "nr-rrc.extendedT_StatusProhibit_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedT_StatusProhibit_r16_vals), 0,
        "T_extendedT_StatusProhibit_r16", HFILL }},
    { &hf_nr_rrc_am_WithLongSN_RedCap_r17,
      { "am-WithLongSN-RedCap-r17", "nr-rrc.am_WithLongSN_RedCap_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithLongSN_RedCap_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_as_ReflectiveQoS,
      { "as-ReflectiveQoS", "nr-rrc.as_ReflectiveQoS",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_as_ReflectiveQoS_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sdap_QOS_IAB_r16,
      { "sdap-QOS-IAB-r16", "nr-rrc.sdap_QOS_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_QOS_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sdapHeaderIAB_r16,
      { "sdapHeaderIAB-r16", "nr-rrc.sdapHeaderIAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdapHeaderIAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sidelinkParametersNR_r16,
      { "sidelinkParametersNR-r16", "nr-rrc.sidelinkParametersNR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sidelinkParametersEUTRA_r16,
      { "sidelinkParametersEUTRA-r16", "nr-rrc.sidelinkParametersEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_ParametersSidelink_r16,
      { "rlc-ParametersSidelink-r16", "nr-rrc.rlc_ParametersSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_ParametersSidelink_r16,
      { "mac-ParametersSidelink-r16", "nr-rrc.mac_ParametersSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fdd_Add_UE_Sidelink_Capabilities_r16,
      { "fdd-Add-UE-Sidelink-Capabilities-r16", "nr-rrc.fdd_Add_UE_Sidelink_Capabilities_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_SidelinkCapabilityAddXDD_Mode_r16", HFILL }},
    { &hf_nr_rrc_tdd_Add_UE_Sidelink_Capabilities_r16,
      { "tdd-Add-UE-Sidelink-Capabilities-r16", "nr-rrc.tdd_Add_UE_Sidelink_Capabilities_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_SidelinkCapabilityAddXDD_Mode_r16", HFILL }},
    { &hf_nr_rrc_supportedBandListSidelink_r16,
      { "supportedBandListSidelink-r16", "nr-rrc.supportedBandListSidelink_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16", HFILL }},
    { &hf_nr_rrc_supportedBandListSidelink_r16_item,
      { "BandSidelink-r16", "nr-rrc.BandSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_relayParameters_r17,
      { "relayParameters-r17", "nr-rrc.relayParameters_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_p0_OLPC_Sidelink_r17,
      { "p0-OLPC-Sidelink-r17", "nr-rrc.p0_OLPC_Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_p0_OLPC_Sidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ParametersEUTRA1_r16,
      { "sl-ParametersEUTRA1-r16", "nr-rrc.sl_ParametersEUTRA1_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ParametersEUTRA2_r16,
      { "sl-ParametersEUTRA2-r16", "nr-rrc.sl_ParametersEUTRA2_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ParametersEUTRA3_r16,
      { "sl-ParametersEUTRA3-r16", "nr-rrc.sl_ParametersEUTRA3_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandListSidelinkEUTRA_r16,
      { "supportedBandListSidelinkEUTRA-r16", "nr-rrc.supportedBandListSidelinkEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16", HFILL }},
    { &hf_nr_rrc_supportedBandListSidelinkEUTRA_r16_item,
      { "BandSidelinkEUTRA-r16", "nr-rrc.BandSidelinkEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_am_WithLongSN_Sidelink_r16,
      { "am-WithLongSN-Sidelink-r16", "nr-rrc.am_WithLongSN_Sidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithLongSN_Sidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_um_WithLongSN_Sidelink_r16,
      { "um-WithLongSN-Sidelink-r16", "nr-rrc.um_WithLongSN_Sidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithLongSN_Sidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_ParametersSidelinkCommon_r16,
      { "mac-ParametersSidelinkCommon-r16", "nr-rrc.mac_ParametersSidelinkCommon_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_ParametersSidelinkXDD_Diff_r16,
      { "mac-ParametersSidelinkXDD-Diff-r16", "nr-rrc.mac_ParametersSidelinkXDD_Diff_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lcp_RestrictionSidelink_r16,
      { "lcp-RestrictionSidelink-r16", "nr-rrc.lcp_RestrictionSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_RestrictionSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multipleConfiguredGrantsSidelink_r16,
      { "multipleConfiguredGrantsSidelink-r16", "nr-rrc.multipleConfiguredGrantsSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrantsSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_OnSidelink_r17,
      { "drx-OnSidelink-r17", "nr-rrc.drx_OnSidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_OnSidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multipleSR_ConfigurationsSidelink_r16,
      { "multipleSR-ConfigurationsSidelink-r16", "nr-rrc.multipleSR_ConfigurationsSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_ConfigurationsSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_logicalChannelSR_DelayTimerSidelink_r16,
      { "logicalChannelSR-DelayTimerSidelink-r16", "nr-rrc.logicalChannelSR_DelayTimerSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimerSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_freqBandSidelinkEUTRA_r16,
      { "freqBandSidelinkEUTRA-r16", "nr-rrc.freqBandSidelinkEUTRA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorEUTRA", HFILL }},
    { &hf_nr_rrc_gnb_ScheduledMode3SidelinkEUTRA_r16,
      { "gnb-ScheduledMode3SidelinkEUTRA-r16", "nr-rrc.gnb_ScheduledMode3SidelinkEUTRA_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gnb_ScheduledMode3DelaySidelinkEUTRA_r16,
      { "gnb-ScheduledMode3DelaySidelinkEUTRA-r16", "nr-rrc.gnb_ScheduledMode3DelaySidelinkEUTRA_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gnb_ScheduledMode4SidelinkEUTRA_r16,
      { "gnb-ScheduledMode4SidelinkEUTRA-r16", "nr-rrc.gnb_ScheduledMode4SidelinkEUTRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnb_ScheduledMode4SidelinkEUTRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Reception_r16,
      { "sl-Reception-r16", "nr-rrc.sl_Reception_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_RxProcessSidelink_r16,
      { "harq-RxProcessSidelink-r16", "nr-rrc.harq_RxProcessSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_RxProcessSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pscch_RxSidelink_r16,
      { "pscch-RxSidelink-r16", "nr-rrc.pscch_RxSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pscch_RxSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_CP_PatternRxSidelink_r16,
      { "scs-CP-PatternRxSidelink-r16", "nr-rrc.scs_CP_PatternRxSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_CP_PatternRxSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_r16,
      { "fr1-r16", "nr-rrc.fr1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.bandSidelink_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr1_r16.scs_30kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.bandSidelink_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr1_r16.scs_60kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_fr2_r16_01,
      { "fr2-r16", "nr-rrc.fr2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_r16_01", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.bandSidelink_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr2_r16.scs_60kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.bandSidelink_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr2_r16.scs_120kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_extendedCP_RxSidelink_r16,
      { "extendedCP-RxSidelink-r16", "nr-rrc.extendedCP_RxSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_RxSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TransmissionMode1_r16,
      { "sl-TransmissionMode1-r16", "nr-rrc.sl_TransmissionMode1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_TxProcessModeOneSidelink_r16,
      { "harq-TxProcessModeOneSidelink-r16", "nr-rrc.harq_TxProcessModeOneSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_TxProcessModeOneSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeOne_r16,
      { "scs-CP-PatternTxSidelinkModeOne-r16", "nr-rrc.scs_CP_PatternTxSidelinkModeOne_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_CP_PatternTxSidelinkModeOne_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_r16_01,
      { "fr1-r16", "nr-rrc.fr1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr1_r16_01", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_15kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.bandSidelink_r16.sl_TransmissionMode1_r16.scs_CP_PatternTxSidelinkModeOne_r16.fr1_r16.scs_30kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.bandSidelink_r16.sl_TransmissionMode1_r16.scs_CP_PatternTxSidelinkModeOne_r16.fr1_r16.scs_60kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_fr2_r16_02,
      { "fr2-r16", "nr-rrc.fr2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_r16_02", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr2_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.bandSidelink_r16.sl_TransmissionMode1_r16.scs_CP_PatternTxSidelinkModeOne_r16.fr2_r16.scs_60kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr2_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.bandSidelink_r16.sl_TransmissionMode1_r16.scs_CP_PatternTxSidelinkModeOne_r16.fr2_r16.scs_120kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_extendedCP_TxSidelink_r16,
      { "extendedCP-TxSidelink-r16", "nr-rrc.extendedCP_TxSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_TxSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_ReportOnPUCCH_r16,
      { "harq-ReportOnPUCCH-r16", "nr-rrc.harq_ReportOnPUCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ReportOnPUCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sync_Sidelink_r16,
      { "sync-Sidelink-r16", "nr-rrc.sync_Sidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_Sync_r16,
      { "gNB-Sync-r16", "nr-rrc.gNB_Sync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_Sync_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16,
      { "gNB-GNSS-UE-SyncWithPriorityOnGNB-ENB-r16", "nr-rrc.gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16,
      { "gNB-GNSS-UE-SyncWithPriorityOnGNSS-r16", "nr-rrc.gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Tx_256QAM_r16,
      { "sl-Tx-256QAM-r16", "nr-rrc.sl_Tx_256QAM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Tx_256QAM_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_psfch_FormatZeroSidelink_r16,
      { "psfch-FormatZeroSidelink-r16", "nr-rrc.psfch_FormatZeroSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_psfch_RxNumber,
      { "psfch-RxNumber", "nr-rrc.psfch_RxNumber",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_psfch_RxNumber_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_psfch_TxNumber,
      { "psfch-TxNumber", "nr-rrc.psfch_TxNumber",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_psfch_TxNumber_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lowSE_64QAM_MCS_TableSidelink_r16,
      { "lowSE-64QAM-MCS-TableSidelink-r16", "nr-rrc.lowSE_64QAM_MCS_TableSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowSE_64QAM_MCS_TableSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enb_sync_Sidelink_r16,
      { "enb-sync-Sidelink-r16", "nr-rrc.enb_sync_Sidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enb_sync_Sidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TransmissionMode2_r16,
      { "sl-TransmissionMode2-r16", "nr-rrc.sl_TransmissionMode2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_TxProcessModeTwoSidelink_r16,
      { "harq-TxProcessModeTwoSidelink-r16", "nr-rrc.harq_TxProcessModeTwoSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_TxProcessModeTwoSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r16,
      { "scs-CP-PatternTxSidelinkModeTwo-r16", "nr-rrc.scs_CP_PatternTxSidelinkModeTwo_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_openLoopPC_Sidelink_r16,
      { "dl-openLoopPC-Sidelink-r16", "nr-rrc.dl_openLoopPC_Sidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_openLoopPC_Sidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_congestionControlSidelink_r16,
      { "congestionControlSidelink-r16", "nr-rrc.congestionControlSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cbr_ReportSidelink_r16,
      { "cbr-ReportSidelink-r16", "nr-rrc.cbr_ReportSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbr_ReportSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cbr_CR_TimeLimitSidelink_r16,
      { "cbr-CR-TimeLimitSidelink-r16", "nr-rrc.cbr_CR_TimeLimitSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbr_CR_TimeLimitSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fewerSymbolSlotSidelink_r16,
      { "fewerSymbolSlotSidelink-r16", "nr-rrc.fewerSymbolSlotSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fewerSymbolSlotSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_openLoopPC_RSRP_ReportSidelink_r16,
      { "sl-openLoopPC-RSRP-ReportSidelink-r16", "nr-rrc.sl_openLoopPC_RSRP_ReportSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_openLoopPC_RSRP_ReportSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Rx_256QAM_r16,
      { "sl-Rx-256QAM-r16", "nr-rrc.sl_Rx_256QAM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Rx_256QAM_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_PowerClassSidelink_r16,
      { "ue-PowerClassSidelink-r16", "nr-rrc.ue_PowerClassSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_PowerClassSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TransmissionMode2_RandomResourceSelection_r17,
      { "sl-TransmissionMode2-RandomResourceSelection-r17", "nr-rrc.sl_TransmissionMode2_RandomResourceSelection_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_harq_TxProcessModeTwoSidelink_r17_02,
      { "harq-TxProcessModeTwoSidelink-r17", "nr-rrc.harq_TxProcessModeTwoSidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_TxProcessModeTwoSidelink_r17_02_vals), 0,
        "T_harq_TxProcessModeTwoSidelink_r17_02", HFILL }},
    { &hf_nr_rrc_scs_CP_PatternTxSidelinkModeTwo_r17_02,
      { "scs-CP-PatternTxSidelinkModeTwo-r17", "nr-rrc.scs_CP_PatternTxSidelinkModeTwo_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_02_vals), 0,
        "T_scs_CP_PatternTxSidelinkModeTwo_r17_02", HFILL }},
    { &hf_nr_rrc_fr1_r17_04,
      { "fr1-r17", "nr-rrc.fr1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr1_r17_04", HFILL }},
    { &hf_nr_rrc_fr2_r17_04,
      { "fr2-r17", "nr-rrc.fr2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_r17_04", HFILL }},
    { &hf_nr_rrc_extendedCP_Mode2Random_r17,
      { "extendedCP-Mode2Random-r17", "nr-rrc.extendedCP_Mode2Random_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_Mode2Random_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_openLoopPC_Sidelink_r17_02,
      { "dl-openLoopPC-Sidelink-r17", "nr-rrc.dl_openLoopPC_Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_openLoopPC_Sidelink_r17_02_vals), 0,
        "T_dl_openLoopPC_Sidelink_r17_02", HFILL }},
    { &hf_nr_rrc_sync_Sidelink_v1710,
      { "sync-Sidelink-v1710", "nr-rrc.sync_Sidelink_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sync_GNSS_r17,
      { "sync-GNSS-r17", "nr-rrc.sync_GNSS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sync_GNSS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_Sync_r17,
      { "gNB-Sync-r17", "nr-rrc.gNB_Sync_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_Sync_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17,
      { "gNB-GNSS-UE-SyncWithPriorityOnGNB-ENB-r17", "nr-rrc.gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNB_ENB_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17,
      { "gNB-GNSS-UE-SyncWithPriorityOnGNSS-r17", "nr-rrc.gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_GNSS_UE_SyncWithPriorityOnGNSS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enb_sync_Sidelink_v1710,
      { "enb-sync-Sidelink-v1710", "nr-rrc.enb_sync_Sidelink_v1710",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enb_sync_Sidelink_v1710_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme1_PreferredMode2Sidelink_r17,
      { "rx-IUC-Scheme1-PreferredMode2Sidelink-r17", "nr-rrc.rx_IUC_Scheme1_PreferredMode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17,
      { "rx-IUC-Scheme1-NonPreferredMode2Sidelink-r17", "nr-rrc.rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme2_Mode2Sidelink_r17,
      { "rx-IUC-Scheme2-Mode2Sidelink-r17", "nr-rrc.rx_IUC_Scheme2_Mode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme2_Mode2Sidelink_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme1_SCI_r17,
      { "rx-IUC-Scheme1-SCI-r17", "nr-rrc.rx_IUC_Scheme1_SCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme1_SCI_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme1_SCI_ExplicitReq_r17,
      { "rx-IUC-Scheme1-SCI-ExplicitReq-r17", "nr-rrc.rx_IUC_Scheme1_SCI_ExplicitReq_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme1_SCI_ExplicitReq_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_relayUE_Operation_L2_r17,
      { "relayUE-Operation-L2-r17", "nr-rrc.relayUE_Operation_L2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_relayUE_Operation_L2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_remoteUE_Operation_L2_r17,
      { "remoteUE-Operation-L2-r17", "nr-rrc.remoteUE_Operation_L2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_remoteUE_Operation_L2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_remoteUE_PathSwitchToIdleInactiveRelay_r17,
      { "remoteUE-PathSwitchToIdleInactiveRelay-r17", "nr-rrc.remoteUE_PathSwitchToIdleInactiveRelay_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_remoteUE_PathSwitchToIdleInactiveRelay_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rach_Report_r16,
      { "rach-Report-r16", "nr-rrc.rach_Report_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_Report_r16_vals), 0,
        "T_rach_Report_r16", HFILL }},
    { &hf_nr_rrc_rlfReportCHO_r17,
      { "rlfReportCHO-r17", "nr-rrc.rlfReportCHO_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlfReportCHO_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlfReportDAPS_r17,
      { "rlfReportDAPS-r17", "nr-rrc.rlfReportDAPS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlfReportDAPS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_success_HO_Report_r17,
      { "success-HO-Report-r17", "nr-rrc.success_HO_Report_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_success_HO_Report_r17_vals), 0,
        "T_success_HO_Report_r17", HFILL }},
    { &hf_nr_rrc_twoStepRACH_Report_r17,
      { "twoStepRACH-Report-r17", "nr-rrc.twoStepRACH_Report_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoStepRACH_Report_r17_vals), 0,
        "T_twoStepRACH_Report_r17", HFILL }},
    { &hf_nr_rrc_pscell_MHI_Report_r17,
      { "pscell-MHI-Report-r17", "nr-rrc.pscell_MHI_Report_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pscell_MHI_Report_r17_vals), 0,
        "T_pscell_MHI_Report_r17", HFILL }},
    { &hf_nr_rrc_onDemandSI_Report_r17,
      { "onDemandSI-Report-r17", "nr-rrc.onDemandSI_Report_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onDemandSI_Report_r17_vals), 0,
        "T_onDemandSI_Report_r17", HFILL }},
    { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Serving_r16,
      { "spatialRelation-SRS-PosBasedOnSSB-Serving-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnSSB_Serving_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16,
      { "spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Serving_r16,
      { "spatialRelation-SRS-PosBasedOnPRS-Serving-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnPRS_Serving_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSRS_r16,
      { "spatialRelation-SRS-PosBasedOnSRS-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnSRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnSRS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16,
      { "spatialRelation-SRS-PosBasedOnSSB-Neigh-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnSSB_Neigh_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16,
      { "spatialRelation-SRS-PosBasedOnPRS-Neigh-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnPRS_Neigh_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_PosResourcesRRC_Inactive_r17,
      { "srs-PosResourcesRRC-Inactive-r17", "nr-rrc.srs_PosResourcesRRC_Inactive_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r17,
      { "maxNumberSRS-PosResourceSetPerBWP-r17", "nr-rrc.maxNumberSRS_PosResourceSetPerBWP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r17,
      { "maxNumberSRS-PosResourcesPerBWP-r17", "nr-rrc.maxNumberSRS_PosResourcesPerBWP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r17,
      { "maxNumberSRS-ResourcesPerBWP-PerSlot-r17", "nr-rrc.maxNumberSRS_ResourcesPerBWP_PerSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r17_vals), 0,
        "T_maxNumberSRS_ResourcesPerBWP_PerSlot_r17", HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r17,
      { "maxNumberPeriodicSRS-PosResourcesPerBWP-r17", "nr-rrc.maxNumberPeriodicSRS_PosResourcesPerBWP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17,
      { "maxNumberPeriodicSRS-PosResourcesPerBWP-PerSlot-r17", "nr-rrc.maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17_vals), 0,
        "T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r17", HFILL }},
    { &hf_nr_rrc_dummy1_05,
      { "dummy1", "nr-rrc.dummy1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy1_05_vals), 0,
        "T_dummy1_05", HFILL }},
    { &hf_nr_rrc_dummy2_03,
      { "dummy2", "nr-rrc.dummy2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy2_03_vals), 0,
        "T_dummy2_03", HFILL }},
    { &hf_nr_rrc_switchingTimeDL,
      { "switchingTimeDL", "nr-rrc.switchingTimeDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeDL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_switchingTimeUL,
      { "switchingTimeUL", "nr-rrc.switchingTimeUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeUL_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_switchingTimeDL_01,
      { "switchingTimeDL", "nr-rrc.switchingTimeDL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeDL_01_vals), 0,
        "T_switchingTimeDL_01", HFILL }},
    { &hf_nr_rrc_switchingTimeUL_01,
      { "switchingTimeUL", "nr-rrc.switchingTimeUL",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeUL_01_vals), 0,
        "T_switchingTimeUL_01", HFILL }},
    { &hf_nr_rrc_fr1_04,
      { "fr1", "nr-rrc.fr1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_04_vals), 0,
        "T_fr1_04", HFILL }},
    { &hf_nr_rrc_fr2_04,
      { "fr2", "nr-rrc.fr2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_04_vals), 0,
        "T_fr2_04", HFILL }},
    { &hf_nr_rrc_fr1_r17_05,
      { "fr1-r17", "nr-rrc.fr1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_r17_05_vals), 0,
        "T_fr1_r17_05", HFILL }},
    { &hf_nr_rrc_fr2_r17_05,
      { "fr2-r17", "nr-rrc.fr2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_r17_05_vals), 0,
        "T_fr2_r17_05", HFILL }},
    { &hf_nr_rrc_barometerMeasReport_r16,
      { "barometerMeasReport-r16", "nr-rrc.barometerMeasReport_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_barometerMeasReport_r16_vals), 0,
        "T_barometerMeasReport_r16", HFILL }},
    { &hf_nr_rrc_immMeasBT_r16,
      { "immMeasBT-r16", "nr-rrc.immMeasBT_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_immMeasBT_r16_vals), 0,
        "T_immMeasBT_r16", HFILL }},
    { &hf_nr_rrc_immMeasWLAN_r16,
      { "immMeasWLAN-r16", "nr-rrc.immMeasWLAN_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_immMeasWLAN_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_loggedMeasBT_r16,
      { "loggedMeasBT-r16", "nr-rrc.loggedMeasBT_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_loggedMeasBT_r16_vals), 0,
        "T_loggedMeasBT_r16", HFILL }},
    { &hf_nr_rrc_loggedMeasurements_r16,
      { "loggedMeasurements-r16", "nr-rrc.loggedMeasurements_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_loggedMeasurements_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_loggedMeasWLAN_r16,
      { "loggedMeasWLAN-r16", "nr-rrc.loggedMeasWLAN_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_loggedMeasWLAN_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_orientationMeasReport_r16,
      { "orientationMeasReport-r16", "nr-rrc.orientationMeasReport_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_orientationMeasReport_r16_vals), 0,
        "T_orientationMeasReport_r16", HFILL }},
    { &hf_nr_rrc_speedMeasReport_r16,
      { "speedMeasReport-r16", "nr-rrc.speedMeasReport_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_speedMeasReport_r16_vals), 0,
        "T_speedMeasReport_r16", HFILL }},
    { &hf_nr_rrc_gnss_Location_r16,
      { "gnss-Location-r16", "nr-rrc.gnss_Location_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnss_Location_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ulPDCP_Delay_r16,
      { "ulPDCP-Delay-r16", "nr-rrc.ulPDCP_Delay_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ulPDCP_Delay_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sigBasedLogMDT_OverrideProtect_r17,
      { "sigBasedLogMDT-OverrideProtect-r17", "nr-rrc.sigBasedLogMDT_OverrideProtect_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sigBasedLogMDT_OverrideProtect_r17_vals), 0,
        "T_sigBasedLogMDT_OverrideProtect_r17", HFILL }},
    { &hf_nr_rrc_multipleCEF_Report_r17,
      { "multipleCEF-Report-r17", "nr-rrc.multipleCEF_Report_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleCEF_Report_r17_vals), 0,
        "T_multipleCEF_Report_r17", HFILL }},
    { &hf_nr_rrc_excessPacketDelay_r17,
      { "excessPacketDelay-r17", "nr-rrc.excessPacketDelay_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_excessPacketDelay_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_earlyMeasLog_r17,
      { "earlyMeasLog-r17", "nr-rrc.earlyMeasLog_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_earlyMeasLog_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item,
      { "UE-CapabilityRAT-Container", "nr-rrc.UE_CapabilityRAT_Container_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rat_Type,
      { "rat-Type", "nr-rrc.rat_Type",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_RAT_Type_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_CapabilityRAT_Container,
      { "ue-CapabilityRAT-Container", "nr-rrc.ue_CapabilityRAT_Container",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_ue_CapabilityRAT_Container", HFILL }},
    { &hf_nr_rrc_UE_CapabilityRAT_RequestList_item,
      { "UE-CapabilityRAT-Request", "nr-rrc.UE_CapabilityRAT_Request_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_capabilityRequestFilter,
      { "capabilityRequestFilter", "nr-rrc.capabilityRequestFilter",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mrdc_Request,
      { "mrdc-Request", "nr-rrc.mrdc_Request_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_omitEN_DC,
      { "omitEN-DC", "nr-rrc.omitEN_DC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_omitEN_DC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_includeNR_DC,
      { "includeNR-DC", "nr-rrc.includeNR_DC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeNR_DC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_includeNE_DC,
      { "includeNE-DC", "nr-rrc.includeNE_DC",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeNE_DC_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_codebookTypeRequest_r16,
      { "codebookTypeRequest-r16", "nr-rrc.codebookTypeRequest_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_codebookTypeRequest_r16", HFILL }},
    { &hf_nr_rrc_type1_SinglePanel_r16_01,
      { "type1-SinglePanel-r16", "nr-rrc.type1_SinglePanel_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_SinglePanel_r16_01_vals), 0,
        "T_type1_SinglePanel_r16_01", HFILL }},
    { &hf_nr_rrc_type1_MultiPanel_r16_01,
      { "type1-MultiPanel-r16", "nr-rrc.type1_MultiPanel_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_MultiPanel_r16_01_vals), 0,
        "T_type1_MultiPanel_r16_01", HFILL }},
    { &hf_nr_rrc_type2_r16_03,
      { "type2-r16", "nr-rrc.type2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_r16_03_vals), 0,
        "T_type2_r16_03", HFILL }},
    { &hf_nr_rrc_type2_PortSelection_r16_01,
      { "type2-PortSelection-r16", "nr-rrc.type2_PortSelection_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PortSelection_r16_01_vals), 0,
        "T_type2_PortSelection_r16_01", HFILL }},
    { &hf_nr_rrc_uplinkTxSwitchRequest_r16,
      { "uplinkTxSwitchRequest-r16", "nr-rrc.uplinkTxSwitchRequest_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchRequest_r16_vals), 0,
        "T_uplinkTxSwitchRequest_r16", HFILL }},
    { &hf_nr_rrc_requestedCellGrouping_r16,
      { "requestedCellGrouping-r16", "nr-rrc.requestedCellGrouping_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16", HFILL }},
    { &hf_nr_rrc_requestedCellGrouping_r16_item,
      { "CellGrouping-r16", "nr-rrc.CellGrouping_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fallbackGroupFiveRequest_r17,
      { "fallbackGroupFiveRequest-r17", "nr-rrc.fallbackGroupFiveRequest_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fallbackGroupFiveRequest_r17_vals), 0,
        "T_fallbackGroupFiveRequest_r17", HFILL }},
    { &hf_nr_rrc_mcg_r16,
      { "mcg-r16", "nr-rrc.mcg_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_mcg_r16_item,
      { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_r16,
      { "scg-r16", "nr-rrc.scg_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_scg_r16_item,
      { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mode_r16,
      { "mode-r16", "nr-rrc.mode_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mode_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyBandListFilter,
      { "frequencyBandListFilter", "nr-rrc.frequencyBandListFilter",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandList", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_124,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_CapabilityRequestFilterNR_v1540", HFILL }},
    { &hf_nr_rrc_srs_SwitchingTimeRequest,
      { "srs-SwitchingTimeRequest", "nr-rrc.srs_SwitchingTimeRequest",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchingTimeRequest_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_125,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_CapabilityRequestFilterNR_v1710", HFILL }},
    { &hf_nr_rrc_sidelinkRequest_r17,
      { "sidelinkRequest-r17", "nr-rrc.sidelinkRequest_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sidelinkRequest_r17_vals), 0,
        "T_sidelinkRequest_r17", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_126,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_53", HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC,
      { "measAndMobParametersMRDC", "nr-rrc.measAndMobParametersMRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersMRDC_v1530,
      { "phy-ParametersMRDC-v1530", "nr-rrc.phy_ParametersMRDC_v1530_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Phy_ParametersMRDC", HFILL }},
    { &hf_nr_rrc_rf_ParametersMRDC,
      { "rf-ParametersMRDC", "nr-rrc.rf_ParametersMRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_generalParametersMRDC,
      { "generalParametersMRDC", "nr-rrc.generalParametersMRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GeneralParametersMRDC_XDD_Diff", HFILL }},
    { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities,
      { "fdd-Add-UE-MRDC-Capabilities", "nr-rrc.fdd_Add_UE_MRDC_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
    { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities,
      { "tdd-Add-UE-MRDC-Capabilities", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
    { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities,
      { "fr1-Add-UE-MRDC-Capabilities", "nr-rrc.fr1_Add_UE_MRDC_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
    { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities,
      { "fr2-Add-UE-MRDC-Capabilities", "nr-rrc.fr2_Add_UE_MRDC_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
    { &hf_nr_rrc_featureSetCombinations,
      { "featureSetCombinations", "nr-rrc.featureSetCombinations",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination", HFILL }},
    { &hf_nr_rrc_featureSetCombinations_item,
      { "FeatureSetCombination", "nr-rrc.FeatureSetCombination",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_ParametersMRDC_v1530,
      { "pdcp-ParametersMRDC-v1530", "nr-rrc.pdcp_ParametersMRDC_v1530_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDCP_ParametersMRDC", HFILL }},
    { &hf_nr_rrc_lateNonCriticalExtension_01,
      { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_127,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_Capability_v1560", HFILL }},
    { &hf_nr_rrc_receivedFilters,
      { "receivedFilters", "nr-rrc.receivedFilters",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_v1560,
      { "measAndMobParametersMRDC-v1560", "nr-rrc.measAndMobParametersMRDC_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities_v1560,
      { "fdd-Add-UE-MRDC-Capabilities-v1560", "nr-rrc.fdd_Add_UE_MRDC_Capabilities_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddXDD_Mode_v1560", HFILL }},
    { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities_v1560,
      { "tdd-Add-UE-MRDC-Capabilities-v1560", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_v1560_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_CapabilityAddXDD_Mode_v1560", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_128,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_Capability_v1610", HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_v1610,
      { "measAndMobParametersMRDC-v1610", "nr-rrc.measAndMobParametersMRDC_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_generalParametersMRDC_v1610,
      { "generalParametersMRDC-v1610", "nr-rrc.generalParametersMRDC_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_ParametersMRDC_v1610,
      { "pdcp-ParametersMRDC-v1610", "nr-rrc.pdcp_ParametersMRDC_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_129,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_Capability_v1700", HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_v1700,
      { "measAndMobParametersMRDC-v1700", "nr-rrc.measAndMobParametersMRDC_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_130,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_MRDC_Capability_v1730", HFILL }},
    { &hf_nr_rrc_measAndMobParametersMRDC_v1730,
      { "measAndMobParametersMRDC-v1730", "nr-rrc.measAndMobParametersMRDC_v1730_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_131,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_54", HFILL }},
    { &hf_nr_rrc_rf_ParametersMRDC_v15g0,
      { "rf-ParametersMRDC-v15g0", "nr-rrc.rf_ParametersMRDC_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_132,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_55", HFILL }},
    { &hf_nr_rrc_generalParametersMRDC_XDD_Diff,
      { "generalParametersMRDC-XDD-Diff", "nr-rrc.generalParametersMRDC_XDD_Diff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_splitSRB_WithOneUL_Path,
      { "splitSRB-WithOneUL-Path", "nr-rrc.splitSRB_WithOneUL_Path",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitSRB_WithOneUL_Path_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG,
      { "splitDRB-withUL-Both-MCG-SCG", "nr-rrc.splitDRB_withUL_Both_MCG_SCG",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srb3,
      { "srb3", "nr-rrc.srb3",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy_07,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_05_vals), 0,
        "T_dummy_05", HFILL }},
    { &hf_nr_rrc_f1c_OverEUTRA_r16,
      { "f1c-OverEUTRA-r16", "nr-rrc.f1c_OverEUTRA_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1c_OverEUTRA_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_accessStratumRelease,
      { "accessStratumRelease", "nr-rrc.accessStratumRelease",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_AccessStratumRelease_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_Parameters,
      { "pdcp-Parameters", "nr-rrc.pdcp_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlc_Parameters,
      { "rlc-Parameters", "nr-rrc.rlc_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_Parameters,
      { "mac-Parameters", "nr-rrc.mac_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_Parameters,
      { "phy-Parameters", "nr-rrc.phy_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rf_Parameters,
      { "rf-Parameters", "nr-rrc.rf_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParameters,
      { "measAndMobParameters", "nr-rrc.measAndMobParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities,
      { "fdd-Add-UE-NR-Capabilities", "nr-rrc.fdd_Add_UE_NR_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddXDD_Mode", HFILL }},
    { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities,
      { "tdd-Add-UE-NR-Capabilities", "nr-rrc.tdd_Add_UE_NR_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddXDD_Mode", HFILL }},
    { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities,
      { "fr1-Add-UE-NR-Capabilities", "nr-rrc.fr1_Add_UE_NR_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddFRX_Mode", HFILL }},
    { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities,
      { "fr2-Add-UE-NR-Capabilities", "nr-rrc.fr2_Add_UE_NR_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddFRX_Mode", HFILL }},
    { &hf_nr_rrc_featureSets,
      { "featureSets", "nr-rrc.featureSets_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lateNonCriticalExtension_02,
      { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_lateNonCriticalExtension_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_133,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1530", HFILL }},
    { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities_v1530,
      { "fdd-Add-UE-NR-Capabilities-v1530", "nr-rrc.fdd_Add_UE_NR_Capabilities_v1530_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddXDD_Mode_v1530", HFILL }},
    { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities_v1530,
      { "tdd-Add-UE-NR-Capabilities-v1530", "nr-rrc.tdd_Add_UE_NR_Capabilities_v1530_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddXDD_Mode_v1530", HFILL }},
    { &hf_nr_rrc_uE_NR_Capability_v1530_dummy,
      { "dummy", "nr-rrc.uE_NR_Capability_v1530.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uE_NR_Capability_v1530_dummy_vals), 0,
        "T_uE_NR_Capability_v1530_dummy", HFILL }},
    { &hf_nr_rrc_interRAT_Parameters,
      { "interRAT-Parameters", "nr-rrc.interRAT_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_inactiveState,
      { "inactiveState", "nr-rrc.inactiveState",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inactiveState_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_delayBudgetReporting,
      { "delayBudgetReporting", "nr-rrc.delayBudgetReporting",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReporting_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_134,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1540", HFILL }},
    { &hf_nr_rrc_sdap_Parameters,
      { "sdap-Parameters", "nr-rrc.sdap_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_overheatingInd,
      { "overheatingInd", "nr-rrc.overheatingInd",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overheatingInd_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ims_Parameters,
      { "ims-Parameters", "nr-rrc.ims_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1540,
      { "fr1-Add-UE-NR-Capabilities-v1540", "nr-rrc.fr1_Add_UE_NR_Capabilities_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddFRX_Mode_v1540", HFILL }},
    { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1540,
      { "fr2-Add-UE-NR-Capabilities-v1540", "nr-rrc.fr2_Add_UE_NR_Capabilities_v1540_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddFRX_Mode_v1540", HFILL }},
    { &hf_nr_rrc_fr1_fr2_Add_UE_NR_Capabilities,
      { "fr1-fr2-Add-UE-NR-Capabilities", "nr-rrc.fr1_fr2_Add_UE_NR_Capabilities_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddFRX_Mode", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_135,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1550", HFILL }},
    { &hf_nr_rrc_reducedCP_Latency,
      { "reducedCP-Latency", "nr-rrc.reducedCP_Latency",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reducedCP_Latency_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_136,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1560", HFILL }},
    { &hf_nr_rrc_nrdc_Parameters,
      { "nrdc-Parameters", "nr-rrc.nrdc_Parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_receivedFilters_01,
      { "receivedFilters", "nr-rrc.receivedFilters",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_receivedFilters_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_137,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1570", HFILL }},
    { &hf_nr_rrc_nrdc_Parameters_v1570,
      { "nrdc-Parameters-v1570", "nr-rrc.nrdc_Parameters_v1570_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_138,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1610", HFILL }},
    { &hf_nr_rrc_nrdc_Parameters_v15c0,
      { "nrdc-Parameters-v15c0", "nr-rrc.nrdc_Parameters_v15c0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_partialFR2_FallbackRX_Req,
      { "partialFR2-FallbackRX-Req", "nr-rrc.partialFR2_FallbackRX_Req",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_partialFR2_FallbackRX_Req_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_139,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v15g0", HFILL }},
    { &hf_nr_rrc_rf_Parameters_v15g0,
      { "rf-Parameters-v15g0", "nr-rrc.rf_Parameters_v15g0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_140,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v15j0", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_141,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v16a0", HFILL }},
    { &hf_nr_rrc_inDeviceCoexInd_r16,
      { "inDeviceCoexInd-r16", "nr-rrc.inDeviceCoexInd_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inDeviceCoexInd_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_DedicatedMessageSegmentation_r16,
      { "dl-DedicatedMessageSegmentation-r16", "nr-rrc.dl_DedicatedMessageSegmentation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DedicatedMessageSegmentation_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrdc_Parameters_v1610,
      { "nrdc-Parameters-v1610", "nr-rrc.nrdc_Parameters_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powSav_Parameters_r16,
      { "powSav-Parameters-r16", "nr-rrc.powSav_Parameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1610,
      { "fr1-Add-UE-NR-Capabilities-v1610", "nr-rrc.fr1_Add_UE_NR_Capabilities_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddFRX_Mode_v1610", HFILL }},
    { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1610,
      { "fr2-Add-UE-NR-Capabilities-v1610", "nr-rrc.fr2_Add_UE_NR_Capabilities_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_CapabilityAddFRX_Mode_v1610", HFILL }},
    { &hf_nr_rrc_bh_RLF_Indication_r16,
      { "bh-RLF-Indication-r16", "nr-rrc.bh_RLF_Indication_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bh_RLF_Indication_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_directSN_AdditionFirstRRC_IAB_r16,
      { "directSN-AdditionFirstRRC-IAB-r16", "nr-rrc.directSN_AdditionFirstRRC_IAB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directSN_AdditionFirstRRC_IAB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bap_Parameters_r16,
      { "bap-Parameters-r16", "nr-rrc.bap_Parameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_referenceTimeProvision_r16,
      { "referenceTimeProvision-r16", "nr-rrc.referenceTimeProvision_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceTimeProvision_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sidelinkParameters_r16,
      { "sidelinkParameters-r16", "nr-rrc.sidelinkParameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_highSpeedParameters_r16,
      { "highSpeedParameters-r16", "nr-rrc.highSpeedParameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_Parameters_v1610,
      { "mac-Parameters-v1610", "nr-rrc.mac_Parameters_v1610_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mcgRLF_RecoveryViaSCG_r16,
      { "mcgRLF-RecoveryViaSCG-r16", "nr-rrc.mcgRLF_RecoveryViaSCG_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcgRLF_RecoveryViaSCG_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resumeWithStoredMCG_SCells_r16,
      { "resumeWithStoredMCG-SCells-r16", "nr-rrc.resumeWithStoredMCG_SCells_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resumeWithStoredMCG_SCells_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resumeWithStoredSCG_r16,
      { "resumeWithStoredSCG-r16", "nr-rrc.resumeWithStoredSCG_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resumeWithStoredSCG_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_resumeWithSCG_Config_r16,
      { "resumeWithSCG-Config-r16", "nr-rrc.resumeWithSCG_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resumeWithSCG_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_BasedPerfMeas_Parameters_r16,
      { "ue-BasedPerfMeas-Parameters-r16", "nr-rrc.ue_BasedPerfMeas_Parameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_son_Parameters_r16,
      { "son-Parameters-r16", "nr-rrc.son_Parameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_onDemandSIB_Connected_r16,
      { "onDemandSIB-Connected-r16", "nr-rrc.onDemandSIB_Connected_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onDemandSIB_Connected_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_142,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1640", HFILL }},
    { &hf_nr_rrc_redirectAtResumeByNAS_r16,
      { "redirectAtResumeByNAS-r16", "nr-rrc.redirectAtResumeByNAS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_redirectAtResumeByNAS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_phy_ParametersSharedSpectrumChAccess_r16,
      { "phy-ParametersSharedSpectrumChAccess-r16", "nr-rrc.phy_ParametersSharedSpectrumChAccess_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_143,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1650", HFILL }},
    { &hf_nr_rrc_mpsPriorityIndication_r16_01,
      { "mpsPriorityIndication-r16", "nr-rrc.mpsPriorityIndication_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mpsPriorityIndication_r16_01_vals), 0,
        "T_mpsPriorityIndication_r16_01", HFILL }},
    { &hf_nr_rrc_highSpeedParameters_v1650,
      { "highSpeedParameters-v1650", "nr-rrc.highSpeedParameters_v1650",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_HighSpeedParameters_v1650_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_144,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1690", HFILL }},
    { &hf_nr_rrc_ul_RRC_Segmentation_r16_01,
      { "ul-RRC-Segmentation-r16", "nr-rrc.ul_RRC_Segmentation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_RRC_Segmentation_r16_01_vals), 0,
        "T_ul_RRC_Segmentation_r16_01", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_145,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1700", HFILL }},
    { &hf_nr_rrc_phy_Parameters_v16a0,
      { "phy-Parameters-v16a0", "nr-rrc.phy_Parameters_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rf_Parameters_v16a0,
      { "rf-Parameters-v16a0", "nr-rrc.rf_Parameters_v16a0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_146,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v16c0", HFILL }},
    { &hf_nr_rrc_rf_Parameters_v16c0,
      { "rf-Parameters-v16c0", "nr-rrc.rf_Parameters_v16c0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_147,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v16d0", HFILL }},
    { &hf_nr_rrc_featureSets_v16d0,
      { "featureSets-v16d0", "nr-rrc.featureSets_v16d0_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_148,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_56", HFILL }},
    { &hf_nr_rrc_inactiveStatePO_Determination_r17_01,
      { "inactiveStatePO-Determination-r17", "nr-rrc.inactiveStatePO_Determination_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inactiveStatePO_Determination_r17_01_vals), 0,
        "T_inactiveStatePO_Determination_r17_01", HFILL }},
    { &hf_nr_rrc_highSpeedParameters_v1700,
      { "highSpeedParameters-v1700", "nr-rrc.highSpeedParameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_powSav_Parameters_v1700,
      { "powSav-Parameters-v1700", "nr-rrc.powSav_Parameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mac_Parameters_v1700,
      { "mac-Parameters-v1700", "nr-rrc.mac_Parameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ims_Parameters_v1700,
      { "ims-Parameters-v1700", "nr-rrc.ims_Parameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measAndMobParameters_v1700,
      { "measAndMobParameters-v1700", "nr-rrc.measAndMobParameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_appLayerMeasParameters_r17,
      { "appLayerMeasParameters-r17", "nr-rrc.appLayerMeasParameters_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_redCapParameters_r17,
      { "redCapParameters-r17", "nr-rrc.redCapParameters_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ra_SDT_r17,
      { "ra-SDT-r17", "nr-rrc.ra_SDT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_SDT_r17_vals), 0,
        "T_ra_SDT_r17", HFILL }},
    { &hf_nr_rrc_srb_SDT_r17,
      { "srb-SDT-r17", "nr-rrc.srb_SDT_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb_SDT_r17_vals), 0,
        "T_srb_SDT_r17", HFILL }},
    { &hf_nr_rrc_gNB_SideRTT_BasedPDC_r17,
      { "gNB-SideRTT-BasedPDC-r17", "nr-rrc.gNB_SideRTT_BasedPDC_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gNB_SideRTT_BasedPDC_r17_vals), 0,
        "T_gNB_SideRTT_BasedPDC_r17", HFILL }},
    { &hf_nr_rrc_bh_RLF_DetectionRecovery_Indication_r17,
      { "bh-RLF-DetectionRecovery-Indication-r17", "nr-rrc.bh_RLF_DetectionRecovery_Indication_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bh_RLF_DetectionRecovery_Indication_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nrdc_Parameters_v1700,
      { "nrdc-Parameters-v1700", "nr-rrc.nrdc_Parameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bap_Parameters_v1700,
      { "bap-Parameters-v1700", "nr-rrc.bap_Parameters_v1700_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapPreference_r17,
      { "musim-GapPreference-r17", "nr-rrc.musim_GapPreference_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_GapPreference_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musimLeaveConnected_r17,
      { "musimLeaveConnected-r17", "nr-rrc.musimLeaveConnected_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musimLeaveConnected_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mbs_Parameters_r17,
      { "mbs-Parameters-r17", "nr-rrc.mbs_Parameters_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonTerrestrialNetwork_r17,
      { "nonTerrestrialNetwork-r17", "nr-rrc.nonTerrestrialNetwork_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nonTerrestrialNetwork_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ntn_ScenarioSupport_r17,
      { "ntn-ScenarioSupport-r17", "nr-rrc.ntn_ScenarioSupport_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ntn_ScenarioSupport_r17_vals), 0,
        "T_ntn_ScenarioSupport_r17", HFILL }},
    { &hf_nr_rrc_sliceInfoforCellReselection_r17,
      { "sliceInfoforCellReselection-r17", "nr-rrc.sliceInfoforCellReselection_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sliceInfoforCellReselection_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_RadioPagingInfo_r17_01,
      { "ue-RadioPagingInfo-r17", "nr-rrc.ue_RadioPagingInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_GapFR2_Pattern_r17,
      { "ul-GapFR2-Pattern-r17", "nr-rrc.ul_GapFR2_Pattern_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_nr_rrc_ntn_Parameters_r17,
      { "ntn-Parameters-r17", "nr-rrc.ntn_Parameters_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_149,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1740", HFILL }},
    { &hf_nr_rrc_redCapParameters_v1740,
      { "redCapParameters-v1740", "nr-rrc.redCapParameters_v1740_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_150,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UE_NR_Capability_v1750", HFILL }},
    { &hf_nr_rrc_crossCarrierSchedulingConfigurationRelease_r17,
      { "crossCarrierSchedulingConfigurationRelease-r17", "nr-rrc.crossCarrierSchedulingConfigurationRelease_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingConfigurationRelease_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_151,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_57", HFILL }},
    { &hf_nr_rrc_flowControlBH_RLC_ChannelBased_r16,
      { "flowControlBH-RLC-ChannelBased-r16", "nr-rrc.flowControlBH_RLC_ChannelBased_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_flowControlBH_RLC_ChannelBased_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_flowControlRouting_ID_Based_r16,
      { "flowControlRouting-ID-Based-r16", "nr-rrc.flowControlRouting_ID_Based_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_flowControlRouting_ID_Based_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bapHeaderRewriting_Rerouting_r17,
      { "bapHeaderRewriting-Rerouting-r17", "nr-rrc.bapHeaderRewriting_Rerouting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bapHeaderRewriting_Rerouting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bapHeaderRewriting_Routing_r17,
      { "bapHeaderRewriting-Routing-r17", "nr-rrc.bapHeaderRewriting_Routing_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bapHeaderRewriting_Routing_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMRB_Add_r17,
      { "maxMRB-Add-r17", "nr-rrc.maxMRB_Add_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_pei_SubgroupingSupportBandList_r17,
      { "pei-SubgroupingSupportBandList-r17", "nr-rrc.pei_SubgroupingSupportBandList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }},
    { &hf_nr_rrc_pei_SubgroupingSupportBandList_r17_item,
      { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_DynamicChAccess_r16,
      { "ul-DynamicChAccess-r16", "nr-rrc.ul_DynamicChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_DynamicChAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_Semi_StaticChAccess_r16,
      { "ul-Semi-StaticChAccess-r16", "nr-rrc.ul_Semi_StaticChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_Semi_StaticChAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_RRM_DynamicChAccess_r16,
      { "ssb-RRM-DynamicChAccess-r16", "nr-rrc.ssb_RRM_DynamicChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_RRM_DynamicChAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_RRM_Semi_StaticChAccess_r16,
      { "ssb-RRM-Semi-StaticChAccess-r16", "nr-rrc.ssb_RRM_Semi_StaticChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_RRM_Semi_StaticChAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mib_Acquisition_r16,
      { "mib-Acquisition-r16", "nr-rrc.mib_Acquisition_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mib_Acquisition_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_RLM_DynamicChAccess_r16,
      { "ssb-RLM-DynamicChAccess-r16", "nr-rrc.ssb_RLM_DynamicChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_RLM_DynamicChAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_RLM_Semi_StaticChAccess_r16,
      { "ssb-RLM-Semi-StaticChAccess-r16", "nr-rrc.ssb_RLM_Semi_StaticChAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_RLM_Semi_StaticChAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib1_Acquisition_r16,
      { "sib1-Acquisition-r16", "nr-rrc.sib1_Acquisition_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sib1_Acquisition_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extRA_ResponseWindow_r16,
      { "extRA-ResponseWindow-r16", "nr-rrc.extRA_ResponseWindow_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extRA_ResponseWindow_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_BFD_CBD_dynamicChannelAccess_r16,
      { "ssb-BFD-CBD-dynamicChannelAccess-r16", "nr-rrc.ssb_BFD_CBD_dynamicChannelAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_BFD_CBD_dynamicChannelAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_BFD_CBD_semi_staticChannelAccess_r16,
      { "ssb-BFD-CBD-semi-staticChannelAccess-r16", "nr-rrc.ssb_BFD_CBD_semi_staticChannelAccess_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_BFD_CBD_semi_staticChannelAccess_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_BFD_CBD_r16,
      { "csi-RS-BFD-CBD-r16", "nr-rrc.csi_RS_BFD_CBD_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_BFD_CBD_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_ChannelBW_SCell_10mhz_r16,
      { "ul-ChannelBW-SCell-10mhz-r16", "nr-rrc.ul_ChannelBW_SCell_10mhz_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_ChannelBW_SCell_10mhz_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rssi_ChannelOccupancyReporting_r16,
      { "rssi-ChannelOccupancyReporting-r16", "nr-rrc.rssi_ChannelOccupancyReporting_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rssi_ChannelOccupancyReporting_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_srs_StartAnyOFDM_Symbol_r16,
      { "srs-StartAnyOFDM-Symbol-r16", "nr-rrc.srs_StartAnyOFDM_Symbol_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_StartAnyOFDM_Symbol_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceFreqMonitorLocation_r16,
      { "searchSpaceFreqMonitorLocation-r16", "nr-rrc.searchSpaceFreqMonitorLocation_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_5", HFILL }},
    { &hf_nr_rrc_coreset_RB_Offset_r16,
      { "coreset-RB-Offset-r16", "nr-rrc.coreset_RB_Offset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_coreset_RB_Offset_r16_vals), 0,
        "T_coreset_RB_Offset_r16", HFILL }},
    { &hf_nr_rrc_cgi_Acquisition_r16,
      { "cgi-Acquisition-r16", "nr-rrc.cgi_Acquisition_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cgi_Acquisition_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredUL_Tx_r16,
      { "configuredUL-Tx-r16", "nr-rrc.configuredUL_Tx_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_Tx_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_prach_Wideband_r16,
      { "prach-Wideband-r16", "nr-rrc.prach_Wideband_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_Wideband_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dci_AvailableRB_Set_r16,
      { "dci-AvailableRB-Set-r16", "nr-rrc.dci_AvailableRB_Set_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_AvailableRB_Set_r16_vals), 0,
        "T_dci_AvailableRB_Set_r16", HFILL }},
    { &hf_nr_rrc_dci_ChOccupancyDuration_r16,
      { "dci-ChOccupancyDuration-r16", "nr-rrc.dci_ChOccupancyDuration_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_ChOccupancyDuration_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_typeB_PDSCH_length_r16,
      { "typeB-PDSCH-length-r16", "nr-rrc.typeB_PDSCH_length_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_typeB_PDSCH_length_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchWithDCI_r16,
      { "searchSpaceSwitchWithDCI-r16", "nr-rrc.searchSpaceSwitchWithDCI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSwitchWithDCI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchWithoutDCI_r16,
      { "searchSpaceSwitchWithoutDCI-r16", "nr-rrc.searchSpaceSwitchWithoutDCI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSwitchWithoutDCI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_searchSpaceSwitchCapability2_r16,
      { "searchSpaceSwitchCapability2-r16", "nr-rrc.searchSpaceSwitchCapability2_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSwitchCapability2_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_non_numericalPDSCH_HARQ_timing_r16,
      { "non-numericalPDSCH-HARQ-timing-r16", "nr-rrc.non_numericalPDSCH_HARQ_timing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_numericalPDSCH_HARQ_timing_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_enhancedDynamicHARQ_codebook_r16,
      { "enhancedDynamicHARQ-codebook-r16", "nr-rrc.enhancedDynamicHARQ_codebook_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedDynamicHARQ_codebook_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneShotHARQ_feedback_r16,
      { "oneShotHARQ-feedback-r16", "nr-rrc.oneShotHARQ_feedback_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneShotHARQ_feedback_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_multiPUSCH_UL_grant_r16,
      { "multiPUSCH-UL-grant-r16", "nr-rrc.multiPUSCH_UL_grant_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiPUSCH_UL_grant_r16_vals), 0,
        "T_multiPUSCH_UL_grant_r16", HFILL }},
    { &hf_nr_rrc_csi_RS_RLM_r16,
      { "csi-RS-RLM-r16", "nr-rrc.csi_RS_RLM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_RLM_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dummy_08,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_06_vals), 0,
        "T_dummy_06", HFILL }},
    { &hf_nr_rrc_periodicAndSemi_PersistentCSI_RS_r16,
      { "periodicAndSemi-PersistentCSI-RS-r16", "nr-rrc.periodicAndSemi_PersistentCSI_RS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicAndSemi_PersistentCSI_RS_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pusch_PRB_interlace_r16,
      { "pusch-PRB-interlace-r16", "nr-rrc.pusch_PRB_interlace_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_PRB_interlace_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pucch_F0_F1_PRB_Interlace_r16,
      { "pucch-F0-F1-PRB-Interlace-r16", "nr-rrc.pucch_F0_F1_PRB_Interlace_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F0_F1_PRB_Interlace_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_occ_PRB_PF2_PF3_r16,
      { "occ-PRB-PF2-PF3-r16", "nr-rrc.occ_PRB_PF2_PF3_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_PRB_PF2_PF3_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extCP_rangeCG_PUSCH_r16,
      { "extCP-rangeCG-PUSCH-r16", "nr-rrc.extCP_rangeCG_PUSCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extCP_rangeCG_PUSCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_configuredGrantWithReTx_r16,
      { "configuredGrantWithReTx-r16", "nr-rrc.configuredGrantWithReTx_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantWithReTx_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ed_Threshold_r16,
      { "ed-Threshold-r16", "nr-rrc.ed_Threshold_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ed_Threshold_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_DL_COT_Sharing_r16,
      { "ul-DL-COT-Sharing-r16", "nr-rrc.ul_DL_COT_Sharing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_DL_COT_Sharing_r16_vals), 0,
        "T_ul_DL_COT_Sharing_r16", HFILL }},
    { &hf_nr_rrc_mux_CG_UCI_HARQ_ACK_r16,
      { "mux-CG-UCI-HARQ-ACK-r16", "nr-rrc.mux_CG_UCI_HARQ_ACK_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_CG_UCI_HARQ_ACK_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cg_resourceConfig_r16,
      { "cg-resourceConfig-r16", "nr-rrc.cg_resourceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_resourceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_ReceptionIntraCellGuardband_r16,
      { "dl-ReceptionIntraCellGuardband-r16", "nr-rrc.dl_ReceptionIntraCellGuardband_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_ReceptionIntraCellGuardband_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_ReceptionLBT_subsetRB_r16,
      { "dl-ReceptionLBT-subsetRB-r16", "nr-rrc.dl_ReceptionLBT_subsetRB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_ReceptionLBT_subsetRB_r16_vals), 0,
        "T_dl_ReceptionLBT_subsetRB_r16", HFILL }},
    { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB_r16,
      { "csi-RSRP-AndRSRQ-MeasWithSSB-r16", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithSSB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB_r16,
      { "csi-RSRP-AndRSRQ-MeasWithoutSSB-r16", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithoutSSB_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_SINR_Meas_r16,
      { "csi-SINR-Meas-r16", "nr-rrc.csi_SINR_Meas_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_SINR_Meas_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ssb_AndCSI_RS_RLM_r16,
      { "ssb-AndCSI-RS-RLM-r16", "nr-rrc.ssb_AndCSI_RS_RLM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_AndCSI_RS_RLM_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_CFRA_ForHO_r16,
      { "csi-RS-CFRA-ForHO-r16", "nr-rrc.csi_RS_CFRA_ForHO_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_CFRA_ForHO_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_extendedSearchSpaceSwitchWithDCI_r16,
      { "extendedSearchSpaceSwitchWithDCI-r16", "nr-rrc.extendedSearchSpaceSwitchWithDCI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedSearchSpaceSwitchWithDCI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_Semi_StaticChAccessDependentConfig_r17,
      { "ul-Semi-StaticChAccessDependentConfig-r17", "nr-rrc.ul_Semi_StaticChAccessDependentConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_Semi_StaticChAccessDependentConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_Semi_StaticChAccessIndependentConfig_r17,
      { "ul-Semi-StaticChAccessIndependentConfig-r17", "nr-rrc.ul_Semi_StaticChAccessIndependentConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_Semi_StaticChAccessIndependentConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measConfigAppLayerToAddModList_r17,
      { "measConfigAppLayerToAddModList-r17", "nr-rrc.measConfigAppLayerToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17", HFILL }},
    { &hf_nr_rrc_measConfigAppLayerToAddModList_r17_item,
      { "MeasConfigAppLayer-r17", "nr-rrc.MeasConfigAppLayer_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measConfigAppLayerToReleaseList_r17,
      { "measConfigAppLayerToReleaseList-r17", "nr-rrc.measConfigAppLayerToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17", HFILL }},
    { &hf_nr_rrc_measConfigAppLayerToReleaseList_r17_item,
      { "MeasConfigAppLayerId-r17", "nr-rrc.MeasConfigAppLayerId_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrc_SegAllowed_r17,
      { "rrc-SegAllowed-r17", "nr-rrc.rrc_SegAllowed_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrc_SegAllowed_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measConfigAppLayerContainer_r17,
      { "measConfigAppLayerContainer-r17", "nr-rrc.measConfigAppLayerContainer_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_1_8000", HFILL }},
    { &hf_nr_rrc_serviceType_r17,
      { "serviceType-r17", "nr-rrc.serviceType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_serviceType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pauseReporting_r17,
      { "pauseReporting-r17", "nr-rrc.pauseReporting_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_transmissionOfSessionStartStop_r17,
      { "transmissionOfSessionStartStop-r17", "nr-rrc.transmissionOfSessionStartStop_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_ran_VisibleParameters_r17,
      { "ran-VisibleParameters-r17", "nr-rrc.ran_VisibleParameters_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ran_VisibleParameters_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_169,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RAN_VisibleParameters_r17", HFILL }},
    { &hf_nr_rrc_ran_VisiblePeriodicity_r17,
      { "ran-VisiblePeriodicity-r17", "nr-rrc.ran_VisiblePeriodicity_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ran_VisiblePeriodicity_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_numberOfBufferLevelEntries_r17,
      { "numberOfBufferLevelEntries-r17", "nr-rrc.numberOfBufferLevelEntries_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_reportPlayoutDelayForMediaStartup_r17,
      { "reportPlayoutDelayForMediaStartup-r17", "nr-rrc.reportPlayoutDelayForMediaStartup_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_areaConfig_r16,
      { "areaConfig-r16", "nr-rrc.areaConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_AreaConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_interFreqTargetList_r16,
      { "interFreqTargetList-r16", "nr-rrc.interFreqTargetList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16", HFILL }},
    { &hf_nr_rrc_interFreqTargetList_r16_item,
      { "InterFreqTargetInfo-r16", "nr-rrc.InterFreqTargetInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_areaConfig_r17,
      { "areaConfig-r17", "nr-rrc.areaConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_AreaConfig_r16_vals), 0,
        "AreaConfig_r16", HFILL }},
    { &hf_nr_rrc_interFreqTargetList_r17,
      { "interFreqTargetList-r17", "nr-rrc.interFreqTargetList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16", HFILL }},
    { &hf_nr_rrc_interFreqTargetList_r17_item,
      { "InterFreqTargetInfo-r16", "nr-rrc.InterFreqTargetInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellGlobalIdList_r16,
      { "cellGlobalIdList-r16", "nr-rrc.cellGlobalIdList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_trackingAreaCodeList_r16,
      { "trackingAreaCodeList-r16", "nr-rrc.trackingAreaCodeList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_trackingAreaIdentityList_r16,
      { "trackingAreaIdentityList-r16", "nr-rrc.trackingAreaIdentityList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_CarrierFreq_r16,
      { "dl-CarrierFreq-r16", "nr-rrc.dl_CarrierFreq_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_cellList_r16,
      { "cellList-r16", "nr-rrc.cellList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_32_OF_PhysCellId", HFILL }},
    { &hf_nr_rrc_cellList_r16_item,
      { "PhysCellId", "nr-rrc.PhysCellId",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CellGlobalIdList_r16_item,
      { "CGI-Info-Logging-r16", "nr-rrc.CGI_Info_Logging_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_TrackingAreaCodeList_r16_item,
      { "TrackingAreaCode", "nr-rrc.TrackingAreaCode",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_TrackingAreaIdentityList_r16_item,
      { "TrackingAreaIdentity-r16", "nr-rrc.TrackingAreaIdentity_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BT_NameList_r16_item,
      { "BT-Name-r16", "nr-rrc.BT_Name_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item,
      { "EUTRA-MBSFN-SubframeConfig", "nr-rrc.EUTRA_MBSFN_SubframeConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_radioframeAllocationPeriod,
      { "radioframeAllocationPeriod", "nr-rrc.radioframeAllocationPeriod",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioframeAllocationPeriod_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_radioframeAllocationOffset,
      { "radioframeAllocationOffset", "nr-rrc.radioframeAllocationOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_nr_rrc_subframeAllocation1,
      { "subframeAllocation1", "nr-rrc.subframeAllocation1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation1_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneFrame,
      { "oneFrame", "nr-rrc.oneFrame",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_fourFrames,
      { "fourFrames", "nr-rrc.fourFrames",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_nr_rrc_subframeAllocation2,
      { "subframeAllocation2", "nr-rrc.subframeAllocation2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation2_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_oneFrame_01,
      { "oneFrame", "nr-rrc.oneFrame",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_fourFrames_01,
      { "fourFrames", "nr-rrc.fourFrames",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_nr_rrc_EUTRA_MultiBandInfoList_item,
      { "EUTRA-MultiBandInfo", "nr-rrc.EUTRA_MultiBandInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_FreqBandIndicator,
      { "eutra-FreqBandIndicator", "nr-rrc.eutra_FreqBandIndicator",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandIndicatorEUTRA", HFILL }},
    { &hf_nr_rrc_eutra_NS_PmaxList,
      { "eutra-NS-PmaxList", "nr-rrc.eutra_NS_PmaxList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_EUTRA_NS_PmaxList_item,
      { "EUTRA-NS-PmaxValue", "nr-rrc.EUTRA_NS_PmaxValue_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_additionalPmax_01,
      { "additionalPmax", "nr-rrc.additionalPmax",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
        "INTEGER_M30_33", HFILL }},
    { &hf_nr_rrc_additionalSpectrumEmission_01,
      { "additionalSpectrumEmission", "nr-rrc.additionalSpectrumEmission",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_288", HFILL }},
    { &hf_nr_rrc_start_01,
      { "start", "nr-rrc.start",
        FT_UINT32, BASE_DEC, NULL, 0,
        "EUTRA_PhysCellId", HFILL }},
    { &hf_nr_rrc_range_01,
      { "range", "nr-rrc.range",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_01_vals), 0,
        "T_range_01", HFILL }},
    { &hf_nr_rrc_iPv4_Address_r16,
      { "iPv4-Address-r16", "nr-rrc.iPv4_Address_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_nr_rrc_iPv6_Address_r16,
      { "iPv6-Address-r16", "nr-rrc.iPv6_Address_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_128", HFILL }},
    { &hf_nr_rrc_iPv6_Prefix_r16,
      { "iPv6-Prefix-r16", "nr-rrc.iPv6_Prefix_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_nr_rrc_LogMeasResultListBT_r16_item,
      { "LogMeasResultBT-r16", "nr-rrc.LogMeasResultBT_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bt_Addr_r16,
      { "bt-Addr-r16", "nr-rrc.bt_Addr_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_48", HFILL }},
    { &hf_nr_rrc_rssi_BT_r16,
      { "rssi-BT-r16", "nr-rrc.rssi_BT_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M128_127", HFILL }},
    { &hf_nr_rrc_LogMeasResultListWLAN_r16_item,
      { "LogMeasResultWLAN-r16", "nr-rrc.LogMeasResultWLAN_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_wlan_Identifiers_r16,
      { "wlan-Identifiers-r16", "nr-rrc.wlan_Identifiers_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rssiWLAN_r16,
      { "rssiWLAN-r16", "nr-rrc.rssiWLAN_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "WLAN_RSSI_Range_r16", HFILL }},
    { &hf_nr_rrc_rtt_WLAN_r16,
      { "rtt-WLAN-r16", "nr-rrc.rtt_WLAN_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "WLAN_RTT_r16", HFILL }},
    { &hf_nr_rrc_ssid_r16,
      { "ssid-r16", "nr-rrc.ssid_r16",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bssid_r16,
      { "bssid-r16", "nr-rrc.bssid_r16",
        FT_ETHER, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_hessid_r16,
      { "hessid-r16", "nr-rrc.hessid_r16",
        FT_ETHER, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_rttValue_r16,
      { "rttValue-r16", "nr-rrc.rttValue_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_16777215", HFILL }},
    { &hf_nr_rrc_rttUnits_r16,
      { "rttUnits-r16", "nr-rrc.rttUnits_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rttUnits_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rttAccuracy_r16,
      { "rttAccuracy-r16", "nr-rrc.rttAccuracy_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_delayBudgetReportingConfig,
      { "delayBudgetReportingConfig", "nr-rrc.delayBudgetReportingConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReportingConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_170,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_delayBudgetReportingProhibitTimer,
      { "delayBudgetReportingProhibitTimer", "nr-rrc.delayBudgetReportingProhibitTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReportingProhibitTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_overheatingAssistanceConfig,
      { "overheatingAssistanceConfig", "nr-rrc.overheatingAssistanceConfig",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overheatingAssistanceConfig_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_171,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "OverheatingAssistanceConfig", HFILL }},
    { &hf_nr_rrc_idc_AssistanceConfig_r16,
      { "idc-AssistanceConfig-r16", "nr-rrc.idc_AssistanceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idc_AssistanceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_172,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IDC_AssistanceConfig_r16", HFILL }},
    { &hf_nr_rrc_drx_PreferenceConfig_r16,
      { "drx-PreferenceConfig-r16", "nr-rrc.drx_PreferenceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_PreferenceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_173,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DRX_PreferenceConfig_r16", HFILL }},
    { &hf_nr_rrc_maxBW_PreferenceConfig_r16,
      { "maxBW-PreferenceConfig-r16", "nr-rrc.maxBW_PreferenceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBW_PreferenceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_174,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MaxBW_PreferenceConfig_r16", HFILL }},
    { &hf_nr_rrc_maxCC_PreferenceConfig_r16,
      { "maxCC-PreferenceConfig-r16", "nr-rrc.maxCC_PreferenceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCC_PreferenceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_175,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MaxCC_PreferenceConfig_r16", HFILL }},
    { &hf_nr_rrc_maxMIMO_LayerPreferenceConfig_r16,
      { "maxMIMO-LayerPreferenceConfig-r16", "nr-rrc.maxMIMO_LayerPreferenceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_176,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MaxMIMO_LayerPreferenceConfig_r16", HFILL }},
    { &hf_nr_rrc_minSchedulingOffsetPreferenceConfig_r16,
      { "minSchedulingOffsetPreferenceConfig-r16", "nr-rrc.minSchedulingOffsetPreferenceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_177,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MinSchedulingOffsetPreferenceConfig_r16", HFILL }},
    { &hf_nr_rrc_releasePreferenceConfig_r16,
      { "releasePreferenceConfig-r16", "nr-rrc.releasePreferenceConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_releasePreferenceConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_178,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ReleasePreferenceConfig_r16", HFILL }},
    { &hf_nr_rrc_referenceTimePreferenceReporting_r16,
      { "referenceTimePreferenceReporting-r16", "nr-rrc.referenceTimePreferenceReporting_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceTimePreferenceReporting_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_btNameList_r16,
      { "btNameList-r16", "nr-rrc.btNameList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_btNameList_r16_vals), 0,
        "T_btNameList_r16", HFILL }},
    { &hf_nr_rrc_wlanNameList_r16,
      { "wlanNameList-r16", "nr-rrc.wlanNameList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlanNameList_r16_vals), 0,
        "T_wlanNameList_r16", HFILL }},
    { &hf_nr_rrc_sensorNameList_r16,
      { "sensorNameList-r16", "nr-rrc.sensorNameList_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sensorNameList_r16_vals), 0,
        "T_sensorNameList_r16", HFILL }},
    { &hf_nr_rrc_obtainCommonLocation_r16,
      { "obtainCommonLocation-r16", "nr-rrc.obtainCommonLocation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_obtainCommonLocation_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_AssistanceConfigNR_r16,
      { "sl-AssistanceConfigNR-r16", "nr-rrc.sl_AssistanceConfigNR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_AssistanceConfigNR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ul_GapFR2_PreferenceConfig_r17,
      { "ul-GapFR2-PreferenceConfig-r17", "nr-rrc.ul_GapFR2_PreferenceConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_GapFR2_PreferenceConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapAssistanceConfig_r17,
      { "musim-GapAssistanceConfig-r17", "nr-rrc.musim_GapAssistanceConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_GapAssistanceConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_179,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MUSIM_GapAssistanceConfig_r17", HFILL }},
    { &hf_nr_rrc_musim_LeaveAssistanceConfig_r17,
      { "musim-LeaveAssistanceConfig-r17", "nr-rrc.musim_LeaveAssistanceConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_LeaveAssistanceConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_180,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MUSIM_LeaveAssistanceConfig_r17", HFILL }},
    { &hf_nr_rrc_successHO_Config_r17,
      { "successHO-Config-r17", "nr-rrc.successHO_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_successHO_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_181,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SuccessHO_Config_r17", HFILL }},
    { &hf_nr_rrc_maxBW_PreferenceConfigFR2_2_r17,
      { "maxBW-PreferenceConfigFR2-2-r17", "nr-rrc.maxBW_PreferenceConfigFR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBW_PreferenceConfigFR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMIMO_LayerPreferenceConfigFR2_2_r17,
      { "maxMIMO-LayerPreferenceConfigFR2-2-r17", "nr-rrc.maxMIMO_LayerPreferenceConfigFR2_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayerPreferenceConfigFR2_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minSchedulingOffsetPreferenceConfigExt_r17,
      { "minSchedulingOffsetPreferenceConfigExt-r17", "nr-rrc.minSchedulingOffsetPreferenceConfigExt_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minSchedulingOffsetPreferenceConfigExt_r17_vals), 0,
        "T_minSchedulingOffsetPreferenceConfigExt_r17", HFILL }},
    { &hf_nr_rrc_rlm_RelaxationReportingConfig_r17,
      { "rlm-RelaxationReportingConfig-r17", "nr-rrc.rlm_RelaxationReportingConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlm_RelaxationReportingConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_182,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RLM_RelaxationReportingConfig_r17", HFILL }},
    { &hf_nr_rrc_bfd_RelaxationReportingConfig_r17,
      { "bfd-RelaxationReportingConfig-r17", "nr-rrc.bfd_RelaxationReportingConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bfd_RelaxationReportingConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_183,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BFD_RelaxationReportingConfig_r17", HFILL }},
    { &hf_nr_rrc_scg_DeactivationPreferenceConfig_r17,
      { "scg-DeactivationPreferenceConfig-r17", "nr-rrc.scg_DeactivationPreferenceConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_DeactivationPreferenceConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_184,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SCG_DeactivationPreferenceConfig_r17", HFILL }},
    { &hf_nr_rrc_rrm_MeasRelaxationReportingConfig_r17,
      { "rrm-MeasRelaxationReportingConfig-r17", "nr-rrc.rrm_MeasRelaxationReportingConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrm_MeasRelaxationReportingConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_185,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRM_MeasRelaxationReportingConfig_r17", HFILL }},
    { &hf_nr_rrc_propDelayDiffReportConfig_r17,
      { "propDelayDiffReportConfig-r17", "nr-rrc.propDelayDiffReportConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_propDelayDiffReportConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_186,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PropDelayDiffReportConfig_r17", HFILL }},
    { &hf_nr_rrc_CandidateServingFreqListNR_r16_item,
      { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_GapProhibitTimer_r17,
      { "musim-GapProhibitTimer-r17", "nr-rrc.musim_GapProhibitTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_GapProhibitTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_musim_LeaveWithoutResponseTimer_r17,
      { "musim-LeaveWithoutResponseTimer-r17", "nr-rrc.musim_LeaveWithoutResponseTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_musim_LeaveWithoutResponseTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_thresholdPercentageT304_r17,
      { "thresholdPercentageT304-r17", "nr-rrc.thresholdPercentageT304_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_thresholdPercentageT304_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_thresholdPercentageT310_r17,
      { "thresholdPercentageT310-r17", "nr-rrc.thresholdPercentageT310_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_thresholdPercentageT310_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_thresholdPercentageT312_r17,
      { "thresholdPercentageT312-r17", "nr-rrc.thresholdPercentageT312_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_thresholdPercentageT312_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sourceDAPS_FailureReporting_r17,
      { "sourceDAPS-FailureReporting-r17", "nr-rrc.sourceDAPS_FailureReporting_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sourceDAPS_FailureReporting_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_overheatingIndicationProhibitTimer,
      { "overheatingIndicationProhibitTimer", "nr-rrc.overheatingIndicationProhibitTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overheatingIndicationProhibitTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_candidateServingFreqListNR_r16,
      { "candidateServingFreqListNR-r16", "nr-rrc.candidateServingFreqListNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_PreferenceProhibitTimer_r16,
      { "drx-PreferenceProhibitTimer-r16", "nr-rrc.drx_PreferenceProhibitTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_PreferenceProhibitTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxBW_PreferenceProhibitTimer_r16,
      { "maxBW-PreferenceProhibitTimer-r16", "nr-rrc.maxBW_PreferenceProhibitTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBW_PreferenceProhibitTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxCC_PreferenceProhibitTimer_r16,
      { "maxCC-PreferenceProhibitTimer-r16", "nr-rrc.maxCC_PreferenceProhibitTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCC_PreferenceProhibitTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_maxMIMO_LayerPreferenceProhibitTimer_r16,
      { "maxMIMO-LayerPreferenceProhibitTimer-r16", "nr-rrc.maxMIMO_LayerPreferenceProhibitTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayerPreferenceProhibitTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minSchedulingOffsetPreferenceProhibitTimer_r16,
      { "minSchedulingOffsetPreferenceProhibitTimer-r16", "nr-rrc.minSchedulingOffsetPreferenceProhibitTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minSchedulingOffsetPreferenceProhibitTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_releasePreferenceProhibitTimer_r16,
      { "releasePreferenceProhibitTimer-r16", "nr-rrc.releasePreferenceProhibitTimer_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_releasePreferenceProhibitTimer_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_connectedReporting,
      { "connectedReporting", "nr-rrc.connectedReporting",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connectedReporting_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlm_RelaxtionReportingProhibitTimer,
      { "rlm-RelaxtionReportingProhibitTimer", "nr-rrc.rlm_RelaxtionReportingProhibitTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlm_RelaxtionReportingProhibitTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_bfd_RelaxtionReportingProhibitTimer,
      { "bfd-RelaxtionReportingProhibitTimer", "nr-rrc.bfd_RelaxtionReportingProhibitTimer",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bfd_RelaxtionReportingProhibitTimer_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_scg_DeactivationPreferenceProhibitTimer_r17,
      { "scg-DeactivationPreferenceProhibitTimer-r17", "nr-rrc.scg_DeactivationPreferenceProhibitTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_DeactivationPreferenceProhibitTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s_SearchDeltaP_Stationary_r17_01,
      { "s-SearchDeltaP-Stationary-r17", "nr-rrc.s_SearchDeltaP_Stationary_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_SearchDeltaP_Stationary_r17_01_vals), 0,
        "T_s_SearchDeltaP_Stationary_r17_01", HFILL }},
    { &hf_nr_rrc_t_SearchDeltaP_Stationary_r17_01,
      { "t-SearchDeltaP-Stationary-r17", "nr-rrc.t_SearchDeltaP_Stationary_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_SearchDeltaP_Stationary_r17_01_vals), 0,
        "T_t_SearchDeltaP_Stationary_r17_01", HFILL }},
    { &hf_nr_rrc_threshPropDelayDiff_r17,
      { "threshPropDelayDiff-r17", "nr-rrc.threshPropDelayDiff_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_threshPropDelayDiff_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_neighCellInfoList_r17,
      { "neighCellInfoList-r17", "nr-rrc.neighCellInfoList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17", HFILL }},
    { &hf_nr_rrc_neighCellInfoList_r17_item,
      { "NeighbourCellInfo-r17", "nr-rrc.NeighbourCellInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measUncomBarPre_r16,
      { "measUncomBarPre-r16", "nr-rrc.measUncomBarPre_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measUncomBarPre_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measUeSpeed,
      { "measUeSpeed", "nr-rrc.measUeSpeed",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measUeSpeed_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_measUeOrientation,
      { "measUeOrientation", "nr-rrc.measUeOrientation",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measUeOrientation_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_traceId_r16,
      { "traceId-r16", "nr-rrc.traceId_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_3", HFILL }},
    { &hf_nr_rrc_logMeasAvailable_r16_01,
      { "logMeasAvailable-r16", "nr-rrc.logMeasAvailable_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailable_r16_01_vals), 0,
        "T_logMeasAvailable_r16_01", HFILL }},
    { &hf_nr_rrc_logMeasAvailableBT_r16_01,
      { "logMeasAvailableBT-r16", "nr-rrc.logMeasAvailableBT_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailableBT_r16_01_vals), 0,
        "T_logMeasAvailableBT_r16_01", HFILL }},
    { &hf_nr_rrc_logMeasAvailableWLAN_r16_01,
      { "logMeasAvailableWLAN-r16", "nr-rrc.logMeasAvailableWLAN_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailableWLAN_r16_01_vals), 0,
        "T_logMeasAvailableWLAN_r16_01", HFILL }},
    { &hf_nr_rrc_connEstFailInfoAvailable_r16,
      { "connEstFailInfoAvailable-r16", "nr-rrc.connEstFailInfoAvailable_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailInfoAvailable_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rlf_InfoAvailable_r16,
      { "rlf-InfoAvailable-r16", "nr-rrc.rlf_InfoAvailable_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_InfoAvailable_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_successHO_InfoAvailable_r17,
      { "successHO-InfoAvailable-r17", "nr-rrc.successHO_InfoAvailable_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_successHO_InfoAvailable_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sigLogMeasConfigAvailable_r17,
      { "sigLogMeasConfigAvailable-r17", "nr-rrc.sigLogMeasConfigAvailable_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_VisitedCellInfoList_r16_item,
      { "VisitedCellInfo-r16", "nr-rrc.VisitedCellInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_visitedCellId_r16,
      { "visitedCellId-r16", "nr-rrc.visitedCellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_visitedCellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_CellId_r16,
      { "nr-CellId-r16", "nr-rrc.nr_CellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eutra_CellId_r16,
      { "eutra-CellId-r16", "nr-rrc.eutra_CellId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CellId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellGlobalId_r16_02,
      { "cellGlobalId-r16", "nr-rrc.cellGlobalId_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_InfoEUTRA", HFILL }},
    { &hf_nr_rrc_timeSpent_r16,
      { "timeSpent-r16", "nr-rrc.timeSpent_r16",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        "INTEGER_0_4095", HFILL }},
    { &hf_nr_rrc_visitedPSCellInfoListReport_r17,
      { "visitedPSCellInfoListReport-r17", "nr-rrc.visitedPSCellInfoListReport_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "VisitedPSCellInfoList_r17", HFILL }},
    { &hf_nr_rrc_VisitedPSCellInfoList_r17_item,
      { "VisitedPSCellInfo-r17", "nr-rrc.VisitedPSCellInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_visitedCellId_r17,
      { "visitedCellId-r17", "nr-rrc.visitedCellId_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_visitedCellId_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nr_CellId_r17,
      { "nr-CellId-r17", "nr-rrc.nr_CellId_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CellId_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cgi_Info_r17,
      { "cgi-Info-r17", "nr-rrc.cgi_Info_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_Info_Logging_r16", HFILL }},
    { &hf_nr_rrc_eutra_CellId_r17,
      { "eutra-CellId-r17", "nr-rrc.eutra_CellId_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CellId_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellGlobalId_r17_01,
      { "cellGlobalId-r17", "nr-rrc.cellGlobalId_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CGI_InfoEUTRALogging", HFILL }},
    { &hf_nr_rrc_pci_arfcn_r17_01,
      { "pci-arfcn-r17", "nr-rrc.pci_arfcn_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PCI_ARFCN_EUTRA_r16", HFILL }},
    { &hf_nr_rrc_timeSpent_r17,
      { "timeSpent-r17", "nr-rrc.timeSpent_r17",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
        "INTEGER_0_4095", HFILL }},
    { &hf_nr_rrc_WLAN_NameList_r16_item,
      { "WLAN-Name-r16", "nr-rrc.WLAN_Name_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_BWP_Id,
      { "sl-BWP-Id", "nr-rrc.sl_BWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BWP_Id", HFILL }},
    { &hf_nr_rrc_sl_BWP_Generic_r16,
      { "sl-BWP-Generic-r16", "nr-rrc.sl_BWP_Generic_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_BWP_PoolConfig_r16,
      { "sl-BWP-PoolConfig-r16", "nr-rrc.sl_BWP_PoolConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_BWP_PoolConfigPS_r17,
      { "sl-BWP-PoolConfigPS-r17", "nr-rrc.sl_BWP_PoolConfigPS_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_BWP_PoolConfigPS_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_187,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_BWP_PoolConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_BWP_DiscPoolConfig_r17,
      { "sl-BWP-DiscPoolConfig-r17", "nr-rrc.sl_BWP_DiscPoolConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_BWP_DiscPoolConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_188,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_BWP_DiscPoolConfig_r17", HFILL }},
    { &hf_nr_rrc_sl_BWP_r16,
      { "sl-BWP-r16", "nr-rrc.sl_BWP_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BWP", HFILL }},
    { &hf_nr_rrc_sl_LengthSymbols_r16,
      { "sl-LengthSymbols-r16", "nr-rrc.sl_LengthSymbols_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_LengthSymbols_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_StartSymbol_r16,
      { "sl-StartSymbol-r16", "nr-rrc.sl_StartSymbol_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_StartSymbol_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PSBCH_Config_r16,
      { "sl-PSBCH-Config-r16", "nr-rrc.sl_PSBCH_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSBCH_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_189,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PSBCH_Config_r16", HFILL }},
    { &hf_nr_rrc_sl_TxDirectCurrentLocation_r16,
      { "sl-TxDirectCurrentLocation-r16", "nr-rrc.sl_TxDirectCurrentLocation_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3301", HFILL }},
    { &hf_nr_rrc_sl_DiscRxPool_r17,
      { "sl-DiscRxPool-r17", "nr-rrc.sl_DiscRxPool_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16", HFILL }},
    { &hf_nr_rrc_sl_DiscRxPool_r17_item,
      { "SL-ResourcePool-r16", "nr-rrc.SL_ResourcePool_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DiscTxPoolSelected_r17,
      { "sl-DiscTxPoolSelected-r17", "nr-rrc.sl_DiscTxPoolSelected_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_TxPoolDedicated_r16", HFILL }},
    { &hf_nr_rrc_sl_DiscTxPoolScheduling_r17,
      { "sl-DiscTxPoolScheduling-r17", "nr-rrc.sl_DiscTxPoolScheduling_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_TxPoolDedicated_r16", HFILL }},
    { &hf_nr_rrc_sl_RxPool_r16,
      { "sl-RxPool-r16", "nr-rrc.sl_RxPool_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16", HFILL }},
    { &hf_nr_rrc_sl_RxPool_r16_item,
      { "SL-ResourcePool-r16", "nr-rrc.SL_ResourcePool_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TxPoolSelectedNormal_r16,
      { "sl-TxPoolSelectedNormal-r16", "nr-rrc.sl_TxPoolSelectedNormal_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_TxPoolDedicated_r16", HFILL }},
    { &hf_nr_rrc_sl_TxPoolScheduling_r16,
      { "sl-TxPoolScheduling-r16", "nr-rrc.sl_TxPoolScheduling_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_TxPoolDedicated_r16", HFILL }},
    { &hf_nr_rrc_sl_TxPoolExceptional_r16,
      { "sl-TxPoolExceptional-r16", "nr-rrc.sl_TxPoolExceptional_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_ResourcePoolConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_PoolToReleaseList_r16,
      { "sl-PoolToReleaseList-r16", "nr-rrc.sl_PoolToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16", HFILL }},
    { &hf_nr_rrc_sl_PoolToReleaseList_r16_item,
      { "SL-ResourcePoolID-r16", "nr-rrc.SL_ResourcePoolID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PoolToAddModList_r16,
      { "sl-PoolToAddModList-r16", "nr-rrc.sl_PoolToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_PoolToAddModList_r16_item,
      { "SL-ResourcePoolConfig-r16", "nr-rrc.SL_ResourcePoolConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ResourcePoolID_r16,
      { "sl-ResourcePoolID-r16", "nr-rrc.sl_ResourcePoolID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ResourcePool_r16,
      { "sl-ResourcePool-r16", "nr-rrc.sl_ResourcePool_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_CBR_PriorityTxConfigList_r16_item,
      { "SL-PriorityTxConfigIndex-r16", "nr-rrc.SL_PriorityTxConfigIndex_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_CBR_PriorityTxConfigList_v1650_item,
      { "SL-PriorityTxConfigIndex-v1650", "nr-rrc.SL_PriorityTxConfigIndex_v1650_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PriorityThreshold_r16,
      { "sl-PriorityThreshold-r16", "nr-rrc.sl_PriorityThreshold_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_DefaultTxConfigIndex_r16,
      { "sl-DefaultTxConfigIndex-r16", "nr-rrc.sl_DefaultTxConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxCBR_Level_1_r16", HFILL }},
    { &hf_nr_rrc_sl_CBR_ConfigIndex_r16,
      { "sl-CBR-ConfigIndex-r16", "nr-rrc.sl_CBR_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxCBR_Config_1_r16", HFILL }},
    { &hf_nr_rrc_sl_Tx_ConfigIndexList_r16,
      { "sl-Tx-ConfigIndexList-r16", "nr-rrc.sl_Tx_ConfigIndexList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16", HFILL }},
    { &hf_nr_rrc_sl_Tx_ConfigIndexList_r16_item,
      { "SL-TxConfigIndex-r16", "nr-rrc.SL_TxConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MCS_RangeList_r16,
      { "sl-MCS-RangeList-r16", "nr-rrc.sl_MCS_RangeList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16", HFILL }},
    { &hf_nr_rrc_sl_MCS_RangeList_r16_item,
      { "SL-MinMaxMCS-List-r16", "nr-rrc.SL_MinMaxMCS_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CBR_RangeConfigList_r16,
      { "sl-CBR-RangeConfigList-r16", "nr-rrc.sl_CBR_RangeConfigList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_CBR_RangeConfigList_r16_item,
      { "SL-CBR-LevelsConfig-r16", "nr-rrc.SL_CBR_LevelsConfig_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16,
      { "sl-CBR-PSSCH-TxConfigList-r16", "nr-rrc.sl_CBR_PSSCH_TxConfigList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16_item,
      { "SL-CBR-PSSCH-TxConfig-r16", "nr-rrc.SL_CBR_PSSCH_TxConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_CBR_LevelsConfig_r16_item,
      { "SL-CBR-r16", "nr-rrc.SL_CBR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CR_Limit_r16,
      { "sl-CR-Limit-r16", "nr-rrc.sl_CR_Limit_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_10000", HFILL }},
    { &hf_nr_rrc_sl_TxParameters_r16,
      { "sl-TxParameters-r16", "nr-rrc.sl_TxParameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PSSCH_TxParameters_r16", HFILL }},
    { &hf_nr_rrc_sl_PHY_MAC_RLC_Config_r16,
      { "sl-PHY-MAC-RLC-Config-r16", "nr-rrc.sl_PHY_MAC_RLC_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RadioBearerToReleaseList_r16,
      { "sl-RadioBearerToReleaseList-r16", "nr-rrc.sl_RadioBearerToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16", HFILL }},
    { &hf_nr_rrc_sl_RadioBearerToReleaseList_r16_item,
      { "SLRB-Uu-ConfigIndex-r16", "nr-rrc.SLRB_Uu_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RadioBearerToAddModList_r16,
      { "sl-RadioBearerToAddModList-r16", "nr-rrc.sl_RadioBearerToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_RadioBearerToAddModList_r16_item,
      { "SL-RadioBearerConfig-r16", "nr-rrc.SL_RadioBearerConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16,
      { "sl-MeasConfigInfoToReleaseList-r16", "nr-rrc.sl_MeasConfigInfoToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16", HFILL }},
    { &hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16_item,
      { "SL-DestinationIndex-r16", "nr-rrc.SL_DestinationIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16,
      { "sl-MeasConfigInfoToAddModList-r16", "nr-rrc.sl_MeasConfigInfoToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16", HFILL }},
    { &hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16_item,
      { "SL-MeasConfigInfo-r16", "nr-rrc.SL_MeasConfigInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t400_r16,
      { "t400-r16", "nr-rrc.t400_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t400_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PHY_MAC_RLC_Config_v1700,
      { "sl-PHY-MAC-RLC-Config-v1700", "nr-rrc.sl_PHY_MAC_RLC_Config_v1700",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PHY_MAC_RLC_Config_v1700_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_190,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PHY_MAC_RLC_Config_v1700", HFILL }},
    { &hf_nr_rrc_sl_DiscConfig_r17,
      { "sl-DiscConfig-r17", "nr-rrc.sl_DiscConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DiscConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_191,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_DiscConfig_r17", HFILL }},
    { &hf_nr_rrc_sl_ScheduledConfig_r16,
      { "sl-ScheduledConfig-r16", "nr-rrc.sl_ScheduledConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ScheduledConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_192,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_ScheduledConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_UE_SelectedConfig_r16,
      { "sl-UE-SelectedConfig-r16", "nr-rrc.sl_UE_SelectedConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_UE_SelectedConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_193,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_UE_SelectedConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_FreqInfoToReleaseList_r16,
      { "sl-FreqInfoToReleaseList-r16", "nr-rrc.sl_FreqInfoToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16", HFILL }},
    { &hf_nr_rrc_sl_FreqInfoToReleaseList_r16_item,
      { "SL-Freq-Id-r16", "nr-rrc.SL_Freq_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_FreqInfoToAddModList_r16,
      { "sl-FreqInfoToAddModList-r16", "nr-rrc.sl_FreqInfoToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_FreqInfoToAddModList_r16_item,
      { "SL-FreqConfig-r16", "nr-rrc.SL_FreqConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RLC_BearerToReleaseList_r16,
      { "sl-RLC-BearerToReleaseList-r16", "nr-rrc.sl_RLC_BearerToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16", HFILL }},
    { &hf_nr_rrc_sl_RLC_BearerToReleaseList_r16_item,
      { "SL-RLC-BearerConfigIndex-r16", "nr-rrc.SL_RLC_BearerConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RLC_BearerToAddModList_r16,
      { "sl-RLC-BearerToAddModList-r16", "nr-rrc.sl_RLC_BearerToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_RLC_BearerToAddModList_r16_item,
      { "SL-RLC-BearerConfig-r16", "nr-rrc.SL_RLC_BearerConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MaxNumConsecutiveDTX_r16,
      { "sl-MaxNumConsecutiveDTX-r16", "nr-rrc.sl_MaxNumConsecutiveDTX_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MaxNumConsecutiveDTX_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CSI_Acquisition_r16,
      { "sl-CSI-Acquisition-r16", "nr-rrc.sl_CSI_Acquisition_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CSI_Acquisition_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CSI_SchedulingRequestId_r16,
      { "sl-CSI-SchedulingRequestId-r16", "nr-rrc.sl_CSI_SchedulingRequestId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CSI_SchedulingRequestId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_194,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SchedulingRequestId", HFILL }},
    { &hf_nr_rrc_sl_SSB_PriorityNR_r16,
      { "sl-SSB-PriorityNR-r16", "nr-rrc.sl_SSB_PriorityNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_networkControlledSyncTx_r16,
      { "networkControlledSyncTx-r16", "nr-rrc.networkControlledSyncTx_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_networkControlledSyncTx_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_RLC_ChannelToAddModList_r17_item,
      { "SL-RLC-ChannelConfig-r17", "nr-rrc.SL_RLC_ChannelConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_Config_r17,
      { "sl-DRX-Config-r17", "nr-rrc.sl_DRX_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelToReleaseList_r17,
      { "sl-RLC-ChannelToReleaseList-r17", "nr-rrc.sl_RLC_ChannelToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17", HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelToReleaseList_r17_item,
      { "SL-RLC-ChannelID-r17", "nr-rrc.SL_RLC_ChannelID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelToAddModList_r17,
      { "sl-RLC-ChannelToAddModList-r17", "nr-rrc.sl_RLC_ChannelToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RelayUE_Config_r17,
      { "sl-RelayUE-Config-r17", "nr-rrc.sl_RelayUE_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_RelayUE_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_195,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_RelayUE_Config_r17", HFILL }},
    { &hf_nr_rrc_sl_RemoteUE_Config_r17,
      { "sl-RemoteUE-Config-r17", "nr-rrc.sl_RemoteUE_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_RemoteUE_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_196,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_RemoteUE_Config_r17", HFILL }},
    { &hf_nr_rrc_sl_ConfigIndexCG_r16,
      { "sl-ConfigIndexCG-r16", "nr-rrc.sl_ConfigIndexCG_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PeriodCG_r16,
      { "sl-PeriodCG-r16", "nr-rrc.sl_PeriodCG_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_PeriodCG_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_NrOfHARQ_Processes_r16,
      { "sl-NrOfHARQ-Processes-r16", "nr-rrc.sl_NrOfHARQ_Processes_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_sl_HARQ_ProcID_offset_r16,
      { "sl-HARQ-ProcID-offset-r16", "nr-rrc.sl_HARQ_ProcID_offset_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_sl_CG_MaxTransNumList_r16,
      { "sl-CG-MaxTransNumList-r16", "nr-rrc.sl_CG_MaxTransNumList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrc_ConfiguredSidelinkGrant_r16,
      { "rrc-ConfiguredSidelinkGrant-r16", "nr-rrc.rrc_ConfiguredSidelinkGrant_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_rrc_ConfiguredSidelinkGrant_r16", HFILL }},
    { &hf_nr_rrc_sl_TimeResourceCG_Type1_r16,
      { "sl-TimeResourceCG-Type1-r16", "nr-rrc.sl_TimeResourceCG_Type1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_496", HFILL }},
    { &hf_nr_rrc_sl_StartSubchannelCG_Type1_r16,
      { "sl-StartSubchannelCG-Type1-r16", "nr-rrc.sl_StartSubchannelCG_Type1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_26", HFILL }},
    { &hf_nr_rrc_sl_FreqResourceCG_Type1_r16,
      { "sl-FreqResourceCG-Type1-r16", "nr-rrc.sl_FreqResourceCG_Type1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_6929", HFILL }},
    { &hf_nr_rrc_sl_TimeOffsetCG_Type1_r16,
      { "sl-TimeOffsetCG-Type1-r16", "nr-rrc.sl_TimeOffsetCG_Type1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7999", HFILL }},
    { &hf_nr_rrc_sl_N1PUCCH_AN_r16,
      { "sl-N1PUCCH-AN-r16", "nr-rrc.sl_N1PUCCH_AN_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_sl_PSFCH_ToPUCCH_CG_Type1_r16,
      { "sl-PSFCH-ToPUCCH-CG-Type1-r16", "nr-rrc.sl_PSFCH_ToPUCCH_CG_Type1_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_sl_TimeReferenceSFN_Type1_r16,
      { "sl-TimeReferenceSFN-Type1-r16", "nr-rrc.sl_TimeReferenceSFN_Type1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TimeReferenceSFN_Type1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_N1PUCCH_AN_Type2_r16,
      { "sl-N1PUCCH-AN-Type2-r16", "nr-rrc.sl_N1PUCCH_AN_Type2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PUCCH_ResourceId", HFILL }},
    { &hf_nr_rrc_SL_CG_MaxTransNumList_r16_item,
      { "SL-CG-MaxTransNum-r16", "nr-rrc.SL_CG_MaxTransNum_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Priority_r16,
      { "sl-Priority-r16", "nr-rrc.sl_Priority_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_MaxTransNum_r16,
      { "sl-MaxTransNum-r16", "nr-rrc.sl_MaxTransNum_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_sl_PeriodCG1_r16,
      { "sl-PeriodCG1-r16", "nr-rrc.sl_PeriodCG1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PeriodCG1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PeriodCG2_r16,
      { "sl-PeriodCG2-r16", "nr-rrc.sl_PeriodCG2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_99", HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigGC_BC_r17,
      { "sl-DRX-ConfigGC-BC-r17", "nr-rrc.sl_DRX_ConfigGC_BC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigUC_ToReleaseList_r17,
      { "sl-DRX-ConfigUC-ToReleaseList-r17", "nr-rrc.sl_DRX_ConfigUC_ToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16", HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigUC_ToReleaseList_r17_item,
      { "SL-DestinationIndex-r16", "nr-rrc.SL_DestinationIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigUC_ToAddModList_r17,
      { "sl-DRX-ConfigUC-ToAddModList-r17", "nr-rrc.sl_DRX_ConfigUC_ToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17", HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigUC_ToAddModList_r17_item,
      { "SL-DRX-ConfigUC-Info-r17", "nr-rrc.SL_DRX_ConfigUC_Info_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DestinationIndex_r17,
      { "sl-DestinationIndex-r17", "nr-rrc.sl_DestinationIndex_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_DestinationIndex_r16", HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigUC_r17,
      { "sl-DRX-ConfigUC-r17", "nr-rrc.sl_DRX_ConfigUC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_BC_PerQoS_List_r17,
      { "sl-DRX-GC-BC-PerQoS-List-r17", "nr-rrc.sl_DRX_GC_BC_PerQoS_List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17", HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_BC_PerQoS_List_r17_item,
      { "SL-DRX-GC-BC-QoS-r17", "nr-rrc.SL_DRX_GC_BC_QoS_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_generic_r17,
      { "sl-DRX-GC-generic-r17", "nr-rrc.sl_DRX_GC_generic_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DefaultDRX_GC_BC_r17,
      { "sl-DefaultDRX-GC-BC-r17", "nr-rrc.sl_DefaultDRX_GC_BC_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_DRX_GC_BC_QoS_r17", HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_BC_MappedQoS_FlowList_r17,
      { "sl-DRX-GC-BC-MappedQoS-FlowList-r17", "nr-rrc.sl_DRX_GC_BC_MappedQoS_FlowList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16", HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_BC_MappedQoS_FlowList_r17_item,
      { "SL-QoS-Profile-r16", "nr-rrc.SL_QoS_Profile_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_BC_OnDurationTimer_r17,
      { "sl-DRX-GC-BC-OnDurationTimer-r17", "nr-rrc.sl_DRX_GC_BC_OnDurationTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_GC_BC_OnDurationTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_milliSeconds_03,
      { "milliSeconds", "nr-rrc.milliSeconds",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_milliSeconds_03_vals), 0,
        "T_milliSeconds_03", HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_InactivityTimer_r17,
      { "sl-DRX-GC-InactivityTimer-r17", "nr-rrc.sl_DRX_GC_InactivityTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_GC_InactivityTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_BC_Cycle_r17,
      { "sl-DRX-GC-BC-Cycle-r17", "nr-rrc.sl_DRX_GC_BC_Cycle_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_GC_BC_Cycle_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_HARQ_RTT_Timer1_r17,
      { "sl-DRX-GC-HARQ-RTT-Timer1-r17", "nr-rrc.sl_DRX_GC_HARQ_RTT_Timer1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_GC_HARQ_RTT_Timer1_r17_vals), 0,
        "T_sl_DRX_GC_HARQ_RTT_Timer1_r17", HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_HARQ_RTT_Timer2_r17,
      { "sl-DRX-GC-HARQ-RTT-Timer2-r17", "nr-rrc.sl_DRX_GC_HARQ_RTT_Timer2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_GC_HARQ_RTT_Timer2_r17_vals), 0,
        "T_sl_DRX_GC_HARQ_RTT_Timer2_r17", HFILL }},
    { &hf_nr_rrc_sl_DRX_GC_RetransmissionTimer_r17,
      { "sl-DRX-GC-RetransmissionTimer-r17", "nr-rrc.sl_DRX_GC_RetransmissionTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_GC_RetransmissionTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_drx_onDurationTimer_r17,
      { "sl-drx-onDurationTimer-r17", "nr-rrc.sl_drx_onDurationTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_drx_onDurationTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_milliSeconds_04,
      { "milliSeconds", "nr-rrc.milliSeconds",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_milliSeconds_04_vals), 0,
        "T_milliSeconds_04", HFILL }},
    { &hf_nr_rrc_sl_drx_InactivityTimer_r17,
      { "sl-drx-InactivityTimer-r17", "nr-rrc.sl_drx_InactivityTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_drx_InactivityTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_drx_HARQ_RTT_Timer1_r17,
      { "sl-drx-HARQ-RTT-Timer1-r17", "nr-rrc.sl_drx_HARQ_RTT_Timer1_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_drx_HARQ_RTT_Timer1_r17_vals), 0,
        "T_sl_drx_HARQ_RTT_Timer1_r17", HFILL }},
    { &hf_nr_rrc_sl_drx_HARQ_RTT_Timer2_r17,
      { "sl-drx-HARQ-RTT-Timer2-r17", "nr-rrc.sl_drx_HARQ_RTT_Timer2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_drx_HARQ_RTT_Timer2_r17_vals), 0,
        "T_sl_drx_HARQ_RTT_Timer2_r17", HFILL }},
    { &hf_nr_rrc_sl_drx_RetransmissionTimer_r17,
      { "sl-drx-RetransmissionTimer-r17", "nr-rrc.sl_drx_RetransmissionTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_drx_RetransmissionTimer_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_drx_CycleStartOffset_r17,
      { "sl-drx-CycleStartOffset-r17", "nr-rrc.sl_drx_CycleStartOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_drx_CycleStartOffset_r17_vals), 0,
        "T_sl_drx_CycleStartOffset_r17", HFILL }},
    { &hf_nr_rrc_sl_drx_SlotOffset,
      { "sl-drx-SlotOffset", "nr-rrc.sl_drx_SlotOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_sl_drx_onDurationTimer_r17_01,
      { "sl-drx-onDurationTimer-r17", "nr-rrc.sl_drx_onDurationTimer_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_drx_onDurationTimer_r17_01_vals), 0,
        "T_sl_drx_onDurationTimer_r17_01", HFILL }},
    { &hf_nr_rrc_milliSeconds_05,
      { "milliSeconds", "nr-rrc.milliSeconds",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_milliSeconds_05_vals), 0,
        "T_milliSeconds_05", HFILL }},
    { &hf_nr_rrc_sl_drx_CycleStartOffset_r17_01,
      { "sl-drx-CycleStartOffset-r17", "nr-rrc.sl_drx_CycleStartOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_drx_CycleStartOffset_r17_01_vals), 0,
        "T_sl_drx_CycleStartOffset_r17_01", HFILL }},
    { &hf_nr_rrc_sl_drx_SlotOffset_r17,
      { "sl-drx-SlotOffset-r17", "nr-rrc.sl_drx_SlotOffset_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_sl_Freq_Id_r16,
      { "sl-Freq-Id-r16", "nr-rrc.sl_Freq_Id_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SCS_SpecificCarrierList_r16,
      { "sl-SCS-SpecificCarrierList-r16", "nr-rrc.sl_SCS_SpecificCarrierList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }},
    { &hf_nr_rrc_sl_SCS_SpecificCarrierList_r16_item,
      { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_AbsoluteFrequencyPointA_r16,
      { "sl-AbsoluteFrequencyPointA-r16", "nr-rrc.sl_AbsoluteFrequencyPointA_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_sl_AbsoluteFrequencySSB_r16,
      { "sl-AbsoluteFrequencySSB-r16", "nr-rrc.sl_AbsoluteFrequencySSB_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_frequencyShift7p5khzSL_r16,
      { "frequencyShift7p5khzSL-r16", "nr-rrc.frequencyShift7p5khzSL_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khzSL_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_valueN_r16,
      { "valueN-r16", "nr-rrc.valueN_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M1_1", HFILL }},
    { &hf_nr_rrc_sl_BWP_ToReleaseList_r16,
      { "sl-BWP-ToReleaseList-r16", "nr-rrc.sl_BWP_ToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id", HFILL }},
    { &hf_nr_rrc_sl_BWP_ToReleaseList_r16_item,
      { "BWP-Id", "nr-rrc.BWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_BWP_ToAddModList_r16,
      { "sl-BWP-ToAddModList-r16", "nr-rrc.sl_BWP_ToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16", HFILL }},
    { &hf_nr_rrc_sl_BWP_ToAddModList_r16_item,
      { "SL-BWP-Config-r16", "nr-rrc.SL_BWP_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SyncConfigList_r16,
      { "sl-SyncConfigList-r16", "nr-rrc.sl_SyncConfigList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SyncPriority_r16,
      { "sl-SyncPriority-r16", "nr-rrc.sl_SyncPriority_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SyncPriority_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_InterUE_CoordinationScheme1_r17,
      { "sl-InterUE-CoordinationScheme1-r17", "nr-rrc.sl_InterUE_CoordinationScheme1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_InterUE_CoordinationScheme2_r17,
      { "sl-InterUE-CoordinationScheme2-r17", "nr-rrc.sl_InterUE_CoordinationScheme2_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_IUC_Explicit_r17,
      { "sl-IUC-Explicit-r17", "nr-rrc.sl_IUC_Explicit_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_IUC_Explicit_r17_vals), 0,
        "T_sl_IUC_Explicit_r17", HFILL }},
    { &hf_nr_rrc_sl_IUC_Condition_r17,
      { "sl-IUC-Condition-r17", "nr-rrc.sl_IUC_Condition_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_IUC_Condition_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Condition1_A_2_r17,
      { "sl-Condition1-A-2-r17", "nr-rrc.sl_Condition1_A_2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Condition1_A_2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option1List_r17,
      { "sl-ThresholdRSRP-Condition1-B-1-Option1List-r17", "nr-rrc.sl_ThresholdRSRP_Condition1_B_1_Option1List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17", HFILL }},
    { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option1List_r17_item,
      { "SL-ThresholdRSRP-Condition1-B-1-r17", "nr-rrc.SL_ThresholdRSRP_Condition1_B_1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option2List_r17,
      { "sl-ThresholdRSRP-Condition1-B-1-Option2List-r17", "nr-rrc.sl_ThresholdRSRP_Condition1_B_1_Option2List_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17", HFILL }},
    { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_Option2List_r17_item,
      { "SL-ThresholdRSRP-Condition1-B-1-r17", "nr-rrc.SL_ThresholdRSRP_Condition1_B_1_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ContainerCoordInfo_r17,
      { "sl-ContainerCoordInfo-r17", "nr-rrc.sl_ContainerCoordInfo_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ContainerCoordInfo_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ContainerRequest_r17,
      { "sl-ContainerRequest-r17", "nr-rrc.sl_ContainerRequest_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ContainerRequest_r17_vals), 0,
        "T_sl_ContainerRequest_r17", HFILL }},
    { &hf_nr_rrc_sl_TriggerConditionCoordInfo_r17,
      { "sl-TriggerConditionCoordInfo-r17", "nr-rrc.sl_TriggerConditionCoordInfo_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_sl_TriggerConditionRequest_r17,
      { "sl-TriggerConditionRequest-r17", "nr-rrc.sl_TriggerConditionRequest_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_sl_PriorityCoordInfoExplicit_r17,
      { "sl-PriorityCoordInfoExplicit-r17", "nr-rrc.sl_PriorityCoordInfoExplicit_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_PriorityCoordInfoCondition_r17,
      { "sl-PriorityCoordInfoCondition-r17", "nr-rrc.sl_PriorityCoordInfoCondition_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_PriorityRequest_r17,
      { "sl-PriorityRequest-r17", "nr-rrc.sl_PriorityRequest_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_PriorityPreferredResourceSet_r17,
      { "sl-PriorityPreferredResourceSet-r17", "nr-rrc.sl_PriorityPreferredResourceSet_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_MaxSlotOffsetTRIV_r17,
      { "sl-MaxSlotOffsetTRIV-r17", "nr-rrc.sl_MaxSlotOffsetTRIV_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8000", HFILL }},
    { &hf_nr_rrc_sl_NumSubCH_PreferredResourceSet_r17,
      { "sl-NumSubCH-PreferredResourceSet-r17", "nr-rrc.sl_NumSubCH_PreferredResourceSet_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_27", HFILL }},
    { &hf_nr_rrc_sl_ReservedPeriodPreferredResourceSet_r17,
      { "sl-ReservedPeriodPreferredResourceSet-r17", "nr-rrc.sl_ReservedPeriodPreferredResourceSet_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_sl_DetermineResourceType_r17,
      { "sl-DetermineResourceType-r17", "nr-rrc.sl_DetermineResourceType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DetermineResourceType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_IUC_Scheme2_r17,
      { "sl-IUC-Scheme2-r17", "nr-rrc.sl_IUC_Scheme2_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_IUC_Scheme2_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RB_SetPSFCH_r17,
      { "sl-RB-SetPSFCH-r17", "nr-rrc.sl_RB_SetPSFCH_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10_275", HFILL }},
    { &hf_nr_rrc_sl_TypeUE_A_r17,
      { "sl-TypeUE-A-r17", "nr-rrc.sl_TypeUE_A_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TypeUE_A_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PSFCH_Occasion_r17,
      { "sl-PSFCH-Occasion-r17", "nr-rrc.sl_PSFCH_Occasion_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_sl_SlotLevelResourceExclusion_r17,
      { "sl-SlotLevelResourceExclusion-r17", "nr-rrc.sl_SlotLevelResourceExclusion_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SlotLevelResourceExclusion_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_OptionForCondition2_A_1_r17,
      { "sl-OptionForCondition2-A-1-r17", "nr-rrc.sl_OptionForCondition2_A_1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_nr_rrc_sl_IndicationUE_B_r17,
      { "sl-IndicationUE-B-r17", "nr-rrc.sl_IndicationUE_B_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_IndicationUE_B_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DeltaRSRP_Thresh_v1720,
      { "sl-DeltaRSRP-Thresh-v1720", "nr-rrc.sl_DeltaRSRP_Thresh_v1720",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M30_30", HFILL }},
    { &hf_nr_rrc_sl_Priority_r17,
      { "sl-Priority-r17", "nr-rrc.sl_Priority_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_ThresholdRSRP_Condition1_B_1_r17,
      { "sl-ThresholdRSRP-Condition1-B-1-r17", "nr-rrc.sl_ThresholdRSRP_Condition1_B_1_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_66", HFILL }},
    { &hf_nr_rrc_sl_PrioritisedBitRate_r16,
      { "sl-PrioritisedBitRate-r16", "nr-rrc.sl_PrioritisedBitRate_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PrioritisedBitRate_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_BucketSizeDuration_r16,
      { "sl-BucketSizeDuration-r16", "nr-rrc.sl_BucketSizeDuration_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_BucketSizeDuration_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ConfiguredGrantType1Allowed_r16,
      { "sl-ConfiguredGrantType1Allowed-r16", "nr-rrc.sl_ConfiguredGrantType1Allowed_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ConfiguredGrantType1Allowed_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_HARQ_FeedbackEnabled_r16,
      { "sl-HARQ-FeedbackEnabled-r16", "nr-rrc.sl_HARQ_FeedbackEnabled_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_HARQ_FeedbackEnabled_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_AllowedCG_List_r16,
      { "sl-AllowedCG-List-r16", "nr-rrc.sl_AllowedCG_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16", HFILL }},
    { &hf_nr_rrc_sl_AllowedCG_List_r16_item,
      { "SL-ConfigIndexCG-r16", "nr-rrc.SL_ConfigIndexCG_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_AllowedSCS_List_r16,
      { "sl-AllowedSCS-List-r16", "nr-rrc.sl_AllowedSCS_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing", HFILL }},
    { &hf_nr_rrc_sl_AllowedSCS_List_r16_item,
      { "SubcarrierSpacing", "nr-rrc.SubcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MaxPUSCH_Duration_r16,
      { "sl-MaxPUSCH-Duration-r16", "nr-rrc.sl_MaxPUSCH_Duration_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MaxPUSCH_Duration_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_LogicalChannelGroup_r16,
      { "sl-LogicalChannelGroup-r16", "nr-rrc.sl_LogicalChannelGroup_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxLCG_ID", HFILL }},
    { &hf_nr_rrc_sl_SchedulingRequestId_r16,
      { "sl-SchedulingRequestId-r16", "nr-rrc.sl_SchedulingRequestId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SchedulingRequestId", HFILL }},
    { &hf_nr_rrc_sl_LogicalChannelSR_DelayTimerApplied_r16,
      { "sl-LogicalChannelSR-DelayTimerApplied-r16", "nr-rrc.sl_LogicalChannelSR_DelayTimerApplied_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_sl_RemoteUE_ToAddModList_r17,
      { "sl-RemoteUE-ToAddModList-r17", "nr-rrc.sl_RemoteUE_ToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17", HFILL }},
    { &hf_nr_rrc_sl_RemoteUE_ToAddModList_r17_item,
      { "SL-RemoteUE-ToAddMod-r17", "nr-rrc.SL_RemoteUE_ToAddMod_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RemoteUE_ToReleaseList_r17,
      { "sl-RemoteUE-ToReleaseList-r17", "nr-rrc.sl_RemoteUE_ToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16", HFILL }},
    { &hf_nr_rrc_sl_RemoteUE_ToReleaseList_r17_item,
      { "SL-DestinationIdentity-r16", "nr-rrc.SL_DestinationIdentity_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_L2IdentityRemote_r17,
      { "sl-L2IdentityRemote-r17", "nr-rrc.sl_L2IdentityRemote_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SL_DestinationIdentity_r16", HFILL }},
    { &hf_nr_rrc_sl_SRAP_ConfigRelay_r17,
      { "sl-SRAP-ConfigRelay-r17", "nr-rrc.sl_SRAP_ConfigRelay_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_SRAP_Config_r17", HFILL }},
    { &hf_nr_rrc_sl_SRAP_ConfigRemote_r17,
      { "sl-SRAP-ConfigRemote-r17", "nr-rrc.sl_SRAP_ConfigRemote_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_SRAP_Config_r17", HFILL }},
    { &hf_nr_rrc_sl_DestinationIndex_r16,
      { "sl-DestinationIndex-r16", "nr-rrc.sl_DestinationIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasConfig_r16,
      { "sl-MeasConfig-r16", "nr-rrc.sl_MeasConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasObjectToRemoveList_r16,
      { "sl-MeasObjectToRemoveList-r16", "nr-rrc.sl_MeasObjectToRemoveList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasObjectToAddModList_r16,
      { "sl-MeasObjectToAddModList-r16", "nr-rrc.sl_MeasObjectToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_MeasObjectList_r16", HFILL }},
    { &hf_nr_rrc_sl_ReportConfigToRemoveList_r16,
      { "sl-ReportConfigToRemoveList-r16", "nr-rrc.sl_ReportConfigToRemoveList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ReportConfigToAddModList_r16,
      { "sl-ReportConfigToAddModList-r16", "nr-rrc.sl_ReportConfigToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_ReportConfigList_r16", HFILL }},
    { &hf_nr_rrc_sl_MeasIdToRemoveList_r16,
      { "sl-MeasIdToRemoveList-r16", "nr-rrc.sl_MeasIdToRemoveList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasIdToAddModList_r16,
      { "sl-MeasIdToAddModList-r16", "nr-rrc.sl_MeasIdToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_MeasIdList_r16", HFILL }},
    { &hf_nr_rrc_sl_QuantityConfig_r16,
      { "sl-QuantityConfig-r16", "nr-rrc.sl_QuantityConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_MeasObjectToRemoveList_r16_item,
      { "SL-MeasObjectId-r16", "nr-rrc.SL_MeasObjectId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_ReportConfigToRemoveList_r16_item,
      { "SL-ReportConfigId-r16", "nr-rrc.SL_ReportConfigId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_MeasIdToRemoveList_r16_item,
      { "SL-MeasId-r16", "nr-rrc.SL_MeasId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_MeasIdList_r16_item,
      { "SL-MeasIdInfo-r16", "nr-rrc.SL_MeasIdInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasId_r16,
      { "sl-MeasId-r16", "nr-rrc.sl_MeasId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasObjectId_r16,
      { "sl-MeasObjectId-r16", "nr-rrc.sl_MeasObjectId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ReportConfigId_r16,
      { "sl-ReportConfigId-r16", "nr-rrc.sl_ReportConfigId_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_MeasObjectList_r16_item,
      { "SL-MeasObjectInfo-r16", "nr-rrc.SL_MeasObjectInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasObject_r16,
      { "sl-MeasObject-r16", "nr-rrc.sl_MeasObject_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_frequencyInfoSL_r16,
      { "frequencyInfoSL-r16", "nr-rrc.frequencyInfoSL_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ARFCN_ValueNR", HFILL }},
    { &hf_nr_rrc_ng_5G_S_TMSI_r17,
      { "ng-5G-S-TMSI-r17", "nr-rrc.ng_5G_S_TMSI_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "NG_5G_S_TMSI", HFILL }},
    { &hf_nr_rrc_fullI_RNTI_r17,
      { "fullI-RNTI-r17", "nr-rrc.fullI_RNTI_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "I_RNTI_Value", HFILL }},
    { &hf_nr_rrc_sl_AllowedResourceSelectionConfig_r17,
      { "sl-AllowedResourceSelectionConfig-r17", "nr-rrc.sl_AllowedResourceSelectionConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_AllowedResourceSelectionConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MinNumCandidateSlotsPeriodic_r17,
      { "sl-MinNumCandidateSlotsPeriodic-r17", "nr-rrc.sl_MinNumCandidateSlotsPeriodic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_sl_PBPS_OccasionReservePeriodList_r17,
      { "sl-PBPS-OccasionReservePeriodList-r17", "nr-rrc.sl_PBPS_OccasionReservePeriodList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sl_PBPS_OccasionReservePeriodList_r17", HFILL }},
    { &hf_nr_rrc_sl_PBPS_OccasionReservePeriodList_r17_item,
      { "sl-PBPS-OccasionReservePeriodList-r17 item", "nr-rrc.sl_PBPS_OccasionReservePeriodList_r17_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_sl_Additional_PBPS_Occasion_r17,
      { "sl-Additional-PBPS-Occasion-r17", "nr-rrc.sl_Additional_PBPS_Occasion_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Additional_PBPS_Occasion_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CPS_WindowPeriodic_r17,
      { "sl-CPS-WindowPeriodic-r17", "nr-rrc.sl_CPS_WindowPeriodic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_5_30", HFILL }},
    { &hf_nr_rrc_sl_MinNumCandidateSlotsAperiodic_r17,
      { "sl-MinNumCandidateSlotsAperiodic-r17", "nr-rrc.sl_MinNumCandidateSlotsAperiodic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_sl_MinNumRssiMeasurementSlots_r17,
      { "sl-MinNumRssiMeasurementSlots-r17", "nr-rrc.sl_MinNumRssiMeasurementSlots_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_800", HFILL }},
    { &hf_nr_rrc_sl_DefaultCBR_RandomSelection_r17,
      { "sl-DefaultCBR-RandomSelection-r17", "nr-rrc.sl_DefaultCBR_RandomSelection_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_nr_rrc_sl_DefaultCBR_PartialSensing_r17,
      { "sl-DefaultCBR-PartialSensing-r17", "nr-rrc.sl_DefaultCBR_PartialSensing_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_nr_rrc_sl_CPS_WindowAperiodic_r17,
      { "sl-CPS-WindowAperiodic-r17", "nr-rrc.sl_CPS_WindowAperiodic_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_30", HFILL }},
    { &hf_nr_rrc_sl_PartialSensingInactiveTime_r17,
      { "sl-PartialSensingInactiveTime-r17", "nr-rrc.sl_PartialSensingInactiveTime_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PartialSensingInactiveTime_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DiscardTimer_r16,
      { "sl-DiscardTimer-r16", "nr-rrc.sl_DiscardTimer_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_sl_DiscardTimer_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PDCP_SN_Size_r16,
      { "sl-PDCP-SN-Size-r16", "nr-rrc.sl_PDCP_SN_Size_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PDCP_SN_Size_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_OutOfOrderDelivery,
      { "sl-OutOfOrderDelivery", "nr-rrc.sl_OutOfOrderDelivery",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_OutOfOrderDelivery_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_P0_PSBCH_r16,
      { "dl-P0-PSBCH-r16", "nr-rrc.dl_P0_PSBCH_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_dl_Alpha_PSBCH_r16,
      { "dl-Alpha-PSBCH-r16", "nr-rrc.dl_Alpha_PSBCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_Alpha_PSBCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_P0_PSBCH_r17,
      { "dl-P0-PSBCH-r17", "nr-rrc.dl_P0_PSBCH_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_SL_PSSCH_TxConfigList_r16_item,
      { "SL-PSSCH-TxConfig-r16", "nr-rrc.SL_PSSCH_TxConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TypeTxSync_r16,
      { "sl-TypeTxSync-r16", "nr-rrc.sl_TypeTxSync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TypeTxSync_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ThresUE_Speed_r16,
      { "sl-ThresUE-Speed-r16", "nr-rrc.sl_ThresUE_Speed_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ThresUE_Speed_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ParametersAboveThres_r16,
      { "sl-ParametersAboveThres-r16", "nr-rrc.sl_ParametersAboveThres_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PSSCH_TxParameters_r16", HFILL }},
    { &hf_nr_rrc_sl_ParametersBelowThres_r16,
      { "sl-ParametersBelowThres-r16", "nr-rrc.sl_ParametersBelowThres_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PSSCH_TxParameters_r16", HFILL }},
    { &hf_nr_rrc_sl_ParametersAboveThres_v1650,
      { "sl-ParametersAboveThres-v1650", "nr-rrc.sl_ParametersAboveThres_v1650",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_MinMaxMCS_List_r16", HFILL }},
    { &hf_nr_rrc_sl_ParametersBelowThres_v1650,
      { "sl-ParametersBelowThres-v1650", "nr-rrc.sl_ParametersBelowThres_v1650",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_MinMaxMCS_List_r16", HFILL }},
    { &hf_nr_rrc_sl_MinMCS_PSSCH_r16,
      { "sl-MinMCS-PSSCH-r16", "nr-rrc.sl_MinMCS_PSSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_27", HFILL }},
    { &hf_nr_rrc_sl_MaxMCS_PSSCH_r16,
      { "sl-MaxMCS-PSSCH-r16", "nr-rrc.sl_MaxMCS_PSSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_sl_MinSubChannelNumPSSCH_r16,
      { "sl-MinSubChannelNumPSSCH-r16", "nr-rrc.sl_MinSubChannelNumPSSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_27", HFILL }},
    { &hf_nr_rrc_sl_MaxSubchannelNumPSSCH_r16,
      { "sl-MaxSubchannelNumPSSCH-r16", "nr-rrc.sl_MaxSubchannelNumPSSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_27", HFILL }},
    { &hf_nr_rrc_sl_MaxTxTransNumPSSCH_r16,
      { "sl-MaxTxTransNumPSSCH-r16", "nr-rrc.sl_MaxTxTransNumPSSCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_sl_MaxTxPower_r16,
      { "sl-MaxTxPower-r16", "nr-rrc.sl_MaxTxPower_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TxPower_r16_vals), 0,
        "SL_TxPower_r16", HFILL }},
    { &hf_nr_rrc_sl_PQI_r16,
      { "sl-PQI-r16", "nr-rrc.sl_PQI_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_PQI_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_GFBR_r16,
      { "sl-GFBR-r16", "nr-rrc.sl_GFBR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4000000000", HFILL }},
    { &hf_nr_rrc_sl_MFBR_r16,
      { "sl-MFBR-r16", "nr-rrc.sl_MFBR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4000000000", HFILL }},
    { &hf_nr_rrc_sl_Range_r16,
      { "sl-Range-r16", "nr-rrc.sl_Range_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_1000", HFILL }},
    { &hf_nr_rrc_sl_StandardizedPQI_r16,
      { "sl-StandardizedPQI-r16", "nr-rrc.sl_StandardizedPQI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_sl_Non_StandardizedPQI_r16,
      { "sl-Non-StandardizedPQI-r16", "nr-rrc.sl_Non_StandardizedPQI_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ResourceType_r16,
      { "sl-ResourceType-r16", "nr-rrc.sl_ResourceType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ResourceType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PriorityLevel_r16,
      { "sl-PriorityLevel-r16", "nr-rrc.sl_PriorityLevel_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_PacketDelayBudget_r16,
      { "sl-PacketDelayBudget-r16", "nr-rrc.sl_PacketDelayBudget_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_sl_PacketErrorRate_r16,
      { "sl-PacketErrorRate-r16", "nr-rrc.sl_PacketErrorRate_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_nr_rrc_sl_AveragingWindow_r16,
      { "sl-AveragingWindow-r16", "nr-rrc.sl_AveragingWindow_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4095", HFILL }},
    { &hf_nr_rrc_sl_MaxDataBurstVolume_r16,
      { "sl-MaxDataBurstVolume-r16", "nr-rrc.sl_MaxDataBurstVolume_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4095", HFILL }},
    { &hf_nr_rrc_sl_FilterCoefficientDMRS_r16,
      { "sl-FilterCoefficientDMRS-r16", "nr-rrc.sl_FilterCoefficientDMRS_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_slrb_Uu_ConfigIndex_r16,
      { "slrb-Uu-ConfigIndex-r16", "nr-rrc.slrb_Uu_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SDAP_Config_r16,
      { "sl-SDAP-Config-r16", "nr-rrc.sl_SDAP_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PDCP_Config_r16,
      { "sl-PDCP-Config-r16", "nr-rrc.sl_PDCP_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TransRange_r16,
      { "sl-TransRange-r16", "nr-rrc.sl_TransRange_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_sl_TransRange_r16_vals_ext, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_threshHighRelay_r17,
      { "threshHighRelay-r17", "nr-rrc.threshHighRelay_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_threshLowRelay_r17,
      { "threshLowRelay-r17", "nr-rrc.threshLowRelay_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_hystMaxRelay_r17,
      { "hystMaxRelay-r17", "nr-rrc.hystMaxRelay_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
        "Hysteresis", HFILL }},
    { &hf_nr_rrc_hystMinRelay_r17,
      { "hystMinRelay-r17", "nr-rrc.hystMinRelay_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
        "Hysteresis", HFILL }},
    { &hf_nr_rrc_threshHighRemote_r17,
      { "threshHighRemote-r17", "nr-rrc.threshHighRemote_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_hystMaxRemote_r17,
      { "hystMaxRemote-r17", "nr-rrc.hystMaxRemote_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
        "Hysteresis", HFILL }},
    { &hf_nr_rrc_sl_ReselectionConfig_r17,
      { "sl-ReselectionConfig-r17", "nr-rrc.sl_ReselectionConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RSRP_Thresh_r17,
      { "sl-RSRP-Thresh-r17", "nr-rrc.sl_RSRP_Thresh_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_RSRP_Range_r16", HFILL }},
    { &hf_nr_rrc_sl_FilterCoefficientRSRP_r17,
      { "sl-FilterCoefficientRSRP-r17", "nr-rrc.sl_FilterCoefficientRSRP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_sl_HystMin_r17,
      { "sl-HystMin-r17", "nr-rrc.sl_HystMin_r17",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
        "Hysteresis", HFILL }},
    { &hf_nr_rrc_SL_ReportConfigList_r16_item,
      { "SL-ReportConfigInfo-r16", "nr-rrc.SL_ReportConfigInfo_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ReportConfig_r16,
      { "sl-ReportConfig-r16", "nr-rrc.sl_ReportConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ReportType_r16,
      { "sl-ReportType-r16", "nr-rrc.sl_ReportType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ReportType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Periodical_r16,
      { "sl-Periodical-r16", "nr-rrc.sl_Periodical_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PeriodicalReportConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_EventTriggered_r16,
      { "sl-EventTriggered-r16", "nr-rrc.sl_EventTriggered_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_EventTriggerConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_ReportInterval_r16,
      { "sl-ReportInterval-r16", "nr-rrc.sl_ReportInterval_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0,
        "ReportInterval", HFILL }},
    { &hf_nr_rrc_sl_ReportAmount_r16,
      { "sl-ReportAmount-r16", "nr-rrc.sl_ReportAmount_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ReportAmount_r16_vals), 0,
        "T_sl_ReportAmount_r16", HFILL }},
    { &hf_nr_rrc_sl_ReportQuantity_r16,
      { "sl-ReportQuantity-r16", "nr-rrc.sl_ReportQuantity_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasReportQuantity_r16_vals), 0,
        "SL_MeasReportQuantity_r16", HFILL }},
    { &hf_nr_rrc_sl_RS_Type_r16,
      { "sl-RS-Type-r16", "nr-rrc.sl_RS_Type_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RS_Type_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_EventId_r16,
      { "sl-EventId-r16", "nr-rrc.sl_EventId_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_EventId_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_eventS1_r16,
      { "eventS1-r16", "nr-rrc.eventS1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s1_Threshold_r16,
      { "s1-Threshold-r16", "nr-rrc.s1_Threshold_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasTriggerQuantity_r16_vals), 0,
        "SL_MeasTriggerQuantity_r16", HFILL }},
    { &hf_nr_rrc_sl_ReportOnLeave_r16,
      { "sl-ReportOnLeave-r16", "nr-rrc.sl_ReportOnLeave_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_sl_Hysteresis_r16,
      { "sl-Hysteresis-r16", "nr-rrc.sl_Hysteresis_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
        "Hysteresis", HFILL }},
    { &hf_nr_rrc_sl_TimeToTrigger_r16,
      { "sl-TimeToTrigger-r16", "nr-rrc.sl_TimeToTrigger_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0,
        "TimeToTrigger", HFILL }},
    { &hf_nr_rrc_eventS2_r16,
      { "eventS2-r16", "nr-rrc.eventS2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_s2_Threshold_r16,
      { "s2-Threshold-r16", "nr-rrc.s2_Threshold_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasTriggerQuantity_r16_vals), 0,
        "SL_MeasTriggerQuantity_r16", HFILL }},
    { &hf_nr_rrc_sl_ReportAmount_r16_01,
      { "sl-ReportAmount-r16", "nr-rrc.sl_ReportAmount_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ReportAmount_r16_01_vals), 0,
        "T_sl_ReportAmount_r16_01", HFILL }},
    { &hf_nr_rrc_sL_MeasReportQuantity_r16_sl_RSRP_r16,
      { "sl-RSRP-r16", "nr-rrc.sL_MeasReportQuantity_r16.sl_RSRP_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_sl_RSRP_r16,
      { "sl-RSRP-r16", "nr-rrc.sl_RSRP_r16",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
        "RSRP_Range", HFILL }},
    { &hf_nr_rrc_sl_PSCCH_Config_r16,
      { "sl-PSCCH-Config-r16", "nr-rrc.sl_PSCCH_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSCCH_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_197,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PSCCH_Config_r16", HFILL }},
    { &hf_nr_rrc_sl_PSSCH_Config_r16,
      { "sl-PSSCH-Config-r16", "nr-rrc.sl_PSSCH_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSSCH_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_198,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PSSCH_Config_r16", HFILL }},
    { &hf_nr_rrc_sl_PSFCH_Config_r16,
      { "sl-PSFCH-Config-r16", "nr-rrc.sl_PSFCH_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSFCH_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_199,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PSFCH_Config_r16", HFILL }},
    { &hf_nr_rrc_sl_SyncAllowed_r16,
      { "sl-SyncAllowed-r16", "nr-rrc.sl_SyncAllowed_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SubchannelSize_r16,
      { "sl-SubchannelSize-r16", "nr-rrc.sl_SubchannelSize_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SubchannelSize_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sL_ResourcePool_r16_dummy,
      { "dummy", "nr-rrc.sL_ResourcePool_r16.dummy",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_10_160", HFILL }},
    { &hf_nr_rrc_sl_StartRB_Subchannel_r16,
      { "sl-StartRB-Subchannel-r16", "nr-rrc.sl_StartRB_Subchannel_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_265", HFILL }},
    { &hf_nr_rrc_sl_NumSubchannel_r16,
      { "sl-NumSubchannel-r16", "nr-rrc.sl_NumSubchannel_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_27", HFILL }},
    { &hf_nr_rrc_sl_Additional_MCS_Table_r16,
      { "sl-Additional-MCS-Table-r16", "nr-rrc.sl_Additional_MCS_Table_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Additional_MCS_Table_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ThreshS_RSSI_CBR_r16,
      { "sl-ThreshS-RSSI-CBR-r16", "nr-rrc.sl_ThreshS_RSSI_CBR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_45", HFILL }},
    { &hf_nr_rrc_sl_TimeWindowSizeCBR_r16,
      { "sl-TimeWindowSizeCBR-r16", "nr-rrc.sl_TimeWindowSizeCBR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TimeWindowSizeCBR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TimeWindowSizeCR_r16,
      { "sl-TimeWindowSizeCR-r16", "nr-rrc.sl_TimeWindowSizeCR_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TimeWindowSizeCR_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PTRS_Config_r16,
      { "sl-PTRS-Config-r16", "nr-rrc.sl_PTRS_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_UE_SelectedConfigRP_r16,
      { "sl-UE-SelectedConfigRP-r16", "nr-rrc.sl_UE_SelectedConfigRP_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RxParametersNcell_r16,
      { "sl-RxParametersNcell-r16", "nr-rrc.sl_RxParametersNcell_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TDD_Configuration_r16,
      { "sl-TDD-Configuration-r16", "nr-rrc.sl_TDD_Configuration_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TDD_UL_DL_ConfigCommon", HFILL }},
    { &hf_nr_rrc_sl_SyncConfigIndex_r16,
      { "sl-SyncConfigIndex-r16", "nr-rrc.sl_SyncConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_sl_ZoneConfigMCR_List_r16,
      { "sl-ZoneConfigMCR-List-r16", "nr-rrc.sl_ZoneConfigMCR_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16", HFILL }},
    { &hf_nr_rrc_sl_ZoneConfigMCR_List_r16_item,
      { "SL-ZoneConfigMCR-r16", "nr-rrc.SL_ZoneConfigMCR_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_FilterCoefficient_r16,
      { "sl-FilterCoefficient-r16", "nr-rrc.sl_FilterCoefficient_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_sl_RB_Number_r16,
      { "sl-RB-Number-r16", "nr-rrc.sl_RB_Number_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_10_275", HFILL }},
    { &hf_nr_rrc_sl_PreemptionEnable_r16,
      { "sl-PreemptionEnable-r16", "nr-rrc.sl_PreemptionEnable_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PreemptionEnable_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PriorityThreshold_UL_URLLC_r16,
      { "sl-PriorityThreshold-UL-URLLC-r16", "nr-rrc.sl_PriorityThreshold_UL_URLLC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_9", HFILL }},
    { &hf_nr_rrc_sl_PriorityThreshold_r16_01,
      { "sl-PriorityThreshold-r16", "nr-rrc.sl_PriorityThreshold_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_9", HFILL }},
    { &hf_nr_rrc_sl_X_Overhead_r16,
      { "sl-X-Overhead-r16", "nr-rrc.sl_X_Overhead_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_X_Overhead_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PowerControl_r16,
      { "sl-PowerControl-r16", "nr-rrc.sl_PowerControl_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TxPercentageList_r16,
      { "sl-TxPercentageList-r16", "nr-rrc.sl_TxPercentageList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MinMaxMCS_List_r16,
      { "sl-MinMaxMCS-List-r16", "nr-rrc.sl_MinMaxMCS_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TimeResource_r16,
      { "sl-TimeResource-r16", "nr-rrc.sl_TimeResource_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10_160", HFILL }},
    { &hf_nr_rrc_sl_PBPS_CPS_Config_r17,
      { "sl-PBPS-CPS-Config-r17", "nr-rrc.sl_PBPS_CPS_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PBPS_CPS_Config_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_200,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PBPS_CPS_Config_r17", HFILL }},
    { &hf_nr_rrc_sl_InterUE_CoordinationConfig_r17,
      { "sl-InterUE-CoordinationConfig-r17", "nr-rrc.sl_InterUE_CoordinationConfig_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_InterUE_CoordinationConfig_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_201,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_InterUE_CoordinationConfig_r17", HFILL }},
    { &hf_nr_rrc_sl_ZoneConfigMCR_Index_r16,
      { "sl-ZoneConfigMCR-Index-r16", "nr-rrc.sl_ZoneConfigMCR_Index_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_sl_TransRange_r16_01,
      { "sl-TransRange-r16", "nr-rrc.sl_TransRange_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_sl_TransRange_r16_01_vals_ext, 0,
        "T_sl_TransRange_r16_01", HFILL }},
    { &hf_nr_rrc_sl_ZoneConfig_r16,
      { "sl-ZoneConfig-r16", "nr-rrc.sl_ZoneConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gnss_Sync_r16,
      { "gnss-Sync-r16", "nr-rrc.gnss_Sync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnss_Sync_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_gnbEnb_Sync_r16,
      { "gnbEnb-Sync-r16", "nr-rrc.gnbEnb_Sync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnbEnb_Sync_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ue_Sync_r16,
      { "ue-Sync-r16", "nr-rrc.ue_Sync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_Sync_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TimeResourcePSCCH_r16,
      { "sl-TimeResourcePSCCH-r16", "nr-rrc.sl_TimeResourcePSCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TimeResourcePSCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_FreqResourcePSCCH_r16,
      { "sl-FreqResourcePSCCH-r16", "nr-rrc.sl_FreqResourcePSCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_FreqResourcePSCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DMRS_ScrambleID_r16,
      { "sl-DMRS-ScrambleID-r16", "nr-rrc.sl_DMRS_ScrambleID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_sl_NumReservedBits_r16,
      { "sl-NumReservedBits-r16", "nr-rrc.sl_NumReservedBits_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_4", HFILL }},
    { &hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16,
      { "sl-PSSCH-DMRS-TimePatternList-r16", "nr-rrc.sl_PSSCH_DMRS_TimePatternList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "T_sl_PSSCH_DMRS_TimePatternList_r16", HFILL }},
    { &hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16_item,
      { "sl-PSSCH-DMRS-TimePatternList-r16 item", "nr-rrc.sl_PSSCH_DMRS_TimePatternList_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_2_4", HFILL }},
    { &hf_nr_rrc_sl_BetaOffsets2ndSCI_r16,
      { "sl-BetaOffsets2ndSCI-r16", "nr-rrc.sl_BetaOffsets2ndSCI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16", HFILL }},
    { &hf_nr_rrc_sl_BetaOffsets2ndSCI_r16_item,
      { "SL-BetaOffsets-r16", "nr-rrc.SL_BetaOffsets_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Scaling_r16,
      { "sl-Scaling-r16", "nr-rrc.sl_Scaling_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Scaling_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PSFCH_Period_r16,
      { "sl-PSFCH-Period-r16", "nr-rrc.sl_PSFCH_Period_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSFCH_Period_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PSFCH_RB_Set_r16,
      { "sl-PSFCH-RB-Set-r16", "nr-rrc.sl_PSFCH_RB_Set_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10_275", HFILL }},
    { &hf_nr_rrc_sl_NumMuxCS_Pair_r16,
      { "sl-NumMuxCS-Pair-r16", "nr-rrc.sl_NumMuxCS_Pair_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_NumMuxCS_Pair_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MinTimeGapPSFCH_r16,
      { "sl-MinTimeGapPSFCH-r16", "nr-rrc.sl_MinTimeGapPSFCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MinTimeGapPSFCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PSFCH_HopID_r16,
      { "sl-PSFCH-HopID-r16", "nr-rrc.sl_PSFCH_HopID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_sl_PSFCH_CandidateResourceType_r16,
      { "sl-PSFCH-CandidateResourceType-r16", "nr-rrc.sl_PSFCH_CandidateResourceType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSFCH_CandidateResourceType_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PTRS_FreqDensity_r16,
      { "sl-PTRS-FreqDensity-r16", "nr-rrc.sl_PTRS_FreqDensity_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PTRS_FreqDensity_r16_item,
      { "sl-PTRS-FreqDensity-r16 item", "nr-rrc.sl_PTRS_FreqDensity_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_276", HFILL }},
    { &hf_nr_rrc_sl_PTRS_TimeDensity_r16,
      { "sl-PTRS-TimeDensity-r16", "nr-rrc.sl_PTRS_TimeDensity_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PTRS_TimeDensity_r16_item,
      { "sl-PTRS-TimeDensity-r16 item", "nr-rrc.sl_PTRS_TimeDensity_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_29", HFILL }},
    { &hf_nr_rrc_sl_PTRS_RE_Offset_r16,
      { "sl-PTRS-RE-Offset-r16", "nr-rrc.sl_PTRS_RE_Offset_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PTRS_RE_Offset_r16_vals), 0,
        "T_sl_PTRS_RE_Offset_r16", HFILL }},
    { &hf_nr_rrc_sl_CBR_PriorityTxConfigList_r16,
      { "sl-CBR-PriorityTxConfigList-r16", "nr-rrc.sl_CBR_PriorityTxConfigList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_Thres_RSRP_List_r16,
      { "sl-Thres-RSRP-List-r16", "nr-rrc.sl_Thres_RSRP_List_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MultiReserveResource_r16,
      { "sl-MultiReserveResource-r16", "nr-rrc.sl_MultiReserveResource_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MultiReserveResource_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MaxNumPerReserve_r16,
      { "sl-MaxNumPerReserve-r16", "nr-rrc.sl_MaxNumPerReserve_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MaxNumPerReserve_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SensingWindow_r16,
      { "sl-SensingWindow-r16", "nr-rrc.sl_SensingWindow_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SensingWindow_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SelectionWindowList_r16,
      { "sl-SelectionWindowList-r16", "nr-rrc.sl_SelectionWindowList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ResourceReservePeriodList_r16,
      { "sl-ResourceReservePeriodList-r16", "nr-rrc.sl_ResourceReservePeriodList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16", HFILL }},
    { &hf_nr_rrc_sl_ResourceReservePeriodList_r16_item,
      { "SL-ResourceReservePeriod-r16", "nr-rrc.SL_ResourceReservePeriod_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_ResourceReservePeriod_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RS_ForSensing_r16,
      { "sl-RS-ForSensing-r16", "nr-rrc.sl_RS_ForSensing_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_RS_ForSensing_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CBR_PriorityTxConfigList_v1650,
      { "sl-CBR-PriorityTxConfigList-v1650", "nr-rrc.sl_CBR_PriorityTxConfigList_v1650",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ResourceReservePeriod1_r16,
      { "sl-ResourceReservePeriod1-r16", "nr-rrc.sl_ResourceReservePeriod1_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ResourceReservePeriod1_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ResourceReservePeriod2_r16,
      { "sl-ResourceReservePeriod2-r16", "nr-rrc.sl_ResourceReservePeriod2_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_99", HFILL }},
    { &hf_nr_rrc_SL_SelectionWindowList_r16_item,
      { "SL-SelectionWindowConfig-r16", "nr-rrc.SL_SelectionWindowConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SelectionWindow_r16,
      { "sl-SelectionWindow-r16", "nr-rrc.sl_SelectionWindow_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SelectionWindow_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_TxPercentageList_r16_item,
      { "SL-TxPercentageConfig-r16", "nr-rrc.SL_TxPercentageConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TxPercentage_r16,
      { "sl-TxPercentage-r16", "nr-rrc.sl_TxPercentage_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TxPercentage_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_SL_MinMaxMCS_List_r16_item,
      { "SL-MinMaxMCS-Config-r16", "nr-rrc.SL_MinMaxMCS_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MCS_Table_r16,
      { "sl-MCS-Table-r16", "nr-rrc.sl_MCS_Table_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MCS_Table_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MaxTransPower_r16,
      { "sl-MaxTransPower-r16", "nr-rrc.sl_MaxTransPower_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M30_33", HFILL }},
    { &hf_nr_rrc_sl_Alpha_PSSCH_PSCCH_r16,
      { "sl-Alpha-PSSCH-PSCCH-r16", "nr-rrc.sl_Alpha_PSSCH_PSCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Alpha_PSSCH_PSCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_Alpha_PSSCH_PSCCH_r16,
      { "dl-Alpha-PSSCH-PSCCH-r16", "nr-rrc.dl_Alpha_PSSCH_PSCCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_Alpha_PSSCH_PSCCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_P0_PSSCH_PSCCH_r16,
      { "sl-P0-PSSCH-PSCCH-r16", "nr-rrc.sl_P0_PSSCH_PSCCH_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_dl_P0_PSSCH_PSCCH_r16,
      { "dl-P0-PSSCH-PSCCH-r16", "nr-rrc.dl_P0_PSSCH_PSCCH_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_dl_Alpha_PSFCH_r16,
      { "dl-Alpha-PSFCH-r16", "nr-rrc.dl_Alpha_PSFCH_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_Alpha_PSFCH_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dl_P0_PSFCH_r16,
      { "dl-P0-PSFCH-r16", "nr-rrc.dl_P0_PSFCH_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M16_15", HFILL }},
    { &hf_nr_rrc_dl_P0_PSSCH_PSCCH_r17,
      { "dl-P0-PSSCH-PSCCH-r17", "nr-rrc.dl_P0_PSSCH_PSCCH_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_sl_P0_PSSCH_PSCCH_r17,
      { "sl-P0-PSSCH-PSCCH-r17", "nr-rrc.sl_P0_PSSCH_PSCCH_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_dl_P0_PSFCH_r17,
      { "dl-P0-PSFCH-r17", "nr-rrc.dl_P0_PSFCH_r17",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M202_24", HFILL }},
    { &hf_nr_rrc_sl_RLC_BearerConfigIndex_r16,
      { "sl-RLC-BearerConfigIndex-r16", "nr-rrc.sl_RLC_BearerConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ServedRadioBearer_r16,
      { "sl-ServedRadioBearer-r16", "nr-rrc.sl_ServedRadioBearer_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SLRB_Uu_ConfigIndex_r16", HFILL }},
    { &hf_nr_rrc_sl_RLC_Config_r16,
      { "sl-RLC-Config-r16", "nr-rrc.sl_RLC_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RLC_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MAC_LogicalChannelConfig_r16,
      { "sl-MAC-LogicalChannelConfig-r16", "nr-rrc.sl_MAC_LogicalChannelConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_LogicalChannelConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelID_r17,
      { "sl-RLC-ChannelID-r17", "nr-rrc.sl_RLC_ChannelID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RLC_Config_r17,
      { "sl-RLC-Config-r17", "nr-rrc.sl_RLC_Config_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RLC_Config_r16_vals), 0,
        "SL_RLC_Config_r16", HFILL }},
    { &hf_nr_rrc_sl_MAC_LogicalChannelConfig_r17,
      { "sl-MAC-LogicalChannelConfig-r17", "nr-rrc.sl_MAC_LogicalChannelConfig_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_LogicalChannelConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_PacketDelayBudget_r17,
      { "sl-PacketDelayBudget-r17", "nr-rrc.sl_PacketDelayBudget_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_sl_AM_RLC_r16,
      { "sl-AM-RLC-r16", "nr-rrc.sl_AM_RLC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SN_FieldLengthAM_r16,
      { "sl-SN-FieldLengthAM-r16", "nr-rrc.sl_SN_FieldLengthAM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthAM_vals), 0,
        "SN_FieldLengthAM", HFILL }},
    { &hf_nr_rrc_sl_T_PollRetransmit_r16,
      { "sl-T-PollRetransmit-r16", "nr-rrc.sl_T_PollRetransmit_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_PollRetransmit_vals_ext, 0,
        "T_PollRetransmit", HFILL }},
    { &hf_nr_rrc_sl_PollPDU_r16,
      { "sl-PollPDU-r16", "nr-rrc.sl_PollPDU_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollPDU_vals_ext, 0,
        "PollPDU", HFILL }},
    { &hf_nr_rrc_sl_PollByte_r16,
      { "sl-PollByte-r16", "nr-rrc.sl_PollByte_r16",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollByte_vals_ext, 0,
        "PollByte", HFILL }},
    { &hf_nr_rrc_sl_MaxRetxThreshold_r16,
      { "sl-MaxRetxThreshold-r16", "nr-rrc.sl_MaxRetxThreshold_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MaxRetxThreshold_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_UM_RLC_r16,
      { "sl-UM-RLC-r16", "nr-rrc.sl_UM_RLC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SN_FieldLengthUM_r16,
      { "sl-SN-FieldLengthUM-r16", "nr-rrc.sl_SN_FieldLengthUM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthUM_vals), 0,
        "SN_FieldLengthUM", HFILL }},
    { &hf_nr_rrc_sl_RNTI_r16,
      { "sl-RNTI-r16", "nr-rrc.sl_RNTI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_mac_MainConfigSL_r16,
      { "mac-MainConfigSL-r16", "nr-rrc.mac_MainConfigSL_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CS_RNTI_r16,
      { "sl-CS-RNTI-r16", "nr-rrc.sl_CS_RNTI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_sl_PSFCH_ToPUCCH_r16,
      { "sl-PSFCH-ToPUCCH-r16", "nr-rrc.sl_PSFCH_ToPUCCH_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PSFCH_ToPUCCH_r16_item,
      { "sl-PSFCH-ToPUCCH-r16 item", "nr-rrc.sl_PSFCH_ToPUCCH_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_nr_rrc_sl_ConfiguredGrantConfigList_r16,
      { "sl-ConfiguredGrantConfigList-r16", "nr-rrc.sl_ConfiguredGrantConfigList_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DCI_ToSL_Trans_r16,
      { "sl-DCI-ToSL-Trans-r16", "nr-rrc.sl_DCI_ToSL_Trans_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DCI_ToSL_Trans_r16_item,
      { "sl-DCI-ToSL-Trans-r16 item", "nr-rrc.sl_DCI_ToSL_Trans_r16_item",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_nr_rrc_sl_BSR_Config_r16,
      { "sl-BSR-Config-r16", "nr-rrc.sl_BSR_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BSR_Config", HFILL }},
    { &hf_nr_rrc_ul_PrioritizationThres_r16,
      { "ul-PrioritizationThres-r16", "nr-rrc.ul_PrioritizationThres_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_sl_PrioritizationThres_r16,
      { "sl-PrioritizationThres-r16", "nr-rrc.sl_PrioritizationThres_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16,
      { "sl-ConfiguredGrantConfigToReleaseList-r16", "nr-rrc.sl_ConfiguredGrantConfigToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16", HFILL }},
    { &hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16_item,
      { "SL-ConfigIndexCG-r16", "nr-rrc.SL_ConfigIndexCG_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16,
      { "sl-ConfiguredGrantConfigToAddModList-r16", "nr-rrc.sl_ConfiguredGrantConfigToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16_item,
      { "SL-ConfiguredGrantConfig-r16", "nr-rrc.SL_ConfiguredGrantConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SDAP_Header_r16,
      { "sl-SDAP-Header-r16", "nr-rrc.sl_SDAP_Header_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SDAP_Header_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_DefaultRB_r16,
      { "sl-DefaultRB-r16", "nr-rrc.sl_DefaultRB_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_Flows_r16,
      { "sl-MappedQoS-Flows-r16", "nr-rrc.sl_MappedQoS_Flows_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MappedQoS_Flows_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsList_r16,
      { "sl-MappedQoS-FlowsList-r16", "nr-rrc.sl_MappedQoS_FlowsList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16", HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsList_r16_item,
      { "SL-QoS-Profile-r16", "nr-rrc.SL_QoS_Profile_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsListDedicated_r16,
      { "sl-MappedQoS-FlowsListDedicated-r16", "nr-rrc.sl_MappedQoS_FlowsListDedicated_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CastType_r16_01,
      { "sl-CastType-r16", "nr-rrc.sl_CastType_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CastType_r16_01_vals), 0,
        "T_sl_CastType_r16_01", HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16,
      { "sl-MappedQoS-FlowsToAddList-r16", "nr-rrc.sl_MappedQoS_FlowsToAddList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16", HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item,
      { "SL-QoS-FlowIdentity-r16", "nr-rrc.SL_QoS_FlowIdentity_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16,
      { "sl-MappedQoS-FlowsToReleaseList-r16", "nr-rrc.sl_MappedQoS_FlowsToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16", HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_item,
      { "SL-QoS-FlowIdentity-r16", "nr-rrc.SL_QoS_FlowIdentity_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_LocalIdentity_r17,
      { "sl-LocalIdentity-r17", "nr-rrc.sl_LocalIdentity_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_nr_rrc_sl_MappingToAddModList_r17,
      { "sl-MappingToAddModList-r17", "nr-rrc.sl_MappingToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17", HFILL }},
    { &hf_nr_rrc_sl_MappingToAddModList_r17_item,
      { "SL-MappingToAddMod-r17", "nr-rrc.SL_MappingToAddMod_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MappingToReleaseList_r17,
      { "sl-MappingToReleaseList-r17", "nr-rrc.sl_MappingToReleaseList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17", HFILL }},
    { &hf_nr_rrc_sl_MappingToReleaseList_r17_item,
      { "SL-RemoteUE-RB-Identity-r17", "nr-rrc.SL_RemoteUE_RB_Identity_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RemoteUE_RB_Identity_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RemoteUE_RB_Identity_r17,
      { "sl-RemoteUE-RB-Identity-r17", "nr-rrc.sl_RemoteUE_RB_Identity_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RemoteUE_RB_Identity_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_EgressRLC_ChannelUu_r17,
      { "sl-EgressRLC-ChannelUu-r17", "nr-rrc.sl_EgressRLC_ChannelUu_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Uu_RelayRLC_ChannelID_r17", HFILL }},
    { &hf_nr_rrc_sl_EgressRLC_ChannelPC5_r17,
      { "sl-EgressRLC-ChannelPC5-r17", "nr-rrc.sl_EgressRLC_ChannelPC5_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_RLC_ChannelID_r17", HFILL }},
    { &hf_nr_rrc_srb_Identity_r17,
      { "srb-Identity-r17", "nr-rrc.srb_Identity_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_nr_rrc_drb_Identity_r17,
      { "drb-Identity-r17", "nr-rrc.drb_Identity_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DRB_Identity", HFILL }},
    { &hf_nr_rrc_SL_SyncConfigList_r16_item,
      { "SL-SyncConfig-r16", "nr-rrc.SL_SyncConfig_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SyncRefMinHyst_r16,
      { "sl-SyncRefMinHyst-r16", "nr-rrc.sl_SyncRefMinHyst_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SyncRefMinHyst_r16_vals), 0,
        "T_sl_SyncRefMinHyst_r16", HFILL }},
    { &hf_nr_rrc_sl_SyncRefDiffHyst_r16,
      { "sl-SyncRefDiffHyst-r16", "nr-rrc.sl_SyncRefDiffHyst_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SyncRefDiffHyst_r16_vals), 0,
        "T_sl_SyncRefDiffHyst_r16", HFILL }},
    { &hf_nr_rrc_sl_filterCoefficient_r16,
      { "sl-filterCoefficient-r16", "nr-rrc.sl_filterCoefficient_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
        "FilterCoefficient", HFILL }},
    { &hf_nr_rrc_sl_SSB_TimeAllocation1_r16,
      { "sl-SSB-TimeAllocation1-r16", "nr-rrc.sl_SSB_TimeAllocation1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_SSB_TimeAllocation_r16", HFILL }},
    { &hf_nr_rrc_sl_SSB_TimeAllocation2_r16,
      { "sl-SSB-TimeAllocation2-r16", "nr-rrc.sl_SSB_TimeAllocation2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_SSB_TimeAllocation_r16", HFILL }},
    { &hf_nr_rrc_sl_SSB_TimeAllocation3_r16,
      { "sl-SSB-TimeAllocation3-r16", "nr-rrc.sl_SSB_TimeAllocation3_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_SSB_TimeAllocation_r16", HFILL }},
    { &hf_nr_rrc_sl_SSID_r16,
      { "sl-SSID-r16", "nr-rrc.sl_SSID_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_671", HFILL }},
    { &hf_nr_rrc_txParameters_r16,
      { "txParameters-r16", "nr-rrc.txParameters_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_syncTxThreshIC_r16,
      { "syncTxThreshIC-r16", "nr-rrc.syncTxThreshIC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_RSRP_Range_r16", HFILL }},
    { &hf_nr_rrc_syncTxThreshOoC_r16,
      { "syncTxThreshOoC-r16", "nr-rrc.syncTxThreshOoC_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_RSRP_Range_r16", HFILL }},
    { &hf_nr_rrc_syncInfoReserved_r16,
      { "syncInfoReserved-r16", "nr-rrc.syncInfoReserved_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_gnss_Sync_r16_01,
      { "gnss-Sync-r16", "nr-rrc.gnss_Sync_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnss_Sync_r16_01_vals), 0,
        "T_gnss_Sync_r16_01", HFILL }},
    { &hf_nr_rrc_sl_NumSSB_WithinPeriod_r16,
      { "sl-NumSSB-WithinPeriod-r16", "nr-rrc.sl_NumSSB_WithinPeriod_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_NumSSB_WithinPeriod_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TimeOffsetSSB_r16,
      { "sl-TimeOffsetSSB-r16", "nr-rrc.sl_TimeOffsetSSB_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1279", HFILL }},
    { &hf_nr_rrc_sl_TimeInterval_r16,
      { "sl-TimeInterval-r16", "nr-rrc.sl_TimeInterval_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_639", HFILL }},
    { &hf_nr_rrc_SL_Thres_RSRP_List_r16_item,
      { "SL-Thres-RSRP-r16", "nr-rrc.SL_Thres_RSRP_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_minusinfinity_r16,
      { "minusinfinity-r16", "nr-rrc.minusinfinity_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_txPower_r16,
      { "txPower-r16", "nr-rrc.txPower_r16",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M30_33", HFILL }},
    { &hf_nr_rrc_sl_PSSCH_TxConfigList_r16,
      { "sl-PSSCH-TxConfigList-r16", "nr-rrc.sl_PSSCH_TxConfigList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ProbResourceKeep_r16,
      { "sl-ProbResourceKeep-r16", "nr-rrc.sl_ProbResourceKeep_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ProbResourceKeep_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ReselectAfter_r16,
      { "sl-ReselectAfter-r16", "nr-rrc.sl_ReselectAfter_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ReselectAfter_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_CBR_CommonTxConfigList_r16,
      { "sl-CBR-CommonTxConfigList-r16", "nr-rrc.sl_CBR_CommonTxConfigList_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ZoneLength_r16,
      { "sl-ZoneLength-r16", "nr-rrc.sl_ZoneLength_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ZoneLength_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_CarrierFreqListMBS_r17_item,
      { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_locationAndBandwidthBroadcast_r17,
      { "locationAndBandwidthBroadcast-r17", "nr-rrc.locationAndBandwidthBroadcast_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_LocationAndBandwidthBroadcast_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_ConfigMCCH_r17,
      { "pdsch-ConfigMCCH-r17", "nr-rrc.pdsch_ConfigMCCH_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDSCH_ConfigBroadcast_r17", HFILL }},
    { &hf_nr_rrc_commonControlResourceSetExt_r17,
      { "commonControlResourceSetExt-r17", "nr-rrc.commonControlResourceSetExt_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ControlResourceSet", HFILL }},
    { &hf_nr_rrc_sameAsSib1ConfiguredLocationAndBW,
      { "sameAsSib1ConfiguredLocationAndBW", "nr-rrc.sameAsSib1ConfiguredLocationAndBW_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_onDurationTimerPTM_r17,
      { "drx-onDurationTimerPTM-r17", "nr-rrc.drx_onDurationTimerPTM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimerPTM_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_milliSeconds_06,
      { "milliSeconds", "nr-rrc.milliSeconds",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_milliSeconds_06_vals), 0,
        "T_milliSeconds_06", HFILL }},
    { &hf_nr_rrc_drx_InactivityTimerPTM_r17,
      { "drx-InactivityTimerPTM-r17", "nr-rrc.drx_InactivityTimerPTM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_InactivityTimerPTM_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_HARQ_RTT_TimerDL_PTM_r17,
      { "drx-HARQ-RTT-TimerDL-PTM-r17", "nr-rrc.drx_HARQ_RTT_TimerDL_PTM_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_56", HFILL }},
    { &hf_nr_rrc_drx_RetransmissionTimerDL_PTM_r17,
      { "drx-RetransmissionTimerDL-PTM-r17", "nr-rrc.drx_RetransmissionTimerDL_PTM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_RetransmissionTimerDL_PTM_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_LongCycleStartOffsetPTM_r17,
      { "drx-LongCycleStartOffsetPTM-r17", "nr-rrc.drx_LongCycleStartOffsetPTM_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_LongCycleStartOffsetPTM_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_drx_SlotOffsetPTM_r17,
      { "drx-SlotOffsetPTM-r17", "nr-rrc.drx_SlotOffsetPTM_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_nr_rrc_MBS_NeighbourCellList_r17_item,
      { "MBS-NeighbourCell-r17", "nr-rrc.MBS_NeighbourCell_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MBS_ServiceList_r17_item,
      { "MBS-ServiceInfo-r17", "nr-rrc.MBS_ServiceInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tmgi_r17,
      { "tmgi-r17", "nr-rrc.tmgi_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MBS_SessionInfoList_r17_item,
      { "MBS-SessionInfo-r17", "nr-rrc.MBS_SessionInfo_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_g_RNTI_r17,
      { "g-RNTI-r17", "nr-rrc.g_RNTI_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RNTI_Value", HFILL }},
    { &hf_nr_rrc_mrb_ListBroadcast_r17,
      { "mrb-ListBroadcast-r17", "nr-rrc.mrb_ListBroadcast_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mtch_SchedulingInfo_r17,
      { "mtch-SchedulingInfo-r17", "nr-rrc.mtch_SchedulingInfo_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DRX_ConfigPTM_Index_r17", HFILL }},
    { &hf_nr_rrc_mtch_NeighbourCell_r17,
      { "mtch-NeighbourCell-r17", "nr-rrc.mtch_NeighbourCell_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_maxNeighCellMBS_r17", HFILL }},
    { &hf_nr_rrc_pdsch_ConfigIndex_r17,
      { "pdsch-ConfigIndex-r17", "nr-rrc.pdsch_ConfigIndex_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_mtch_SSB_MappingWindowIndex_r17,
      { "mtch-SSB-MappingWindowIndex-r17", "nr-rrc.mtch_SSB_MappingWindowIndex_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_MRB_ListBroadcast_r17_item,
      { "MRB-InfoBroadcast-r17", "nr-rrc.MRB_InfoBroadcast_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_Config_r17_01,
      { "pdcp-Config-r17", "nr-rrc.pdcp_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MRB_PDCP_ConfigBroadcast_r17", HFILL }},
    { &hf_nr_rrc_rlc_Config_r17_01,
      { "rlc-Config-r17", "nr-rrc.rlc_Config_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MRB_RLC_ConfigBroadcast_r17", HFILL }},
    { &hf_nr_rrc_pdcp_SN_SizeDL_r17,
      { "pdcp-SN-SizeDL-r17", "nr-rrc.pdcp_SN_SizeDL_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeDL_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_headerCompression_r17,
      { "headerCompression-r17", "nr-rrc.headerCompression_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_headerCompression_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rohc_01,
      { "rohc", "nr-rrc.rohc_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_rohc_01", HFILL }},
    { &hf_nr_rrc_maxCID_r17,
      { "maxCID-r17", "nr-rrc.maxCID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16", HFILL }},
    { &hf_nr_rrc_profiles_r17,
      { "profiles-r17", "nr-rrc.profiles_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_profile0x0000_r17,
      { "profile0x0000-r17", "nr-rrc.profile0x0000_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0001_r17,
      { "profile0x0001-r17", "nr-rrc.profile0x0001_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_profile0x0002_r17,
      { "profile0x0002-r17", "nr-rrc.profile0x0002_r17",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_t_Reordering_r17,
      { "t-Reordering-r17", "nr-rrc.t_Reordering_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_Reordering_r17_vals), 0,
        "T_t_Reordering_r17", HFILL }},
    { &hf_nr_rrc_sn_FieldLength_r17,
      { "sn-FieldLength-r17", "nr-rrc.sn_FieldLength_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sn_FieldLength_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_t_Reassembly_r17,
      { "t-Reassembly-r17", "nr-rrc.t_Reassembly_r17",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_Reassembly_vals_ext, 0,
        "T_Reassembly", HFILL }},
    { &hf_nr_rrc_MTCH_SSB_MappingWindowList_r17_item,
      { "MTCH-SSB-MappingWindowCycleOffset-r17", "nr-rrc.MTCH_SSB_MappingWindowCycleOffset_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_MTCH_SSB_MappingWindowCycleOffset_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdschConfigList_r17,
      { "pdschConfigList-r17", "nr-rrc.pdschConfigList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17", HFILL }},
    { &hf_nr_rrc_pdschConfigList_r17_item,
      { "PDSCH-ConfigPTM-r17", "nr-rrc.PDSCH_ConfigPTM_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdsch_TimeDomainAllocationList_r17,
      { "pdsch-TimeDomainAllocationList-r17", "nr-rrc.pdsch_TimeDomainAllocationList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDSCH_TimeDomainResourceAllocationList_r16", HFILL }},
    { &hf_nr_rrc_rateMatchPatternToAddModList_r17,
      { "rateMatchPatternToAddModList-r17", "nr-rrc.rateMatchPatternToAddModList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern", HFILL }},
    { &hf_nr_rrc_rateMatchPatternToAddModList_r17_item,
      { "RateMatchPattern", "nr-rrc.RateMatchPattern_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_lte_CRS_ToMatchAround_r17,
      { "lte-CRS-ToMatchAround-r17", "nr-rrc.lte_CRS_ToMatchAround_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RateMatchPatternLTE_CRS", HFILL }},
    { &hf_nr_rrc_mcs_Table_r17_01,
      { "mcs-Table-r17", "nr-rrc.mcs_Table_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_r17_01_vals), 0,
        "T_mcs_Table_r17_01", HFILL }},
    { &hf_nr_rrc_xOverhead_r17,
      { "xOverhead-r17", "nr-rrc.xOverhead_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_dataScramblingIdentityPDSCH_r17,
      { "dataScramblingIdentityPDSCH-r17", "nr-rrc.dataScramblingIdentityPDSCH_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_nr_rrc_dmrs_ScramblingID0_r17,
      { "dmrs-ScramblingID0-r17", "nr-rrc.dmrs_ScramblingID0_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_nr_rrc_pdsch_AggregationFactor_r17_01,
      { "pdsch-AggregationFactor-r17", "nr-rrc.pdsch_AggregationFactor_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_AggregationFactor_r17_01_vals), 0,
        "T_pdsch_AggregationFactor_r17_01", HFILL }},
    { &hf_nr_rrc_plmn_Id_r17,
      { "plmn-Id-r17", "nr-rrc.plmn_Id_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_plmn_Id_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_plmn_Index,
      { "plmn-Index", "nr-rrc.plmn_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxPLMN", HFILL }},
    { &hf_nr_rrc_explicitValue,
      { "explicitValue", "nr-rrc.explicitValue_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_nr_rrc_serviceId_r17,
      { "serviceId-r17", "nr-rrc.serviceId_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_3", HFILL }},
    { &hf_nr_rrc_message_09,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SBCCH_SL_BCH_MessageType_vals), 0,
        "SBCCH_SL_BCH_MessageType", HFILL }},
    { &hf_nr_rrc_c1_18,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_18_vals), 0,
        "T_c1_18", HFILL }},
    { &hf_nr_rrc_masterInformationBlockSidelink,
      { "masterInformationBlockSidelink", "nr-rrc.masterInformationBlockSidelink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_09,
      { "messageClassExtension", "nr-rrc.messageClassExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_messageClassExtension_09", HFILL }},
    { &hf_nr_rrc_message_10,
      { "message", "nr-rrc.message",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SCCH_MessageType_vals), 0,
        "SCCH_MessageType", HFILL }},
    { &hf_nr_rrc_c1_19,
      { "c1", "nr-rrc.c1",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_19_vals), 0,
        "T_c1_19", HFILL }},
    { &hf_nr_rrc_measurementReportSidelink,
      { "measurementReportSidelink", "nr-rrc.measurementReportSidelink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcReconfigurationSidelink,
      { "rrcReconfigurationSidelink", "nr-rrc.rrcReconfigurationSidelink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcReconfigurationCompleteSidelink,
      { "rrcReconfigurationCompleteSidelink", "nr-rrc.rrcReconfigurationCompleteSidelink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rrcReconfigurationFailureSidelink,
      { "rrcReconfigurationFailureSidelink", "nr-rrc.rrcReconfigurationFailureSidelink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueCapabilityEnquirySidelink,
      { "ueCapabilityEnquirySidelink", "nr-rrc.ueCapabilityEnquirySidelink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueCapabilityInformationSidelink,
      { "ueCapabilityInformationSidelink", "nr-rrc.ueCapabilityInformationSidelink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_uuMessageTransferSidelink_r17,
      { "uuMessageTransferSidelink-r17", "nr-rrc.uuMessageTransferSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_remoteUEInformationSidelink_r17,
      { "remoteUEInformationSidelink-r17", "nr-rrc.remoteUEInformationSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtension_10,
      { "messageClassExtension", "nr-rrc.messageClassExtension",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messageClassExtension_10_vals), 0,
        "T_messageClassExtension_10", HFILL }},
    { &hf_nr_rrc_c2_01,
      { "c2", "nr-rrc.c2",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c2_01_vals), 0,
        "T_c2_01", HFILL }},
    { &hf_nr_rrc_notificationMessageSidelink_r17,
      { "notificationMessageSidelink-r17", "nr-rrc.notificationMessageSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_ueAssistanceInformationSidelink_r17,
      { "ueAssistanceInformationSidelink-r17", "nr-rrc.ueAssistanceInformationSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_messageClassExtensionFuture_r17,
      { "messageClassExtensionFuture-r17", "nr-rrc.messageClassExtensionFuture_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_TDD_Config_r16,
      { "sl-TDD-Config-r16", "nr-rrc.sl_TDD_Config_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_12", HFILL }},
    { &hf_nr_rrc_inCoverage_r16,
      { "inCoverage-r16", "nr-rrc.inCoverage_r16",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_nr_rrc_directFrameNumber_r16,
      { "directFrameNumber-r16", "nr-rrc.directFrameNumber_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_nr_rrc_masterInformationBlockSidelink_slotIndex_r16,
      { "slotIndex-r16", "nr-rrc.bmasterInformationBlockSidelink.slotIndex_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_7", HFILL }},
    { &hf_nr_rrc_reservedBits_r16,
      { "reservedBits-r16", "nr-rrc.reservedBits_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_nr_rrc_criticalExtensions_51,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_51_vals), 0,
        "T_criticalExtensions_51", HFILL }},
    { &hf_nr_rrc_measurementReportSidelink_r16,
      { "measurementReportSidelink-r16", "nr-rrc.measurementReportSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MeasurementReportSidelink_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_51,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_51", HFILL }},
    { &hf_nr_rrc_sl_measResults_r16,
      { "sl-measResults-r16", "nr-rrc.sl_measResults_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_152,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_58", HFILL }},
    { &hf_nr_rrc_sl_MeasResult_r16,
      { "sl-MeasResult-r16", "nr-rrc.sl_MeasResult_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_ResultDMRS_r16,
      { "sl-ResultDMRS-r16", "nr-rrc.sl_ResultDMRS_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_MeasQuantityResult_r16", HFILL }},
    { &hf_nr_rrc_SL_MeasResultListRelay_r17_item,
      { "SL-MeasResultRelay-r17", "nr-rrc.SL_MeasResultRelay_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_cellIdentity_r17,
      { "cellIdentity-r17", "nr-rrc.cellIdentity_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CellAccessRelatedInfo", HFILL }},
    { &hf_nr_rrc_sl_RelayUE_Identity_r17,
      { "sl-RelayUE-Identity-r17", "nr-rrc.sl_RelayUE_Identity_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        "SL_SourceIdentity_r17", HFILL }},
    { &hf_nr_rrc_sl_MeasResult_r17,
      { "sl-MeasResult-r17", "nr-rrc.sl_MeasResult_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_MeasResult_r16", HFILL }},
    { &hf_nr_rrc_criticalExtensions_52,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_52_vals), 0,
        "T_criticalExtensions_52", HFILL }},
    { &hf_nr_rrc_notificationMessageSidelink_r17_01,
      { "notificationMessageSidelink-r17", "nr-rrc.notificationMessageSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NotificationMessageSidelink_r17_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_52,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_52", HFILL }},
    { &hf_nr_rrc_indicationType_r17,
      { "indicationType-r17", "nr-rrc.indicationType_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_indicationType_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_153,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_59", HFILL }},
    { &hf_nr_rrc_criticalExtensions_53,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_53_vals), 0,
        "T_criticalExtensions_53", HFILL }},
    { &hf_nr_rrc_remoteUEInformationSidelink_r17_01,
      { "remoteUEInformationSidelink-r17", "nr-rrc.remoteUEInformationSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RemoteUEInformationSidelink_r17_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_53,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_53", HFILL }},
    { &hf_nr_rrc_sl_RequestedSIB_List_r17,
      { "sl-RequestedSIB-List-r17", "nr-rrc.sl_RequestedSIB_List_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_RequestedSIB_List_r17_vals), 0,
        "T_sl_RequestedSIB_List_r17", HFILL }},
    { &hf_nr_rrc_setup_202,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_RequestedSIB_List_r17", HFILL }},
    { &hf_nr_rrc_sl_PagingInfo_RemoteUE_r17,
      { "sl-PagingInfo-RemoteUE-r17", "nr-rrc.sl_PagingInfo_RemoteUE_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PagingInfo_RemoteUE_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_203,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_PagingInfo_RemoteUE_r17", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_154,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_60", HFILL }},
    { &hf_nr_rrc_SL_RequestedSIB_List_r17_item,
      { "SL-SIB-ReqInfo-r17", "nr-rrc.SL_SIB_ReqInfo_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_SIB_ReqInfo_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PagingCycleRemoteUE_r17,
      { "sl-PagingCycleRemoteUE-r17", "nr-rrc.sl_PagingCycleRemoteUE_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingCycle_vals), 0,
        "PagingCycle", HFILL }},
    { &hf_nr_rrc_rrc_TransactionIdentifier_r16,
      { "rrc-TransactionIdentifier-r16", "nr-rrc.rrc_TransactionIdentifier_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RRC_TransactionIdentifier", HFILL }},
    { &hf_nr_rrc_criticalExtensions_54,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_54_vals), 0,
        "T_criticalExtensions_54", HFILL }},
    { &hf_nr_rrc_rrcReconfigurationSidelink_r16,
      { "rrcReconfigurationSidelink-r16", "nr-rrc.rrcReconfigurationSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationSidelink_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_54,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_54", HFILL }},
    { &hf_nr_rrc_slrb_ConfigToAddModList_r16,
      { "slrb-ConfigToAddModList-r16", "nr-rrc.slrb_ConfigToAddModList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16", HFILL }},
    { &hf_nr_rrc_slrb_ConfigToAddModList_r16_item,
      { "SLRB-Config-r16", "nr-rrc.SLRB_Config_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_slrb_ConfigToReleaseList_r16,
      { "slrb-ConfigToReleaseList-r16", "nr-rrc.slrb_ConfigToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16", HFILL }},
    { &hf_nr_rrc_slrb_ConfigToReleaseList_r16_item,
      { "SLRB-PC5-ConfigIndex-r16", "nr-rrc.SLRB_PC5_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MeasConfig_r16_01,
      { "sl-MeasConfig-r16", "nr-rrc.sl_MeasConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MeasConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_204,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_MeasConfig_r16", HFILL }},
    { &hf_nr_rrc_sl_CSI_RS_Config_r16,
      { "sl-CSI-RS-Config-r16", "nr-rrc.sl_CSI_RS_Config_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CSI_RS_Config_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_205,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_CSI_RS_Config_r16", HFILL }},
    { &hf_nr_rrc_sl_ResetConfig_r16,
      { "sl-ResetConfig-r16", "nr-rrc.sl_ResetConfig_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ResetConfig_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_LatencyBoundCSI_Report_r16,
      { "sl-LatencyBoundCSI-Report-r16", "nr-rrc.sl_LatencyBoundCSI_Report_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_3_160", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_155,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationSidelink_v1700_IEs", HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigUC_PC5_r17,
      { "sl-DRX-ConfigUC-PC5-r17", "nr-rrc.sl_DRX_ConfigUC_PC5_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_ConfigUC_PC5_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_setup_206,
      { "setup", "nr-rrc.setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_DRX_ConfigUC_r17", HFILL }},
    { &hf_nr_rrc_sl_LatencyBoundIUC_Report_r17,
      { "sl-LatencyBoundIUC-Report-r17", "nr-rrc.sl_LatencyBoundIUC_Report_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_LatencyBoundIUC_Report_r17_vals), 0,
        "T_sl_LatencyBoundIUC_Report_r17", HFILL }},
    { &hf_nr_rrc_setup_207,
      { "setup", "nr-rrc.setup",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_LatencyBoundIUC_Report_r17", HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelToReleaseListPC5_r17,
      { "sl-RLC-ChannelToReleaseListPC5-r17", "nr-rrc.sl_RLC_ChannelToReleaseListPC5_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17", HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelToReleaseListPC5_r17_item,
      { "SL-RLC-ChannelID-r17", "nr-rrc.SL_RLC_ChannelID_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelToAddModListPC5_r17,
      { "sl-RLC-ChannelToAddModListPC5-r17", "nr-rrc.sl_RLC_ChannelToAddModListPC5_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17", HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelToAddModListPC5_r17_item,
      { "SL-RLC-ChannelConfigPC5-r17", "nr-rrc.SL_RLC_ChannelConfigPC5_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_156,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_61", HFILL }},
    { &hf_nr_rrc_slrb_PC5_ConfigIndex_r16,
      { "slrb-PC5-ConfigIndex-r16", "nr-rrc.slrb_PC5_ConfigIndex_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SDAP_ConfigPC5_r16,
      { "sl-SDAP-ConfigPC5-r16", "nr-rrc.sl_SDAP_ConfigPC5_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_PDCP_ConfigPC5_r16,
      { "sl-PDCP-ConfigPC5-r16", "nr-rrc.sl_PDCP_ConfigPC5_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_RLC_ConfigPC5_r16,
      { "sl-RLC-ConfigPC5-r16", "nr-rrc.sl_RLC_ConfigPC5_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RLC_ConfigPC5_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r16,
      { "sl-MAC-LogicalChannelConfigPC5-r16", "nr-rrc.sl_MAC_LogicalChannelConfigPC5_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_LogicalChannelConfigPC5_r16", HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_01,
      { "sl-MappedQoS-FlowsToAddList-r16", "nr-rrc.sl_MappedQoS_FlowsToAddList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16", HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item_01,
      { "SL-PQFI-r16", "nr-rrc.SL_PQFI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_01,
      { "sl-MappedQoS-FlowsToReleaseList-r16", "nr-rrc.sl_MappedQoS_FlowsToReleaseList_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16", HFILL }},
    { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_item_01,
      { "SL-PQFI-r16", "nr-rrc.SL_PQFI_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SDAP_Header_r16_01,
      { "sl-SDAP-Header-r16", "nr-rrc.sl_SDAP_Header_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SDAP_Header_r16_01_vals), 0,
        "T_sl_SDAP_Header_r16_01", HFILL }},
    { &hf_nr_rrc_sl_PDCP_SN_Size_r16_01,
      { "sl-PDCP-SN-Size-r16", "nr-rrc.sl_PDCP_SN_Size_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PDCP_SN_Size_r16_01_vals), 0,
        "T_sl_PDCP_SN_Size_r16_01", HFILL }},
    { &hf_nr_rrc_sl_OutOfOrderDelivery_r16,
      { "sl-OutOfOrderDelivery-r16", "nr-rrc.sl_OutOfOrderDelivery_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_OutOfOrderDelivery_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_AM_RLC_r16_01,
      { "sl-AM-RLC-r16", "nr-rrc.sl_AM_RLC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_sl_AM_RLC_r16_01", HFILL }},
    { &hf_nr_rrc_sl_UM_Bi_Directional_RLC_r16,
      { "sl-UM-Bi-Directional-RLC-r16", "nr-rrc.sl_UM_Bi_Directional_RLC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_UM_Uni_Directional_RLC_r16,
      { "sl-UM-Uni-Directional-RLC-r16", "nr-rrc.sl_UM_Uni_Directional_RLC_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_LogicalChannelIdentity_r16,
      { "sl-LogicalChannelIdentity-r16", "nr-rrc.sl_LogicalChannelIdentity_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LogicalChannelIdentity", HFILL }},
    { &hf_nr_rrc_sl_CSI_RS_FreqAllocation_r16,
      { "sl-CSI-RS-FreqAllocation-r16", "nr-rrc.sl_CSI_RS_FreqAllocation_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CSI_RS_FreqAllocation_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_OneAntennaPort_r16,
      { "sl-OneAntennaPort-r16", "nr-rrc.sl_OneAntennaPort_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_12", HFILL }},
    { &hf_nr_rrc_sl_TwoAntennaPort_r16,
      { "sl-TwoAntennaPort-r16", "nr-rrc.sl_TwoAntennaPort_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_nr_rrc_sl_CSI_RS_FirstSymbol_r16,
      { "sl-CSI-RS-FirstSymbol-r16", "nr-rrc.sl_CSI_RS_FirstSymbol_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_3_12", HFILL }},
    { &hf_nr_rrc_sl_RLC_ChannelID_PC5_r17,
      { "sl-RLC-ChannelID-PC5-r17", "nr-rrc.sl_RLC_ChannelID_PC5_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SL_RLC_ChannelID_r17", HFILL }},
    { &hf_nr_rrc_sl_RLC_ConfigPC5_r17,
      { "sl-RLC-ConfigPC5-r17", "nr-rrc.sl_RLC_ConfigPC5_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RLC_ConfigPC5_r16_vals), 0,
        "SL_RLC_ConfigPC5_r16", HFILL }},
    { &hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r17,
      { "sl-MAC-LogicalChannelConfigPC5-r17", "nr-rrc.sl_MAC_LogicalChannelConfigPC5_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SL_LogicalChannelConfigPC5_r16", HFILL }},
    { &hf_nr_rrc_criticalExtensions_55,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_55_vals), 0,
        "T_criticalExtensions_55", HFILL }},
    { &hf_nr_rrc_rrcReconfigurationCompleteSidelink_r16,
      { "rrcReconfigurationCompleteSidelink-r16", "nr-rrc.rrcReconfigurationCompleteSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationCompleteSidelink_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_55,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_55", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_157,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationCompleteSidelink_v1710_IEs", HFILL }},
    { &hf_nr_rrc_dummy_09,
      { "dummy", "nr-rrc.dummy",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_07_vals), 0,
        "T_dummy_07", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_158,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationCompleteSidelink_v1720_IEs", HFILL }},
    { &hf_nr_rrc_sl_DRX_ConfigReject_v1720,
      { "sl-DRX-ConfigReject-v1720", "nr-rrc.sl_DRX_ConfigReject_v1720",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DRX_ConfigReject_v1720_vals), 0,
        "T_sl_DRX_ConfigReject_v1720", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_159,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_62", HFILL }},
    { &hf_nr_rrc_criticalExtensions_56,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_56_vals), 0,
        "T_criticalExtensions_56", HFILL }},
    { &hf_nr_rrc_rrcReconfigurationFailureSidelink_r16,
      { "rrcReconfigurationFailureSidelink-r16", "nr-rrc.rrcReconfigurationFailureSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RRCReconfigurationFailureSidelink_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_56,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_56", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_160,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_63", HFILL }},
    { &hf_nr_rrc_criticalExtensions_57,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_57_vals), 0,
        "T_criticalExtensions_57", HFILL }},
    { &hf_nr_rrc_ueAssistanceInformationSidelink_r17_01,
      { "ueAssistanceInformationSidelink-r17", "nr-rrc.ueAssistanceInformationSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UEAssistanceInformationSidelink_r17_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_57,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_57", HFILL }},
    { &hf_nr_rrc_sl_PreferredDRX_ConfigList_r17,
      { "sl-PreferredDRX-ConfigList-r17", "nr-rrc.sl_PreferredDRX_ConfigList_r17",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17", HFILL }},
    { &hf_nr_rrc_sl_PreferredDRX_ConfigList_r17_item,
      { "SL-DRX-ConfigUC-SemiStatic-r17", "nr-rrc.SL_DRX_ConfigUC_SemiStatic_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_161,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_64", HFILL }},
    { &hf_nr_rrc_criticalExtensions_58,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_58_vals), 0,
        "T_criticalExtensions_58", HFILL }},
    { &hf_nr_rrc_ueCapabilityEnquirySidelink_r16,
      { "ueCapabilityEnquirySidelink-r16", "nr-rrc.ueCapabilityEnquirySidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UECapabilityEnquirySidelink_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_58,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_58", HFILL }},
    { &hf_nr_rrc_frequencyBandListFilterSidelink_r16,
      { "frequencyBandListFilterSidelink-r16", "nr-rrc.frequencyBandListFilterSidelink_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandList", HFILL }},
    { &hf_nr_rrc_ue_CapabilityInformationSidelink_r16,
      { "ue-CapabilityInformationSidelink-r16", "nr-rrc.ue_CapabilityInformationSidelink_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_162,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_65", HFILL }},
    { &hf_nr_rrc_criticalExtensions_59,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_59_vals), 0,
        "T_criticalExtensions_59", HFILL }},
    { &hf_nr_rrc_ueCapabilityInformationSidelink_r16,
      { "ueCapabilityInformationSidelink-r16", "nr-rrc.ueCapabilityInformationSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UECapabilityInformationSidelink_r16_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_59,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_59", HFILL }},
    { &hf_nr_rrc_accessStratumReleaseSidelink_r16,
      { "accessStratumReleaseSidelink-r16", "nr-rrc.accessStratumReleaseSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_AccessStratumReleaseSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_pdcp_ParametersSidelink_r16,
      { "pdcp-ParametersSidelink-r16", "nr-rrc.pdcp_ParametersSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSidelinkNR_r16,
      { "supportedBandCombinationListSidelinkNR-r16", "nr-rrc.supportedBandCombinationListSidelinkNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationListSidelinkNR_r16", HFILL }},
    { &hf_nr_rrc_supportedBandListSidelink_r16_01,
      { "supportedBandListSidelink-r16", "nr-rrc.supportedBandListSidelink_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16", HFILL }},
    { &hf_nr_rrc_supportedBandListSidelink_r16_item_01,
      { "BandSidelinkPC5-r16", "nr-rrc.BandSidelinkPC5_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_appliedFreqBandListFilter_r16,
      { "appliedFreqBandListFilter-r16", "nr-rrc.appliedFreqBandListFilter_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FreqBandList", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_163,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UECapabilityInformationSidelink_v1700_IEs", HFILL }},
    { &hf_nr_rrc_mac_ParametersSidelink_r17,
      { "mac-ParametersSidelink-r17", "nr-rrc.mac_ParametersSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_supportedBandCombinationListSidelinkNR_v1710,
      { "supportedBandCombinationListSidelinkNR-v1710", "nr-rrc.supportedBandCombinationListSidelinkNR_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BandCombinationListSidelinkNR_v1710", HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_164,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_66", HFILL }},
    { &hf_nr_rrc_drx_OnSidelink_r17_01,
      { "drx-OnSidelink-r17", "nr-rrc.drx_OnSidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_OnSidelink_r17_01_vals), 0,
        "T_drx_OnSidelink_r17_01", HFILL }},
    { &hf_nr_rrc_outOfOrderDeliverySidelink_r16,
      { "outOfOrderDeliverySidelink-r16", "nr-rrc.outOfOrderDeliverySidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDeliverySidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationListSidelinkNR_r16_item,
      { "BandCombinationParametersSidelinkNR-r16", "nr-rrc.BandCombinationParametersSidelinkNR_r16",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationListSidelinkNR_v1710_item,
      { "BandCombinationParametersSidelinkNR-v1710", "nr-rrc.BandCombinationParametersSidelinkNR_v1710",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationParametersSidelinkNR_r16_item,
      { "BandParametersSidelink-r16", "nr-rrc.BandParametersSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_BandCombinationParametersSidelinkNR_v1710_item,
      { "BandParametersSidelink-v1710", "nr-rrc.BandParametersSidelink_v1710_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_tx_IUC_Scheme1_Mode2Sidelink_r17_02,
      { "tx-IUC-Scheme1-Mode2Sidelink-r17", "nr-rrc.tx_IUC_Scheme1_Mode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tx_IUC_Scheme1_Mode2Sidelink_r17_02_vals), 0,
        "T_tx_IUC_Scheme1_Mode2Sidelink_r17_02", HFILL }},
    { &hf_nr_rrc_tx_IUC_Scheme2_Mode2Sidelink_r17_01,
      { "tx-IUC-Scheme2-Mode2Sidelink-r17", "nr-rrc.tx_IUC_Scheme2_Mode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tx_IUC_Scheme2_Mode2Sidelink_r17_01_vals), 0,
        "T_tx_IUC_Scheme2_Mode2Sidelink_r17_01", HFILL }},
    { &hf_nr_rrc_sl_Reception_r16_01,
      { "sl-Reception-r16", "nr-rrc.sl_Reception_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_sl_Reception_r16_01", HFILL }},
    { &hf_nr_rrc_harq_RxProcessSidelink_r16_01,
      { "harq-RxProcessSidelink-r16", "nr-rrc.harq_RxProcessSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_RxProcessSidelink_r16_01_vals), 0,
        "T_harq_RxProcessSidelink_r16_01", HFILL }},
    { &hf_nr_rrc_pscch_RxSidelink_r16_01,
      { "pscch-RxSidelink-r16", "nr-rrc.pscch_RxSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pscch_RxSidelink_r16_01_vals), 0,
        "T_pscch_RxSidelink_r16_01", HFILL }},
    { &hf_nr_rrc_scs_CP_PatternRxSidelink_r16_01,
      { "scs-CP-PatternRxSidelink-r16", "nr-rrc.scs_CP_PatternRxSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_CP_PatternRxSidelink_r16_01_vals), 0,
        "T_scs_CP_PatternRxSidelink_r16_01", HFILL }},
    { &hf_nr_rrc_fr1_r16_02,
      { "fr1-r16", "nr-rrc.fr1_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr1_r16_02", HFILL }},
    { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16,
      { "scs-15kHz-r16", "nr-rrc.bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_30kHz_r16,
      { "scs-30kHz-r16", "nr-rrc.bandSidelinkPC5_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr1_r16.scs_30kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.bandSidelinkPC5_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr1_r16.scs_60kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_fr2_r16_03,
      { "fr2-r16", "nr-rrc.fr2_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_fr2_r16_03", HFILL }},
    { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_60kHz_r16,
      { "scs-60kHz-r16", "nr-rrc.bandSidelinkPC5_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr2_r16.scs_60kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr2_r16_scs_120kHz_r16,
      { "scs-120kHz-r16", "nr-rrc.bandSidelinkPC5_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr2_r16.scs_120kHz_r16",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_nr_rrc_extendedCP_RxSidelink_r16_01,
      { "extendedCP-RxSidelink-r16", "nr-rrc.extendedCP_RxSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_RxSidelink_r16_01_vals), 0,
        "T_extendedCP_RxSidelink_r16_01", HFILL }},
    { &hf_nr_rrc_sl_Tx_256QAM_r16_01,
      { "sl-Tx-256QAM-r16", "nr-rrc.sl_Tx_256QAM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Tx_256QAM_r16_01_vals), 0,
        "T_sl_Tx_256QAM_r16_01", HFILL }},
    { &hf_nr_rrc_lowSE_64QAM_MCS_TableSidelink_r16_01,
      { "lowSE-64QAM-MCS-TableSidelink-r16", "nr-rrc.lowSE_64QAM_MCS_TableSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowSE_64QAM_MCS_TableSidelink_r16_01_vals), 0,
        "T_lowSE_64QAM_MCS_TableSidelink_r16_01", HFILL }},
    { &hf_nr_rrc_csi_ReportSidelink_r16,
      { "csi-ReportSidelink-r16", "nr-rrc.csi_ReportSidelink_r16_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_csi_RS_PortsSidelink_r16,
      { "csi-RS-PortsSidelink-r16", "nr-rrc.csi_RS_PortsSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_PortsSidelink_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_rankTwoReception_r16,
      { "rankTwoReception-r16", "nr-rrc.rankTwoReception_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rankTwoReception_r16_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_openLoopPC_RSRP_ReportSidelink_r16_01,
      { "sl-openLoopPC-RSRP-ReportSidelink-r16", "nr-rrc.sl_openLoopPC_RSRP_ReportSidelink_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_openLoopPC_RSRP_ReportSidelink_r16_01_vals), 0,
        "T_sl_openLoopPC_RSRP_ReportSidelink_r16_01", HFILL }},
    { &hf_nr_rrc_sl_Rx_256QAM_r16_01,
      { "sl-Rx-256QAM-r16", "nr-rrc.sl_Rx_256QAM_r16",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Rx_256QAM_r16_01_vals), 0,
        "T_sl_Rx_256QAM_r16_01", HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01,
      { "rx-IUC-Scheme1-PreferredMode2Sidelink-r17", "nr-rrc.rx_IUC_Scheme1_PreferredMode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01_vals), 0,
        "T_rx_IUC_Scheme1_PreferredMode2Sidelink_r17_01", HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01,
      { "rx-IUC-Scheme1-NonPreferredMode2Sidelink-r17", "nr-rrc.rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01_vals), 0,
        "T_rx_IUC_Scheme1_NonPreferredMode2Sidelink_r17_01", HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme2_Mode2Sidelink_r17_01,
      { "rx-IUC-Scheme2-Mode2Sidelink-r17", "nr-rrc.rx_IUC_Scheme2_Mode2Sidelink_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme2_Mode2Sidelink_r17_01_vals), 0,
        "T_rx_IUC_Scheme2_Mode2Sidelink_r17_01", HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme1_SCI_r17_01,
      { "rx-IUC-Scheme1-SCI-r17", "nr-rrc.rx_IUC_Scheme1_SCI_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme1_SCI_r17_01_vals), 0,
        "T_rx_IUC_Scheme1_SCI_r17_01", HFILL }},
    { &hf_nr_rrc_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01,
      { "rx-IUC-Scheme1-SCI-ExplicitReq-r17", "nr-rrc.rx_IUC_Scheme1_SCI_ExplicitReq_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01_vals), 0,
        "T_rx_IUC_Scheme1_SCI_ExplicitReq_r17_01", HFILL }},
    { &hf_nr_rrc_scheme2_ConflictDeterminationRSRP_r17,
      { "scheme2-ConflictDeterminationRSRP-r17", "nr-rrc.scheme2_ConflictDeterminationRSRP_r17",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scheme2_ConflictDeterminationRSRP_r17_vals), 0,
        NULL, HFILL }},
    { &hf_nr_rrc_criticalExtensions_60,
      { "criticalExtensions", "nr-rrc.criticalExtensions",
        FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_60_vals), 0,
        "T_criticalExtensions_60", HFILL }},
    { &hf_nr_rrc_uuMessageTransferSidelink_r17_01,
      { "uuMessageTransferSidelink-r17", "nr-rrc.uuMessageTransferSidelink_r17_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UuMessageTransferSidelink_r17_IEs", HFILL }},
    { &hf_nr_rrc_criticalExtensionsFuture_60,
      { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_criticalExtensionsFuture_60", HFILL }},
    { &hf_nr_rrc_sl_PagingDelivery_r17,
      { "sl-PagingDelivery-r17", "nr-rrc.sl_PagingDelivery_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SIB1_Delivery_r17,
      { "sl-SIB1-Delivery-r17", "nr-rrc.sl_SIB1_Delivery_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sl_SystemInformationDelivery_r17,
      { "sl-SystemInformationDelivery-r17", "nr-rrc.sl_SystemInformationDelivery_r17",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_nonCriticalExtension_165,
      { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_nonCriticalExtension_67", HFILL }},

    { &hf_nr_rrc_serialNumber_gs,
      { "Geographical Scope", "nr-rrc.serialNumber.gs",
        FT_UINT16, BASE_DEC, VALS(nr_rrc_serialNumber_gs_vals), 0xc000,
        NULL, HFILL }},
    { &hf_nr_rrc_serialNumber_msg_code,
      { "Message Code", "nr-rrc.serialNumber.msg_code",
        FT_UINT16, BASE_DEC, NULL, 0x3ff0,
        NULL, HFILL }},
    { &hf_nr_rrc_serialNumber_upd_nb,
      { "Update Number", "nr-rrc.serialNumber.upd_nb",
        FT_UINT16, BASE_DEC, NULL, 0x000f,
        NULL, HFILL }},
    { &hf_nr_rrc_warningType_value,
      { "Warning Type Value", "nr-rrc.warningType.value",
        FT_UINT16, BASE_DEC, VALS(nr_rrc_warningType_vals), 0xfe00,
        NULL, HFILL }},
    { &hf_nr_rrc_warningType_emergency_user_alert,
      { "Emergency User Alert", "nr-rrc.warningType.emergency_user_alert",
        FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
        NULL, HFILL }},
    { &hf_nr_rrc_warningType_popup,
      { "Popup", "nr-rrc.warningType.popup",
        FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
        NULL, HFILL }},
    { &hf_nr_rrc_warningMessageSegment_nb_pages,
      { "Number of Pages", "nr-rrc.warningMessageSegment.nb_pages",
        FT_UINT8, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_warningMessageSegment_decoded_page,
      { "Decoded Page", "nr-rrc.warningMessageSegment.decoded_page",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_fragments,
      { "Fragments", "nr-rrc.warningMessageSegment.fragments",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_fragment,
      { "Fragment", "nr-rrc.warningMessageSegment.fragment",
         FT_FRAMENUM, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_fragment_overlap,
      { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_fragment_overlap_conflict,
      { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_fragment_multiple_tails,
      { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_fragment_too_long_fragment,
      { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_fragment_error,
      { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error",
         FT_FRAMENUM, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_fragment_count,
      { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count",
         FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_reassembled_in,
      { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in",
         FT_FRAMENUM, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_reassembled_length,
      { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length",
         FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib7_reassembled_data,
      { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data",
         FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_fragments,
      { "Fragments", "nr-rrc.warningMessageSegment.fragments",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_fragment,
      { "Fragment", "nr-rrc.warningMessageSegment.fragment",
         FT_FRAMENUM, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_fragment_overlap,
      { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_fragment_overlap_conflict,
      { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_fragment_multiple_tails,
      { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_fragment_too_long_fragment,
      { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment",
         FT_BOOLEAN, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_fragment_error,
      { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error",
         FT_FRAMENUM, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_fragment_count,
      { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count",
         FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_reassembled_in,
      { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in",
         FT_FRAMENUM, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_reassembled_length,
      { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length",
         FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_sib8_reassembled_data,
      { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data",
         FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_nr_rrc_utc_time,
      { "UTC   time", "nr-rrc.utc_time",
        FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0,
        NULL, HFILL }},
    { &hf_nr_rrc_local_time,
      { "Local time", "nr-rrc.local_time",
        FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0,
        NULL, HFILL }},
    { &hf_nr_rrc_absolute_time,
      { "Absolute time", "nr-rrc.absolute_time",
        FT_STRING, BASE_NONE, NULL, 0x0,
        NULL, HFILL }},
  };

  static gint *ett[] = {
    &ett_nr_rrc,
    &ett_nr_rrc_HandoverCommand,
    &ett_nr_rrc_T_criticalExtensions,
    &ett_nr_rrc_T_c1,
    &ett_nr_rrc_T_criticalExtensionsFuture,
    &ett_nr_rrc_HandoverCommand_IEs,
    &ett_nr_rrc_T_nonCriticalExtension,
    &ett_nr_rrc_HandoverPreparationInformation,
    &ett_nr_rrc_T_criticalExtensions_01,
    &ett_nr_rrc_T_c1_01,
    &ett_nr_rrc_T_criticalExtensionsFuture_01,
    &ett_nr_rrc_HandoverPreparationInformation_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_01,
    &ett_nr_rrc_AS_Config,
    &ett_nr_rrc_AS_Context,
    &ett_nr_rrc_ConfigRestrictInfoDAPS_r16,
    &ett_nr_rrc_T_powerCoordination_r16,
    &ett_nr_rrc_ConfigRestrictInfoDAPS_v1640,
    &ett_nr_rrc_ReestablishmentInfo,
    &ett_nr_rrc_ReestabNCellInfoList,
    &ett_nr_rrc_ReestabNCellInfo,
    &ett_nr_rrc_RRM_Config,
    &ett_nr_rrc_CG_Config,
    &ett_nr_rrc_T_criticalExtensions_02,
    &ett_nr_rrc_T_c1_02,
    &ett_nr_rrc_T_criticalExtensionsFuture_02,
    &ett_nr_rrc_CG_Config_IEs,
    &ett_nr_rrc_CG_Config_v1540_IEs,
    &ett_nr_rrc_T_reportCGI_RequestNR,
    &ett_nr_rrc_T_requestedCellInfo,
    &ett_nr_rrc_CG_Config_v1560_IEs,
    &ett_nr_rrc_T_reportCGI_RequestEUTRA,
    &ett_nr_rrc_T_requestedCellInfoEUTRA,
    &ett_nr_rrc_CG_Config_v1590_IEs,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA,
    &ett_nr_rrc_CG_Config_v1610_IEs,
    &ett_nr_rrc_CG_Config_v1620_IEs,
    &ett_nr_rrc_CG_Config_v1630_IEs,
    &ett_nr_rrc_CG_Config_v1640_IEs,
    &ett_nr_rrc_CG_Config_v1700_IEs,
    &ett_nr_rrc_CG_Config_v1730_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_02,
    &ett_nr_rrc_ServCellInfoListSCG_NR_r16,
    &ett_nr_rrc_ServCellInfoXCG_NR_r16,
    &ett_nr_rrc_FrequencyConfig_NR_r16,
    &ett_nr_rrc_ServCellInfoListSCG_EUTRA_r16,
    &ett_nr_rrc_ServCellInfoXCG_EUTRA_r16,
    &ett_nr_rrc_PH_TypeListSCG,
    &ett_nr_rrc_PH_InfoSCG,
    &ett_nr_rrc_PH_UplinkCarrierSCG,
    &ett_nr_rrc_MeasConfigSN,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo,
    &ett_nr_rrc_NR_FreqInfo,
    &ett_nr_rrc_ConfigRestrictModReqSCG,
    &ett_nr_rrc_BandCombinationInfoSN,
    &ett_nr_rrc_FR_InfoList,
    &ett_nr_rrc_FR_Info,
    &ett_nr_rrc_CandidateServingFreqListNR,
    &ett_nr_rrc_CandidateServingFreqListEUTRA,
    &ett_nr_rrc_CandidateCellInfoListCPC_r17,
    &ett_nr_rrc_CandidateCellInfo_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_CandidateCell_r17,
    &ett_nr_rrc_CandidateCell_r17,
    &ett_nr_rrc_CG_ConfigInfo,
    &ett_nr_rrc_T_criticalExtensions_03,
    &ett_nr_rrc_T_c1_03,
    &ett_nr_rrc_T_criticalExtensionsFuture_03,
    &ett_nr_rrc_CG_ConfigInfo_IEs,
    &ett_nr_rrc_T_scgFailureInfo,
    &ett_nr_rrc_CG_ConfigInfo_v1540_IEs,
    &ett_nr_rrc_T_measResultReportCGI,
    &ett_nr_rrc_CG_ConfigInfo_v1560_IEs,
    &ett_nr_rrc_T_scgFailureInfoEUTRA,
    &ett_nr_rrc_T_measResultReportCGI_EUTRA,
    &ett_nr_rrc_CG_ConfigInfo_v1570_IEs,
    &ett_nr_rrc_CG_ConfigInfo_v1590_IEs,
    &ett_nr_rrc_CG_ConfigInfo_v1610_IEs,
    &ett_nr_rrc_T_scgFailureInfo_r16,
    &ett_nr_rrc_T_dummy1,
    &ett_nr_rrc_CG_ConfigInfo_v1620_IEs,
    &ett_nr_rrc_CG_ConfigInfo_v1640_IEs,
    &ett_nr_rrc_CG_ConfigInfo_v1700_IEs,
    &ett_nr_rrc_CG_ConfigInfo_v1730_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_03,
    &ett_nr_rrc_ServCellInfoListMCG_NR_r16,
    &ett_nr_rrc_ServCellInfoListMCG_EUTRA_r16,
    &ett_nr_rrc_SFTD_FrequencyList_NR,
    &ett_nr_rrc_SFTD_FrequencyList_EUTRA,
    &ett_nr_rrc_ConfigRestrictInfoSCG,
    &ett_nr_rrc_T_powerCoordination_FR1,
    &ett_nr_rrc_T_servCellIndexRangeSCG,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN,
    &ett_nr_rrc_T_powerCoordination_FR2_r16,
    &ett_nr_rrc_SelectedBandEntriesMN,
    &ett_nr_rrc_PH_TypeListMCG,
    &ett_nr_rrc_PH_InfoMCG,
    &ett_nr_rrc_PH_UplinkCarrierMCG,
    &ett_nr_rrc_BandCombinationInfoList,
    &ett_nr_rrc_BandCombinationInfo,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex,
    &ett_nr_rrc_DRX_Info,
    &ett_nr_rrc_T_drx_LongCycleStartOffset,
    &ett_nr_rrc_T_shortDRX,
    &ett_nr_rrc_DRX_Info2,
    &ett_nr_rrc_T_drx_onDurationTimer,
    &ett_nr_rrc_MeasConfigMN,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo,
    &ett_nr_rrc_T_measGapConfig,
    &ett_nr_rrc_T_measGapConfigFR2,
    &ett_nr_rrc_MRDC_AssistanceInfo,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC,
    &ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC,
    &ett_nr_rrc_T_affectedCarrierFreqCombMRDC,
    &ett_nr_rrc_VictimSystemType,
    &ett_nr_rrc_AffectedCarrierFreqCombEUTRA,
    &ett_nr_rrc_AffectedCarrierFreqCombNR,
    &ett_nr_rrc_CandidateCellListCPC_r17,
    &ett_nr_rrc_CandidateCellCPC_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCondCells_r16_OF_PhysCellId,
    &ett_nr_rrc_MeasurementTimingConfiguration,
    &ett_nr_rrc_T_criticalExtensions_04,
    &ett_nr_rrc_T_c1_04,
    &ett_nr_rrc_T_criticalExtensionsFuture_04,
    &ett_nr_rrc_MeasurementTimingConfiguration_IEs,
    &ett_nr_rrc_MeasurementTimingConfiguration_v1550_IEs,
    &ett_nr_rrc_MeasurementTimingConfiguration_v1610_IEs,
    &ett_nr_rrc_T_csi_RS_Config_r16,
    &ett_nr_rrc_T_nonCriticalExtension_04,
    &ett_nr_rrc_MeasTimingList,
    &ett_nr_rrc_MeasTiming,
    &ett_nr_rrc_T_frequencyAndTiming,
    &ett_nr_rrc_UERadioPagingInformation,
    &ett_nr_rrc_T_criticalExtensions_05,
    &ett_nr_rrc_T_c1_05,
    &ett_nr_rrc_T_criticalExtensionsFuture_05,
    &ett_nr_rrc_UERadioPagingInformation_IEs,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR,
    &ett_nr_rrc_UERadioPagingInformation_v15e0_IEs,
    &ett_nr_rrc_UERadioPagingInformation_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_05,
    &ett_nr_rrc_UERadioAccessCapabilityInformation,
    &ett_nr_rrc_T_criticalExtensions_06,
    &ett_nr_rrc_T_c1_06,
    &ett_nr_rrc_T_criticalExtensionsFuture_06,
    &ett_nr_rrc_UERadioAccessCapabilityInformation_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_06,
    &ett_nr_rrc_BCCH_BCH_Message,
    &ett_nr_rrc_BCCH_BCH_MessageType,
    &ett_nr_rrc_T_messageClassExtension,
    &ett_nr_rrc_BCCH_DL_SCH_Message,
    &ett_nr_rrc_BCCH_DL_SCH_MessageType,
    &ett_nr_rrc_T_c1_07,
    &ett_nr_rrc_T_messageClassExtension_01,
    &ett_nr_rrc_DL_CCCH_Message,
    &ett_nr_rrc_DL_CCCH_MessageType,
    &ett_nr_rrc_T_c1_08,
    &ett_nr_rrc_T_messageClassExtension_02,
    &ett_nr_rrc_DL_DCCH_Message,
    &ett_nr_rrc_DL_DCCH_MessageType,
    &ett_nr_rrc_T_c1_09,
    &ett_nr_rrc_T_messageClassExtension_03,
    &ett_nr_rrc_MCCH_Message_r17,
    &ett_nr_rrc_MCCH_MessageType_r17,
    &ett_nr_rrc_T_c1_10,
    &ett_nr_rrc_T_messageClassExtension_04,
    &ett_nr_rrc_PCCH_Message,
    &ett_nr_rrc_PCCH_MessageType,
    &ett_nr_rrc_T_c1_11,
    &ett_nr_rrc_T_messageClassExtension_05,
    &ett_nr_rrc_UL_CCCH_Message,
    &ett_nr_rrc_UL_CCCH_MessageType,
    &ett_nr_rrc_T_c1_12,
    &ett_nr_rrc_T_messageClassExtension_06,
    &ett_nr_rrc_UL_CCCH1_Message,
    &ett_nr_rrc_UL_CCCH1_MessageType,
    &ett_nr_rrc_T_c1_13,
    &ett_nr_rrc_T_messageClassExtension_07,
    &ett_nr_rrc_UL_DCCH_Message,
    &ett_nr_rrc_UL_DCCH_MessageType,
    &ett_nr_rrc_T_c1_14,
    &ett_nr_rrc_T_messageClassExtension_08,
    &ett_nr_rrc_T_c2,
    &ett_nr_rrc_T_messageClassExtensionFuture_r16,
    &ett_nr_rrc_CounterCheck,
    &ett_nr_rrc_T_criticalExtensions_07,
    &ett_nr_rrc_T_criticalExtensionsFuture_07,
    &ett_nr_rrc_CounterCheck_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_07,
    &ett_nr_rrc_DRB_CountMSB_InfoList,
    &ett_nr_rrc_DRB_CountMSB_Info,
    &ett_nr_rrc_CounterCheckResponse,
    &ett_nr_rrc_T_criticalExtensions_08,
    &ett_nr_rrc_T_criticalExtensionsFuture_08,
    &ett_nr_rrc_CounterCheckResponse_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_08,
    &ett_nr_rrc_DRB_CountInfoList,
    &ett_nr_rrc_DRB_CountInfo,
    &ett_nr_rrc_DedicatedSIBRequest_r16,
    &ett_nr_rrc_T_criticalExtensions_09,
    &ett_nr_rrc_T_criticalExtensionsFuture_09,
    &ett_nr_rrc_DedicatedSIBRequest_r16_IEs,
    &ett_nr_rrc_T_onDemandSIB_RequestList_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16,
    &ett_nr_rrc_T_nonCriticalExtension_09,
    &ett_nr_rrc_PosSIB_ReqInfo_r16,
    &ett_nr_rrc_DLDedicatedMessageSegment_r16,
    &ett_nr_rrc_T_criticalExtensions_10,
    &ett_nr_rrc_T_criticalExtensionsFuture_10,
    &ett_nr_rrc_DLDedicatedMessageSegment_r16_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_10,
    &ett_nr_rrc_DLInformationTransfer,
    &ett_nr_rrc_T_criticalExtensions_11,
    &ett_nr_rrc_T_criticalExtensionsFuture_11,
    &ett_nr_rrc_DLInformationTransfer_IEs,
    &ett_nr_rrc_DLInformationTransfer_v1610_IEs,
    &ett_nr_rrc_DLInformationTransfer_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_11,
    &ett_nr_rrc_DLInformationTransferMRDC_r16,
    &ett_nr_rrc_T_criticalExtensions_12,
    &ett_nr_rrc_T_c1_15,
    &ett_nr_rrc_T_criticalExtensionsFuture_12,
    &ett_nr_rrc_DLInformationTransferMRDC_r16_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_12,
    &ett_nr_rrc_FailureInformation,
    &ett_nr_rrc_T_criticalExtensions_13,
    &ett_nr_rrc_T_criticalExtensionsFuture_13,
    &ett_nr_rrc_FailureInformation_IEs,
    &ett_nr_rrc_FailureInfoRLC_Bearer,
    &ett_nr_rrc_FailureInformation_v1610_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_13,
    &ett_nr_rrc_FailureInfoDAPS_r16,
    &ett_nr_rrc_IABOtherInformation_r16,
    &ett_nr_rrc_T_criticalExtensions_14,
    &ett_nr_rrc_T_criticalExtensionsFuture_14,
    &ett_nr_rrc_IABOtherInformation_r16_IEs,
    &ett_nr_rrc_T_ip_InfoType_r16,
    &ett_nr_rrc_T_iab_IP_Request_r16,
    &ett_nr_rrc_T_iab_IPv6_AddressReq_r16,
    &ett_nr_rrc_T_iab_IP_Report_r16,
    &ett_nr_rrc_T_iab_IPv6_Report_r16,
    &ett_nr_rrc_T_nonCriticalExtension_14,
    &ett_nr_rrc_IAB_IP_AddressNumReq_r16,
    &ett_nr_rrc_IAB_IP_AddressPrefixReq_r16,
    &ett_nr_rrc_IAB_IP_AddressAndTraffic_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16,
    &ett_nr_rrc_IAB_IP_PrefixAndTraffic_r16,
    &ett_nr_rrc_LocationMeasurementIndication,
    &ett_nr_rrc_T_criticalExtensions_15,
    &ett_nr_rrc_T_criticalExtensionsFuture_15,
    &ett_nr_rrc_LocationMeasurementIndication_IEs,
    &ett_nr_rrc_T_measurementIndication,
    &ett_nr_rrc_T_nonCriticalExtension_15,
    &ett_nr_rrc_LoggedMeasurementConfiguration_r16,
    &ett_nr_rrc_T_criticalExtensions_16,
    &ett_nr_rrc_T_criticalExtensionsFuture_16,
    &ett_nr_rrc_LoggedMeasurementConfiguration_r16_IEs,
    &ett_nr_rrc_T_bt_NameList_r16,
    &ett_nr_rrc_T_wlan_NameList_r16,
    &ett_nr_rrc_T_sensor_NameList_r16,
    &ett_nr_rrc_T_reportType,
    &ett_nr_rrc_LoggedMeasurementConfiguration_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_16,
    &ett_nr_rrc_LoggedPeriodicalReportConfig_r16,
    &ett_nr_rrc_LoggedEventTriggerConfig_r16,
    &ett_nr_rrc_EventType_r16,
    &ett_nr_rrc_T_eventL1,
    &ett_nr_rrc_MBSBroadcastConfiguration_r17,
    &ett_nr_rrc_T_criticalExtensions_17,
    &ett_nr_rrc_T_criticalExtensionsFuture_17,
    &ett_nr_rrc_MBSBroadcastConfiguration_r17_IEs,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDRX_ConfigPTM_r17_OF_DRX_ConfigPTM_r17,
    &ett_nr_rrc_T_nonCriticalExtension_17,
    &ett_nr_rrc_MBSInterestIndication_r17,
    &ett_nr_rrc_T_criticalExtensions_18,
    &ett_nr_rrc_T_criticalExtensionsFuture_18,
    &ett_nr_rrc_MBSInterestIndication_r17_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_18,
    &ett_nr_rrc_MCGFailureInformation_r16,
    &ett_nr_rrc_T_criticalExtensions_19,
    &ett_nr_rrc_T_criticalExtensionsFuture_19,
    &ett_nr_rrc_MCGFailureInformation_r16_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_19,
    &ett_nr_rrc_FailureReportMCG_r16,
    &ett_nr_rrc_MeasResultList2UTRA,
    &ett_nr_rrc_MeasResult2UTRA_FDD_r16,
    &ett_nr_rrc_MeasResultList2EUTRA,
    &ett_nr_rrc_MeasurementReport,
    &ett_nr_rrc_T_criticalExtensions_20,
    &ett_nr_rrc_T_criticalExtensionsFuture_20,
    &ett_nr_rrc_MeasurementReport_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_20,
    &ett_nr_rrc_MeasurementReportAppLayer_r17,
    &ett_nr_rrc_T_criticalExtensions_21,
    &ett_nr_rrc_T_criticalExtensionsFuture_21,
    &ett_nr_rrc_MeasurementReportAppLayer_r17_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_21,
    &ett_nr_rrc_MeasurementReportAppLayerList_r17,
    &ett_nr_rrc_MeasReportAppLayer_r17,
    &ett_nr_rrc_RAN_VisibleMeasurements_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_AppLayerBufferLevel_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDU_Sessions_r17_OF_PDU_SessionID,
    &ett_nr_rrc_MIB,
    &ett_nr_rrc_MobilityFromNRCommand,
    &ett_nr_rrc_T_criticalExtensions_22,
    &ett_nr_rrc_T_criticalExtensionsFuture_22,
    &ett_nr_rrc_MobilityFromNRCommand_IEs,
    &ett_nr_rrc_MobilityFromNRCommand_v1610_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_22,
    &ett_nr_rrc_Paging,
    &ett_nr_rrc_Paging_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_23,
    &ett_nr_rrc_PagingRecordList,
    &ett_nr_rrc_PagingRecordList_v1700,
    &ett_nr_rrc_PagingGroupList_r17,
    &ett_nr_rrc_PagingRecord,
    &ett_nr_rrc_PagingRecord_v1700,
    &ett_nr_rrc_PagingUE_Identity,
    &ett_nr_rrc_RRCReestablishment,
    &ett_nr_rrc_T_criticalExtensions_23,
    &ett_nr_rrc_T_criticalExtensionsFuture_23,
    &ett_nr_rrc_RRCReestablishment_IEs,
    &ett_nr_rrc_RRCReestablishment_v1700_IEs,
    &ett_nr_rrc_T_sl_L2RemoteUE_Config_r17,
    &ett_nr_rrc_T_nonCriticalExtension_24,
    &ett_nr_rrc_RRCReestablishmentComplete,
    &ett_nr_rrc_T_criticalExtensions_24,
    &ett_nr_rrc_T_criticalExtensionsFuture_24,
    &ett_nr_rrc_RRCReestablishmentComplete_IEs,
    &ett_nr_rrc_RRCReestablishmentComplete_v1610_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_25,
    &ett_nr_rrc_RRCReestablishmentRequest,
    &ett_nr_rrc_RRCReestablishmentRequest_IEs,
    &ett_nr_rrc_ReestabUE_Identity,
    &ett_nr_rrc_RRCReconfiguration,
    &ett_nr_rrc_T_criticalExtensions_25,
    &ett_nr_rrc_T_criticalExtensionsFuture_25,
    &ett_nr_rrc_RRCReconfiguration_IEs,
    &ett_nr_rrc_RRCReconfiguration_v1530_IEs,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message,
    &ett_nr_rrc_RRCReconfiguration_v1540_IEs,
    &ett_nr_rrc_RRCReconfiguration_v1560_IEs,
    &ett_nr_rrc_T_mrdc_SecondaryCellGroupConfig,
    &ett_nr_rrc_RRCReconfiguration_v1610_IEs,
    &ett_nr_rrc_T_bap_Config_r16,
    &ett_nr_rrc_T_t316_r16,
    &ett_nr_rrc_T_needForGapsConfigNR_r16,
    &ett_nr_rrc_T_onDemandSIB_Request_r16,
    &ett_nr_rrc_T_sl_ConfigDedicatedNR_r16,
    &ett_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16,
    &ett_nr_rrc_RRCReconfiguration_v1700_IEs,
    &ett_nr_rrc_T_sl_L2RelayUE_Config_r17,
    &ett_nr_rrc_T_sl_L2RemoteUE_Config_r17_01,
    &ett_nr_rrc_T_needForGapNCSG_ConfigNR_r17,
    &ett_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17,
    &ett_nr_rrc_T_musim_GapConfig_r17,
    &ett_nr_rrc_T_ul_GapFR2_Config_r17,
    &ett_nr_rrc_T_ue_TxTEG_RequestUL_TDOA_Config_r17,
    &ett_nr_rrc_T_nonCriticalExtension_26,
    &ett_nr_rrc_MRDC_SecondaryCellGroupConfig,
    &ett_nr_rrc_T_mrdc_SecondaryCellGroup,
    &ett_nr_rrc_BAP_Config_r16,
    &ett_nr_rrc_MasterKeyUpdate,
    &ett_nr_rrc_OnDemandSIB_Request_r16,
    &ett_nr_rrc_IAB_IP_AddressConfigurationList_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16,
    &ett_nr_rrc_IAB_IP_AddressConfiguration_r16,
    &ett_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16,
    &ett_nr_rrc_UE_TxTEG_RequestUL_TDOA_Config_r17,
    &ett_nr_rrc_RRCReconfigurationComplete,
    &ett_nr_rrc_T_criticalExtensions_26,
    &ett_nr_rrc_T_criticalExtensionsFuture_26,
    &ett_nr_rrc_RRCReconfigurationComplete_IEs,
    &ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs,
    &ett_nr_rrc_RRCReconfigurationComplete_v1560_IEs,
    &ett_nr_rrc_T_scg_Response,
    &ett_nr_rrc_RRCReconfigurationComplete_v1610_IEs,
    &ett_nr_rrc_RRCReconfigurationComplete_v1640_IEs,
    &ett_nr_rrc_RRCReconfigurationComplete_v1700_IEs,
    &ett_nr_rrc_RRCReconfigurationComplete_v1720_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_27,
    &ett_nr_rrc_RRCReject,
    &ett_nr_rrc_T_criticalExtensions_27,
    &ett_nr_rrc_T_criticalExtensionsFuture_27,
    &ett_nr_rrc_RRCReject_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_28,
    &ett_nr_rrc_RRCRelease,
    &ett_nr_rrc_T_criticalExtensions_28,
    &ett_nr_rrc_T_criticalExtensionsFuture_28,
    &ett_nr_rrc_RRCRelease_IEs,
    &ett_nr_rrc_T_deprioritisationReq,
    &ett_nr_rrc_RRCRelease_v1540_IEs,
    &ett_nr_rrc_RRCRelease_v1610_IEs,
    &ett_nr_rrc_T_measIdleConfig_r16,
    &ett_nr_rrc_RRCRelease_v1650_IEs,
    &ett_nr_rrc_RRCRelease_v1710_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_29,
    &ett_nr_rrc_RedirectedCarrierInfo,
    &ett_nr_rrc_RedirectedCarrierInfo_EUTRA,
    &ett_nr_rrc_CarrierInfoNR,
    &ett_nr_rrc_SuspendConfig,
    &ett_nr_rrc_T_sdt_Config_r17,
    &ett_nr_rrc_T_srs_PosRRC_Inactive_r17,
    &ett_nr_rrc_T_ncd_SSB_RedCapInitialBWP_SDT_r17,
    &ett_nr_rrc_CellReselectionPriorities,
    &ett_nr_rrc_FreqPriorityListEUTRA,
    &ett_nr_rrc_FreqPriorityListNR,
    &ett_nr_rrc_FreqPriorityEUTRA,
    &ett_nr_rrc_FreqPriorityNR,
    &ett_nr_rrc_RAN_NotificationAreaInfo,
    &ett_nr_rrc_PLMN_RAN_AreaCellList,
    &ett_nr_rrc_PLMN_RAN_AreaCell,
    &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity,
    &ett_nr_rrc_PLMN_RAN_AreaConfigList,
    &ett_nr_rrc_PLMN_RAN_AreaConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig,
    &ett_nr_rrc_RAN_AreaConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode,
    &ett_nr_rrc_SDT_Config_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_0_maxDRB_OF_DRB_Identity,
    &ett_nr_rrc_T_sdt_MAC_PHY_CG_Config_r17,
    &ett_nr_rrc_SDT_MAC_PHY_CG_Config_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_CG_SDT_ConfigLCH_Restriction_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity,
    &ett_nr_rrc_T_cg_SDT_ConfigInitialBWP_NUL_r17,
    &ett_nr_rrc_T_cg_SDT_ConfigInitialBWP_SUL_r17,
    &ett_nr_rrc_T_cg_SDT_TA_ValidationConfig_r17,
    &ett_nr_rrc_CG_SDT_TA_ValidationConfig_r17,
    &ett_nr_rrc_BWP_DownlinkDedicatedSDT_r17,
    &ett_nr_rrc_T_pdcch_Config_r17,
    &ett_nr_rrc_T_pdsch_Config_r17,
    &ett_nr_rrc_BWP_UplinkDedicatedSDT_r17,
    &ett_nr_rrc_T_pusch_Config_r17,
    &ett_nr_rrc_CG_SDT_ConfigLCH_Restriction_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_1_r16_OF_ConfiguredGrantConfigIndexMAC_r16,
    &ett_nr_rrc_SRS_PosRRC_InactiveConfig_r17,
    &ett_nr_rrc_SRS_PosConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16,
    &ett_nr_rrc_RRCResume,
    &ett_nr_rrc_T_criticalExtensions_29,
    &ett_nr_rrc_T_criticalExtensionsFuture_29,
    &ett_nr_rrc_RRCResume_IEs,
    &ett_nr_rrc_RRCResume_v1560_IEs,
    &ett_nr_rrc_RRCResume_v1610_IEs,
    &ett_nr_rrc_T_mrdc_SecondaryCellGroup_r16,
    &ett_nr_rrc_T_needForGapsConfigNR_r16_01,
    &ett_nr_rrc_RRCResume_v1700_IEs,
    &ett_nr_rrc_T_sl_ConfigDedicatedNR_r17,
    &ett_nr_rrc_T_sl_L2RemoteUE_Config_r17_02,
    &ett_nr_rrc_T_needForGapNCSG_ConfigNR_r17_01,
    &ett_nr_rrc_T_needForGapNCSG_ConfigEUTRA_r17_01,
    &ett_nr_rrc_T_nonCriticalExtension_30,
    &ett_nr_rrc_RRCResumeComplete,
    &ett_nr_rrc_T_criticalExtensions_30,
    &ett_nr_rrc_T_criticalExtensionsFuture_30,
    &ett_nr_rrc_RRCResumeComplete_IEs,
    &ett_nr_rrc_RRCResumeComplete_v1610_IEs,
    &ett_nr_rrc_T_scg_Response_r16,
    &ett_nr_rrc_RRCResumeComplete_v1640_IEs,
    &ett_nr_rrc_RRCResumeComplete_v1700_IEs,
    &ett_nr_rrc_RRCResumeComplete_v1720_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_31,
    &ett_nr_rrc_RRCResumeRequest,
    &ett_nr_rrc_RRCResumeRequest_IEs,
    &ett_nr_rrc_RRCResumeRequest1,
    &ett_nr_rrc_RRCResumeRequest1_IEs,
    &ett_nr_rrc_RRCSetup,
    &ett_nr_rrc_T_criticalExtensions_31,
    &ett_nr_rrc_T_criticalExtensionsFuture_31,
    &ett_nr_rrc_RRCSetup_IEs,
    &ett_nr_rrc_RRCSetup_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_32,
    &ett_nr_rrc_RRCSetupComplete,
    &ett_nr_rrc_T_criticalExtensions_32,
    &ett_nr_rrc_T_criticalExtensionsFuture_32,
    &ett_nr_rrc_RRCSetupComplete_IEs,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI,
    &ett_nr_rrc_T_ng_5G_S_TMSI_Value,
    &ett_nr_rrc_RRCSetupComplete_v1610_IEs,
    &ett_nr_rrc_RRCSetupComplete_v1690_IEs,
    &ett_nr_rrc_RRCSetupComplete_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_33,
    &ett_nr_rrc_RegisteredAMF,
    &ett_nr_rrc_RRCSetupRequest,
    &ett_nr_rrc_RRCSetupRequest_IEs,
    &ett_nr_rrc_InitialUE_Identity,
    &ett_nr_rrc_RRCSystemInfoRequest,
    &ett_nr_rrc_T_criticalExtensions_33,
    &ett_nr_rrc_T_criticalExtensionsFuture_r16,
    &ett_nr_rrc_T_criticalExtensionsFuture_33,
    &ett_nr_rrc_RRCSystemInfoRequest_IEs,
    &ett_nr_rrc_RRC_PosSystemInfoRequest_r16_IEs,
    &ett_nr_rrc_SCGFailureInformation,
    &ett_nr_rrc_T_criticalExtensions_34,
    &ett_nr_rrc_T_criticalExtensionsFuture_34,
    &ett_nr_rrc_SCGFailureInformation_IEs,
    &ett_nr_rrc_SCGFailureInformation_v1590_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_34,
    &ett_nr_rrc_FailureReportSCG,
    &ett_nr_rrc_T_previousPSCellId_r17,
    &ett_nr_rrc_T_failedPSCellId_r17,
    &ett_nr_rrc_MeasResultFreqList,
    &ett_nr_rrc_SCGFailureInformationEUTRA,
    &ett_nr_rrc_T_criticalExtensions_35,
    &ett_nr_rrc_T_criticalExtensionsFuture_35,
    &ett_nr_rrc_SCGFailureInformationEUTRA_IEs,
    &ett_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_35,
    &ett_nr_rrc_FailureReportSCG_EUTRA,
    &ett_nr_rrc_MeasResultFreqListFailMRDC,
    &ett_nr_rrc_SecurityModeCommand,
    &ett_nr_rrc_T_criticalExtensions_36,
    &ett_nr_rrc_T_criticalExtensionsFuture_36,
    &ett_nr_rrc_SecurityModeCommand_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_36,
    &ett_nr_rrc_SecurityConfigSMC,
    &ett_nr_rrc_SecurityModeComplete,
    &ett_nr_rrc_T_criticalExtensions_37,
    &ett_nr_rrc_T_criticalExtensionsFuture_37,
    &ett_nr_rrc_SecurityModeComplete_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_37,
    &ett_nr_rrc_SecurityModeFailure,
    &ett_nr_rrc_T_criticalExtensions_38,
    &ett_nr_rrc_T_criticalExtensionsFuture_38,
    &ett_nr_rrc_SecurityModeFailure_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_38,
    &ett_nr_rrc_SIB1,
    &ett_nr_rrc_T_cellSelectionInfo,
    &ett_nr_rrc_T_uac_BarringInfo,
    &ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo,
    &ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo,
    &ett_nr_rrc_SIB1_v1610_IEs,
    &ett_nr_rrc_SIB1_v1630_IEs,
    &ett_nr_rrc_T_uac_BarringInfo_v1630,
    &ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AC1_SelectAssistInfo_r16,
    &ett_nr_rrc_SIB1_v1700_IEs,
    &ett_nr_rrc_T_uac_BarringInfo_v1700,
    &ett_nr_rrc_T_featurePriorities_r17,
    &ett_nr_rrc_SIB1_v1740_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_39,
    &ett_nr_rrc_SDT_ConfigCommonSIB_r17,
    &ett_nr_rrc_RedCap_ConfigCommonSIB_r17,
    &ett_nr_rrc_T_cellBarredRedCap_r17,
    &ett_nr_rrc_SidelinkUEInformationNR_r16,
    &ett_nr_rrc_T_criticalExtensions_39,
    &ett_nr_rrc_T_criticalExtensionsFuture_39,
    &ett_nr_rrc_SidelinkUEInformationNR_r16_IEs,
    &ett_nr_rrc_SidelinkUEInformationNR_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_40,
    &ett_nr_rrc_SL_InterestedFreqList_r16,
    &ett_nr_rrc_SL_TxResourceReqList_r16,
    &ett_nr_rrc_SL_TxResourceReq_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16,
    &ett_nr_rrc_SL_TxResourceReqList_v1700,
    &ett_nr_rrc_SL_RxDRX_ReportList_v1700,
    &ett_nr_rrc_SL_TxResourceReq_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_RxInfoSet_r17_OF_SL_DRX_ConfigUC_SemiStatic_r17,
    &ett_nr_rrc_SL_RxDRX_Report_v1700,
    &ett_nr_rrc_SL_RxInterestedGC_BC_DestList_r17,
    &ett_nr_rrc_SL_RxInterestedGC_BC_Dest_r17,
    &ett_nr_rrc_SL_TxResourceReqListDisc_r17,
    &ett_nr_rrc_SL_TxResourceReqDisc_r17,
    &ett_nr_rrc_SL_TxResourceReqListCommRelay_r17,
    &ett_nr_rrc_SL_TxResourceReqCommRelayInfo_r17,
    &ett_nr_rrc_SL_TxResourceReqCommRelay_r17,
    &ett_nr_rrc_SL_TxResourceReqL2U2N_Relay_r17,
    &ett_nr_rrc_SL_TxInterestedFreqList_r16,
    &ett_nr_rrc_SL_QoS_Info_r16,
    &ett_nr_rrc_SL_RLC_ModeIndication_r16,
    &ett_nr_rrc_T_sl_Mode_r16,
    &ett_nr_rrc_SL_FailureList_r16,
    &ett_nr_rrc_SL_Failure_r16,
    &ett_nr_rrc_SystemInformation,
    &ett_nr_rrc_T_criticalExtensions_40,
    &ett_nr_rrc_T_criticalExtensionsFuture_r16_01,
    &ett_nr_rrc_T_criticalExtensionsFuture_40,
    &ett_nr_rrc_SystemInformation_IEs,
    &ett_nr_rrc_T_sib_TypeAndInfo,
    &ett_nr_rrc_T_sib_TypeAndInfo_item,
    &ett_nr_rrc_T_nonCriticalExtension_41,
    &ett_nr_rrc_UEAssistanceInformation,
    &ett_nr_rrc_T_criticalExtensions_41,
    &ett_nr_rrc_T_criticalExtensionsFuture_41,
    &ett_nr_rrc_UEAssistanceInformation_IEs,
    &ett_nr_rrc_DelayBudgetReport,
    &ett_nr_rrc_UEAssistanceInformation_v1540_IEs,
    &ett_nr_rrc_OverheatingAssistance,
    &ett_nr_rrc_T_reducedMaxMIMO_LayersFR1,
    &ett_nr_rrc_T_reducedMaxMIMO_LayersFR2,
    &ett_nr_rrc_OverheatingAssistance_r17,
    &ett_nr_rrc_T_reducedMaxBW_FR2_2_r17,
    &ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_2,
    &ett_nr_rrc_UEAssistanceInformation_v1610_IEs,
    &ett_nr_rrc_UEAssistanceInformation_v1700_IEs,
    &ett_nr_rrc_T_nonSDT_DataIndication_r17,
    &ett_nr_rrc_T_nonCriticalExtension_42,
    &ett_nr_rrc_IDC_Assistance_r16,
    &ett_nr_rrc_AffectedCarrierFreqList_r16,
    &ett_nr_rrc_AffectedCarrierFreq_r16,
    &ett_nr_rrc_AffectedCarrierFreqCombList_r16,
    &ett_nr_rrc_AffectedCarrierFreqComb_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR,
    &ett_nr_rrc_VictimSystemType_r16,
    &ett_nr_rrc_DRX_Preference_r16,
    &ett_nr_rrc_MaxBW_Preference_r16,
    &ett_nr_rrc_MaxBW_PreferenceFR2_2_r17,
    &ett_nr_rrc_T_reducedMaxBW_FR2_2_r17_01,
    &ett_nr_rrc_MaxCC_Preference_r16,
    &ett_nr_rrc_MaxMIMO_LayerPreference_r16,
    &ett_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16,
    &ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16,
    &ett_nr_rrc_MaxMIMO_LayerPreferenceFR2_2_r17,
    &ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_2_r17,
    &ett_nr_rrc_MinSchedulingOffsetPreference_r16,
    &ett_nr_rrc_T_preferredK0_r16,
    &ett_nr_rrc_T_preferredK2_r16,
    &ett_nr_rrc_MinSchedulingOffsetPreferenceExt_r17,
    &ett_nr_rrc_T_preferredK0_r17,
    &ett_nr_rrc_T_preferredK2_r17,
    &ett_nr_rrc_MUSIM_Assistance_r17,
    &ett_nr_rrc_MUSIM_GapPreferenceList_r17,
    &ett_nr_rrc_ReleasePreference_r16,
    &ett_nr_rrc_ReducedMaxBW_FRx_r16,
    &ett_nr_rrc_ReducedMaxCCs_r16,
    &ett_nr_rrc_SL_UE_AssistanceInformationNR_r16,
    &ett_nr_rrc_SL_TrafficPatternInfo_r16,
    &ett_nr_rrc_UL_GapFR2_Preference_r17,
    &ett_nr_rrc_PropagationDelayDifference_r17,
    &ett_nr_rrc_UECapabilityEnquiry,
    &ett_nr_rrc_T_criticalExtensions_42,
    &ett_nr_rrc_T_criticalExtensionsFuture_42,
    &ett_nr_rrc_UECapabilityEnquiry_IEs,
    &ett_nr_rrc_UECapabilityEnquiry_v1560_IEs,
    &ett_nr_rrc_UECapabilityEnquiry_v1610_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_43,
    &ett_nr_rrc_UECapabilityInformation,
    &ett_nr_rrc_T_criticalExtensions_43,
    &ett_nr_rrc_T_criticalExtensionsFuture_43,
    &ett_nr_rrc_UECapabilityInformation_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_44,
    &ett_nr_rrc_UEInformationRequest_r16,
    &ett_nr_rrc_T_criticalExtensions_44,
    &ett_nr_rrc_T_criticalExtensionsFuture_44,
    &ett_nr_rrc_UEInformationRequest_r16_IEs,
    &ett_nr_rrc_UEInformationRequest_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_45,
    &ett_nr_rrc_UEInformationResponse_r16,
    &ett_nr_rrc_T_criticalExtensions_45,
    &ett_nr_rrc_T_criticalExtensionsFuture_45,
    &ett_nr_rrc_UEInformationResponse_r16_IEs,
    &ett_nr_rrc_UEInformationResponse_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_46,
    &ett_nr_rrc_LogMeasReport_r16,
    &ett_nr_rrc_LogMeasInfoList_r16,
    &ett_nr_rrc_LogMeasInfo_r16,
    &ett_nr_rrc_T_measResultNeighCells_r16,
    &ett_nr_rrc_ConnEstFailReport_r16,
    &ett_nr_rrc_T_measResultNeighCells_r16_01,
    &ett_nr_rrc_ConnEstFailReportList_r17,
    &ett_nr_rrc_MeasResultServingCell_r16,
    &ett_nr_rrc_T_resultsSSB,
    &ett_nr_rrc_MeasResultFailedCell_r16,
    &ett_nr_rrc_T_measResult_r16,
    &ett_nr_rrc_T_cellResults_r16,
    &ett_nr_rrc_T_rsIndexResults_r16,
    &ett_nr_rrc_RA_ReportList_r16,
    &ett_nr_rrc_RA_Report_r16,
    &ett_nr_rrc_T_cellId_r16,
    &ett_nr_rrc_RA_InformationCommon_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSIB_OF_SIB_Type_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSSBs_r16_OF_SSB_Index,
    &ett_nr_rrc_PerRAInfoList_r16,
    &ett_nr_rrc_PerRAInfoList_v1660,
    &ett_nr_rrc_PerRAInfo_r16,
    &ett_nr_rrc_PerRASSBInfo_r16,
    &ett_nr_rrc_PerRACSI_RSInfo_r16,
    &ett_nr_rrc_PerRACSI_RSInfo_v1660,
    &ett_nr_rrc_PerRAAttemptInfoList_r16,
    &ett_nr_rrc_PerRAAttemptInfo_r16,
    &ett_nr_rrc_RLF_Report_r16,
    &ett_nr_rrc_T_nr_RLF_Report_r16,
    &ett_nr_rrc_T_measResultNeighCells_r16_02,
    &ett_nr_rrc_T_previousPCellId_r16,
    &ett_nr_rrc_T_failedPCellId_r16,
    &ett_nr_rrc_T_nrFailedPCellId_r16,
    &ett_nr_rrc_T_eutraFailedPCellId_r16,
    &ett_nr_rrc_T_reconnectCellId_r16,
    &ett_nr_rrc_T_choCellId_r17,
    &ett_nr_rrc_T_eutra_RLF_Report_r16,
    &ett_nr_rrc_SuccessHO_Report_r17,
    &ett_nr_rrc_T_sourceCellInfo_r17,
    &ett_nr_rrc_T_targetCellInfo_r17,
    &ett_nr_rrc_T_measResultNeighCells_r17,
    &ett_nr_rrc_MeasResultList2NR_r16,
    &ett_nr_rrc_MeasResultList2EUTRA_r16,
    &ett_nr_rrc_MeasResult2NR_r16,
    &ett_nr_rrc_MeasResultListLogging2NR_r16,
    &ett_nr_rrc_MeasResultLogging2NR_r16,
    &ett_nr_rrc_MeasResultListLoggingNR_r16,
    &ett_nr_rrc_MeasResultLoggingNR_r16,
    &ett_nr_rrc_MeasResult2EUTRA_r16,
    &ett_nr_rrc_MeasResultRLFNR_r16,
    &ett_nr_rrc_T_measResult_r16_01,
    &ett_nr_rrc_T_cellResults_r16_01,
    &ett_nr_rrc_T_rsIndexResults_r16_01,
    &ett_nr_rrc_MeasResultSuccessHONR_r17,
    &ett_nr_rrc_T_measResult_r17,
    &ett_nr_rrc_T_cellResults_r17,
    &ett_nr_rrc_T_rsIndexResults_r17,
    &ett_nr_rrc_ChoCandidateCellList_r17,
    &ett_nr_rrc_ChoCandidateCell_r17,
    &ett_nr_rrc_SHR_Cause_r17,
    &ett_nr_rrc_UEPositioningAssistanceInfo_r17,
    &ett_nr_rrc_T_criticalExtensions_46,
    &ett_nr_rrc_T_criticalExtensionsFuture_46,
    &ett_nr_rrc_UEPositioningAssistanceInfo_r17_IEs,
    &ett_nr_rrc_UEPositioningAssistanceInfo_v1720_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_47,
    &ett_nr_rrc_UE_TxTEG_AssociationList_r17,
    &ett_nr_rrc_UE_TxTEG_Association_r17,
    &ett_nr_rrc_NR_TimeStamp_r17,
    &ett_nr_rrc_T_nr_Slot_r17,
    &ett_nr_rrc_ULDedicatedMessageSegment_r16,
    &ett_nr_rrc_T_criticalExtensions_47,
    &ett_nr_rrc_T_criticalExtensionsFuture_47,
    &ett_nr_rrc_ULDedicatedMessageSegment_r16_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_48,
    &ett_nr_rrc_ULInformationTransfer,
    &ett_nr_rrc_T_criticalExtensions_48,
    &ett_nr_rrc_T_criticalExtensionsFuture_48,
    &ett_nr_rrc_ULInformationTransfer_IEs,
    &ett_nr_rrc_ULInformationTransfer_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_49,
    &ett_nr_rrc_ULInformationTransferIRAT_r16,
    &ett_nr_rrc_T_criticalExtensions_49,
    &ett_nr_rrc_T_c1_16,
    &ett_nr_rrc_T_criticalExtensionsFuture_49,
    &ett_nr_rrc_ULInformationTransferIRAT_r16_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_50,
    &ett_nr_rrc_ULInformationTransferMRDC,
    &ett_nr_rrc_T_criticalExtensions_50,
    &ett_nr_rrc_T_c1_17,
    &ett_nr_rrc_T_criticalExtensionsFuture_50,
    &ett_nr_rrc_ULInformationTransferMRDC_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_51,
    &ett_nr_rrc_SIB2,
    &ett_nr_rrc_T_cellReselectionInfoCommon,
    &ett_nr_rrc_T_speedStateReselectionPars,
    &ett_nr_rrc_T_q_HystSF,
    &ett_nr_rrc_T_cellReselectionServingFreqInfo,
    &ett_nr_rrc_T_intraFreqCellReselectionInfo,
    &ett_nr_rrc_T_relaxedMeasurement_r16,
    &ett_nr_rrc_T_lowMobilityEvaluation_r16,
    &ett_nr_rrc_T_cellEdgeEvaluation_r16,
    &ett_nr_rrc_T_relaxedMeasurement_r17,
    &ett_nr_rrc_T_stationaryMobilityEvaluation_r17,
    &ett_nr_rrc_T_cellEdgeEvaluationWhileStationary_r17,
    &ett_nr_rrc_SIB3,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellListPerPLMN_r16,
    &ett_nr_rrc_IntraFreqNeighCellList,
    &ett_nr_rrc_IntraFreqNeighCellList_v1610,
    &ett_nr_rrc_IntraFreqNeighCellList_v1710,
    &ett_nr_rrc_IntraFreqNeighCellInfo,
    &ett_nr_rrc_IntraFreqNeighCellInfo_v1610,
    &ett_nr_rrc_IntraFreqNeighCellInfo_v1710,
    &ett_nr_rrc_IntraFreqExcludedCellList,
    &ett_nr_rrc_IntraFreqAllowedCellList_r16,
    &ett_nr_rrc_IntraFreqCAG_CellListPerPLMN_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range,
    &ett_nr_rrc_IntraFreqNeighHSDN_CellList_r17,
    &ett_nr_rrc_SIB4,
    &ett_nr_rrc_InterFreqCarrierFreqList,
    &ett_nr_rrc_InterFreqCarrierFreqList_v1610,
    &ett_nr_rrc_InterFreqCarrierFreqList_v1700,
    &ett_nr_rrc_InterFreqCarrierFreqList_v1720,
    &ett_nr_rrc_InterFreqCarrierFreqList_v1730,
    &ett_nr_rrc_InterFreqCarrierFreqInfo,
    &ett_nr_rrc_T_threshX_Q,
    &ett_nr_rrc_InterFreqCarrierFreqInfo_v1610,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellListPerPLMN_r16,
    &ett_nr_rrc_InterFreqCarrierFreqInfo_v1700,
    &ett_nr_rrc_InterFreqCarrierFreqInfo_v1720,
    &ett_nr_rrc_InterFreqCarrierFreqInfo_v1730,
    &ett_nr_rrc_InterFreqNeighHSDN_CellList_r17,
    &ett_nr_rrc_InterFreqNeighCellList,
    &ett_nr_rrc_InterFreqNeighCellList_v1610,
    &ett_nr_rrc_InterFreqNeighCellList_v1710,
    &ett_nr_rrc_InterFreqNeighCellInfo,
    &ett_nr_rrc_InterFreqNeighCellInfo_v1610,
    &ett_nr_rrc_InterFreqNeighCellInfo_v1710,
    &ett_nr_rrc_InterFreqExcludedCellList,
    &ett_nr_rrc_InterFreqAllowedCellList_r16,
    &ett_nr_rrc_InterFreqCAG_CellListPerPLMN_r16,
    &ett_nr_rrc_SIB5,
    &ett_nr_rrc_CarrierFreqListEUTRA,
    &ett_nr_rrc_CarrierFreqListEUTRA_v1610,
    &ett_nr_rrc_CarrierFreqListEUTRA_v1700,
    &ett_nr_rrc_CarrierFreqEUTRA,
    &ett_nr_rrc_T_threshX_Q_01,
    &ett_nr_rrc_CarrierFreqEUTRA_v1610,
    &ett_nr_rrc_CarrierFreqEUTRA_v1700,
    &ett_nr_rrc_EUTRA_FreqNeighHSDN_CellList_r17,
    &ett_nr_rrc_EUTRA_FreqExcludedCellList,
    &ett_nr_rrc_EUTRA_FreqNeighCellList,
    &ett_nr_rrc_EUTRA_FreqNeighCellInfo,
    &ett_nr_rrc_SIB6,
    &ett_nr_rrc_SIB7,
    &ett_nr_rrc_SIB8,
    &ett_nr_rrc_SIB9,
    &ett_nr_rrc_T_timeInfo,
    &ett_nr_rrc_SIB10_r16,
    &ett_nr_rrc_HRNN_List_r16,
    &ett_nr_rrc_HRNN_r16,
    &ett_nr_rrc_SIB11_r16,
    &ett_nr_rrc_SIB12_r16,
    &ett_nr_rrc_SIB13_r16,
    &ett_nr_rrc_SIB14_r16,
    &ett_nr_rrc_SIB15_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_ApplicableDisasterInfo_r17,
    &ett_nr_rrc_ApplicableDisasterInfo_r17,
    &ett_nr_rrc_SIB16_r17,
    &ett_nr_rrc_SIB17_r17,
    &ett_nr_rrc_SIB18_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_GIN_Element_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_GINs_PerSNPN_r17,
    &ett_nr_rrc_GIN_Element_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxGIN_r17_OF_NID_r16,
    &ett_nr_rrc_GINs_PerSNPN_r17,
    &ett_nr_rrc_SIB19_r17,
    &ett_nr_rrc_NTN_NeighCellConfigList_r17,
    &ett_nr_rrc_NTN_NeighCellConfig_r17,
    &ett_nr_rrc_SIB20_r17,
    &ett_nr_rrc_MCCH_Config_r17,
    &ett_nr_rrc_MCCH_RepetitionPeriodAndOffset_r17,
    &ett_nr_rrc_SIB21_r17,
    &ett_nr_rrc_MBS_FSAI_List_r17,
    &ett_nr_rrc_MBS_FSAI_InterFreqList_r17,
    &ett_nr_rrc_MBS_FSAI_InterFreq_r17,
    &ett_nr_rrc_PosSystemInformation_r16_IEs,
    &ett_nr_rrc_T_posSIB_TypeAndInfo_r16,
    &ett_nr_rrc_T_posSIB_TypeAndInfo_r16_item,
    &ett_nr_rrc_T_nonCriticalExtension_52,
    &ett_nr_rrc_PosSI_SchedulingInfo_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16,
    &ett_nr_rrc_PosSchedulingInfo_r16,
    &ett_nr_rrc_PosSIB_MappingInfo_r16,
    &ett_nr_rrc_PosSIB_Type_r16,
    &ett_nr_rrc_GNSS_ID_r16,
    &ett_nr_rrc_SBAS_ID_r16,
    &ett_nr_rrc_SIBpos_r16,
    &ett_nr_rrc_AvailabilityCombinationsPerCell_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombinationRB_Groups_r17,
    &ett_nr_rrc_AvailabilityCombination_r16,
    &ett_nr_rrc_T_resourceAvailability_r16,
    &ett_nr_rrc_AvailabilityCombinationRB_Groups_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRB_SetGroups_r17_OF_RB_SetGroup_r17,
    &ett_nr_rrc_T_resourceAvailability_r17,
    &ett_nr_rrc_RB_SetGroup_r17,
    &ett_nr_rrc_T_resourceAvailability_r17_01,
    &ett_nr_rrc_T_rb_Sets_r17,
    &ett_nr_rrc_AvailabilityIndicator_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16,
    &ett_nr_rrc_BAP_RoutingID_r16,
    &ett_nr_rrc_BeamFailureRecoveryConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR,
    &ett_nr_rrc_T_candidateBeamRSListExt_v1610,
    &ett_nr_rrc_PRACH_ResourceDedicatedBFR,
    &ett_nr_rrc_BFR_SSB_Resource,
    &ett_nr_rrc_BFR_CSIRS_Resource,
    &ett_nr_rrc_T_ra_OccasionList,
    &ett_nr_rrc_CandidateBeamRSListExt_r16,
    &ett_nr_rrc_BeamFailureRecoveryRSConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16,
    &ett_nr_rrc_BetaOffsets,
    &ett_nr_rrc_BetaOffsetsCrossPri_r17,
    &ett_nr_rrc_BH_LogicalChannelIdentity_r16,
    &ett_nr_rrc_BH_RLC_ChannelConfig_r16,
    &ett_nr_rrc_BSR_Config,
    &ett_nr_rrc_BWP,
    &ett_nr_rrc_BWP_Downlink,
    &ett_nr_rrc_BWP_DownlinkCommon,
    &ett_nr_rrc_T_pdcch_ConfigCommon,
    &ett_nr_rrc_T_pdsch_ConfigCommon,
    &ett_nr_rrc_BWP_DownlinkDedicated,
    &ett_nr_rrc_T_pdcch_Config,
    &ett_nr_rrc_T_pdsch_Config,
    &ett_nr_rrc_T_sps_Config,
    &ett_nr_rrc_T_radioLinkMonitoringConfig,
    &ett_nr_rrc_T_beamFailureRecoverySCellConfig_r16,
    &ett_nr_rrc_T_sl_PDCCH_Config_r16,
    &ett_nr_rrc_T_sl_V2X_PDCCH_Config_r16,
    &ett_nr_rrc_T_beamFailureRecoverySpCellConfig_r17,
    &ett_nr_rrc_T_cfr_ConfigMulticast_r17,
    &ett_nr_rrc_SPS_ConfigToAddModList_r16,
    &ett_nr_rrc_SPS_ConfigToReleaseList_r16,
    &ett_nr_rrc_SPS_ConfigDeactivationState_r16,
    &ett_nr_rrc_SPS_ConfigDeactivationStateList_r16,
    &ett_nr_rrc_DL_PPW_PreConfigToAddModList_r17,
    &ett_nr_rrc_DL_PPW_PreConfigToReleaseList_r17,
    &ett_nr_rrc_BWP_Uplink,
    &ett_nr_rrc_BWP_UplinkCommon,
    &ett_nr_rrc_T_rach_ConfigCommon,
    &ett_nr_rrc_T_pusch_ConfigCommon,
    &ett_nr_rrc_T_pucch_ConfigCommon,
    &ett_nr_rrc_T_rach_ConfigCommonIAB_r16,
    &ett_nr_rrc_T_msgA_ConfigCommon_r16,
    &ett_nr_rrc_T_additionalRACH_ConfigList_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_4_OF_NumberOfMsg3_Repetitions_r17,
    &ett_nr_rrc_T_mcs_Msg3_Repetitions_r17,
    &ett_nr_rrc_AdditionalRACH_ConfigList_r17,
    &ett_nr_rrc_AdditionalRACH_Config_r17,
    &ett_nr_rrc_BWP_UplinkDedicated,
    &ett_nr_rrc_T_pucch_Config,
    &ett_nr_rrc_T_pusch_Config,
    &ett_nr_rrc_T_configuredGrantConfig,
    &ett_nr_rrc_T_srs_Config,
    &ett_nr_rrc_T_beamFailureRecoveryConfig,
    &ett_nr_rrc_T_sl_PUCCH_Config_r16,
    &ett_nr_rrc_T_pucch_ConfigurationList_r16,
    &ett_nr_rrc_T_lbt_FailureRecoveryConfig_r16,
    &ett_nr_rrc_T_ul_TCI_StateList_r17,
    &ett_nr_rrc_T_explicitlist,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_State_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_TCI_UL_StateId_r17,
    &ett_nr_rrc_T_pucch_ConfigurationListMulticast1_r17,
    &ett_nr_rrc_T_pucch_ConfigurationListMulticast2_r17,
    &ett_nr_rrc_T_pucch_ConfigMulticast1_r17,
    &ett_nr_rrc_T_pucch_ConfigMulticast2_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPathlossReferenceRSs_r17_OF_PathlossReferenceRS_Id_r17,
    &ett_nr_rrc_ConfiguredGrantConfigToAddModList_r16,
    &ett_nr_rrc_ConfiguredGrantConfigToReleaseList_r16,
    &ett_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16,
    &ett_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16,
    &ett_nr_rrc_CandidateBeamRS_r16,
    &ett_nr_rrc_T_candidateBeamConfig_r16,
    &ett_nr_rrc_CellAccessRelatedInfo,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_SNPN_AccessInfo_r17,
    &ett_nr_rrc_SNPN_AccessInfo_r17,
    &ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC,
    &ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC,
    &ett_nr_rrc_PLMN_Identity_EUTRA_5GC,
    &ett_nr_rrc_CellIdentity_EUTRA_5GC,
    &ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC,
    &ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC,
    &ett_nr_rrc_CellGroupConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUu_RelayRLC_ChannelID_r17_OF_Uu_RelayRLC_ChannelID_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentityExt_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofIABResourceConfig_r17_OF_IAB_ResourceConfigID_r17,
    &ett_nr_rrc_SpCellConfig,
    &ett_nr_rrc_T_rlf_TimersAndConstants,
    &ett_nr_rrc_T_lowMobilityEvaluationConnected_r17,
    &ett_nr_rrc_T_deactivatedSCG_Config_r17,
    &ett_nr_rrc_ReconfigurationWithSync,
    &ett_nr_rrc_T_rach_ConfigDedicated,
    &ett_nr_rrc_DAPS_UplinkPowerConfig_r16,
    &ett_nr_rrc_SCellConfig,
    &ett_nr_rrc_T_sCellSIB20_r17,
    &ett_nr_rrc_T_plmn_IdentityInfoList_r17,
    &ett_nr_rrc_T_npn_IdentityInfoList_r17,
    &ett_nr_rrc_DeactivatedSCG_Config_r17,
    &ett_nr_rrc_GoodServingCellEvaluation_r17,
    &ett_nr_rrc_SL_PathSwitchConfig_r17,
    &ett_nr_rrc_IAB_ResourceConfig_r17,
    &ett_nr_rrc_T_slotList_r17,
    &ett_nr_rrc_ReportUplinkTxDirectCurrentMoreCarrier_r17,
    &ett_nr_rrc_IntraBandCC_CombinationReqList_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_IntraBandCC_Combination_r17,
    &ett_nr_rrc_IntraBandCC_Combination_r17,
    &ett_nr_rrc_CC_State_r17,
    &ett_nr_rrc_CarrierState_r17,
    &ett_nr_rrc_CFR_ConfigMulticast_r17,
    &ett_nr_rrc_SPS_ConfigMulticastToAddModList_r17,
    &ett_nr_rrc_SPS_ConfigMulticastToReleaseList_r17,
    &ett_nr_rrc_CGI_InfoEUTRA,
    &ett_nr_rrc_T_cgi_info_EPC,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC,
    &ett_nr_rrc_CGI_InfoEUTRALogging,
    &ett_nr_rrc_CGI_InfoNR,
    &ett_nr_rrc_T_noSIB1,
    &ett_nr_rrc_CGI_Info_Logging_r16,
    &ett_nr_rrc_CodebookConfig,
    &ett_nr_rrc_T_codebookType,
    &ett_nr_rrc_T_type1_01,
    &ett_nr_rrc_T_subType,
    &ett_nr_rrc_T_typeI_SinglePanel,
    &ett_nr_rrc_T_nrOfAntennaPorts,
    &ett_nr_rrc_T_two,
    &ett_nr_rrc_T_moreThanTwo,
    &ett_nr_rrc_T_n1_n2,
    &ett_nr_rrc_T_typeI_MultiPanel,
    &ett_nr_rrc_T_ng_n1_n2,
    &ett_nr_rrc_T_type2,
    &ett_nr_rrc_T_subType_01,
    &ett_nr_rrc_T_typeII,
    &ett_nr_rrc_T_n1_n2_codebookSubsetRestriction,
    &ett_nr_rrc_T_typeII_PortSelection,
    &ett_nr_rrc_CodebookConfig_r16,
    &ett_nr_rrc_T_codebookType_01,
    &ett_nr_rrc_T_type2_01,
    &ett_nr_rrc_T_subType_02,
    &ett_nr_rrc_T_typeII_r16,
    &ett_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16,
    &ett_nr_rrc_T_typeII_PortSelection_r16,
    &ett_nr_rrc_CodebookConfig_r17,
    &ett_nr_rrc_T_codebookType_02,
    &ett_nr_rrc_T_type1_02,
    &ett_nr_rrc_T_typeI_SinglePanel_Group1_r17,
    &ett_nr_rrc_T_nrOfAntennaPorts_01,
    &ett_nr_rrc_T_two_01,
    &ett_nr_rrc_T_moreThanTwo_01,
    &ett_nr_rrc_T_n1_n2_01,
    &ett_nr_rrc_T_typeI_SinglePanel_Group2_r17,
    &ett_nr_rrc_T_nrOfAntennaPorts_02,
    &ett_nr_rrc_T_two_02,
    &ett_nr_rrc_T_moreThanTwo_02,
    &ett_nr_rrc_T_n1_n2_02,
    &ett_nr_rrc_T_type2_02,
    &ett_nr_rrc_T_typeII_PortSelection_r17,
    &ett_nr_rrc_CodebookConfig_v1730,
    &ett_nr_rrc_T_codebookType_03,
    &ett_nr_rrc_T_type1_03,
    &ett_nr_rrc_CommonLocationInfo_r16,
    &ett_nr_rrc_CondReconfigToAddModList_r16,
    &ett_nr_rrc_CondReconfigToAddMod_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId,
    &ett_nr_rrc_CondReconfigExecCondSCG_r17,
    &ett_nr_rrc_ConditionalReconfiguration_r16,
    &ett_nr_rrc_CondReconfigToRemoveList_r16,
    &ett_nr_rrc_ConfiguredGrantConfig,
    &ett_nr_rrc_T_uci_OnPUSCH,
    &ett_nr_rrc_T_rrc_ConfiguredUplinkGrant,
    &ett_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16,
    &ett_nr_rrc_T_cg_betaOffsetsCrossPri0_r17,
    &ett_nr_rrc_T_cg_betaOffsetsCrossPri1_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_50722_OF_CG_COT_Sharing_r17,
    &ett_nr_rrc_CG_UCI_OnPUSCH,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets,
    &ett_nr_rrc_CG_COT_Sharing_r16,
    &ett_nr_rrc_T_cot_Sharing_r16,
    &ett_nr_rrc_CG_COT_Sharing_r17,
    &ett_nr_rrc_T_cot_Sharing_r17,
    &ett_nr_rrc_CG_StartingOffsets_r16,
    &ett_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16,
    &ett_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16,
    &ett_nr_rrc_BetaOffsetsCrossPriSelCG_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsetsCrossPri_r17,
    &ett_nr_rrc_CG_SDT_Configuration_r17,
    &ett_nr_rrc_T_sdt_SSB_Subset_r17,
    &ett_nr_rrc_T_sdt_DMRS_Ports_r17,
    &ett_nr_rrc_ConnEstFailureControl,
    &ett_nr_rrc_ControlResourceSet,
    &ett_nr_rrc_T_cce_REG_MappingType,
    &ett_nr_rrc_T_interleaved,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId,
    &ett_nr_rrc_CrossCarrierSchedulingConfig,
    &ett_nr_rrc_T_schedulingCellInfo,
    &ett_nr_rrc_T_own,
    &ett_nr_rrc_T_other,
    &ett_nr_rrc_T_carrierIndicatorSize_r16,
    &ett_nr_rrc_CSI_AperiodicTriggerStateList,
    &ett_nr_rrc_CSI_AperiodicTriggerState,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo,
    &ett_nr_rrc_CSI_AssociatedReportConfigInfo,
    &ett_nr_rrc_T_resourcesForChannel,
    &ett_nr_rrc_T_nzp_CSI_RS,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId,
    &ett_nr_rrc_T_resourcesForChannel2_r17,
    &ett_nr_rrc_T_nzp_CSI_RS2_r17,
    &ett_nr_rrc_CSI_FrequencyOccupation,
    &ett_nr_rrc_CSI_IM_Resource,
    &ett_nr_rrc_T_csi_IM_ResourceElementPattern,
    &ett_nr_rrc_T_pattern0,
    &ett_nr_rrc_T_pattern1,
    &ett_nr_rrc_CSI_IM_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId,
    &ett_nr_rrc_CSI_MeasConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId,
    &ett_nr_rrc_T_aperiodicTriggerStateList,
    &ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_Config_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCellActRS_r17_OF_SCellActivationRS_ConfigId_r17,
    &ett_nr_rrc_CSI_ReportConfig,
    &ett_nr_rrc_T_reportConfigType,
    &ett_nr_rrc_T_periodic,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource,
    &ett_nr_rrc_T_semiPersistentOnPUCCH,
    &ett_nr_rrc_T_semiPersistentOnPUSCH,
    &ett_nr_rrc_T_reportSlotOffsetList,
    &ett_nr_rrc_T_aperiodic,
    &ett_nr_rrc_T_reportSlotOffsetList_01,
    &ett_nr_rrc_T_reportQuantity,
    &ett_nr_rrc_T_cri_RI_i1_CQI,
    &ett_nr_rrc_T_reportFreqConfiguration,
    &ett_nr_rrc_T_csi_ReportingBand,
    &ett_nr_rrc_T_groupBasedBeamReporting,
    &ett_nr_rrc_T_disabled,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks,
    &ett_nr_rrc_T_semiPersistentOnPUSCH_v1530,
    &ett_nr_rrc_T_semiPersistentOnPUSCH_v1610,
    &ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16,
    &ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16,
    &ett_nr_rrc_T_aperiodic_v1610,
    &ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r16_01,
    &ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r16_01,
    &ett_nr_rrc_T_reportQuantity_r16,
    &ett_nr_rrc_T_groupBasedBeamReporting_v1710,
    &ett_nr_rrc_T_reportQuantity_r17,
    &ett_nr_rrc_T_semiPersistentOnPUSCH_v1720,
    &ett_nr_rrc_T_reportSlotOffsetList_r17,
    &ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17,
    &ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17,
    &ett_nr_rrc_T_aperiodic_v1720,
    &ett_nr_rrc_T_reportSlotOffsetList_r17_01,
    &ett_nr_rrc_T_reportSlotOffsetListDCI_0_2_r17_01,
    &ett_nr_rrc_T_reportSlotOffsetListDCI_0_1_r17_01,
    &ett_nr_rrc_CSI_ReportPeriodicityAndOffset,
    &ett_nr_rrc_PUCCH_CSI_Resource,
    &ett_nr_rrc_PortIndexFor8Ranks,
    &ett_nr_rrc_T_portIndex8,
    &ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8,
    &ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8,
    &ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8,
    &ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8,
    &ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8,
    &ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8,
    &ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8,
    &ett_nr_rrc_T_portIndex4,
    &ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4,
    &ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4,
    &ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4,
    &ett_nr_rrc_T_portIndex2,
    &ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2,
    &ett_nr_rrc_CSI_ResourceConfig,
    &ett_nr_rrc_T_csi_RS_ResourceSetList,
    &ett_nr_rrc_T_nzp_CSI_RS_SSB,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId,
    &ett_nr_rrc_CSI_ResourcePeriodicityAndOffset,
    &ett_nr_rrc_CSI_RS_ResourceConfigMobility,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility,
    &ett_nr_rrc_CSI_RS_CellMobility,
    &ett_nr_rrc_T_csi_rs_MeasurementBW,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility,
    &ett_nr_rrc_CSI_RS_Resource_Mobility,
    &ett_nr_rrc_T_slotConfig,
    &ett_nr_rrc_T_associatedSSB,
    &ett_nr_rrc_T_frequencyDomainAllocation,
    &ett_nr_rrc_T_slotConfig_r17,
    &ett_nr_rrc_CSI_RS_ResourceMapping,
    &ett_nr_rrc_T_frequencyDomainAllocation_01,
    &ett_nr_rrc_T_density_01,
    &ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList,
    &ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState,
    &ett_nr_rrc_CSI_SSB_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_ServingAdditionalPCIIndex_r17,
    &ett_nr_rrc_DL_PPW_PreConfig_r17,
    &ett_nr_rrc_DL_PPW_PeriodicityAndStartSlot_r17,
    &ett_nr_rrc_T_scs15,
    &ett_nr_rrc_T_scs30,
    &ett_nr_rrc_T_scs60,
    &ett_nr_rrc_T_scs120,
    &ett_nr_rrc_DMRS_BundlingPUCCH_Config_r17,
    &ett_nr_rrc_DMRS_BundlingPUSCH_Config_r17,
    &ett_nr_rrc_DMRS_DownlinkConfig,
    &ett_nr_rrc_T_phaseTrackingRS,
    &ett_nr_rrc_DMRS_UplinkConfig,
    &ett_nr_rrc_T_phaseTrackingRS_01,
    &ett_nr_rrc_T_transformPrecodingDisabled,
    &ett_nr_rrc_T_transformPrecodingEnabled,
    &ett_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16,
    &ett_nr_rrc_DMRS_UplinkTransformPrecoding_r16,
    &ett_nr_rrc_DownlinkConfigCommon,
    &ett_nr_rrc_DownlinkConfigCommonSIB,
    &ett_nr_rrc_BCCH_Config,
    &ett_nr_rrc_PCCH_Config,
    &ett_nr_rrc_T_nAndPagingFrameOffset,
    &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO,
    &ett_nr_rrc_T_sCS15KHZoneT,
    &ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT,
    &ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT,
    &ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT,
    &ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT,
    &ett_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT,
    &ett_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT,
    &ett_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT,
    &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710,
    &ett_nr_rrc_T_sCS480KHZoneEighthT,
    &ett_nr_rrc_T_sCS480KHZoneSixteenthT,
    &ett_nr_rrc_PEI_Config_r17,
    &ett_nr_rrc_SubgroupConfig_r17,
    &ett_nr_rrc_DownlinkPreemption,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell,
    &ett_nr_rrc_INT_ConfigurationPerServingCell,
    &ett_nr_rrc_DRX_Config,
    &ett_nr_rrc_T_drx_onDurationTimer_01,
    &ett_nr_rrc_T_drx_LongCycleStartOffset_01,
    &ett_nr_rrc_T_shortDRX_01,
    &ett_nr_rrc_DRX_ConfigExt_v1700,
    &ett_nr_rrc_DRX_ConfigSecondaryGroup_r16,
    &ett_nr_rrc_T_drx_onDurationTimer_r16,
    &ett_nr_rrc_DRX_ConfigSL_r17,
    &ett_nr_rrc_EphemerisInfo_r17,
    &ett_nr_rrc_PositionVelocity_r17,
    &ett_nr_rrc_Orbital_r17,
    &ett_nr_rrc_FeatureCombination_r17,
    &ett_nr_rrc_NSAG_List_r17,
    &ett_nr_rrc_FeatureCombinationPreambles_r17,
    &ett_nr_rrc_T_groupBconfigured_r17,
    &ett_nr_rrc_FreqPriorityListDedicatedSlicing_r17,
    &ett_nr_rrc_FreqPriorityDedicatedSlicing_r17,
    &ett_nr_rrc_SliceInfoListDedicated_r17,
    &ett_nr_rrc_SliceInfoDedicated_r17,
    &ett_nr_rrc_FreqPriorityListSlicing_r17,
    &ett_nr_rrc_FreqPrioritySlicing_r17,
    &ett_nr_rrc_SliceInfoList_r17,
    &ett_nr_rrc_SliceInfo_r17,
    &ett_nr_rrc_T_sliceCellListNR_r17,
    &ett_nr_rrc_SliceCellListNR_r17,
    &ett_nr_rrc_FrequencyInfoDL,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier,
    &ett_nr_rrc_FrequencyInfoDL_SIB,
    &ett_nr_rrc_FrequencyInfoUL,
    &ett_nr_rrc_FrequencyInfoUL_SIB,
    &ett_nr_rrc_HighSpeedConfig_r16,
    &ett_nr_rrc_HighSpeedConfig_v1700,
    &ett_nr_rrc_HighSpeedConfigFR2_r17,
    &ett_nr_rrc_InvalidSymbolPattern_r16,
    &ett_nr_rrc_T_symbols_r16,
    &ett_nr_rrc_T_periodicityAndPattern_r16,
    &ett_nr_rrc_LBT_FailureRecoveryConfig_r16,
    &ett_nr_rrc_LocationInfo_r16,
    &ett_nr_rrc_LocationMeasurementInfo,
    &ett_nr_rrc_EUTRA_RSTD_InfoList,
    &ett_nr_rrc_EUTRA_RSTD_Info,
    &ett_nr_rrc_NR_PRS_MeasurementInfoList_r16,
    &ett_nr_rrc_NR_PRS_MeasurementInfo_r16,
    &ett_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16,
    &ett_nr_rrc_LogicalChannelConfig,
    &ett_nr_rrc_T_ul_SpecificParameters,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing,
    &ett_nr_rrc_LTE_NeighCellsCRS_AssistInfoList_r17,
    &ett_nr_rrc_LTE_NeighCellsCRS_AssistInfo_r17,
    &ett_nr_rrc_MAC_CellGroupConfig,
    &ett_nr_rrc_T_drx_Config,
    &ett_nr_rrc_T_phr_Config,
    &ett_nr_rrc_T_dataInactivityTimer,
    &ett_nr_rrc_T_drx_ConfigSecondaryGroup_r16,
    &ett_nr_rrc_T_drx_ConfigSL_r17,
    &ett_nr_rrc_T_drx_ConfigExt_v1700,
    &ett_nr_rrc_T_tar_Config_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxG_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxG_CS_RNTI_r17_OF_MBS_RNTI_SpecificConfigId_r17,
    &ett_nr_rrc_MBS_RNTI_SpecificConfig_r17,
    &ett_nr_rrc_T_groupCommon_RNTI_r17,
    &ett_nr_rrc_T_drx_ConfigPTM_r17,
    &ett_nr_rrc_MeasConfig,
    &ett_nr_rrc_T_s_MeasureConfig,
    &ett_nr_rrc_MeasObjectToRemoveList,
    &ett_nr_rrc_MeasIdToRemoveList,
    &ett_nr_rrc_ReportConfigToRemoveList,
    &ett_nr_rrc_MeasGapConfig,
    &ett_nr_rrc_T_gapFR2,
    &ett_nr_rrc_T_gapFR1,
    &ett_nr_rrc_T_gapUE,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_GapConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofGapId_r17_OF_MeasGapId_r17,
    &ett_nr_rrc_GapConfig,
    &ett_nr_rrc_GapConfig_r17,
    &ett_nr_rrc_PosMeasGapPreConfigToAddModList_r17,
    &ett_nr_rrc_PosMeasGapPreConfigToReleaseList_r17,
    &ett_nr_rrc_PosGapConfig_r17,
    &ett_nr_rrc_MeasGapSharingConfig,
    &ett_nr_rrc_T_gapSharingFR2,
    &ett_nr_rrc_T_gapSharingFR1,
    &ett_nr_rrc_T_gapSharingUE,
    &ett_nr_rrc_MeasIdleConfigSIB_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16,
    &ett_nr_rrc_MeasIdleConfigDedicated_r16,
    &ett_nr_rrc_ValidityAreaList_r16,
    &ett_nr_rrc_ValidityArea_r16,
    &ett_nr_rrc_ValidityCellList,
    &ett_nr_rrc_MeasIdleCarrierNR_r16,
    &ett_nr_rrc_T_qualityThreshold_r16,
    &ett_nr_rrc_T_ssb_MeasConfig_r16,
    &ett_nr_rrc_MeasIdleCarrierEUTRA_r16,
    &ett_nr_rrc_T_qualityThresholdEUTRA_r16,
    &ett_nr_rrc_CellListNR_r16,
    &ett_nr_rrc_CellListEUTRA_r16,
    &ett_nr_rrc_BeamMeasConfigIdle_NR_r16,
    &ett_nr_rrc_MeasIdToAddModList,
    &ett_nr_rrc_MeasIdToAddMod,
    &ett_nr_rrc_MeasObjectCLI_r16,
    &ett_nr_rrc_CLI_ResourceConfig_r16,
    &ett_nr_rrc_T_srs_ResourceConfig_r16,
    &ett_nr_rrc_T_rssi_ResourceConfig_r16,
    &ett_nr_rrc_SRS_ResourceListConfigCLI_r16,
    &ett_nr_rrc_RSSI_ResourceListConfigCLI_r16,
    &ett_nr_rrc_SRS_ResourceConfigCLI_r16,
    &ett_nr_rrc_RSSI_ResourceConfigCLI_r16,
    &ett_nr_rrc_RSSI_PeriodicityAndOffset_r16,
    &ett_nr_rrc_MeasObjectEUTRA,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_ExcludedCell,
    &ett_nr_rrc_EUTRA_CellIndexList,
    &ett_nr_rrc_EUTRA_Cell,
    &ett_nr_rrc_EUTRA_ExcludedCell,
    &ett_nr_rrc_MeasObjectNR,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement,
    &ett_nr_rrc_T_rmtc_Config_r16,
    &ett_nr_rrc_T_t312_r16,
    &ett_nr_rrc_SSB_MTC3List_r16,
    &ett_nr_rrc_SSB_MTC4List_r17,
    &ett_nr_rrc_ReferenceSignalConfig,
    &ett_nr_rrc_T_csi_rs_ResourceConfigMobility,
    &ett_nr_rrc_SSB_ConfigMobility,
    &ett_nr_rrc_T_ssb_ToMeasure,
    &ett_nr_rrc_T_ssb_PositionQCL_Cells_r17,
    &ett_nr_rrc_Q_OffsetRangeList,
    &ett_nr_rrc_ThresholdNR,
    &ett_nr_rrc_CellsToAddModList,
    &ett_nr_rrc_CellsToAddModListExt_v1710,
    &ett_nr_rrc_CellsToAddMod,
    &ett_nr_rrc_CellsToAddModExt_v1710,
    &ett_nr_rrc_RMTC_Config_r16,
    &ett_nr_rrc_T_tci_StateInfo_r17,
    &ett_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16,
    &ett_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16,
    &ett_nr_rrc_SSB_PositionQCL_CellList_r17,
    &ett_nr_rrc_SSB_PositionQCL_Cell_r17,
    &ett_nr_rrc_MeasObjectNR_SL_r16,
    &ett_nr_rrc_Tx_PoolMeasList_r16,
    &ett_nr_rrc_MeasObjectRxTxDiff_r17,
    &ett_nr_rrc_T_dl_Ref_r17,
    &ett_nr_rrc_MeasObjectToAddModList,
    &ett_nr_rrc_MeasObjectToAddMod,
    &ett_nr_rrc_T_measObject,
    &ett_nr_rrc_MeasObjectUTRA_FDD_r16,
    &ett_nr_rrc_CellsToAddModListUTRA_FDD_r16,
    &ett_nr_rrc_CellsToAddModUTRA_FDD_r16,
    &ett_nr_rrc_UTRA_FDD_CellIndexList_r16,
    &ett_nr_rrc_MeasResultCellListSFTD_NR,
    &ett_nr_rrc_MeasResultCellSFTD_NR,
    &ett_nr_rrc_MeasResultCellListSFTD_EUTRA,
    &ett_nr_rrc_MeasResultSFTD_EUTRA,
    &ett_nr_rrc_MeasResults,
    &ett_nr_rrc_T_measResultNeighCells,
    &ett_nr_rrc_MeasResultServMOList,
    &ett_nr_rrc_MeasResultServMO,
    &ett_nr_rrc_MeasResultListNR,
    &ett_nr_rrc_MeasResultNR,
    &ett_nr_rrc_T_measResult,
    &ett_nr_rrc_T_cellResults,
    &ett_nr_rrc_T_rsIndexResults,
    &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_CondTriggerConfig_r16,
    &ett_nr_rrc_T_triggeredEvent_r17,
    &ett_nr_rrc_MeasResultListEUTRA,
    &ett_nr_rrc_MeasResultEUTRA,
    &ett_nr_rrc_MultiBandInfoListEUTRA,
    &ett_nr_rrc_MeasQuantityResults,
    &ett_nr_rrc_MeasQuantityResultsEUTRA,
    &ett_nr_rrc_ResultsPerSSB_IndexList,
    &ett_nr_rrc_ResultsPerSSB_Index,
    &ett_nr_rrc_ResultsPerCSI_RS_IndexList,
    &ett_nr_rrc_ResultsPerCSI_RS_Index,
    &ett_nr_rrc_MeasResultServFreqListEUTRA_SCG,
    &ett_nr_rrc_MeasResultServFreqListNR_SCG,
    &ett_nr_rrc_MeasResultListUTRA_FDD_r16,
    &ett_nr_rrc_MeasResultUTRA_FDD_r16,
    &ett_nr_rrc_T_measResult_r16_02,
    &ett_nr_rrc_MeasResultForRSSI_r16,
    &ett_nr_rrc_MeasResultCLI_r16,
    &ett_nr_rrc_MeasResultListSRS_RSRP_r16,
    &ett_nr_rrc_MeasResultSRS_RSRP_r16,
    &ett_nr_rrc_MeasResultListCLI_RSSI_r16,
    &ett_nr_rrc_MeasResultCLI_RSSI_r16,
    &ett_nr_rrc_UL_PDCP_DelayValueResultList_r16,
    &ett_nr_rrc_UL_PDCP_DelayValueResult_r16,
    &ett_nr_rrc_UL_PDCP_ExcessDelayResultList_r17,
    &ett_nr_rrc_UL_PDCP_ExcessDelayResult_r17,
    &ett_nr_rrc_MeasResult2EUTRA,
    &ett_nr_rrc_MeasResult2NR,
    &ett_nr_rrc_MeasResultIdleEUTRA_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16,
    &ett_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16,
    &ett_nr_rrc_MeasResultsPerCellIdleEUTRA_r16,
    &ett_nr_rrc_T_measIdleResultEUTRA_r16,
    &ett_nr_rrc_MeasResultIdleNR_r16,
    &ett_nr_rrc_T_measResultServingCell_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16,
    &ett_nr_rrc_MeasResultsPerCarrierIdleNR_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16,
    &ett_nr_rrc_MeasResultsPerCellIdleNR_r16,
    &ett_nr_rrc_T_measIdleResultNR_r16,
    &ett_nr_rrc_ResultsPerSSB_IndexList_r16,
    &ett_nr_rrc_ResultsPerSSB_IndexIdle_r16,
    &ett_nr_rrc_T_ssb_Results_r16,
    &ett_nr_rrc_MeasResultRxTxTimeDiff_r17,
    &ett_nr_rrc_MeasResultSCG_Failure,
    &ett_nr_rrc_MeasResultList2NR,
    &ett_nr_rrc_MeasResultsSL_r16,
    &ett_nr_rrc_T_measResultsListSL_r16,
    &ett_nr_rrc_MeasResultNR_SL_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16,
    &ett_nr_rrc_MeasResultCBR_NR_r16,
    &ett_nr_rrc_MeasTriggerQuantityEUTRA,
    &ett_nr_rrc_MobilityStateParameters,
    &ett_nr_rrc_MsgA_ConfigCommon_r16,
    &ett_nr_rrc_MsgA_PUSCH_Config_r16,
    &ett_nr_rrc_MsgA_PUSCH_Resource_r16,
    &ett_nr_rrc_MsgA_DMRS_Config_r16,
    &ett_nr_rrc_MultiFrequencyBandListNR,
    &ett_nr_rrc_MultiFrequencyBandListNR_SIB,
    &ett_nr_rrc_NR_MultiBandInfo,
    &ett_nr_rrc_MUSIM_GapConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_GapId_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_MUSIM_Gap_r17,
    &ett_nr_rrc_MUSIM_Gap_r17,
    &ett_nr_rrc_MUSIM_GapInfo_r17,
    &ett_nr_rrc_T_musim_GapRepetitionAndOffset_r17,
    &ett_nr_rrc_MUSIM_Starting_SFN_AndSubframe_r17,
    &ett_nr_rrc_NeedForGapsConfigNR_r16,
    &ett_nr_rrc_NeedForGapsInfoNR_r16,
    &ett_nr_rrc_NeedForGapsIntraFreqList_r16,
    &ett_nr_rrc_NeedForGapsBandListNR_r16,
    &ett_nr_rrc_NeedForGapsIntraFreq_r16,
    &ett_nr_rrc_NeedForGapsNR_r16,
    &ett_nr_rrc_NeedForGapNCSG_ConfigEUTRA_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA,
    &ett_nr_rrc_NeedForGapNCSG_ConfigNR_r17,
    &ett_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_NeedForNCSG_EUTRA_r17,
    &ett_nr_rrc_NeedForNCSG_EUTRA_r17,
    &ett_nr_rrc_NeedForGapNCSG_InfoNR_r17,
    &ett_nr_rrc_NeedForNCSG_IntraFreqList_r17,
    &ett_nr_rrc_NeedForNCSG_BandListNR_r17,
    &ett_nr_rrc_NeedForNCSG_IntraFreq_r17,
    &ett_nr_rrc_NeedForNCSG_NR_r17,
    &ett_nr_rrc_NonCellDefiningSSB_r17,
    &ett_nr_rrc_NPN_Identity_r16,
    &ett_nr_rrc_T_pni_npn_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16,
    &ett_nr_rrc_T_snpn_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16,
    &ett_nr_rrc_CAG_IdentityInfo_r16,
    &ett_nr_rrc_NPN_IdentityInfoList_r16,
    &ett_nr_rrc_NPN_IdentityInfo_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16,
    &ett_nr_rrc_NR_DL_PRS_PDC_Info_r17,
    &ett_nr_rrc_NR_DL_PRS_PDC_ResourceSet_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPRS_ResourcesPerSet_r17_OF_NR_DL_PRS_Resource_r17,
    &ett_nr_rrc_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r17,
    &ett_nr_rrc_T_scs15_r17,
    &ett_nr_rrc_T_scs30_r17,
    &ett_nr_rrc_T_scs60_r17,
    &ett_nr_rrc_T_scs120_r17,
    &ett_nr_rrc_NR_DL_PRS_Resource_r17,
    &ett_nr_rrc_T_dl_PRS_CombSizeN_AndReOffset_r17,
    &ett_nr_rrc_DL_PRS_QCL_Info_r17,
    &ett_nr_rrc_T_ssb_r17,
    &ett_nr_rrc_T_dl_PRS_r17,
    &ett_nr_rrc_RepFactorAndTimeGap_r17,
    &ett_nr_rrc_NR_NS_PmaxList,
    &ett_nr_rrc_NR_NS_PmaxValue,
    &ett_nr_rrc_NSAG_IdentityInfo_r17,
    &ett_nr_rrc_NTN_Config_r17,
    &ett_nr_rrc_EpochTime_r17,
    &ett_nr_rrc_TA_Info_r17,
    &ett_nr_rrc_NZP_CSI_RS_Resource,
    &ett_nr_rrc_NZP_CSI_RS_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId,
    &ett_nr_rrc_CMRGroupingAndPairing_r17,
    &ett_nr_rrc_NZP_CSI_RS_Pairing_r17,
    &ett_nr_rrc_PathlossReferenceRS_r17,
    &ett_nr_rrc_T_referenceSignal_r17,
    &ett_nr_rrc_PCI_ARFCN_EUTRA_r16,
    &ett_nr_rrc_PCI_ARFCN_NR_r16,
    &ett_nr_rrc_PCI_List,
    &ett_nr_rrc_PCI_Range,
    &ett_nr_rrc_PCI_RangeElement,
    &ett_nr_rrc_PCI_RangeIndexList,
    &ett_nr_rrc_PDCCH_Config,
    &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace,
    &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId,
    &ett_nr_rrc_T_downlinkPreemption,
    &ett_nr_rrc_T_tpc_PUSCH,
    &ett_nr_rrc_T_tpc_PUCCH,
    &ett_nr_rrc_T_tpc_SRS,
    &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16,
    &ett_nr_rrc_T_uplinkCancellation_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_SCS_SpecificDuration_r17,
    &ett_nr_rrc_SearchSpaceSwitchConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitch_r16,
    &ett_nr_rrc_SearchSpaceSwitchConfig_r17,
    &ett_nr_rrc_CellGroupForSwitch_r16,
    &ett_nr_rrc_PDCCH_ConfigCommon,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace,
    &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01,
    &ett_nr_rrc_T_sCS15KHZoneT_01,
    &ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01,
    &ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01,
    &ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01,
    &ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01,
    &ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT,
    &ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT,
    &ett_nr_rrc_T_sCS120KHZoneSixteenthT,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16,
    &ett_nr_rrc_T_sdt_SearchSpace_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_v1700,
    &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_v1710_01,
    &ett_nr_rrc_T_sCS480KHZoneEighthT_01,
    &ett_nr_rrc_T_sCS480KHZoneSixteenthT_01,
    &ett_nr_rrc_T_pei_ConfigBWP_r17,
    &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPEI_O_r17,
    &ett_nr_rrc_T_sCS15KHZoneT_02,
    &ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_02,
    &ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_02,
    &ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_02,
    &ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_02,
    &ett_nr_rrc_T_sCS480KHZoneT_SCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01,
    &ett_nr_rrc_T_sCS480KHZhalfT_SCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01,
    &ett_nr_rrc_T_sCS480KHZquarterT_SCS120KHZoneSixteenthT_01,
    &ett_nr_rrc_T_sCS480KHZoneEighthT_02,
    &ett_nr_rrc_T_sCS480KHZoneSixteenthT_02,
    &ett_nr_rrc_PDCCH_ConfigSIB1,
    &ett_nr_rrc_PDCCH_ServingCellConfig,
    &ett_nr_rrc_T_slotFormatIndicator,
    &ett_nr_rrc_T_availabilityIndicator_r16,
    &ett_nr_rrc_PDCP_Config,
    &ett_nr_rrc_T_drb,
    &ett_nr_rrc_T_headerCompression,
    &ett_nr_rrc_T_rohc,
    &ett_nr_rrc_T_profiles,
    &ett_nr_rrc_T_uplinkOnlyROHC,
    &ett_nr_rrc_T_profiles_01,
    &ett_nr_rrc_T_moreThanOneRLC,
    &ett_nr_rrc_T_primaryPath,
    &ett_nr_rrc_T_discardTimerExt_r16,
    &ett_nr_rrc_T_moreThanTwoRLC_DRB_r16,
    &ett_nr_rrc_T_duplicationState_r16,
    &ett_nr_rrc_T_ethernetHeaderCompression_r16,
    &ett_nr_rrc_T_uplinkDataCompression_r17,
    &ett_nr_rrc_T_discardTimerExt2_r17,
    &ett_nr_rrc_EthernetHeaderCompression_r16,
    &ett_nr_rrc_T_ehc_Common_r16,
    &ett_nr_rrc_T_ehc_Downlink_r16,
    &ett_nr_rrc_T_ehc_Uplink_r16,
    &ett_nr_rrc_UplinkDataCompression_r17,
    &ett_nr_rrc_T_newSetup,
    &ett_nr_rrc_PDSCH_Config,
    &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA,
    &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId,
    &ett_nr_rrc_T_pdsch_TimeDomainAllocationList,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId,
    &ett_nr_rrc_T_prb_BundlingType,
    &ett_nr_rrc_T_staticBundling,
    &ett_nr_rrc_T_dynamicBundling,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId,
    &ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet,
    &ett_nr_rrc_T_maxMIMO_Layers_r16,
    &ett_nr_rrc_T_minimumSchedulingOffsetK0_r16,
    &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_DCI_1_2_r16,
    &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_DCI_1_2_r16,
    &ett_nr_rrc_T_pdsch_TimeDomainAllocationListDCI_1_2_r16,
    &ett_nr_rrc_T_prb_BundlingTypeDCI_1_2_r16,
    &ett_nr_rrc_T_staticBundling_r16,
    &ett_nr_rrc_T_dynamicBundling_r16,
    &ett_nr_rrc_T_pdsch_TimeDomainAllocationList_r16,
    &ett_nr_rrc_T_repetitionSchemeConfig_r16,
    &ett_nr_rrc_T_repetitionSchemeConfig_v1630,
    &ett_nr_rrc_T_dl_OrJointTCI_StateList_r17,
    &ett_nr_rrc_T_explicitlist_01,
    &ett_nr_rrc_T_dummy,
    &ett_nr_rrc_T_minimumSchedulingOffsetK0_r17,
    &ett_nr_rrc_T_pdsch_TimeDomainAllocationListForMultiPDSCH_r17,
    &ett_nr_rrc_RateMatchPatternGroup,
    &ett_nr_rrc_RateMatchPatternGroup_item,
    &ett_nr_rrc_MinSchedulingOffsetK0_Values_r16,
    &ett_nr_rrc_MinSchedulingOffsetK0_Values_r17,
    &ett_nr_rrc_PDSCH_ConfigCommon,
    &ett_nr_rrc_PDSCH_ServingCellConfig,
    &ett_nr_rrc_T_codeBlockGroupTransmission,
    &ett_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16,
    &ett_nr_rrc_T_downlinkHARQ_FeedbackDisabled_r17,
    &ett_nr_rrc_PDSCH_CodeBlockGroupTransmission,
    &ett_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16,
    &ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList,
    &ett_nr_rrc_PDSCH_TimeDomainResourceAllocation,
    &ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16,
    &ett_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16,
    &ett_nr_rrc_Dummy_TDRA_List,
    &ett_nr_rrc_MultiPDSCH_TDRA_List_r17,
    &ett_nr_rrc_MultiPDSCH_TDRA_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePDSCHs_r17_OF_PDSCH_TimeDomainResourceAllocation_r16,
    &ett_nr_rrc_PHR_Config,
    &ett_nr_rrc_T_mpe_Reporting_FR2_r16,
    &ett_nr_rrc_T_mpe_Reporting_FR2_r17,
    &ett_nr_rrc_MPE_Config_FR2_r16,
    &ett_nr_rrc_MPE_Config_FR2_r17,
    &ett_nr_rrc_PhysicalCellGroupConfig,
    &ett_nr_rrc_T_cs_RNTI,
    &ett_nr_rrc_T_pdcch_BlindDetection,
    &ett_nr_rrc_T_dcp_Config_r16,
    &ett_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16,
    &ett_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16,
    &ett_nr_rrc_T_pdcch_BlindDetection2_r16,
    &ett_nr_rrc_T_pdcch_BlindDetection3_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofEnhType3HARQ_ACK_r17_OF_PDSCH_HARQ_ACK_EnhType3Index_r17,
    &ett_nr_rrc_T_pucch_sSCellPattern_r17,
    &ett_nr_rrc_T_pucch_sSCellPatternSecondaryPUCCHgroup_r17,
    &ett_nr_rrc_T_multicastConfig_r17,
    &ett_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r17,
    &ett_nr_rrc_T_pdcch_BlindDetection4_r17,
    &ett_nr_rrc_PDSCH_HARQ_ACK_EnhType3_r17,
    &ett_nr_rrc_T_applicable_r17,
    &ett_nr_rrc_T_perCC,
    &ett_nr_rrc_T_perHARQ,
    &ett_nr_rrc_T_perHARQ_Ext_r17,
    &ett_nr_rrc_DCP_Config_r16,
    &ett_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16,
    &ett_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16,
    &ett_nr_rrc_MulticastConfig_r17,
    &ett_nr_rrc_T_pdsch_HARQ_ACK_CodebookListMulticast_r17,
    &ett_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r17,
    &ett_nr_rrc_PLMN_Identity,
    &ett_nr_rrc_MCC,
    &ett_nr_rrc_MNC,
    &ett_nr_rrc_PLMN_IdentityInfoList,
    &ett_nr_rrc_PLMN_IdentityInfo,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxTAC_r17_OF_TrackingAreaCode,
    &ett_nr_rrc_PLMN_IdentityList2_r16,
    &ett_nr_rrc_PTRS_DownlinkConfig,
    &ett_nr_rrc_T_frequencyDensity,
    &ett_nr_rrc_T_timeDensity,
    &ett_nr_rrc_PTRS_UplinkConfig,
    &ett_nr_rrc_T_transformPrecoderDisabled,
    &ett_nr_rrc_T_frequencyDensity_01,
    &ett_nr_rrc_T_timeDensity_01,
    &ett_nr_rrc_T_transformPrecoderEnabled,
    &ett_nr_rrc_T_sampleDensity,
    &ett_nr_rrc_PUCCH_Config,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId,
    &ett_nr_rrc_T_format1,
    &ett_nr_rrc_T_format2,
    &ett_nr_rrc_T_format3,
    &ett_nr_rrc_T_format4,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId,
    &ett_nr_rrc_T_dl_DataToUL_ACK,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_v1610,
    &ett_nr_rrc_T_dl_DataToUL_ACK_r16,
    &ett_nr_rrc_T_ul_AccessConfigListDCI_1_1_r16,
    &ett_nr_rrc_T_subslotLengthForPUCCH_r16,
    &ett_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16,
    &ett_nr_rrc_T_sps_PUCCH_AN_List_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1610,
    &ett_nr_rrc_T_format0_r17,
    &ett_nr_rrc_T_format2Ext_r17,
    &ett_nr_rrc_T_format3Ext_r17,
    &ett_nr_rrc_T_format4Ext_r17,
    &ett_nr_rrc_T_ul_AccessConfigListDCI_1_2_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfo_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPowerControlSetInfos_r17_OF_PUCCH_PowerControlSetInfoId_r17,
    &ett_nr_rrc_T_dl_DataToUL_ACK_r17,
    &ett_nr_rrc_T_dl_DataToUL_ACK_DCI_1_2_r17,
    &ett_nr_rrc_T_ul_AccessConfigListDCI_1_1_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfigExt_v1700,
    &ett_nr_rrc_T_dmrs_BundlingPUCCH_Config_r17,
    &ett_nr_rrc_T_dl_DataToUL_ACK_v1700,
    &ett_nr_rrc_T_dl_DataToUL_ACK_MulticastDCI_Format4_1_r17,
    &ett_nr_rrc_T_sps_PUCCH_AN_ListMulticast_r17,
    &ett_nr_rrc_PUCCH_FormatConfig,
    &ett_nr_rrc_PUCCH_FormatConfigExt_r17,
    &ett_nr_rrc_PUCCH_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId,
    &ett_nr_rrc_PUCCH_Resource,
    &ett_nr_rrc_T_format,
    &ett_nr_rrc_PUCCH_ResourceExt_v1610,
    &ett_nr_rrc_T_interlaceAllocation_r16,
    &ett_nr_rrc_T_interlace0_r16,
    &ett_nr_rrc_T_format_v1610,
    &ett_nr_rrc_T_occ_v1610,
    &ett_nr_rrc_T_format_v1700,
    &ett_nr_rrc_PUCCH_format0,
    &ett_nr_rrc_PUCCH_format1,
    &ett_nr_rrc_PUCCH_format2,
    &ett_nr_rrc_PUCCH_format3,
    &ett_nr_rrc_PUCCH_format4,
    &ett_nr_rrc_PUCCH_ResourceGroup_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId,
    &ett_nr_rrc_DL_DataToUL_ACK_r16,
    &ett_nr_rrc_DL_DataToUL_ACK_r17,
    &ett_nr_rrc_DL_DataToUL_ACK_v1700,
    &ett_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r16,
    &ett_nr_rrc_DL_DataToUL_ACK_DCI_1_2_r17,
    &ett_nr_rrc_UL_AccessConfigListDCI_1_1_r16,
    &ett_nr_rrc_UL_AccessConfigListDCI_1_2_r17,
    &ett_nr_rrc_UL_AccessConfigListDCI_1_1_r17,
    &ett_nr_rrc_DL_DataToUL_ACK_MulticastDCI_Format4_1_r17,
    &ett_nr_rrc_PUCCH_ConfigCommon,
    &ett_nr_rrc_PUCCH_ConfigurationList_r16,
    &ett_nr_rrc_PUCCH_PowerControl,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS,
    &ett_nr_rrc_T_pathlossReferenceRSs_v1610,
    &ett_nr_rrc_P0_PUCCH,
    &ett_nr_rrc_PathlossReferenceRSs_v1610,
    &ett_nr_rrc_PUCCH_PathlossReferenceRS,
    &ett_nr_rrc_T_referenceSignal,
    &ett_nr_rrc_PUCCH_PathlossReferenceRS_r16,
    &ett_nr_rrc_T_referenceSignal_r16,
    &ett_nr_rrc_PUCCH_PowerControlSetInfo_r17,
    &ett_nr_rrc_PUCCH_SpatialRelationInfo,
    &ett_nr_rrc_T_referenceSignal_01,
    &ett_nr_rrc_PUCCH_SpatialRelationInfoExt_r16,
    &ett_nr_rrc_PUCCH_SRS,
    &ett_nr_rrc_PUCCH_TPC_CommandConfig,
    &ett_nr_rrc_PUSCH_Config,
    &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA,
    &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB,
    &ett_nr_rrc_T_frequencyHoppingOffsetLists,
    &ett_nr_rrc_T_pusch_TimeDomainAllocationList,
    &ett_nr_rrc_T_uci_OnPUSCH_01,
    &ett_nr_rrc_T_minimumSchedulingOffsetK2_r16,
    &ett_nr_rrc_T_ul_AccessConfigListDCI_0_1_r16,
    &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_DCI_0_2_r16,
    &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_DCI_0_2_r16,
    &ett_nr_rrc_T_frequencyHoppingDCI_0_2_r16,
    &ett_nr_rrc_T_frequencyHoppingOffsetListsDCI_0_2_r16,
    &ett_nr_rrc_T_uci_OnPUSCH_ListDCI_0_2_r16,
    &ett_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_2_r16,
    &ett_nr_rrc_T_pusch_TimeDomainAllocationListDCI_0_1_r16,
    &ett_nr_rrc_T_uci_OnPUSCH_ListDCI_0_1_r16,
    &ett_nr_rrc_T_pusch_PowerControl_v1610,
    &ett_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16,
    &ett_nr_rrc_T_ul_AccessConfigListDCI_0_2_r17,
    &ett_nr_rrc_T_betaOffsetsCrossPri0_r17,
    &ett_nr_rrc_T_betaOffsetsCrossPri1_r17,
    &ett_nr_rrc_T_betaOffsetsCrossPri0DCI_0_2_r17,
    &ett_nr_rrc_T_betaOffsetsCrossPri1DCI_0_2_r17,
    &ett_nr_rrc_T_ul_AccessConfigListDCI_0_1_r17,
    &ett_nr_rrc_T_minimumSchedulingOffsetK2_r17,
    &ett_nr_rrc_T_dmrs_BundlingPUSCH_Config_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_Resource_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxMPE_Resources_r17_OF_MPE_ResourceId_r17,
    &ett_nr_rrc_UCI_OnPUSCH,
    &ett_nr_rrc_T_betaOffsets,
    &ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets,
    &ett_nr_rrc_MinSchedulingOffsetK2_Values_r16,
    &ett_nr_rrc_MinSchedulingOffsetK2_Values_r17,
    &ett_nr_rrc_UCI_OnPUSCH_DCI_0_2_r16,
    &ett_nr_rrc_T_betaOffsetsDCI_0_2_r16,
    &ett_nr_rrc_T_dynamicDCI_0_2_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsets,
    &ett_nr_rrc_FrequencyHoppingOffsetListsDCI_0_2_r16,
    &ett_nr_rrc_UCI_OnPUSCH_ListDCI_0_2_r16,
    &ett_nr_rrc_UCI_OnPUSCH_ListDCI_0_1_r16,
    &ett_nr_rrc_UL_AccessConfigListDCI_0_1_r16,
    &ett_nr_rrc_UL_AccessConfigListDCI_0_1_r17,
    &ett_nr_rrc_UL_AccessConfigListDCI_0_2_r17,
    &ett_nr_rrc_BetaOffsetsCrossPriSel_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsetsCrossPri_r17,
    &ett_nr_rrc_BetaOffsetsCrossPriSelDCI_0_2_r17,
    &ett_nr_rrc_T_dynamicDCI_0_2_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsetsCrossPri_r17,
    &ett_nr_rrc_MPE_Resource_r17,
    &ett_nr_rrc_T_mpe_ReferenceSignal_r17,
    &ett_nr_rrc_PUSCH_ConfigCommon,
    &ett_nr_rrc_PUSCH_PowerControl,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId,
    &ett_nr_rrc_P0_PUSCH_AlphaSet,
    &ett_nr_rrc_PUSCH_PathlossReferenceRS,
    &ett_nr_rrc_T_referenceSignal_02,
    &ett_nr_rrc_PUSCH_PathlossReferenceRS_r16,
    &ett_nr_rrc_T_referenceSignal_r16_01,
    &ett_nr_rrc_DummyPathlossReferenceRS_v1710,
    &ett_nr_rrc_SRI_PUSCH_PowerControl,
    &ett_nr_rrc_PUSCH_PowerControl_v1610,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16,
    &ett_nr_rrc_T_olpc_ParameterSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_r16_OF_DummyPathlossReferenceRS_v1710,
    &ett_nr_rrc_P0_PUSCH_Set_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16,
    &ett_nr_rrc_PUSCH_ServingCellConfig,
    &ett_nr_rrc_T_codeBlockGroupTransmission_01,
    &ett_nr_rrc_T_maxMIMO_LayersDCI_0_2_r16,
    &ett_nr_rrc_T_uplinkHARQ_mode_r17,
    &ett_nr_rrc_PUSCH_CodeBlockGroupTransmission,
    &ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList,
    &ett_nr_rrc_PUSCH_TimeDomainResourceAllocation,
    &ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16,
    &ett_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16,
    &ett_nr_rrc_PUSCH_Allocation_r16,
    &ett_nr_rrc_PUSCH_TPC_CommandConfig,
    &ett_nr_rrc_QuantityConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR,
    &ett_nr_rrc_QuantityConfigNR,
    &ett_nr_rrc_QuantityConfigRS,
    &ett_nr_rrc_FilterConfig,
    &ett_nr_rrc_FilterConfigCLI_r16,
    &ett_nr_rrc_QuantityConfigUTRA_FDD_r16,
    &ett_nr_rrc_RACH_ConfigCommon,
    &ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB,
    &ett_nr_rrc_T_groupBconfigured,
    &ett_nr_rrc_T_prach_RootSequenceIndex,
    &ett_nr_rrc_T_ra_PrioritizationForAccessIdentity_r16,
    &ett_nr_rrc_T_prach_RootSequenceIndex_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureCombPreamblesPerRACHResource_r17_OF_FeatureCombinationPreambles_r17,
    &ett_nr_rrc_RACH_ConfigCommonTwoStepRA_r16,
    &ett_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16,
    &ett_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16,
    &ett_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16,
    &ett_nr_rrc_GroupB_ConfiguredTwoStepRA_r16,
    &ett_nr_rrc_RACH_ConfigDedicated,
    &ett_nr_rrc_CFRA,
    &ett_nr_rrc_T_occasions,
    &ett_nr_rrc_T_resources,
    &ett_nr_rrc_T_ssb,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource,
    &ett_nr_rrc_T_csirs,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource,
    &ett_nr_rrc_CFRA_TwoStep_r16,
    &ett_nr_rrc_T_occasionsTwoStepRA_r16,
    &ett_nr_rrc_T_resourcesTwoStep_r16,
    &ett_nr_rrc_CFRA_SSB_Resource,
    &ett_nr_rrc_CFRA_CSIRS_Resource,
    &ett_nr_rrc_T_ra_OccasionList_01,
    &ett_nr_rrc_RACH_ConfigGeneric,
    &ett_nr_rrc_RACH_ConfigGenericTwoStepRA_r16,
    &ett_nr_rrc_RA_Prioritization,
    &ett_nr_rrc_RA_PrioritizationForSlicing_r17,
    &ett_nr_rrc_RA_PrioritizationSliceInfoList_r17,
    &ett_nr_rrc_RA_PrioritizationSliceInfo_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSliceInfo_r17_OF_NSAG_ID_r17,
    &ett_nr_rrc_RadioBearerConfig,
    &ett_nr_rrc_SRB_ToAddModList,
    &ett_nr_rrc_SRB_ToAddMod,
    &ett_nr_rrc_DRB_ToAddModList,
    &ett_nr_rrc_DRB_ToAddMod,
    &ett_nr_rrc_T_cnAssociation,
    &ett_nr_rrc_DRB_ToReleaseList,
    &ett_nr_rrc_SecurityConfig,
    &ett_nr_rrc_MRB_ToAddModList_r17,
    &ett_nr_rrc_MRB_ToAddMod_r17,
    &ett_nr_rrc_MRB_ToReleaseList_r17,
    &ett_nr_rrc_RadioLinkMonitoringConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id,
    &ett_nr_rrc_BeamFailureDetection_r17,
    &ett_nr_rrc_RadioLinkMonitoringRS,
    &ett_nr_rrc_T_detectionResource,
    &ett_nr_rrc_BeamFailureDetectionSet_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBFDResourcePerSet_r17_OF_BeamLinkMonitoringRS_Id_r17,
    &ett_nr_rrc_BeamLinkMonitoringRS_r17,
    &ett_nr_rrc_T_detectionResource_r17,
    &ett_nr_rrc_RateMatchPattern,
    &ett_nr_rrc_T_patternType,
    &ett_nr_rrc_T_bitmaps,
    &ett_nr_rrc_T_symbolsInResourceBlock,
    &ett_nr_rrc_T_periodicityAndPattern,
    &ett_nr_rrc_RateMatchPatternLTE_CRS,
    &ett_nr_rrc_LTE_CRS_PatternList_r16,
    &ett_nr_rrc_ReferenceTimeInfo_r16,
    &ett_nr_rrc_ReferenceTime_r16,
    &ett_nr_rrc_RepetitionSchemeConfig_r16,
    &ett_nr_rrc_T_fdm_TDM_r16,
    &ett_nr_rrc_T_slotBased_r16,
    &ett_nr_rrc_RepetitionSchemeConfig_v1630,
    &ett_nr_rrc_T_slotBased_v1630,
    &ett_nr_rrc_FDM_TDM_r16,
    &ett_nr_rrc_SlotBased_r16,
    &ett_nr_rrc_SlotBased_v1630,
    &ett_nr_rrc_ReportConfigInterRAT,
    &ett_nr_rrc_T_reportType_01,
    &ett_nr_rrc_ReportCGI_EUTRA,
    &ett_nr_rrc_ReportSFTD_EUTRA,
    &ett_nr_rrc_EventTriggerConfigInterRAT,
    &ett_nr_rrc_T_eventId,
    &ett_nr_rrc_T_eventB1,
    &ett_nr_rrc_T_eventB2,
    &ett_nr_rrc_T_eventB1_UTRA_FDD_r16,
    &ett_nr_rrc_T_eventB2_UTRA_FDD_r16,
    &ett_nr_rrc_T_eventY1_Relay_r17,
    &ett_nr_rrc_T_eventY2_Relay_r17,
    &ett_nr_rrc_T_includeBT_Meas_r16,
    &ett_nr_rrc_T_includeWLAN_Meas_r16,
    &ett_nr_rrc_T_includeSensor_Meas_r16,
    &ett_nr_rrc_PeriodicalReportConfigInterRAT,
    &ett_nr_rrc_T_includeBT_Meas_r16_01,
    &ett_nr_rrc_T_includeWLAN_Meas_r16_01,
    &ett_nr_rrc_T_includeSensor_Meas_r16_01,
    &ett_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16,
    &ett_nr_rrc_MeasReportQuantityUTRA_FDD_r16,
    &ett_nr_rrc_ReportConfigNR,
    &ett_nr_rrc_T_reportType_02,
    &ett_nr_rrc_ReportCGI,
    &ett_nr_rrc_ReportSFTD_NR,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId,
    &ett_nr_rrc_CondTriggerConfig_r16,
    &ett_nr_rrc_T_condEventId,
    &ett_nr_rrc_T_condEventA3,
    &ett_nr_rrc_T_condEventA5,
    &ett_nr_rrc_T_condEventA4_r17,
    &ett_nr_rrc_T_condEventD1_r17,
    &ett_nr_rrc_T_condEventT1_r17,
    &ett_nr_rrc_EventTriggerConfig,
    &ett_nr_rrc_T_eventId_01,
    &ett_nr_rrc_T_eventA1,
    &ett_nr_rrc_T_eventA2,
    &ett_nr_rrc_T_eventA3,
    &ett_nr_rrc_T_eventA4,
    &ett_nr_rrc_T_eventA5,
    &ett_nr_rrc_T_eventA6,
    &ett_nr_rrc_T_eventX1_r17,
    &ett_nr_rrc_T_eventX2_r17,
    &ett_nr_rrc_T_eventD1_r17,
    &ett_nr_rrc_T_includeBT_Meas_r16_02,
    &ett_nr_rrc_T_includeWLAN_Meas_r16_02,
    &ett_nr_rrc_T_includeSensor_Meas_r16_02,
    &ett_nr_rrc_PeriodicalReportConfig,
    &ett_nr_rrc_T_includeBT_Meas_r16_03,
    &ett_nr_rrc_T_includeWLAN_Meas_r16_03,
    &ett_nr_rrc_T_includeSensor_Meas_r16_03,
    &ett_nr_rrc_T_ul_DelayValueConfig_r16,
    &ett_nr_rrc_T_ul_ExcessDelayConfig_r17,
    &ett_nr_rrc_MeasTriggerQuantity,
    &ett_nr_rrc_MeasTriggerQuantityOffset,
    &ett_nr_rrc_MeasReportQuantity,
    &ett_nr_rrc_MeasRSSI_ReportConfig_r16,
    &ett_nr_rrc_CLI_EventTriggerConfig_r16,
    &ett_nr_rrc_T_eventId_r16,
    &ett_nr_rrc_T_eventI1_r16,
    &ett_nr_rrc_CLI_PeriodicalReportConfig_r16,
    &ett_nr_rrc_RxTxPeriodical_r17,
    &ett_nr_rrc_MeasTriggerQuantityCLI_r16,
    &ett_nr_rrc_ReportConfigNR_SL_r16,
    &ett_nr_rrc_T_reportType_r16,
    &ett_nr_rrc_EventTriggerConfigNR_SL_r16,
    &ett_nr_rrc_T_eventId_r16_01,
    &ett_nr_rrc_T_eventC1,
    &ett_nr_rrc_T_eventC2_r16,
    &ett_nr_rrc_PeriodicalReportConfigNR_SL_r16,
    &ett_nr_rrc_MeasReportQuantity_r16,
    &ett_nr_rrc_ReportConfigToAddModList,
    &ett_nr_rrc_ReportConfigToAddMod,
    &ett_nr_rrc_T_reportConfig,
    &ett_nr_rrc_RLC_BearerConfig,
    &ett_nr_rrc_T_servedRadioBearer,
    &ett_nr_rrc_MulticastRLC_BearerConfig_r17,
    &ett_nr_rrc_RLC_Config,
    &ett_nr_rrc_T_am,
    &ett_nr_rrc_T_um_Bi_Directional,
    &ett_nr_rrc_T_um_Uni_Directional_UL,
    &ett_nr_rrc_T_um_Uni_Directional_DL,
    &ett_nr_rrc_UL_AM_RLC,
    &ett_nr_rrc_DL_AM_RLC,
    &ett_nr_rrc_UL_UM_RLC,
    &ett_nr_rrc_DL_UM_RLC,
    &ett_nr_rrc_RLC_Config_v1610,
    &ett_nr_rrc_RLC_Config_v1700,
    &ett_nr_rrc_DL_AM_RLC_v1610,
    &ett_nr_rrc_DL_AM_RLC_v1700,
    &ett_nr_rrc_DL_UM_RLC_v1700,
    &ett_nr_rrc_RLF_TimersAndConstants,
    &ett_nr_rrc_RxTxTimeDiff_r17,
    &ett_nr_rrc_SCellActivationRS_Config_r17,
    &ett_nr_rrc_SchedulingRequestConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId,
    &ett_nr_rrc_SchedulingRequestToAddMod,
    &ett_nr_rrc_SchedulingRequestConfig_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddModExt_v1700,
    &ett_nr_rrc_SchedulingRequestToAddModExt_v1700,
    &ett_nr_rrc_SchedulingRequestResourceConfig,
    &ett_nr_rrc_T_periodicityAndOffset,
    &ett_nr_rrc_SchedulingRequestResourceConfigExt_v1610,
    &ett_nr_rrc_SchedulingRequestResourceConfigExt_v1700,
    &ett_nr_rrc_T_periodicityAndOffset_r17,
    &ett_nr_rrc_SCS_SpecificCarrier,
    &ett_nr_rrc_SDAP_Config,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI,
    &ett_nr_rrc_SearchSpace,
    &ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset,
    &ett_nr_rrc_T_nrofCandidates,
    &ett_nr_rrc_T_searchSpaceType,
    &ett_nr_rrc_T_common,
    &ett_nr_rrc_T_dci_Format0_0_AndFormat1_0,
    &ett_nr_rrc_T_dci_Format2_0,
    &ett_nr_rrc_T_nrofCandidates_SFI,
    &ett_nr_rrc_T_dci_Format2_1,
    &ett_nr_rrc_T_dci_Format2_2,
    &ett_nr_rrc_T_dci_Format2_3,
    &ett_nr_rrc_T_ue_Specific,
    &ett_nr_rrc_SearchSpaceExt_r16,
    &ett_nr_rrc_T_searchSpaceType_r16,
    &ett_nr_rrc_T_common_r16,
    &ett_nr_rrc_T_dci_Format2_4_r16,
    &ett_nr_rrc_T_nrofCandidates_CI_r16,
    &ett_nr_rrc_T_dci_Format2_5_r16,
    &ett_nr_rrc_T_nrofCandidates_IAB_r16,
    &ett_nr_rrc_T_dci_Format2_6_r16,
    &ett_nr_rrc_T_searchSpaceGroupIdList_r16,
    &ett_nr_rrc_SearchSpaceExt_v1700,
    &ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset_v1710,
    &ett_nr_rrc_T_monitoringSlotsWithinSlotGroup_r17,
    &ett_nr_rrc_T_searchSpaceType_r17,
    &ett_nr_rrc_T_common_r17,
    &ett_nr_rrc_T_dci_Format4_0_r17,
    &ett_nr_rrc_T_dci_Format4_1_r17,
    &ett_nr_rrc_T_dci_Format4_2_r17,
    &ett_nr_rrc_T_dci_Format4_1_AndFormat4_2_r17,
    &ett_nr_rrc_T_dci_Format2_7_r17,
    &ett_nr_rrc_T_nrofCandidates_PEI_r17,
    &ett_nr_rrc_T_searchSpaceGroupIdList_r17,
    &ett_nr_rrc_SecurityAlgorithmConfig,
    &ett_nr_rrc_SemiStaticChannelAccessConfig_r16,
    &ett_nr_rrc_SemiStaticChannelAccessConfigUE_r17,
    &ett_nr_rrc_Sensor_LocationInfo_r16,
    &ett_nr_rrc_ServingCellAndBWP_Id_r17,
    &ett_nr_rrc_ServingCellConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink,
    &ett_nr_rrc_T_pdcch_ServingCellConfig,
    &ett_nr_rrc_T_pdsch_ServingCellConfig,
    &ett_nr_rrc_T_csi_MeasConfig,
    &ett_nr_rrc_T_lte_CRS_ToMatchAround,
    &ett_nr_rrc_T_dormantBWP_Config_r16,
    &ett_nr_rrc_T_ca_SlotOffset_r16,
    &ett_nr_rrc_T_servingCellConfig_eag_2_dummy2,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_IntraCellGuardBandsPerSCS_r16,
    &ett_nr_rrc_T_lte_CRS_PatternList1_r16,
    &ett_nr_rrc_T_lte_CRS_PatternList2_r16,
    &ett_nr_rrc_T_channelAccessConfig_r16,
    &ett_nr_rrc_T_nr_dl_PRS_PDC_Info_r17,
    &ett_nr_rrc_T_semiStaticChannelAccessConfigUE_r17,
    &ett_nr_rrc_T_mimoParam_r17,
    &ett_nr_rrc_T_lte_NeighCellsCRS_AssistInfoList_r17,
    &ett_nr_rrc_UplinkConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink,
    &ett_nr_rrc_T_pusch_ServingCellConfig,
    &ett_nr_rrc_T_carrierSwitching,
    &ett_nr_rrc_T_uplinkTxSwitching_r16,
    &ett_nr_rrc_DummyJ,
    &ett_nr_rrc_ChannelAccessConfig_r16,
    &ett_nr_rrc_T_energyDetectionConfig_r16,
    &ett_nr_rrc_IntraCellGuardBandsPerSCS_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_GuardBand_r16,
    &ett_nr_rrc_GuardBand_r16,
    &ett_nr_rrc_DormantBWP_Config_r16,
    &ett_nr_rrc_T_withinActiveTimeConfig_r16,
    &ett_nr_rrc_T_outsideActiveTimeConfig_r16,
    &ett_nr_rrc_WithinActiveTimeConfig_r16,
    &ett_nr_rrc_OutsideActiveTimeConfig_r16,
    &ett_nr_rrc_UplinkTxSwitching_r16,
    &ett_nr_rrc_MIMOParam_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_SSB_MTC_AdditionalPCI_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAdditionalPCI_r17_OF_AdditionalPCIIndex_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControl_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUL_TCI_r17_OF_Uplink_powerControlId_r17,
    &ett_nr_rrc_ServingCellConfigCommon,
    &ett_nr_rrc_T_ssb_PositionsInBurst,
    &ett_nr_rrc_T_lte_CRS_ToMatchAround_01,
    &ett_nr_rrc_T_channelAccessMode_r16,
    &ett_nr_rrc_T_featurePriorities_r17_01,
    &ett_nr_rrc_ServingCellConfigCommonSIB,
    &ett_nr_rrc_T_ssb_PositionsInBurst_01,
    &ett_nr_rrc_T_channelAccessMode_r16_01,
    &ett_nr_rrc_SI_RequestConfig,
    &ett_nr_rrc_T_rach_OccasionsSI,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources,
    &ett_nr_rrc_SI_RequestResources,
    &ett_nr_rrc_SI_SchedulingInfo,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo,
    &ett_nr_rrc_SchedulingInfo,
    &ett_nr_rrc_SI_SchedulingInfo_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo2_r17,
    &ett_nr_rrc_SI_SchedulingInfo_v1740,
    &ett_nr_rrc_SchedulingInfo2_r17,
    &ett_nr_rrc_SIB_Mapping,
    &ett_nr_rrc_SIB_Mapping_v1700,
    &ett_nr_rrc_SIB_TypeInfo,
    &ett_nr_rrc_SIB_TypeInfo_v1700,
    &ett_nr_rrc_T_sibType_r17,
    &ett_nr_rrc_T_type2_r17,
    &ett_nr_rrc_SlotFormatCombinationsPerCell,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination,
    &ett_nr_rrc_SlotFormatCombination,
    &ett_nr_rrc_T_slotFormats,
    &ett_nr_rrc_SlotFormatIndicator,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_SearchSpaceSwitchTrigger_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroupMinus4_r16_OF_ServCellIndex,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r17,
    &ett_nr_rrc_CO_DurationsPerCell_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16,
    &ett_nr_rrc_CO_DurationsPerCell_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r17,
    &ett_nr_rrc_AvailableRB_SetsPerCell_r16,
    &ett_nr_rrc_SearchSpaceSwitchTrigger_r16,
    &ett_nr_rrc_S_NSSAI,
    &ett_nr_rrc_SpeedStateScaleFactors,
    &ett_nr_rrc_SPS_Config,
    &ett_nr_rrc_SPS_PUCCH_AN_r16,
    &ett_nr_rrc_SPS_PUCCH_AN_List_r16,
    &ett_nr_rrc_SRS_CarrierSwitching,
    &ett_nr_rrc_T_srs_TPC_PDCCH_Group,
    &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config,
    &ett_nr_rrc_SRS_TPC_PDCCH_Config,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex,
    &ett_nr_rrc_SRS_CC_SetIndex,
    &ett_nr_rrc_SRS_Config,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource,
    &ett_nr_rrc_SRS_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId,
    &ett_nr_rrc_T_resourceType_01,
    &ett_nr_rrc_T_aperiodic_01,
    &ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList,
    &ett_nr_rrc_T_semi_persistent,
    &ett_nr_rrc_T_periodic_01,
    &ett_nr_rrc_T_pathlossReferenceRSList_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_AvailableSlotOffset_r17,
    &ett_nr_rrc_PathlossReferenceRS_Config,
    &ett_nr_rrc_PathlossReferenceRSList_r16,
    &ett_nr_rrc_PathlossReferenceRS_r16,
    &ett_nr_rrc_SRS_PosResourceSet_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16,
    &ett_nr_rrc_T_resourceType_r16,
    &ett_nr_rrc_T_aperiodic_r16,
    &ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16,
    &ett_nr_rrc_T_semi_persistent_r16,
    &ett_nr_rrc_T_periodic_r16,
    &ett_nr_rrc_T_pathlossReferenceRS_Pos_r16,
    &ett_nr_rrc_SRS_Resource,
    &ett_nr_rrc_T_transmissionComb,
    &ett_nr_rrc_T_n2,
    &ett_nr_rrc_T_n4,
    &ett_nr_rrc_T_resourceMapping,
    &ett_nr_rrc_T_freqHopping,
    &ett_nr_rrc_T_resourceType_02,
    &ett_nr_rrc_T_aperiodic_02,
    &ett_nr_rrc_T_semi_persistent_01,
    &ett_nr_rrc_T_periodic_02,
    &ett_nr_rrc_T_resourceMapping_r16,
    &ett_nr_rrc_T_spatialRelationInfo_PDC_r17,
    &ett_nr_rrc_T_resourceMapping_r17,
    &ett_nr_rrc_T_partialFreqSounding_r17,
    &ett_nr_rrc_T_startRBIndexFScaling_r17,
    &ett_nr_rrc_T_transmissionComb_n8_r17,
    &ett_nr_rrc_T_srs_TCI_State_r17,
    &ett_nr_rrc_T_srs_DLorJointTCI_State_v1730,
    &ett_nr_rrc_SRS_PosResource_r16,
    &ett_nr_rrc_T_transmissionComb_r16,
    &ett_nr_rrc_T_n2_r16,
    &ett_nr_rrc_T_n4_r16,
    &ett_nr_rrc_T_n8_r16,
    &ett_nr_rrc_T_resourceMapping_r16_01,
    &ett_nr_rrc_T_freqHopping_r16,
    &ett_nr_rrc_T_resourceType_r16_01,
    &ett_nr_rrc_T_aperiodic_r16_01,
    &ett_nr_rrc_T_semi_persistent_r16_01,
    &ett_nr_rrc_T_periodic_r16_01,
    &ett_nr_rrc_SRS_SpatialRelationInfo,
    &ett_nr_rrc_T_referenceSignal_03,
    &ett_nr_rrc_T_srs,
    &ett_nr_rrc_SRS_SpatialRelationInfoPos_r16,
    &ett_nr_rrc_T_servingRS_r16,
    &ett_nr_rrc_T_referenceSignal_r16_02,
    &ett_nr_rrc_T_srs_SpatialRelation_r16,
    &ett_nr_rrc_T_resourceSelection_r16,
    &ett_nr_rrc_SSB_Configuration_r16,
    &ett_nr_rrc_T_sfn0_Offset_r16,
    &ett_nr_rrc_SSB_InfoNcell_r16,
    &ett_nr_rrc_DL_PRS_Info_r16,
    &ett_nr_rrc_SRS_PeriodicityAndOffset,
    &ett_nr_rrc_SRS_PeriodicityAndOffset_r16,
    &ett_nr_rrc_SRS_PeriodicityAndOffsetExt_r16,
    &ett_nr_rrc_SpatialRelationInfo_PDC_r17,
    &ett_nr_rrc_T_referenceSignal_04,
    &ett_nr_rrc_T_srs_01,
    &ett_nr_rrc_SRS_TPC_CommandConfig,
    &ett_nr_rrc_SSB_MTC,
    &ett_nr_rrc_T_periodicityAndOffset_01,
    &ett_nr_rrc_SSB_MTC2,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId,
    &ett_nr_rrc_SSB_MTC2_LP_r16,
    &ett_nr_rrc_SSB_MTC3_r16,
    &ett_nr_rrc_T_periodicityAndOffset_r16,
    &ett_nr_rrc_T_ssb_ToMeasure_r16,
    &ett_nr_rrc_SSB_MTC4_r17,
    &ett_nr_rrc_SSB_MTC_AdditionalPCI_r17,
    &ett_nr_rrc_T_ssb_PositionsInBurst_r17,
    &ett_nr_rrc_SSB_ToMeasure,
    &ett_nr_rrc_SS_RSSI_Measurement,
    &ett_nr_rrc_TAG_Config,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG,
    &ett_nr_rrc_TAG,
    &ett_nr_rrc_TAR_Config_r17,
    &ett_nr_rrc_TCI_ActivatedConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_TCI_StateId,
    &ett_nr_rrc_TCI_State,
    &ett_nr_rrc_QCL_Info,
    &ett_nr_rrc_T_referenceSignal_05,
    &ett_nr_rrc_TCI_UL_State_r17,
    &ett_nr_rrc_T_referenceSignal_r17_01,
    &ett_nr_rrc_TDD_UL_DL_ConfigCommon,
    &ett_nr_rrc_TDD_UL_DL_Pattern,
    &ett_nr_rrc_TDD_UL_DL_ConfigDedicated,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex,
    &ett_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16,
    &ett_nr_rrc_TDD_UL_DL_SlotConfig,
    &ett_nr_rrc_T_symbols,
    &ett_nr_rrc_T_explicit,
    &ett_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16,
    &ett_nr_rrc_T_symbols_IAB_MT_r16,
    &ett_nr_rrc_T_explicit_r16,
    &ett_nr_rrc_T_explicit_IAB_MT_r16,
    &ett_nr_rrc_UAC_BarringInfoSetList,
    &ett_nr_rrc_UAC_BarringInfoSetList_v1700,
    &ett_nr_rrc_UAC_BarringInfoSet,
    &ett_nr_rrc_UAC_BarringInfoSet_v1700,
    &ett_nr_rrc_UAC_BarringPerCatList,
    &ett_nr_rrc_UAC_BarringPerCat,
    &ett_nr_rrc_UAC_BarringPerPLMN_List,
    &ett_nr_rrc_UAC_BarringPerPLMN,
    &ett_nr_rrc_T_uac_ACBarringListType,
    &ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex,
    &ett_nr_rrc_UE_TimersAndConstants,
    &ett_nr_rrc_UL_DelayValueConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity,
    &ett_nr_rrc_UL_ExcessDelayConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_ExcessDelay_DRB_IdentityInfo_r17,
    &ett_nr_rrc_ExcessDelay_DRB_IdentityInfo_r17,
    &ett_nr_rrc_UL_GapFR2_Config_r17,
    &ett_nr_rrc_UplinkCancellation_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16,
    &ett_nr_rrc_CI_ConfigurationPerServingCell_r16,
    &ett_nr_rrc_T_timeFrequencyRegion_r16,
    &ett_nr_rrc_UplinkConfigCommon,
    &ett_nr_rrc_UplinkConfigCommon_v1700,
    &ett_nr_rrc_UplinkConfigCommonSIB,
    &ett_nr_rrc_UplinkConfigCommonSIB_v1700,
    &ett_nr_rrc_Uplink_powerControl_r17,
    &ett_nr_rrc_P0AlphaSet_r17,
    &ett_nr_rrc_Uu_RelayRLC_ChannelConfig_r17,
    &ett_nr_rrc_UplinkTxDirectCurrentList,
    &ett_nr_rrc_UplinkTxDirectCurrentCell,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP,
    &ett_nr_rrc_UplinkTxDirectCurrentBWP,
    &ett_nr_rrc_UplinkTxDirectCurrentMoreCarrierList_r17,
    &ett_nr_rrc_CC_Group_r17,
    &ett_nr_rrc_T_offsetToDefault_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReqComDC_Location_r17_OF_OffsetValue_r17,
    &ett_nr_rrc_OffsetValue_r17,
    &ett_nr_rrc_DefaultDC_Location_r17,
    &ett_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16,
    &ett_nr_rrc_UplinkTxDirectCurrentTwoCarrier_r16,
    &ett_nr_rrc_UplinkTxDirectCurrentCarrierInfo_r16,
    &ett_nr_rrc_T_servCellInfo_r16,
    &ett_nr_rrc_UplinkTxDirectCurrentTwoCarrierInfo_r16,
    &ett_nr_rrc_ZP_CSI_RS_Resource,
    &ett_nr_rrc_ZP_CSI_RS_ResourceSet,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId,
    &ett_nr_rrc_AppLayerMeasParameters_r17,
    &ett_nr_rrc_BandCombinationList,
    &ett_nr_rrc_BandCombinationList_v1540,
    &ett_nr_rrc_BandCombinationList_v1550,
    &ett_nr_rrc_BandCombinationList_v1560,
    &ett_nr_rrc_BandCombinationList_v1570,
    &ett_nr_rrc_BandCombinationList_v1580,
    &ett_nr_rrc_BandCombinationList_v1590,
    &ett_nr_rrc_BandCombinationList_v15g0,
    &ett_nr_rrc_BandCombinationList_v1610,
    &ett_nr_rrc_BandCombinationList_v1630,
    &ett_nr_rrc_BandCombinationList_v1640,
    &ett_nr_rrc_BandCombinationList_v1650,
    &ett_nr_rrc_BandCombinationList_v1680,
    &ett_nr_rrc_BandCombinationList_v1690,
    &ett_nr_rrc_BandCombinationList_v16a0,
    &ett_nr_rrc_BandCombinationList_v1700,
    &ett_nr_rrc_BandCombinationList_v1720,
    &ett_nr_rrc_BandCombinationList_v1730,
    &ett_nr_rrc_BandCombinationList_v1740,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_r16,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1630,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1640,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1650,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1670,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1690,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v16a0,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1700,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1720,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1730,
    &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_v1740,
    &ett_nr_rrc_BandCombination,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters,
    &ett_nr_rrc_BandCombination_v1540,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540,
    &ett_nr_rrc_BandCombination_v1550,
    &ett_nr_rrc_BandCombination_v1560,
    &ett_nr_rrc_BandCombination_v1570,
    &ett_nr_rrc_BandCombination_v1580,
    &ett_nr_rrc_BandCombination_v1590,
    &ett_nr_rrc_BandCombination_v15g0,
    &ett_nr_rrc_BandCombination_v1610,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610,
    &ett_nr_rrc_BandCombination_v1630,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_ScalingFactorSidelink_r16,
    &ett_nr_rrc_BandCombination_v1640,
    &ett_nr_rrc_BandCombination_v1650,
    &ett_nr_rrc_BandCombination_v1680,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_IntraBandPowerClass_r16,
    &ett_nr_rrc_BandCombination_v1690,
    &ett_nr_rrc_BandCombination_v16a0,
    &ett_nr_rrc_BandCombination_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1710,
    &ett_nr_rrc_BandCombination_v1720,
    &ett_nr_rrc_BandCombination_v1730,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1730,
    &ett_nr_rrc_BandCombination_v1740,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1630,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1640,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1650,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1670,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1690,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v16a0,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_UplinkTxSwitchingBandParameters_v1700,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1720,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1730,
    &ett_nr_rrc_BandCombination_UplinkTxSwitch_v1740,
    &ett_nr_rrc_ULTxSwitchingBandPair_r16,
    &ett_nr_rrc_ULTxSwitchingBandPair_v1700,
    &ett_nr_rrc_UplinkTxSwitchingBandParameters_v1700,
    &ett_nr_rrc_BandParameters,
    &ett_nr_rrc_T_eutra,
    &ett_nr_rrc_T_nr,
    &ett_nr_rrc_BandParameters_v1540,
    &ett_nr_rrc_T_srs_CarrierSwitch,
    &ett_nr_rrc_T_nr_01,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR,
    &ett_nr_rrc_T_eutra_01,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA,
    &ett_nr_rrc_T_srs_TxSwitch,
    &ett_nr_rrc_BandParameters_v1610,
    &ett_nr_rrc_T_srs_TxSwitch_v1610,
    &ett_nr_rrc_BandParameters_v1710,
    &ett_nr_rrc_T_srs_AntennaSwitchingBeyond4RX_r17,
    &ett_nr_rrc_BandParameters_v1730,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingAffectedBandsNR_r17,
    &ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_r16,
    &ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1630,
    &ett_nr_rrc_BandCombinationListSidelinkEUTRA_NR_v1710,
    &ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16,
    &ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1630,
    &ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_v1710,
    &ett_nr_rrc_BandParametersSidelinkEUTRA_NR_r16,
    &ett_nr_rrc_T_eutra_02,
    &ett_nr_rrc_T_nr_02,
    &ett_nr_rrc_BandParametersSidelinkEUTRA_NR_v1630,
    &ett_nr_rrc_T_nr_03,
    &ett_nr_rrc_BandParametersSidelinkEUTRA_NR_v1710,
    &ett_nr_rrc_T_nr_04,
    &ett_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17,
    &ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17,
    &ett_nr_rrc_T_fr1_r17,
    &ett_nr_rrc_T_fr2_r17,
    &ett_nr_rrc_BandParametersSidelink_r16,
    &ett_nr_rrc_BandCombinationListSL_Discovery_r17,
    &ett_nr_rrc_BandParametersSidelinkDiscovery_r17,
    &ett_nr_rrc_T_sl_TransmissionMode2_PartialSensing_r17_01,
    &ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_01,
    &ett_nr_rrc_T_fr1_r17_01,
    &ett_nr_rrc_T_fr2_r17_01,
    &ett_nr_rrc_CA_ParametersEUTRA,
    &ett_nr_rrc_CA_ParametersEUTRA_v1560,
    &ett_nr_rrc_CA_ParametersEUTRA_v1570,
    &ett_nr_rrc_CA_ParametersNR,
    &ett_nr_rrc_CA_ParametersNR_v1540,
    &ett_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb,
    &ett_nr_rrc_CA_ParametersNR_v1550,
    &ett_nr_rrc_CA_ParametersNR_v1560,
    &ett_nr_rrc_CA_ParametersNR_v15g0,
    &ett_nr_rrc_CA_ParametersNR_v1610,
    &ett_nr_rrc_T_interFreqDAPS_r16,
    &ett_nr_rrc_T_pdcch_MonitoringCA_r16,
    &ett_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_r16,
    &ett_nr_rrc_T_pdcch_BlindDetectionMCG_UE_Mixed_r16,
    &ett_nr_rrc_T_pdcch_BlindDetectionSCG_UE_Mixed_r16,
    &ett_nr_rrc_CA_ParametersNR_v1630,
    &ett_nr_rrc_CA_ParametersNR_v1640,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r16_OF_TwoPUCCH_Grp_Configurations_r16,
    &ett_nr_rrc_T_pdcch_BlindDetectionCA_Mixed_NonAlignedSpan_r16,
    &ett_nr_rrc_CA_ParametersNR_v1690,
    &ett_nr_rrc_T_csi_ReportingCrossPUCCH_Grp_r16,
    &ett_nr_rrc_T_additionalSymbols_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCarrierTypePairList_r16_OF_CarrierTypePair_r16,
    &ett_nr_rrc_CA_ParametersNR_v16a0,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetectionMixed_1_r16_OF_PDCCH_BlindDetectionMixedList_r16,
    &ett_nr_rrc_CA_ParametersNR_v1700,
    &ett_nr_rrc_T_mTRP_CSI_EnhancementPerBC_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_CSI_MultiTRP_SupportedCombinations_r17,
    &ett_nr_rrc_T_non_AlignedFrameBoundaries_r17,
    &ett_nr_rrc_CA_ParametersNR_v1720,
    &ett_nr_rrc_T_semiStaticPUCCH_CellSwitchSingleGroup_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxTwoPUCCH_Grp_ConfigList_r17_OF_TwoPUCCH_Grp_Configurations_r17,
    &ett_nr_rrc_T_dynamicPUCCH_CellSwitchSameLengthSingleGroup_r17,
    &ett_nr_rrc_T_dynamicPUCCH_CellSwitchDiffLengthSingleGroup_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMCG_SCG_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPdcch_BlindDetection_r17_OF_PDCCH_BlindDetectionMixed1_r17,
    &ett_nr_rrc_CA_ParametersNR_v1730,
    &ett_nr_rrc_CA_ParametersNR_v1740,
    &ett_nr_rrc_CrossCarrierSchedulingSCell_SpCell_r17,
    &ett_nr_rrc_T_supportedSCS_Combinations_r17,
    &ett_nr_rrc_PDCCH_BlindDetectionMixedList_r16,
    &ett_nr_rrc_T_pdcch_BlindDetectionCA_MixedExt_r16,
    &ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_MixedExt_r16,
    &ett_nr_rrc_PDCCH_BlindDetectionCA_MixedExt_r16,
    &ett_nr_rrc_PDCCH_BlindDetectionCG_UE_MixedExt_r16,
    &ett_nr_rrc_PDCCH_BlindDetectionMCG_SCG_r17,
    &ett_nr_rrc_PDCCH_BlindDetectionMixed_r17,
    &ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed_r17,
    &ett_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed_r17,
    &ett_nr_rrc_PDCCH_BlindDetectionCA_Mixed_r17,
    &ett_nr_rrc_PDCCH_BlindDetectionMixed1_r17,
    &ett_nr_rrc_T_pdcch_BlindDetectionCG_UE_Mixed1_r17,
    &ett_nr_rrc_PDCCH_BlindDetectionCG_UE_Mixed1_r17,
    &ett_nr_rrc_PDCCH_BlindDetectionCA_Mixed1_r17,
    &ett_nr_rrc_SimulSRS_ForAntennaSwitching_r16,
    &ett_nr_rrc_TwoPUCCH_Grp_Configurations_r16,
    &ett_nr_rrc_TwoPUCCH_Grp_Configurations_r17,
    &ett_nr_rrc_TwoPUCCH_Grp_ConfigParams_r16,
    &ett_nr_rrc_CarrierTypePair_r16,
    &ett_nr_rrc_PUCCH_Grp_CarrierTypes_r16,
    &ett_nr_rrc_PUCCH_Group_Config_r17,
    &ett_nr_rrc_CA_ParametersNRDC,
    &ett_nr_rrc_CA_ParametersNRDC_v15g0,
    &ett_nr_rrc_CA_ParametersNRDC_v1610,
    &ett_nr_rrc_CA_ParametersNRDC_v1630,
    &ett_nr_rrc_CA_ParametersNRDC_v1640,
    &ett_nr_rrc_CA_ParametersNRDC_v1650,
    &ett_nr_rrc_CA_ParametersNRDC_v16a0,
    &ett_nr_rrc_CA_ParametersNRDC_v1700,
    &ett_nr_rrc_CA_ParametersNRDC_v1720,
    &ett_nr_rrc_CA_ParametersNRDC_v1730,
    &ett_nr_rrc_CarrierAggregationVariant,
    &ett_nr_rrc_CodebookParameters,
    &ett_nr_rrc_T_type1_04,
    &ett_nr_rrc_T_singlePanel,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource,
    &ett_nr_rrc_T_multiPanel,
    &ett_nr_rrc_T_type2_03,
    &ett_nr_rrc_T_type2_PortSelection,
    &ett_nr_rrc_CodebookParameters_v1610,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16,
    &ett_nr_rrc_T_type1_SinglePanel_r16,
    &ett_nr_rrc_T_type1_MultiPanel_r16,
    &ett_nr_rrc_T_type2_r16,
    &ett_nr_rrc_T_type2_PortSelection_r16,
    &ett_nr_rrc_CodebookParametersAddition_r16,
    &ett_nr_rrc_T_etype2_r16,
    &ett_nr_rrc_T_etype2R1_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16,
    &ett_nr_rrc_T_etype2R2_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_01,
    &ett_nr_rrc_T_etype2_PS_r16,
    &ett_nr_rrc_T_etype2R1_PortSelection_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_02,
    &ett_nr_rrc_T_etype2R2_PortSelection_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_03,
    &ett_nr_rrc_CodebookComboParametersAddition_r16,
    &ett_nr_rrc_T_type1SP_Type2_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_04,
    &ett_nr_rrc_T_type1SP_Type2PS_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_05,
    &ett_nr_rrc_T_type1SP_eType2R1_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_06,
    &ett_nr_rrc_T_type1SP_eType2R2_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_07,
    &ett_nr_rrc_T_type1SP_eType2R1PS_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_08,
    &ett_nr_rrc_T_type1SP_eType2R2PS_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_09,
    &ett_nr_rrc_T_type1SP_Type2_Type2PS_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_10,
    &ett_nr_rrc_T_type1MP_Type2_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_11,
    &ett_nr_rrc_T_type1MP_Type2PS_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_12,
    &ett_nr_rrc_T_type1MP_eType2R1_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_13,
    &ett_nr_rrc_T_type1MP_eType2R2_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_14,
    &ett_nr_rrc_T_type1MP_eType2R1PS_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_15,
    &ett_nr_rrc_T_type1MP_eType2R2PS_null_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_16,
    &ett_nr_rrc_T_type1MP_Type2_Type2PS_r16,
    &ett_nr_rrc_T_supportedCSI_RS_ResourceListAdd_r16_17,
    &ett_nr_rrc_CodebookParametersfetype2_r17,
    &ett_nr_rrc_T_fetype2basic_r17,
    &ett_nr_rrc_T_fetype2R1_r17,
    &ett_nr_rrc_T_fetype2R2_r17,
    &ett_nr_rrc_CodebookComboParameterMixedType_r17,
    &ett_nr_rrc_T_type1SP_feType2PS_null_r17,
    &ett_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17,
    &ett_nr_rrc_T_type1SP_feType2PS_M2R2_null_r1,
    &ett_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17,
    &ett_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17,
    &ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17,
    &ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17,
    &ett_nr_rrc_T_type1MP_feType2PS_null_r17,
    &ett_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17,
    &ett_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17,
    &ett_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17,
    &ett_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17,
    &ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17,
    &ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17,
    &ett_nr_rrc_CodebookComboParameterMultiTRP_r17,
    &ett_nr_rrc_T_nCJT_null_null,
    &ett_nr_rrc_T_nCJT1SP_null_null,
    &ett_nr_rrc_T_nCJT_Type2_null_r16,
    &ett_nr_rrc_T_nCJT_Type2PS_null_r16,
    &ett_nr_rrc_T_nCJT_eType2R1_null_r16,
    &ett_nr_rrc_T_nCJT_eType2R2_null_r16,
    &ett_nr_rrc_T_nCJT_eType2R1PS_null_r16,
    &ett_nr_rrc_T_nCJT_eType2R2PS_null_r16,
    &ett_nr_rrc_T_nCJT_Type2_Type2PS_r16,
    &ett_nr_rrc_T_nCJT1SP_Type2_null_r16,
    &ett_nr_rrc_T_nCJT1SP_Type2PS_null_r16,
    &ett_nr_rrc_T_nCJT1SP_eType2R1_null_r16,
    &ett_nr_rrc_T_nCJT1SP_eType2R2_null_r16,
    &ett_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16,
    &ett_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16,
    &ett_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16,
    &ett_nr_rrc_T_nCJT_feType2PS_null_r17,
    &ett_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17,
    &ett_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17,
    &ett_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17,
    &ett_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17,
    &ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17,
    &ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17,
    &ett_nr_rrc_T_nCJT1SP_feType2PS_null_r17,
    &ett_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17,
    &ett_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1,
    &ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17,
    &ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17,
    &ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17,
    &ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17,
    &ett_nr_rrc_CodebookParametersAdditionPerBC_r16,
    &ett_nr_rrc_T_etype2R1_r16_01,
    &ett_nr_rrc_T_etype2R2_r16_01,
    &ett_nr_rrc_T_etype2R1_PortSelection_r16_01,
    &ett_nr_rrc_T_etype2R2_PortSelection_r16_01,
    &ett_nr_rrc_CodebookComboParametersAdditionPerBC_r16,
    &ett_nr_rrc_T_type1SP_Type2_null_r16_01,
    &ett_nr_rrc_T_type1SP_Type2PS_null_r16_01,
    &ett_nr_rrc_T_type1SP_eType2R1_null_r16_01,
    &ett_nr_rrc_T_type1SP_eType2R2_null_r16_01,
    &ett_nr_rrc_T_type1SP_eType2R1PS_null_r16_01,
    &ett_nr_rrc_T_type1SP_eType2R2PS_null_r16_01,
    &ett_nr_rrc_T_type1SP_Type2_Type2PS_r16_01,
    &ett_nr_rrc_T_type1MP_Type2_null_r16_01,
    &ett_nr_rrc_T_type1MP_Type2PS_null_r16_01,
    &ett_nr_rrc_T_type1MP_eType2R1_null_r16_01,
    &ett_nr_rrc_T_type1MP_eType2R2_null_r16_01,
    &ett_nr_rrc_T_type1MP_eType2R1PS_null_r16_01,
    &ett_nr_rrc_T_type1MP_eType2R2PS_null_r16_01,
    &ett_nr_rrc_T_type1MP_Type2_Type2PS_r16_01,
    &ett_nr_rrc_CodebookParametersfetype2PerBC_r17,
    &ett_nr_rrc_T_fetype2basic_r17_01,
    &ett_nr_rrc_T_fetype2R1_r17_01,
    &ett_nr_rrc_T_fetype2R2_r17_01,
    &ett_nr_rrc_CodebookComboParameterMixedTypePerBC_r17,
    &ett_nr_rrc_T_type1SP_feType2PS_null_r17_01,
    &ett_nr_rrc_T_type1SP_feType2PS_M2R1_null_r17_01,
    &ett_nr_rrc_T_type1SP_feType2PS_M2R2_null_r17,
    &ett_nr_rrc_T_type1SP_Type2_feType2_PS_M1_r17_01,
    &ett_nr_rrc_T_type1SP_Type2_feType2_PS_M2R1_r17_01,
    &ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M1_r17_01,
    &ett_nr_rrc_T_type1SP_eType2R1_feType2_PS_M2R1_r17_01,
    &ett_nr_rrc_T_type1MP_feType2PS_null_r17_01,
    &ett_nr_rrc_T_type1MP_feType2PS_M2R1_null_r17_01,
    &ett_nr_rrc_T_type1MP_feType2PS_M2R2_null_r17_01,
    &ett_nr_rrc_T_type1MP_Type2_feType2_PS_M1_r17_01,
    &ett_nr_rrc_T_type1MP_Type2_feType2_PS_M2R1_r17_01,
    &ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M1_r17_01,
    &ett_nr_rrc_T_type1MP_eType2R1_feType2_PS_M2R1_r17_01,
    &ett_nr_rrc_CodebookComboParameterMultiTRP_PerBC_r17,
    &ett_nr_rrc_T_nCJT_null_null_01,
    &ett_nr_rrc_T_nCJT1SP_null_null_01,
    &ett_nr_rrc_T_nCJT_Type2_null_r16_01,
    &ett_nr_rrc_T_nCJT_Type2PS_null_r16_01,
    &ett_nr_rrc_T_nCJT_eType2R1_null_r16_01,
    &ett_nr_rrc_T_nCJT_eType2R2_null_r16_01,
    &ett_nr_rrc_T_nCJT_eType2R1PS_null_r16_01,
    &ett_nr_rrc_T_nCJT_eType2R2PS_null_r16_01,
    &ett_nr_rrc_T_nCJT_Type2_Type2PS_r16_01,
    &ett_nr_rrc_T_nCJT1SP_Type2_null_r16_01,
    &ett_nr_rrc_T_nCJT1SP_Type2PS_null_r16_01,
    &ett_nr_rrc_T_nCJT1SP_eType2R1_null_r16_01,
    &ett_nr_rrc_T_nCJT1SP_eType2R2_null_r16_01,
    &ett_nr_rrc_T_nCJT1SP_eType2R1PS_null_r16_01,
    &ett_nr_rrc_T_nCJT1SP_eType2R2PS_null_r16_01,
    &ett_nr_rrc_T_nCJT1SP_Type2_Type2PS_r16_01,
    &ett_nr_rrc_T_nCJT_feType2PS_null_r17_01,
    &ett_nr_rrc_T_nCJT_feType2PS_M2R1_null_r17_01,
    &ett_nr_rrc_T_nCJT_feType2PS_M2R2_null_r17_01,
    &ett_nr_rrc_T_nCJT_Type2_feType2_PS_M1_r17_01,
    &ett_nr_rrc_T_nCJT_Type2_feType2_PS_M2R1_r17_01,
    &ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M1_r17_01,
    &ett_nr_rrc_T_nCJT_eType2R1_feType2_PS_M2R1_r17_01,
    &ett_nr_rrc_T_nCJT1SP_feType2PS_null_r17_01,
    &ett_nr_rrc_T_nCJT1SP_feType2PS_M2R1_null_r17_01,
    &ett_nr_rrc_T_nCJT1SP_feType2PS_M2R2_null_r1_01,
    &ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M1_r17_01,
    &ett_nr_rrc_T_nCJT1SP_Type2_feType2_PS_M2R1_r17_01,
    &ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M1_r17_01,
    &ett_nr_rrc_T_nCJT1SP_eType2R1_feType2_PS_M2R1_r17_01,
    &ett_nr_rrc_CodebookVariantsList_r16,
    &ett_nr_rrc_SupportedCSI_RS_Resource,
    &ett_nr_rrc_FeatureSetCombination,
    &ett_nr_rrc_FeatureSetsPerBand,
    &ett_nr_rrc_FeatureSet,
    &ett_nr_rrc_T_eutra_03,
    &ett_nr_rrc_T_nr_05,
    &ett_nr_rrc_FeatureSetDownlink,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id,
    &ett_nr_rrc_T_timeDurationForQCL,
    &ett_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE,
    &ett_nr_rrc_FeatureSetDownlink_v1540,
    &ett_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap,
    &ett_nr_rrc_T_pdsch_ProcessingType2,
    &ett_nr_rrc_T_pdsch_ProcessingType2_Limited,
    &ett_nr_rrc_FeatureSetDownlink_v15a0,
    &ett_nr_rrc_FeatureSetDownlink_v1610,
    &ett_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16,
    &ett_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16,
    &ett_nr_rrc_T_intraFreqDAPS_r16,
    &ett_nr_rrc_T_pdcch_Monitoring_r16,
    &ett_nr_rrc_T_pdsch_ProcessingType1_r16,
    &ett_nr_rrc_T_pdsch_ProcessingType2_r16,
    &ett_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16,
    &ett_nr_rrc_FeatureSetDownlink_v1700,
    &ett_nr_rrc_T_timeDurationForQCL_v1710,
    &ett_nr_rrc_T_mTRP_PDCCH_Case2_1SpanGap_r17,
    &ett_nr_rrc_T_mTRP_PDCCH_legacyMonitoring_r17,
    &ett_nr_rrc_T_mTRP_PDCCH_Repetition_r17,
    &ett_nr_rrc_FeatureSetDownlink_v1720,
    &ett_nr_rrc_T_rtt_BasedPDC_PRS_r17,
    &ett_nr_rrc_T_maxNumberPRS_ResourceProcessedPerSlot_r17,
    &ett_nr_rrc_FeatureSetDownlink_v1730,
    &ett_nr_rrc_PDCCH_MonitoringOccasions_r16,
    &ett_nr_rrc_PDCCH_RepetitionParameters_r17,
    &ett_nr_rrc_DummyA,
    &ett_nr_rrc_DummyB,
    &ett_nr_rrc_DummyC,
    &ett_nr_rrc_DummyD,
    &ett_nr_rrc_DummyE,
    &ett_nr_rrc_FeatureSetDownlinkPerCC,
    &ett_nr_rrc_FeatureSetDownlinkPerCC_v1620,
    &ett_nr_rrc_FeatureSetDownlinkPerCC_v1700,
    &ett_nr_rrc_FeatureSetDownlinkPerCC_v1720,
    &ett_nr_rrc_FeatureSetDownlinkPerCC_v1730,
    &ett_nr_rrc_MultiDCI_MultiTRP_r16,
    &ett_nr_rrc_CRS_InterfMitigation_r17,
    &ett_nr_rrc_FeatureSets,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1620,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1630,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1640,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1710,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1720,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1720,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1720,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1730,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_v1730,
    &ett_nr_rrc_FeatureSets_v16d0,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v16d0,
    &ett_nr_rrc_FeatureSetUplink,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id,
    &ett_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot,
    &ett_nr_rrc_FeatureSetUplink_v1540,
    &ett_nr_rrc_T_pusch_ProcessingType2,
    &ett_nr_rrc_FeatureSetUplink_v1610,
    &ett_nr_rrc_T_pusch_RepetitionTypeB_r16,
    &ett_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16,
    &ett_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16,
    &ett_nr_rrc_T_intraFreqDAPS_UL_r16,
    &ett_nr_rrc_T_multiPUCCH_r16,
    &ett_nr_rrc_T_ul_IntraUE_Mux_r16,
    &ett_nr_rrc_T_crossCarrierSchedulingProcessing_DiffSCS_r16_01,
    &ett_nr_rrc_T_ul_FullPwrMode2_TPMIGroup_r16,
    &ett_nr_rrc_FeatureSetUplink_v1630,
    &ett_nr_rrc_FeatureSetUplink_v1640,
    &ett_nr_rrc_T_offsetSRS_CB_PUSCH_PDCCH_MonitorAnyOccWithSpanGap_fr1_r16,
    &ett_nr_rrc_FeatureSetUplink_v16d0,
    &ett_nr_rrc_T_pusch_RepetitionTypeB_v16d0,
    &ett_nr_rrc_FeatureSetUplink_v1710,
    &ett_nr_rrc_FeatureSetUplink_v1720,
    &ett_nr_rrc_T_phy_PrioritizationHighPriorityDG_LowPriorityCG_r17,
    &ett_nr_rrc_T_additionalCancellationTime_r17,
    &ett_nr_rrc_SubSlot_Config_r16,
    &ett_nr_rrc_SRS_AllPosResources_r16,
    &ett_nr_rrc_SRS_PosResources_r16,
    &ett_nr_rrc_SRS_PosResourceAP_r16,
    &ett_nr_rrc_SRS_PosResourceSP_r16,
    &ett_nr_rrc_SRS_Resources,
    &ett_nr_rrc_DummyF,
    &ett_nr_rrc_FeatureSetUplinkPerCC,
    &ett_nr_rrc_T_mimo_CB_PUSCH,
    &ett_nr_rrc_FeatureSetUplinkPerCC_v1540,
    &ett_nr_rrc_T_mimo_NonCB_PUSCH,
    &ett_nr_rrc_FeatureSetUplinkPerCC_v1700,
    &ett_nr_rrc_FreqBandList,
    &ett_nr_rrc_FreqBandInformation,
    &ett_nr_rrc_FreqBandInformationEUTRA,
    &ett_nr_rrc_FreqBandInformationNR,
    &ett_nr_rrc_FR2_2_AccessParamsPerBand_r17,
    &ett_nr_rrc_T_enhancedPDCCH_monitoringSCS_960kHz_r17,
    &ett_nr_rrc_T_support32_DL_HARQ_ProcessPerSCS_r17,
    &ett_nr_rrc_T_support32_UL_HARQ_ProcessPerSCS_r17,
    &ett_nr_rrc_HighSpeedParameters_r16,
    &ett_nr_rrc_HighSpeedParameters_v1650,
    &ett_nr_rrc_HighSpeedParameters_v1700,
    &ett_nr_rrc_IMS_Parameters,
    &ett_nr_rrc_IMS_Parameters_v1700,
    &ett_nr_rrc_IMS_ParametersCommon,
    &ett_nr_rrc_IMS_ParametersFRX_Diff,
    &ett_nr_rrc_IMS_ParametersFR2_2_r17,
    &ett_nr_rrc_InterRAT_Parameters,
    &ett_nr_rrc_EUTRA_Parameters,
    &ett_nr_rrc_EUTRA_ParametersCommon,
    &ett_nr_rrc_EUTRA_ParametersXDD_Diff,
    &ett_nr_rrc_UTRA_FDD_Parameters_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16,
    &ett_nr_rrc_MAC_Parameters,
    &ett_nr_rrc_MAC_Parameters_v1610,
    &ett_nr_rrc_MAC_Parameters_v1700,
    &ett_nr_rrc_MAC_ParametersCommon,
    &ett_nr_rrc_MAC_ParametersFRX_Diff_r16,
    &ett_nr_rrc_T_drx_Adaptation_r16,
    &ett_nr_rrc_MAC_ParametersFR2_2_r17,
    &ett_nr_rrc_T_drx_Adaptation_r17,
    &ett_nr_rrc_MAC_ParametersXDD_Diff,
    &ett_nr_rrc_MinTimeGap_r16,
    &ett_nr_rrc_MinTimeGapFR2_2_r17,
    &ett_nr_rrc_MeasAndMobParameters,
    &ett_nr_rrc_MeasAndMobParameters_v1700,
    &ett_nr_rrc_MeasAndMobParametersCommon,
    &ett_nr_rrc_T_condHandoverParametersCommon_r16,
    &ett_nr_rrc_T_concurrentMeasGap_r17,
    &ett_nr_rrc_T_independentGapConfig_maxCC_r17,
    &ett_nr_rrc_MeasAndMobParametersXDD_Diff,
    &ett_nr_rrc_MeasAndMobParametersFRX_Diff,
    &ett_nr_rrc_MeasAndMobParametersFR2_2_r17,
    &ett_nr_rrc_MeasAndMobParametersMRDC,
    &ett_nr_rrc_MeasAndMobParametersMRDC_v1560,
    &ett_nr_rrc_MeasAndMobParametersMRDC_v1610,
    &ett_nr_rrc_MeasAndMobParametersMRDC_v1700,
    &ett_nr_rrc_MeasAndMobParametersMRDC_v1730,
    &ett_nr_rrc_MeasAndMobParametersMRDC_Common,
    &ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1610,
    &ett_nr_rrc_T_condPSCellChangeParametersCommon_r16,
    &ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1700,
    &ett_nr_rrc_T_condPSCellChangeParameters_r17,
    &ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1730,
    &ett_nr_rrc_T_independentGapConfig_maxCC_r17_01,
    &ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff,
    &ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560,
    &ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff,
    &ett_nr_rrc_MIMO_ParametersPerBand,
    &ett_nr_rrc_T_tci_StatePDSCH,
    &ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL,
    &ett_nr_rrc_T_uplinkBeamManagement,
    &ett_nr_rrc_T_beamReportTiming,
    &ett_nr_rrc_T_ptrs_DensityRecommendationSetDL,
    &ett_nr_rrc_T_ptrs_DensityRecommendationSetUL,
    &ett_nr_rrc_T_beamSwitchTiming,
    &ett_nr_rrc_T_ssb_csirs_SINR_measurement_r16,
    &ett_nr_rrc_T_multiDCI_multiTRP_Parameters_r16,
    &ett_nr_rrc_T_outOfOrderOperationDL_r16,
    &ett_nr_rrc_T_maxNumberActivatedTCI_States_r16,
    &ett_nr_rrc_T_singleDCI_SDM_scheme_Parameters_r16,
    &ett_nr_rrc_T_supportInter_slotTDM_r16,
    &ett_nr_rrc_T_beamSwitchTiming_r16,
    &ett_nr_rrc_T_semi_PersistentL1_SINR_Report_PUCCH_r16,
    &ett_nr_rrc_T_spatialRelations_v1640,
    &ett_nr_rrc_T_mTRP_BFR_twoBFD_RS_Set_r17,
    &ett_nr_rrc_T_unifiedJointTCI_r17,
    &ett_nr_rrc_T_unifiedJointTCI_multiMAC_CE_r17,
    &ett_nr_rrc_T_unifiedJointTCI_InterCell_r17,
    &ett_nr_rrc_T_unifiedSeparateTCI_r17,
    &ett_nr_rrc_T_unifiedSeparateTCI_multiMAC_CE_r17,
    &ett_nr_rrc_T_unifiedSeparateTCI_ListSharingCA_r17,
    &ett_nr_rrc_T_unifiedSeparateTCI_InterCell_r17,
    &ett_nr_rrc_T_unifiedJointTCI_mTRP_InterCell_BM_r17,
    &ett_nr_rrc_T_mpe_Mitigation_r17,
    &ett_nr_rrc_T_srs_PortReport_r17,
    &ett_nr_rrc_T_mTRP_PUSCH_CSI_RS_r17,
    &ett_nr_rrc_T_mTRP_inter_Cell_r17,
    &ett_nr_rrc_T_mTRP_GroupBasedL1_RSRP_r17,
    &ett_nr_rrc_T_mTRP_CSI_EnhancementPerBand_r17,
    &ett_nr_rrc_T_beamSwitchTiming_v1710,
    &ett_nr_rrc_T_beamSwitchTiming_r17,
    &ett_nr_rrc_T_beamReportTiming_v1710,
    &ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL_v1710,
    &ett_nr_rrc_DummyG,
    &ett_nr_rrc_BeamManagementSSB_CSI_RS,
    &ett_nr_rrc_DummyH,
    &ett_nr_rrc_CSI_RS_ForTracking,
    &ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback,
    &ett_nr_rrc_CSI_RS_ProcFrameworkForSRS,
    &ett_nr_rrc_CSI_ReportFramework,
    &ett_nr_rrc_CSI_ReportFrameworkExt_r16,
    &ett_nr_rrc_PTRS_DensityRecommendationDL,
    &ett_nr_rrc_PTRS_DensityRecommendationUL,
    &ett_nr_rrc_SpatialRelations,
    &ett_nr_rrc_DummyI,
    &ett_nr_rrc_CSI_MultiTRP_SupportedCombinations_r17,
    &ett_nr_rrc_MRDC_Parameters,
    &ett_nr_rrc_MRDC_Parameters_v1580,
    &ett_nr_rrc_MRDC_Parameters_v1590,
    &ett_nr_rrc_MRDC_Parameters_v15g0,
    &ett_nr_rrc_MRDC_Parameters_v1620,
    &ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16,
    &ett_nr_rrc_MRDC_Parameters_v1630,
    &ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_FDD_TDD_PC2_r16,
    &ett_nr_rrc_MRDC_Parameters_v1700,
    &ett_nr_rrc_NRDC_Parameters,
    &ett_nr_rrc_T_nRDC_Parameters_dummy,
    &ett_nr_rrc_NRDC_Parameters_v1570,
    &ett_nr_rrc_NRDC_Parameters_v15c0,
    &ett_nr_rrc_NRDC_Parameters_v1610,
    &ett_nr_rrc_NRDC_Parameters_v1700,
    &ett_nr_rrc_NTN_Parameters_r17,
    &ett_nr_rrc_OLPC_SRS_Pos_r16,
    &ett_nr_rrc_PDCP_Parameters,
    &ett_nr_rrc_T_supportedROHC_Profiles,
    &ett_nr_rrc_T_udc_r17,
    &ett_nr_rrc_T_operatorDictionary_r17,
    &ett_nr_rrc_PDCP_ParametersMRDC,
    &ett_nr_rrc_PDCP_ParametersMRDC_v1610,
    &ett_nr_rrc_Phy_Parameters,
    &ett_nr_rrc_Phy_Parameters_v16a0,
    &ett_nr_rrc_Phy_ParametersCommon,
    &ett_nr_rrc_T_crossSlotScheduling_r16,
    &ett_nr_rrc_T_pusch_RepetitionTypeA_r16,
    &ett_nr_rrc_T_maxTotalResourcesForAcrossFreqRanges_r16,
    &ett_nr_rrc_T_harqACK_separateMultiDCI_MultiTRP_r16,
    &ett_nr_rrc_T_bwp_SwitchingMultiCCs_r16,
    &ett_nr_rrc_T_bwp_SwitchingMultiDormancyCCs_r16,
    &ett_nr_rrc_T_sps_HARQ_ACK_Deferral_r17,
    &ett_nr_rrc_Phy_ParametersCommon_v16a0,
    &ett_nr_rrc_Phy_ParametersXDD_Diff,
    &ett_nr_rrc_Phy_ParametersFRX_Diff,
    &ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot,
    &ett_nr_rrc_T_pdcch_BlindDetectionNRDC,
    &ett_nr_rrc_T_maxTotalResourcesForOneFreqRange_r16,
    &ett_nr_rrc_Phy_ParametersFR1,
    &ett_nr_rrc_Phy_ParametersFR2,
    &ett_nr_rrc_Phy_ParametersMRDC,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry,
    &ett_nr_rrc_NAICS_Capability_Entry,
    &ett_nr_rrc_Phy_ParametersSharedSpectrumChAccess_r16,
    &ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_r16,
    &ett_nr_rrc_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17,
    &ett_nr_rrc_PowSav_Parameters_r16,
    &ett_nr_rrc_PowSav_Parameters_v1700,
    &ett_nr_rrc_PowSav_ParametersCommon_r16,
    &ett_nr_rrc_PowSav_ParametersFRX_Diff_r16,
    &ett_nr_rrc_PowSav_ParametersFR2_2_r17,
    &ett_nr_rrc_ProcessingParameters,
    &ett_nr_rrc_T_differentTB_PerSlot,
    &ett_nr_rrc_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17,
    &ett_nr_rrc_T_ppw_durationOfPRS_Processing_r17,
    &ett_nr_rrc_T_ppw_durationOfPRS_Processing1_r17,
    &ett_nr_rrc_T_ppw_durationOfPRS_Processing2_r17,
    &ett_nr_rrc_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17,
    &ett_nr_rrc_T_ppw_maxNumOfDL_Bandwidth_r17,
    &ett_nr_rrc_RedCapParameters_r17,
    &ett_nr_rrc_RedCapParameters_v1740,
    &ett_nr_rrc_RF_Parameters,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR,
    &ett_nr_rrc_RF_Parameters_v15g0,
    &ett_nr_rrc_RF_Parameters_v16a0,
    &ett_nr_rrc_RF_Parameters_v16c0,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR_v16c0,
    &ett_nr_rrc_BandNR,
    &ett_nr_rrc_T_channelBWs_DL,
    &ett_nr_rrc_T_fr1,
    &ett_nr_rrc_T_fr2,
    &ett_nr_rrc_T_channelBWs_UL,
    &ett_nr_rrc_T_fr1_01,
    &ett_nr_rrc_T_fr2_01,
    &ett_nr_rrc_T_channelBWs_DL_v1590,
    &ett_nr_rrc_T_fr1_02,
    &ett_nr_rrc_T_fr2_02,
    &ett_nr_rrc_T_channelBWs_UL_v1590,
    &ett_nr_rrc_T_fr1_03,
    &ett_nr_rrc_T_fr2_03,
    &ett_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16,
    &ett_nr_rrc_T_channelBW_DL_IAB_r16,
    &ett_nr_rrc_T_fr1_100mhz,
    &ett_nr_rrc_T_fr2_200mhz,
    &ett_nr_rrc_T_channelBW_UL_IAB_r16,
    &ett_nr_rrc_T_fr1_100mhz_01,
    &ett_nr_rrc_T_fr2_200mhz_01,
    &ett_nr_rrc_T_activeConfiguredGrant_r16,
    &ett_nr_rrc_T_sps_r16,
    &ett_nr_rrc_T_maxDurationDMRS_Bundling_r17,
    &ett_nr_rrc_T_aperiodicCSI_RS_FastScellActivation_r17,
    &ett_nr_rrc_T_enhancedType3_HARQ_CodebookFeedback_r17,
    &ett_nr_rrc_T_triggeredHARQ_CodebookRetx_r17,
    &ett_nr_rrc_T_maxModulationOrderForMulticast_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17,
    &ett_nr_rrc_T_srs_SemiPersistent_PosResourcesRRC_Inactive_r17,
    &ett_nr_rrc_BandNR_v16c0,
    &ett_nr_rrc_RF_ParametersMRDC,
    &ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0,
    &ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v1720,
    &ett_nr_rrc_RF_ParametersMRDC_v15g0,
    &ett_nr_rrc_RLC_Parameters,
    &ett_nr_rrc_SDAP_Parameters,
    &ett_nr_rrc_SidelinkParameters_r16,
    &ett_nr_rrc_SidelinkParametersNR_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelink_r16,
    &ett_nr_rrc_SidelinkParametersEUTRA_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16,
    &ett_nr_rrc_RLC_ParametersSidelink_r16,
    &ett_nr_rrc_MAC_ParametersSidelink_r16,
    &ett_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16,
    &ett_nr_rrc_MAC_ParametersSidelinkCommon_r16,
    &ett_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16,
    &ett_nr_rrc_BandSidelinkEUTRA_r16,
    &ett_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16,
    &ett_nr_rrc_BandSidelink_r16,
    &ett_nr_rrc_T_sl_Reception_r16,
    &ett_nr_rrc_T_scs_CP_PatternRxSidelink_r16,
    &ett_nr_rrc_T_fr1_r16,
    &ett_nr_rrc_T_fr2_r16_01,
    &ett_nr_rrc_T_sl_TransmissionMode1_r16,
    &ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeOne_r16,
    &ett_nr_rrc_T_fr1_r16_01,
    &ett_nr_rrc_T_fr2_r16_02,
    &ett_nr_rrc_T_sync_Sidelink_r16,
    &ett_nr_rrc_T_psfch_FormatZeroSidelink_r16,
    &ett_nr_rrc_T_sl_TransmissionMode2_r16,
    &ett_nr_rrc_T_congestionControlSidelink_r16,
    &ett_nr_rrc_T_sl_TransmissionMode2_RandomResourceSelection_r17,
    &ett_nr_rrc_T_scs_CP_PatternTxSidelinkModeTwo_r17_02,
    &ett_nr_rrc_T_fr1_r17_04,
    &ett_nr_rrc_T_fr2_r17_04,
    &ett_nr_rrc_T_sync_Sidelink_v1710,
    &ett_nr_rrc_RelayParameters_r17,
    &ett_nr_rrc_SON_Parameters_r16,
    &ett_nr_rrc_SpatialRelationsSRS_Pos_r16,
    &ett_nr_rrc_SRS_AllPosResourcesRRC_Inactive_r17,
    &ett_nr_rrc_T_srs_PosResourcesRRC_Inactive_r17,
    &ett_nr_rrc_SRS_SwitchingTimeNR,
    &ett_nr_rrc_SRS_SwitchingTimeEUTRA,
    &ett_nr_rrc_SupportedBandwidth,
    &ett_nr_rrc_SupportedBandwidth_v1700,
    &ett_nr_rrc_UE_BasedPerfMeas_Parameters_r16,
    &ett_nr_rrc_UE_CapabilityRAT_ContainerList,
    &ett_nr_rrc_UE_CapabilityRAT_Container,
    &ett_nr_rrc_UE_CapabilityRAT_RequestList,
    &ett_nr_rrc_UE_CapabilityRAT_Request,
    &ett_nr_rrc_UE_CapabilityRequestFilterCommon,
    &ett_nr_rrc_T_mrdc_Request,
    &ett_nr_rrc_T_codebookTypeRequest_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellGroupings_r16_OF_CellGrouping_r16,
    &ett_nr_rrc_CellGrouping_r16,
    &ett_nr_rrc_UE_CapabilityRequestFilterNR,
    &ett_nr_rrc_UE_CapabilityRequestFilterNR_v1540,
    &ett_nr_rrc_UE_CapabilityRequestFilterNR_v1710,
    &ett_nr_rrc_T_nonCriticalExtension_53,
    &ett_nr_rrc_UE_MRDC_Capability,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination,
    &ett_nr_rrc_UE_MRDC_Capability_v1560,
    &ett_nr_rrc_UE_MRDC_Capability_v1610,
    &ett_nr_rrc_UE_MRDC_Capability_v1700,
    &ett_nr_rrc_UE_MRDC_Capability_v1730,
    &ett_nr_rrc_T_nonCriticalExtension_54,
    &ett_nr_rrc_UE_MRDC_Capability_v15g0,
    &ett_nr_rrc_T_nonCriticalExtension_55,
    &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode,
    &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560,
    &ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode,
    &ett_nr_rrc_GeneralParametersMRDC_XDD_Diff,
    &ett_nr_rrc_GeneralParametersMRDC_v1610,
    &ett_nr_rrc_UE_NR_Capability,
    &ett_nr_rrc_UE_NR_Capability_v1530,
    &ett_nr_rrc_UE_NR_Capability_v1540,
    &ett_nr_rrc_UE_NR_Capability_v1550,
    &ett_nr_rrc_UE_NR_Capability_v1560,
    &ett_nr_rrc_UE_NR_Capability_v1570,
    &ett_nr_rrc_UE_NR_Capability_v15c0,
    &ett_nr_rrc_UE_NR_Capability_v15g0,
    &ett_nr_rrc_UE_NR_Capability_v15j0,
    &ett_nr_rrc_UE_NR_Capability_v1610,
    &ett_nr_rrc_UE_NR_Capability_v1640,
    &ett_nr_rrc_UE_NR_Capability_v1650,
    &ett_nr_rrc_UE_NR_Capability_v1690,
    &ett_nr_rrc_UE_NR_Capability_v16a0,
    &ett_nr_rrc_UE_NR_Capability_v16c0,
    &ett_nr_rrc_UE_NR_Capability_v16d0,
    &ett_nr_rrc_T_nonCriticalExtension_56,
    &ett_nr_rrc_UE_NR_Capability_v1700,
    &ett_nr_rrc_UE_NR_Capability_v1740,
    &ett_nr_rrc_UE_NR_Capability_v1750,
    &ett_nr_rrc_T_nonCriticalExtension_57,
    &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode,
    &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530,
    &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode,
    &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540,
    &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610,
    &ett_nr_rrc_BAP_Parameters_r16,
    &ett_nr_rrc_BAP_Parameters_v1700,
    &ett_nr_rrc_MBS_Parameters_r17,
    &ett_nr_rrc_UE_RadioPagingInfo_r17,
    &ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_r16,
    &ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1630,
    &ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1640,
    &ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1650,
    &ett_nr_rrc_SharedSpectrumChAccessParamsPerBand_v1710,
    &ett_nr_rrc_AppLayerMeasConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayer_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAppLayerMeas_r17_OF_MeasConfigAppLayerId_r17,
    &ett_nr_rrc_MeasConfigAppLayer_r17,
    &ett_nr_rrc_T_ran_VisibleParameters_r17,
    &ett_nr_rrc_RAN_VisibleParameters_r17,
    &ett_nr_rrc_AreaConfiguration_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16,
    &ett_nr_rrc_AreaConfiguration_v1700,
    &ett_nr_rrc_AreaConfig_r16,
    &ett_nr_rrc_InterFreqTargetInfo_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_PhysCellId,
    &ett_nr_rrc_CellGlobalIdList_r16,
    &ett_nr_rrc_TrackingAreaCodeList_r16,
    &ett_nr_rrc_TrackingAreaIdentityList_r16,
    &ett_nr_rrc_TrackingAreaIdentity_r16,
    &ett_nr_rrc_BT_NameList_r16,
    &ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList,
    &ett_nr_rrc_EUTRA_MBSFN_SubframeConfig,
    &ett_nr_rrc_T_subframeAllocation1,
    &ett_nr_rrc_T_subframeAllocation2,
    &ett_nr_rrc_EUTRA_MultiBandInfoList,
    &ett_nr_rrc_EUTRA_MultiBandInfo,
    &ett_nr_rrc_EUTRA_NS_PmaxList,
    &ett_nr_rrc_EUTRA_NS_PmaxValue,
    &ett_nr_rrc_EUTRA_PhysCellIdRange,
    &ett_nr_rrc_IAB_IP_Address_r16,
    &ett_nr_rrc_LogMeasResultListBT_r16,
    &ett_nr_rrc_LogMeasResultBT_r16,
    &ett_nr_rrc_LogMeasResultListWLAN_r16,
    &ett_nr_rrc_LogMeasResultWLAN_r16,
    &ett_nr_rrc_WLAN_Identifiers_r16,
    &ett_nr_rrc_WLAN_RTT_r16,
    &ett_nr_rrc_OtherConfig,
    &ett_nr_rrc_T_delayBudgetReportingConfig,
    &ett_nr_rrc_T_setup,
    &ett_nr_rrc_OtherConfig_v1540,
    &ett_nr_rrc_T_overheatingAssistanceConfig,
    &ett_nr_rrc_OtherConfig_v1610,
    &ett_nr_rrc_T_idc_AssistanceConfig_r16,
    &ett_nr_rrc_T_drx_PreferenceConfig_r16,
    &ett_nr_rrc_T_maxBW_PreferenceConfig_r16,
    &ett_nr_rrc_T_maxCC_PreferenceConfig_r16,
    &ett_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16,
    &ett_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16,
    &ett_nr_rrc_T_releasePreferenceConfig_r16,
    &ett_nr_rrc_T_btNameList_r16,
    &ett_nr_rrc_T_wlanNameList_r16,
    &ett_nr_rrc_T_sensorNameList_r16,
    &ett_nr_rrc_OtherConfig_v1700,
    &ett_nr_rrc_T_musim_GapAssistanceConfig_r17,
    &ett_nr_rrc_T_musim_LeaveAssistanceConfig_r17,
    &ett_nr_rrc_T_successHO_Config_r17,
    &ett_nr_rrc_T_rlm_RelaxationReportingConfig_r17,
    &ett_nr_rrc_T_bfd_RelaxationReportingConfig_r17,
    &ett_nr_rrc_T_scg_DeactivationPreferenceConfig_r17,
    &ett_nr_rrc_T_rrm_MeasRelaxationReportingConfig_r17,
    &ett_nr_rrc_T_propDelayDiffReportConfig_r17,
    &ett_nr_rrc_CandidateServingFreqListNR_r16,
    &ett_nr_rrc_MUSIM_GapAssistanceConfig_r17,
    &ett_nr_rrc_MUSIM_LeaveAssistanceConfig_r17,
    &ett_nr_rrc_SuccessHO_Config_r17,
    &ett_nr_rrc_OverheatingAssistanceConfig,
    &ett_nr_rrc_IDC_AssistanceConfig_r16,
    &ett_nr_rrc_DRX_PreferenceConfig_r16,
    &ett_nr_rrc_MaxBW_PreferenceConfig_r16,
    &ett_nr_rrc_MaxCC_PreferenceConfig_r16,
    &ett_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16,
    &ett_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16,
    &ett_nr_rrc_ReleasePreferenceConfig_r16,
    &ett_nr_rrc_RLM_RelaxationReportingConfig_r17,
    &ett_nr_rrc_BFD_RelaxationReportingConfig_r17,
    &ett_nr_rrc_SCG_DeactivationPreferenceConfig_r17,
    &ett_nr_rrc_RRM_MeasRelaxationReportingConfig_r17,
    &ett_nr_rrc_PropDelayDiffReportConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellNTN_r17_OF_NeighbourCellInfo_r17,
    &ett_nr_rrc_NeighbourCellInfo_r17,
    &ett_nr_rrc_Sensor_NameList_r16,
    &ett_nr_rrc_TraceReference_r16,
    &ett_nr_rrc_UE_MeasurementsAvailable_r16,
    &ett_nr_rrc_VisitedCellInfoList_r16,
    &ett_nr_rrc_VisitedCellInfo_r16,
    &ett_nr_rrc_T_visitedCellId_r16,
    &ett_nr_rrc_T_nr_CellId_r16,
    &ett_nr_rrc_T_eutra_CellId_r16,
    &ett_nr_rrc_VisitedPSCellInfoList_r17,
    &ett_nr_rrc_VisitedPSCellInfo_r17,
    &ett_nr_rrc_T_visitedCellId_r17,
    &ett_nr_rrc_T_nr_CellId_r17,
    &ett_nr_rrc_T_eutra_CellId_r17,
    &ett_nr_rrc_WLAN_NameList_r16,
    &ett_nr_rrc_SL_BWP_Config_r16,
    &ett_nr_rrc_T_sl_BWP_PoolConfigPS_r17,
    &ett_nr_rrc_T_sl_BWP_DiscPoolConfig_r17,
    &ett_nr_rrc_SL_BWP_Generic_r16,
    &ett_nr_rrc_T_sl_PSBCH_Config_r16,
    &ett_nr_rrc_SL_BWP_DiscPoolConfig_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16,
    &ett_nr_rrc_SL_BWP_PoolConfig_r16,
    &ett_nr_rrc_SL_TxPoolDedicated_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16,
    &ett_nr_rrc_SL_ResourcePoolConfig_r16,
    &ett_nr_rrc_SL_CBR_PriorityTxConfigList_r16,
    &ett_nr_rrc_SL_CBR_PriorityTxConfigList_v1650,
    &ett_nr_rrc_SL_PriorityTxConfigIndex_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16,
    &ett_nr_rrc_SL_PriorityTxConfigIndex_v1650,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_MinMaxMCS_List_r16,
    &ett_nr_rrc_SL_CBR_CommonTxConfigList_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16,
    &ett_nr_rrc_SL_CBR_LevelsConfig_r16,
    &ett_nr_rrc_SL_CBR_PSSCH_TxConfig_r16,
    &ett_nr_rrc_SL_ConfigDedicatedNR_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16,
    &ett_nr_rrc_T_sl_PHY_MAC_RLC_Config_v1700,
    &ett_nr_rrc_T_sl_DiscConfig_r17,
    &ett_nr_rrc_SL_PHY_MAC_RLC_Config_r16,
    &ett_nr_rrc_T_sl_ScheduledConfig_r16,
    &ett_nr_rrc_T_sl_UE_SelectedConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16,
    &ett_nr_rrc_T_sl_CSI_SchedulingRequestId_r16,
    &ett_nr_rrc_SL_RLC_ChannelToAddModList_r17,
    &ett_nr_rrc_SL_PHY_MAC_RLC_Config_v1700,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelID_r17,
    &ett_nr_rrc_SL_DiscConfig_r17,
    &ett_nr_rrc_T_sl_RelayUE_Config_r17,
    &ett_nr_rrc_T_sl_RemoteUE_Config_r17,
    &ett_nr_rrc_SL_ConfiguredGrantConfig_r16,
    &ett_nr_rrc_T_rrc_ConfiguredSidelinkGrant_r16,
    &ett_nr_rrc_SL_CG_MaxTransNumList_r16,
    &ett_nr_rrc_SL_CG_MaxTransNum_r16,
    &ett_nr_rrc_SL_PeriodCG_r16,
    &ett_nr_rrc_SL_DRX_Config_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DRX_ConfigUC_Info_r17,
    &ett_nr_rrc_SL_DRX_ConfigUC_Info_r17,
    &ett_nr_rrc_SL_DRX_ConfigGC_BC_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_GC_BC_DRX_QoS_r17_OF_SL_DRX_GC_BC_QoS_r17,
    &ett_nr_rrc_SL_DRX_GC_BC_QoS_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16,
    &ett_nr_rrc_T_sl_DRX_GC_BC_OnDurationTimer_r17,
    &ett_nr_rrc_SL_DRX_GC_Generic_r17,
    &ett_nr_rrc_SL_DRX_ConfigUC_r17,
    &ett_nr_rrc_T_sl_drx_onDurationTimer_r17,
    &ett_nr_rrc_T_sl_drx_CycleStartOffset_r17,
    &ett_nr_rrc_SL_DRX_ConfigUC_SemiStatic_r17,
    &ett_nr_rrc_T_sl_drx_onDurationTimer_r17_01,
    &ett_nr_rrc_T_sl_drx_CycleStartOffset_r17_01,
    &ett_nr_rrc_SL_FreqConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16,
    &ett_nr_rrc_SL_InterUE_CoordinationConfig_r17,
    &ett_nr_rrc_SL_InterUE_CoordinationScheme1_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_SL_ThresholdRSRP_Condition1_B_1_r17,
    &ett_nr_rrc_SL_InterUE_CoordinationScheme2_r17,
    &ett_nr_rrc_SL_ThresholdRSRP_Condition1_B_1_r17,
    &ett_nr_rrc_SL_LogicalChannelConfig_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_1_r16_OF_SL_ConfigIndexCG_r16,
    &ett_nr_rrc_SL_L2RelayUE_Config_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_RemoteUE_ToAddMod_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRemoteUE_r17_OF_SL_DestinationIdentity_r16,
    &ett_nr_rrc_SL_RemoteUE_ToAddMod_r17,
    &ett_nr_rrc_SL_L2RemoteUE_Config_r17,
    &ett_nr_rrc_SL_MeasConfigInfo_r16,
    &ett_nr_rrc_SL_MeasConfig_r16,
    &ett_nr_rrc_SL_MeasObjectToRemoveList_r16,
    &ett_nr_rrc_SL_ReportConfigToRemoveList_r16,
    &ett_nr_rrc_SL_MeasIdToRemoveList_r16,
    &ett_nr_rrc_SL_MeasIdList_r16,
    &ett_nr_rrc_SL_MeasIdInfo_r16,
    &ett_nr_rrc_SL_MeasObjectList_r16,
    &ett_nr_rrc_SL_MeasObjectInfo_r16,
    &ett_nr_rrc_SL_MeasObject_r16,
    &ett_nr_rrc_SL_PagingIdentityRemoteUE_r17,
    &ett_nr_rrc_SL_PBPS_CPS_Config_r17,
    &ett_nr_rrc_T_sl_PBPS_OccasionReservePeriodList_r17,
    &ett_nr_rrc_SL_PDCP_Config_r16,
    &ett_nr_rrc_SL_PSBCH_Config_r16,
    &ett_nr_rrc_SL_PSSCH_TxConfigList_r16,
    &ett_nr_rrc_SL_PSSCH_TxConfig_r16,
    &ett_nr_rrc_SL_PSSCH_TxParameters_r16,
    &ett_nr_rrc_SL_QoS_Profile_r16,
    &ett_nr_rrc_SL_PQI_r16,
    &ett_nr_rrc_T_sl_Non_StandardizedPQI_r16,
    &ett_nr_rrc_SL_QuantityConfig_r16,
    &ett_nr_rrc_SL_RadioBearerConfig_r16,
    &ett_nr_rrc_SL_RelayUE_Config_r17,
    &ett_nr_rrc_SL_RemoteUE_Config_r17,
    &ett_nr_rrc_SL_ReselectionConfig_r17,
    &ett_nr_rrc_SL_ReportConfigList_r16,
    &ett_nr_rrc_SL_ReportConfigInfo_r16,
    &ett_nr_rrc_SL_ReportConfig_r16,
    &ett_nr_rrc_T_sl_ReportType_r16,
    &ett_nr_rrc_SL_PeriodicalReportConfig_r16,
    &ett_nr_rrc_SL_EventTriggerConfig_r16,
    &ett_nr_rrc_T_sl_EventId_r16,
    &ett_nr_rrc_T_eventS1_r16,
    &ett_nr_rrc_T_eventS2_r16,
    &ett_nr_rrc_SL_MeasReportQuantity_r16,
    &ett_nr_rrc_SL_MeasTriggerQuantity_r16,
    &ett_nr_rrc_SL_ResourcePool_r16,
    &ett_nr_rrc_T_sl_PSCCH_Config_r16,
    &ett_nr_rrc_T_sl_PSSCH_Config_r16,
    &ett_nr_rrc_T_sl_PSFCH_Config_r16,
    &ett_nr_rrc_T_sl_RxParametersNcell_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16,
    &ett_nr_rrc_T_sl_PBPS_CPS_Config_r17,
    &ett_nr_rrc_T_sl_InterUE_CoordinationConfig_r17,
    &ett_nr_rrc_SL_ZoneConfigMCR_r16,
    &ett_nr_rrc_SL_SyncAllowed_r16,
    &ett_nr_rrc_SL_PSCCH_Config_r16,
    &ett_nr_rrc_SL_PSSCH_Config_r16,
    &ett_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16,
    &ett_nr_rrc_SL_PSFCH_Config_r16,
    &ett_nr_rrc_SL_PTRS_Config_r16,
    &ett_nr_rrc_T_sl_PTRS_FreqDensity_r16,
    &ett_nr_rrc_T_sl_PTRS_TimeDensity_r16,
    &ett_nr_rrc_SL_UE_SelectedConfigRP_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16,
    &ett_nr_rrc_SL_ResourceReservePeriod_r16,
    &ett_nr_rrc_SL_SelectionWindowList_r16,
    &ett_nr_rrc_SL_SelectionWindowConfig_r16,
    &ett_nr_rrc_SL_TxPercentageList_r16,
    &ett_nr_rrc_SL_TxPercentageConfig_r16,
    &ett_nr_rrc_SL_MinMaxMCS_List_r16,
    &ett_nr_rrc_SL_MinMaxMCS_Config_r16,
    &ett_nr_rrc_SL_PowerControl_r16,
    &ett_nr_rrc_SL_RLC_BearerConfig_r16,
    &ett_nr_rrc_SL_RLC_ChannelConfig_r17,
    &ett_nr_rrc_SL_RLC_Config_r16,
    &ett_nr_rrc_T_sl_AM_RLC_r16,
    &ett_nr_rrc_T_sl_UM_RLC_r16,
    &ett_nr_rrc_SL_ScheduledConfig_r16,
    &ett_nr_rrc_T_sl_PSFCH_ToPUCCH_r16,
    &ett_nr_rrc_T_sl_DCI_ToSL_Trans_r16,
    &ett_nr_rrc_MAC_MainConfigSL_r16,
    &ett_nr_rrc_SL_ConfiguredGrantConfigList_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16,
    &ett_nr_rrc_SL_SDAP_Config_r16,
    &ett_nr_rrc_T_sl_MappedQoS_Flows_r16,
    &ett_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16,
    &ett_nr_rrc_SL_SRAP_Config_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_MappingToAddMod_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_SL_RemoteUE_RB_Identity_r17,
    &ett_nr_rrc_SL_MappingToAddMod_r17,
    &ett_nr_rrc_SL_RemoteUE_RB_Identity_r17,
    &ett_nr_rrc_SL_SyncConfigList_r16,
    &ett_nr_rrc_SL_SyncConfig_r16,
    &ett_nr_rrc_T_txParameters_r16,
    &ett_nr_rrc_SL_SSB_TimeAllocation_r16,
    &ett_nr_rrc_SL_Thres_RSRP_List_r16,
    &ett_nr_rrc_SL_TxPower_r16,
    &ett_nr_rrc_SL_UE_SelectedConfig_r16,
    &ett_nr_rrc_SL_ZoneConfig_r16,
    &ett_nr_rrc_CarrierFreqListMBS_r17,
    &ett_nr_rrc_CFR_ConfigMCCH_MTCH_r17,
    &ett_nr_rrc_LocationAndBandwidthBroadcast_r17,
    &ett_nr_rrc_DRX_ConfigPTM_r17,
    &ett_nr_rrc_T_drx_onDurationTimerPTM_r17,
    &ett_nr_rrc_T_drx_LongCycleStartOffsetPTM_r17,
    &ett_nr_rrc_MBS_NeighbourCellList_r17,
    &ett_nr_rrc_MBS_NeighbourCell_r17,
    &ett_nr_rrc_MBS_ServiceList_r17,
    &ett_nr_rrc_MBS_ServiceInfo_r17,
    &ett_nr_rrc_MBS_SessionInfoList_r17,
    &ett_nr_rrc_MBS_SessionInfo_r17,
    &ett_nr_rrc_MRB_ListBroadcast_r17,
    &ett_nr_rrc_MRB_InfoBroadcast_r17,
    &ett_nr_rrc_MRB_PDCP_ConfigBroadcast_r17,
    &ett_nr_rrc_T_headerCompression_r17,
    &ett_nr_rrc_T_rohc_01,
    &ett_nr_rrc_T_profiles_r17,
    &ett_nr_rrc_MRB_RLC_ConfigBroadcast_r17,
    &ett_nr_rrc_MTCH_SSB_MappingWindowList_r17,
    &ett_nr_rrc_MTCH_SSB_MappingWindowCycleOffset_r17,
    &ett_nr_rrc_PDSCH_ConfigBroadcast_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPDSCH_ConfigPTM_r17_OF_PDSCH_ConfigPTM_r17,
    &ett_nr_rrc_PDSCH_ConfigPTM_r17,
    &ett_nr_rrc_TMGI_r17,
    &ett_nr_rrc_T_plmn_Id_r17,
    &ett_nr_rrc_SBCCH_SL_BCH_Message,
    &ett_nr_rrc_SBCCH_SL_BCH_MessageType,
    &ett_nr_rrc_T_c1_18,
    &ett_nr_rrc_T_messageClassExtension_09,
    &ett_nr_rrc_SCCH_Message,
    &ett_nr_rrc_SCCH_MessageType,
    &ett_nr_rrc_T_c1_19,
    &ett_nr_rrc_T_messageClassExtension_10,
    &ett_nr_rrc_T_c2_01,
    &ett_nr_rrc_T_messageClassExtensionFuture_r17,
    &ett_nr_rrc_MasterInformationBlockSidelink,
    &ett_nr_rrc_MeasurementReportSidelink,
    &ett_nr_rrc_T_criticalExtensions_51,
    &ett_nr_rrc_T_criticalExtensionsFuture_51,
    &ett_nr_rrc_MeasurementReportSidelink_r16_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_58,
    &ett_nr_rrc_SL_MeasResults_r16,
    &ett_nr_rrc_SL_MeasResult_r16,
    &ett_nr_rrc_SL_MeasQuantityResult_r16,
    &ett_nr_rrc_SL_MeasResultListRelay_r17,
    &ett_nr_rrc_SL_MeasResultRelay_r17,
    &ett_nr_rrc_NotificationMessageSidelink_r17,
    &ett_nr_rrc_T_criticalExtensions_52,
    &ett_nr_rrc_T_criticalExtensionsFuture_52,
    &ett_nr_rrc_NotificationMessageSidelink_r17_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_59,
    &ett_nr_rrc_RemoteUEInformationSidelink_r17,
    &ett_nr_rrc_T_criticalExtensions_53,
    &ett_nr_rrc_T_criticalExtensionsFuture_53,
    &ett_nr_rrc_RemoteUEInformationSidelink_r17_IEs,
    &ett_nr_rrc_T_sl_RequestedSIB_List_r17,
    &ett_nr_rrc_T_sl_PagingInfo_RemoteUE_r17,
    &ett_nr_rrc_T_nonCriticalExtension_60,
    &ett_nr_rrc_SL_RequestedSIB_List_r17,
    &ett_nr_rrc_SL_PagingInfo_RemoteUE_r17,
    &ett_nr_rrc_RRCReconfigurationSidelink,
    &ett_nr_rrc_T_criticalExtensions_54,
    &ett_nr_rrc_T_criticalExtensionsFuture_54,
    &ett_nr_rrc_RRCReconfigurationSidelink_r16_IEs,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16,
    &ett_nr_rrc_T_sl_MeasConfig_r16,
    &ett_nr_rrc_T_sl_CSI_RS_Config_r16,
    &ett_nr_rrc_RRCReconfigurationSidelink_v1700_IEs,
    &ett_nr_rrc_T_sl_DRX_ConfigUC_PC5_r17,
    &ett_nr_rrc_T_sl_LatencyBoundIUC_Report_r17,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_ChannelConfigPC5_r17,
    &ett_nr_rrc_T_nonCriticalExtension_61,
    &ett_nr_rrc_SLRB_Config_r16,
    &ett_nr_rrc_SL_SDAP_ConfigPC5_r16,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PQFI_r16,
    &ett_nr_rrc_SL_PDCP_ConfigPC5_r16,
    &ett_nr_rrc_SL_RLC_ConfigPC5_r16,
    &ett_nr_rrc_T_sl_AM_RLC_r16_01,
    &ett_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16,
    &ett_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16,
    &ett_nr_rrc_SL_LogicalChannelConfigPC5_r16,
    &ett_nr_rrc_SL_CSI_RS_Config_r16,
    &ett_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16,
    &ett_nr_rrc_SL_RLC_ChannelConfigPC5_r17,
    &ett_nr_rrc_RRCReconfigurationCompleteSidelink,
    &ett_nr_rrc_T_criticalExtensions_55,
    &ett_nr_rrc_T_criticalExtensionsFuture_55,
    &ett_nr_rrc_RRCReconfigurationCompleteSidelink_r16_IEs,
    &ett_nr_rrc_RRCReconfigurationCompleteSidelink_v1710_IEs,
    &ett_nr_rrc_RRCReconfigurationCompleteSidelink_v1720_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_62,
    &ett_nr_rrc_RRCReconfigurationFailureSidelink,
    &ett_nr_rrc_T_criticalExtensions_56,
    &ett_nr_rrc_T_criticalExtensionsFuture_56,
    &ett_nr_rrc_RRCReconfigurationFailureSidelink_r16_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_63,
    &ett_nr_rrc_UEAssistanceInformationSidelink_r17,
    &ett_nr_rrc_T_criticalExtensions_57,
    &ett_nr_rrc_T_criticalExtensionsFuture_57,
    &ett_nr_rrc_UEAssistanceInformationSidelink_r17_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_64,
    &ett_nr_rrc_UECapabilityEnquirySidelink,
    &ett_nr_rrc_T_criticalExtensions_58,
    &ett_nr_rrc_T_criticalExtensionsFuture_58,
    &ett_nr_rrc_UECapabilityEnquirySidelink_r16_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_65,
    &ett_nr_rrc_UECapabilityInformationSidelink,
    &ett_nr_rrc_T_criticalExtensions_59,
    &ett_nr_rrc_T_criticalExtensionsFuture_59,
    &ett_nr_rrc_UECapabilityInformationSidelink_r16_IEs,
    &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandSidelinkPC5_r16,
    &ett_nr_rrc_UECapabilityInformationSidelink_v1700_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_66,
    &ett_nr_rrc_MAC_ParametersSidelink_r17,
    &ett_nr_rrc_PDCP_ParametersSidelink_r16,
    &ett_nr_rrc_BandCombinationListSidelinkNR_r16,
    &ett_nr_rrc_BandCombinationListSidelinkNR_v1710,
    &ett_nr_rrc_BandCombinationParametersSidelinkNR_r16,
    &ett_nr_rrc_BandCombinationParametersSidelinkNR_v1710,
    &ett_nr_rrc_BandParametersSidelink_v1710,
    &ett_nr_rrc_BandSidelinkPC5_r16,
    &ett_nr_rrc_T_sl_Reception_r16_01,
    &ett_nr_rrc_T_scs_CP_PatternRxSidelink_r16_01,
    &ett_nr_rrc_T_fr1_r16_02,
    &ett_nr_rrc_T_fr2_r16_03,
    &ett_nr_rrc_T_csi_ReportSidelink_r16,
    &ett_nr_rrc_UuMessageTransferSidelink_r17,
    &ett_nr_rrc_T_criticalExtensions_60,
    &ett_nr_rrc_T_criticalExtensionsFuture_60,
    &ett_nr_rrc_UuMessageTransferSidelink_r17_IEs,
    &ett_nr_rrc_T_nonCriticalExtension_67,
    &ett_nr_rrc_DedicatedNAS_Message,
    &ett_nr_rrc_targetRAT_MessageContainer,
    &ett_nr_rrc_nas_Container,
    &ett_nr_rrc_serialNumber,
    &ett_nr_rrc_warningType,
    &ett_nr_rrc_dataCodingScheme,
    &ett_nr_rrc_sib7_fragment,
    &ett_nr_rrc_sib7_fragments,
    &ett_nr_rrc_sib8_fragment,
    &ett_nr_rrc_sib8_fragments,
    &ett_nr_rrc_warningMessageSegment,
    &ett_nr_rrc_timeInfo,
    &ett_nr_rrc_capabilityRequestFilter,
    &ett_nr_rrc_sourceSCG_EUTRA_Config,
    &ett_nr_rrc_scg_CellGroupConfigEUTRA,
    &ett_nr_rrc_candidateCellInfoListSN_EUTRA,
    &ett_nr_rrc_candidateCellInfoListMN_EUTRA,
    &ett_nr_rrc_sourceConfigSCG_EUTRA,
    &ett_nr_rrc_eutra_SCG,
    &ett_nr_rrc_nr_SCG_Response,
    &ett_nr_rrc_eutra_SCG_Response,
    &ett_nr_rrc_measResultSCG_FailureMRDC,
    &ett_nr_rrc_ul_DCCH_MessageNR,
    &ett_nr_rrc_ul_DCCH_MessageEUTRA,
    &ett_rr_rrc_nas_SecurityParamFromNR,
    &ett_nr_rrc_sidelinkUEInformationNR,
    &ett_nr_rrc_sidelinkUEInformationEUTRA,
    &ett_nr_rrc_ueAssistanceInformationEUTRA,
    &ett_nr_rrc_dl_DCCH_MessageNR,
    &ett_nr_rrc_dl_DCCH_MessageEUTRA,
    &ett_nr_rrc_sl_ConfigDedicatedEUTRA,
    &ett_nr_rrc_sl_CapabilityInformationSidelink,
    &ett_nr_rrc_measResult_RLF_Report_EUTRA,
    &ett_nr_rrc_measResult_RLF_Report_EUTRA_v1690,
    &ett_nr_rrc_locationTimestamp_r16,
    &ett_nr_rrc_locationCoordinate_r16,
    &ett_nr_rrc_locationError_r16,
    &ett_nr_rrc_locationSource_r16,
    &ett_nr_rrc_velocityEstimate_r16,
    &ett_nr_rrc_sensor_MeasurementInformation_r16,
    &ett_nr_rrc_sensor_MotionInformation_r16,
    &ett_nr_rrc_bandParametersSidelinkEUTRA1_r16,
    &ett_nr_rrc_bandParametersSidelinkEUTRA2_r16,
    &ett_nr_rrc_sl_ParametersEUTRA1_r16,
    &ett_nr_rrc_sl_ParametersEUTRA2_r16,
    &ett_nr_rrc_sl_ParametersEUTRA3_r16,
    &ett_nr_rrc_absTimeInfo,
    &ett_nr_rrc_assistanceDataSIB_Element_r16,
    &ett_nr_sl_V2X_ConfigCommon_r16,
    &ett_nr_tdd_Config_r16,
    &ett_nr_coarseLocationInfo_r17,
    &ett_nr_sl_MeasResultsCandRelay_r17,
    &ett_nr_sl_MeasResultServingRelay_r17,
    &ett_nr_ReferenceLocation_r17
  };

  static ei_register_info ei[] = {
     { &ei_nr_rrc_number_pages_le15, { "nr-rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }},
  };

  expert_module_t* expert_nr_rrc;
  module_t *nr_rrc_module;

  /* Register protocol */
  proto_nr_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);

  /* Register fields and subtrees */
  proto_register_field_array(proto_nr_rrc, hf, array_length(hf));
  proto_register_subtree_array(ett, array_length(ett));
  expert_nr_rrc = expert_register_protocol(proto_nr_rrc);
  expert_register_field_array(expert_nr_rrc, ei, array_length(ei));

  /* Register the dissectors defined in nr-rrc.cnf */
  register_dissector("nr-rrc.cg_configinfo", dissect_nr_rrc_cg_configinfo_msg, proto_nr_rrc);
  register_dissector("nr-rrc.radiobearerconfig", dissect_nr_rrc_radiobearerconfig_msg, proto_nr_rrc);
  register_dissector("nr-rrc.rrc_reconf_msg", dissect_nr_rrc_rrcreconfiguration_msg, proto_nr_rrc);
  register_dissector("nr-rrc.rrc_reconf_compl_msg", dissect_nr_rrc_rrcreconfigurationcomplete_msg, proto_nr_rrc);
  register_dissector("nr-rrc.ue_capabilityrat_containerlist", dissect_nr_rrc_ue_capabilityrat_containerlist_msg, proto_nr_rrc);
  register_dissector("nr-rrc.ue_mrdc_cap_msg", dissect_nr_rrc_ue_mrdc_capability_msg, proto_nr_rrc);
  register_dissector("nr-rrc.ue_nr_cap_msg", dissect_nr_rrc_ue_nr_capability_msg, proto_nr_rrc);
  register_dissector("nr-rrc.ul.dcch_msg_msg", dissect_nr_rrc_ul_dcch_message_msg, proto_nr_rrc);
  register_dissector("nr-rrc.dl.dcch_msg_msg", dissect_nr_rrc_dl_dcch_message_msg, proto_nr_rrc);
  register_dissector("nr-rrc.ul.ccch_msg_msg", dissect_nr_rrc_ul_ccch_message_msg, proto_nr_rrc);
  register_dissector("nr-rrc.dl.ccch_msg_msg", dissect_nr_rrc_dl_ccch_message_msg, proto_nr_rrc);
  register_dissector("nr-rrc.cellgroupconfig_msg", dissect_nr_rrc_cellgroupconfig_msg, proto_nr_rrc);
  register_dissector("nr-rrc.ue_radio_access_cap_info_msg", dissect_ueradioaccesscapabilityinformation_msg, proto_nr_rrc);
  register_dissector("nr-rrc.measconfig_msg", dissect_nr_rrc_measconfig_msg, proto_nr_rrc);
  register_dissector("nr-rrc.measgapconfig_msg", dissect_nr_rrc_measgapconfig_msg, proto_nr_rrc);
  register_dissector("nr-rrc.handoverpreparationinformation_msg", dissect_nr_rrc_handoverpreparationinformation_msg, proto_nr_rrc);
  register_dissector("nr-rrc.handovercommand_msg", dissect_nr_rrc_handovercommand_msg, proto_nr_rrc);
 /*#include "packet-nr-rrc-dis-reg.c" */
  register_dissector("nr-rrc.ue_radio_paging_info", dissect_nr_rrc_UERadioPagingInformation_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.ue_radio_access_cap_info", dissect_UERadioAccessCapabilityInformation_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.bcch.bch", dissect_BCCH_BCH_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.bcch.dl.sch", dissect_BCCH_DL_SCH_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.dl.ccch", dissect_DL_CCCH_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.dl.dcch", dissect_DL_DCCH_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.mcch", dissect_MCCH_Message_r17_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.pcch", dissect_PCCH_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.ul.ccch", dissect_UL_CCCH_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.ul.ccch1", dissect_UL_CCCH1_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.ul.dcch", dissect_nr_rrc_UL_DCCH_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.rrc_reconf", dissect_nr_rrc_RRCReconfiguration_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.rrc_reconf_compl", dissect_nr_rrc_RRCReconfigurationComplete_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib1", dissect_nr_rrc_SIB1_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib2", dissect_nr_rrc_SIB2_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib3", dissect_nr_rrc_SIB3_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib4", dissect_nr_rrc_SIB4_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib5", dissect_nr_rrc_SIB5_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib6", dissect_nr_rrc_SIB6_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib7", dissect_nr_rrc_SIB7_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib8", dissect_nr_rrc_SIB8_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib9", dissect_nr_rrc_SIB9_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib10", dissect_nr_rrc_SIB10_r16_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib11", dissect_nr_rrc_SIB11_r16_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib12", dissect_nr_rrc_SIB12_r16_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib13", dissect_nr_rrc_SIB13_r16_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib14", dissect_nr_rrc_SIB14_r16_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib15", dissect_nr_rrc_SIB15_r17_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib16", dissect_nr_rrc_SIB16_r17_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib17", dissect_nr_rrc_SIB17_r17_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib18", dissect_nr_rrc_SIB18_r17_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib21", dissect_nr_rrc_SIB19_r17_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib22", dissect_nr_rrc_SIB20_r17_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sib23", dissect_nr_rrc_SIB21_r17_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.ue_mrdc_cap", dissect_nr_rrc_UE_MRDC_Capability_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.ue_nr_cap", dissect_nr_rrc_UE_NR_Capability_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.sbcch.sl.bch", dissect_SBCCH_SL_BCH_Message_PDU, proto_nr_rrc);
  register_dissector("nr-rrc.scch", dissect_SCCH_Message_PDU, proto_nr_rrc);


  nr_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(),
                                                     g_direct_hash, g_direct_equal);

  reassembly_table_register(&nr_rrc_sib7_reassembly_table,
                            &addresses_reassembly_table_functions);
  reassembly_table_register(&nr_rrc_sib8_reassembly_table,
                            &addresses_reassembly_table_functions);

  /* Register configuration preferences */
  nr_rrc_module = prefs_register_protocol(proto_nr_rrc, NULL);
  prefs_register_bool_preference(nr_rrc_module, "nas_in_root_tree",
                                 "Show NAS PDU in root packet details",
                                 "Whether the NAS PDU should be shown in the root packet details tree",
                                 &nr_rrc_nas_in_root_tree);
}

void
proto_reg_handoff_nr_rrc(void)
{
  nas_5gs_handle = find_dissector("nas-5gs");
  lte_rrc_conn_reconf_handle = find_dissector("lte-rrc.rrc_conn_reconf");
  lte_rrc_conn_reconf_compl_handle = find_dissector("lte-rrc.rrc_conn_reconf_compl");
  lte_rrc_ul_dcch_handle = find_dissector("lte-rrc.ul.dcch");
  lte_rrc_dl_dcch_handle = find_dissector("lte-rrc.dl.dcch");
}
