The details of LTE NR B1 configurations from LTE RRC Connection Reconfiguration mesage. UE can report NR measurements SS-RSRP/RSRQ/SINR [ReportQuantityNR-r15] on either cell or beam level [reportRS-IndexResultsNR].

3GPP SPEC 36.331

ReportConfigInterRAT information element

– ASN1START

  ReportConfigInterRAT ::= SEQUENCE {
      triggerType CHOICE {
          event SEQUENCE {
              eventId CHOICE {
                  eventB1 SEQUENCE {
                      b1-Threshold CHOICE {
                          b1-ThresholdUTRA ThresholdUTRA,
                          b1-ThresholdGERAN ThresholdGERAN,
                          b1-ThresholdCDMA2000 ThresholdCDMA2000
                      }
                  },
                  eventB2 SEQUENCE {
                      b2-Threshold1 ThresholdEUTRA,
                      b2-Threshold2 CHOICE {
                          b2-Threshold2UTRA ThresholdUTRA,
                          b2-Threshold2GERAN ThresholdGERAN,
                          b2-Threshold2CDMA2000 ThresholdCDMA2000
                      }
                  },
                  …,
                  eventW1-r13 SEQUENCE {
                      w1-Threshold-r13 WLAN-RSSI-Range-r13
                  },
                  eventW2-r13 SEQUENCE {
                      w2-Threshold1-r13 WLAN-RSSI-Range-r13,
                      w2-Threshold2-r13 WLAN-RSSI-Range-r13
                  },
                  eventW3-r13 SEQUENCE {
                      w3-Threshold-r13 WLAN-RSSI-Range-r13
                  },
                  eventB1-NR-r15 SEQUENCE {
                      b1-ThresholdNR-r15 ThresholdNR-r15,
                      reportOnLeave-r15 BOOLEAN
                  },
                  eventB2-NR-r15 SEQUENCE {
                      b2-Threshold1-r15 ThresholdEUTRA,
                      b2-Threshold2NR-r15 ThresholdNR-r15,
                      reportOnLeave-r15 BOOLEAN
                  }
              },
              hysteresis Hysteresis,
              timeToTrigger TimeToTrigger
          },
          periodical SEQUENCE {
              purpose ENUMERATED {
                                                          reportStrongestCells,
                                                          reportStrongestCellsForSON,
                                                          reportCGI}
          }
      },
      maxReportCells INTEGER (1..maxCellReport),
      reportInterval ReportInterval,
      reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
      …,
      [[ si-RequestForHO-r9 ENUMERATED {setup} OPTIONAL – Cond reportCGI
      ]],
      [[ reportQuantityUTRA-FDD-r10 ENUMERATED {both} OPTIONAL – Need OR
      ]],
      [[ includeLocationInfo-r11 BOOLEAN OPTIONAL – Need ON
      ]],
      [[ b2-Threshold1-v1250 CHOICE {
              release NULL,
              setup RSRQ-Range-v1250
          } OPTIONAL – Need ON
      ]],
      [[ reportQuantityWLAN-r13 ReportQuantityWLAN-r13 OPTIONAL – Need ON
      ]],
      [[ reportAnyWLAN-r14 BOOLEAN OPTIONAL – Need ON
      ]],
      [[ reportQuantityCellNR-r15 ReportQuantityNR-r15 OPTIONAL, – Need ON
          maxReportRS-Index-r15 INTEGER (0..maxRS-IndexReport-r15) OPTIONAL, – Need ON
          reportQuantityRS-IndexNR-r15 ReportQuantityNR-r15 OPTIONAL, – Need ON
          reportRS-IndexResultsNR BOOLEAN OPTIONAL, – Need ON
          reportSFTD-Meas-r15 ENUMERATED {pSCell, neighborCells } OPTIONAL – Need ON
      ]]
  }

  ThresholdUTRA ::= CHOICE{
      utra-RSCP INTEGER (-5..91),
      utra-EcN0 INTEGER (0..49)
  }

  ThresholdGERAN ::= INTEGER (0..63)

  ThresholdCDMA2000 ::= INTEGER (0..63)

  ReportQuantityNR-r15::= SEQUENCE {
      ss-rsrp BOOLEAN,
      ss-rsrq BOOLEAN,
      ss-sinr BOOLEAN
  }

  ReportQuantityWLAN-r13 ::= SEQUENCE {
      bandRequestWLAN-r13 ENUMERATED {true} OPTIONAL, – Need OR
      carrierInfoRequestWLAN-r13 ENUMERATED {true} OPTIONAL, – Need OR
      availableAdmissionCapacityRequestWLAN-r13 ENUMERATED {true} OPTIONAL, – Need OR
      backhaulDL-BandwidthRequestWLAN-r13 ENUMERATED {true} OPTIONAL, – Need OR
      backhaulUL-BandwidthRequestWLAN-r13 ENUMERATED {true} OPTIONAL, – Need OR
      channelUtilizationRequestWLAN-r13 ENUMERATED {true} OPTIONAL, – Need OR
      stationCountRequestWLAN-r13 ENUMERATED {true} OPTIONAL, – Need OR
      …
  }

– ASN1STOP

  reportRS-IndexResultsNR
     Indicates whether or not the UE shall report beam measurement result of NR in the measurement report.


  maxReportRS-Index
    Max number of RS indices to include in the measurement report. E-UTRAN configures value 0 only if it sets reportRS-IndexResultsNR to FALSE.

Examples

measObject

  {
            measObjectId 4,
            measObject measObjectNR-r15 : {
              carrierFreq-r15 ******,
              rs-ConfigSSB-r15 {
               measTimingConfig-r15 {
                periodicityAndOffset-r15 sf20-r15 : 8,
                ssb-Duration-r15 sf4
               },
               subcarrierSpacingSSB-r15 kHz30
              },
              offsetFreq-r15 0,
              quantityConfigSet-r15 1,
              bandNR-r15 setup : 78
             }
           }


reportConfig Example-1

This example shows UE only needs to report SS-RSRP on cell level as reportRS-IndexResultsNR is missing.

  {
            reportConfigId 6,
            reportConfig reportConfigInterRAT : {
              triggerType event : {
                eventId eventB1-NR-r15 : {
                  b1-ThresholdNR-r15 nr-RSRP-r15 : 40,
                  reportOnLeave-r15 FALSE
                 },
                hysteresis 4,
                timeToTrigger ms256
               },
              maxReportCells 8,
              reportInterval min60,
              reportAmount r1,
              reportQuantityCellNR-r15 {
               ss-rsrp TRUE,
               ss-rsrq FALSE,
               ss-sinr FALSE
              }
             }
           }


reportConfig Example-2

This example shows UE needs to report SS-RSRP and SS-RSRQ on cell level as reportRS-IndexResultsNR is missing as well.

  - . . . . . . . . . .reportConfigId: 4
  - . . . . . . . . . .reportConfig:- reportConfigInterRAT
  - . . . . . . . . . . . .triggerType:- event
  - . . . . . . . . . . . . . .eventId:- eventB1-NR-r15
  - . . . . . . . . . . . . . . . .b1-ThresholdNR-r15:- nr-RSRP-r15: 36 (-120.00 dBm)
  - . . . . . . . . . . . . . . . .reportOnLeave-r15: 0
  - . . . . . . . . . . . . . .hysteresis: 0 (0.0 dB)
  - . . . . . . . . . . . . . .timeToTrigger: 0 ( ms0)
  - . . . . . . . . . . . .maxReportCells: 4
  - . . . . . . . . . . . .reportInterval: 1 ( ms240)
  - . . . . . . . . . . . .reportAmount: 2 ( r4)
  - . . . . . . . . . . . .reportQuantityCellNR-r15
  - . . . . . . . . . . . . .ss-rsrp: 1
  - . . . . . . . . . . . . .ss-rsrq: 1
  - . . . . . . . . . . . . .ss-sinr: 0

Measurement Report

  LTE_Uu_RRC: UL_DCCH_Message
  - . .message:- c1:- measurementReport
  - . . . . .criticalExtensions:- c1:- measurementReport-r8
  - . . . . . . . .measResults
  - . . . . . . . . .measId: 4
  - . . . . . . . . .measResultPCell
  - . . . . . . . . . .rsrpResult: 97 (-43.00 dBm)
  - . . . . . . . . . .rsrqResult: 25 (-7.50 dB)
  - . . . . . . . . .measResultNeighCells:- measResultNeighCellListNR-r15
  - . . . . . . . . . .measResultNeighCellListNR-r15 [ 0 ]
  - . . . . . . . . . . .pci-r15: 6
  - . . . . . . . . . . .measResultCell-r15
  - . . . . . . . . . . . .rsrpResult-r15: 100 (-56.00 dBm)
  - . . . . . . . . . . . .rsrqResult-r15: 65 (-10.50 dB)
LS0tDQp0aXRsZTogIkxURSBOUiBCMSBNZWFzdXJlbWVudCBDb25maWd1cmF0aW9ucyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNClRoZSBkZXRhaWxzIG9mIExURSBOUiBCMSBjb25maWd1cmF0aW9ucyBmcm9tIExURSBSUkMgQ29ubmVjdGlvbiBSZWNvbmZpZ3VyYXRpb24gbWVzYWdlLg0KVUUgY2FuIHJlcG9ydCBOUiBtZWFzdXJlbWVudHMgU1MtUlNSUC9SU1JRL1NJTlIgWyoqUmVwb3J0UXVhbnRpdHlOUi1yMTUqKl0gb24gZWl0aGVyIGNlbGwgb3IgYmVhbSBsZXZlbCBbKipyZXBvcnRSUy1JbmRleFJlc3VsdHNOUioqXS4NCg0KIyMjIDNHUFAgU1BFQyAzNi4zMzENCg0KKipSZXBvcnRDb25maWdJbnRlclJBVCBpbmZvcm1hdGlvbiBlbGVtZW50KioNCg0KLS0gQVNOMVNUQVJUDQoNCnwgICBSZXBvcnRDb25maWdJbnRlclJBVCA6Oj0JCQlTRVFVRU5DRSB7DQp8ICAgCXRyaWdnZXJUeXBlCQkJCQkJCUNIT0lDRSB7DQp8ICAgCQlldmVudAkJCQkJCQkJU0VRVUVOQ0Ugew0KfCAgIAkJCWV2ZW50SWQJCQkJCQkJCUNIT0lDRSB7DQp8ICAgCQkJCWV2ZW50QjEJCQkJCQkJCVNFUVVFTkNFIHsNCnwgICAJCQkJCWIxLVRocmVzaG9sZAkJCQkJCUNIT0lDRSB7DQp8ICAgCQkJCQkJYjEtVGhyZXNob2xkVVRSQQkJCQkJVGhyZXNob2xkVVRSQSwNCnwgICAJCQkJCQliMS1UaHJlc2hvbGRHRVJBTgkJCQkJVGhyZXNob2xkR0VSQU4sDQp8ICAgCQkJCQkJYjEtVGhyZXNob2xkQ0RNQTIwMDAJCQkJVGhyZXNob2xkQ0RNQTIwMDANCnwgICAJCQkJCX0NCnwgICAJCQkJfSwNCnwgICAJCQkJZXZlbnRCMgkJCQkJCQkJU0VRVUVOQ0Ugew0KfCAgIAkJCQkJYjItVGhyZXNob2xkMQkJCQkJCVRocmVzaG9sZEVVVFJBLA0KfCAgIAkJCQkJYjItVGhyZXNob2xkMgkJCQkJCUNIT0lDRSB7DQp8ICAgCQkJCQkJYjItVGhyZXNob2xkMlVUUkEJCQkJCVRocmVzaG9sZFVUUkEsDQp8ICAgCQkJCQkJYjItVGhyZXNob2xkMkdFUkFOCQkJCQlUaHJlc2hvbGRHRVJBTiwNCnwgICAJCQkJCQliMi1UaHJlc2hvbGQyQ0RNQTIwMDAJCQkJVGhyZXNob2xkQ0RNQTIwMDANCnwgICAJCQkJCX0NCnwgICAJCQkJfSwNCnwgICAJCQkJLi4uLA0KfCAgIAkJCQlldmVudFcxLXIxMwkJCQkJCVNFUVVFTkNFIHsNCnwgICAJCQkJCXcxLVRocmVzaG9sZC1yMTMJCQlXTEFOLVJTU0ktUmFuZ2UtcjEzDQp8ICAgCQkJCX0sDQp8ICAgCQkJCWV2ZW50VzItcjEzCQkJCQkJU0VRVUVOQ0Ugew0KfCAgIAkJCQkJdzItVGhyZXNob2xkMS1yMTMJCQlXTEFOLVJTU0ktUmFuZ2UtcjEzLA0KfCAgIAkJCQkJdzItVGhyZXNob2xkMi1yMTMJCQlXTEFOLVJTU0ktUmFuZ2UtcjEzDQp8ICAgCQkJCX0sDQp8ICAgCQkJCWV2ZW50VzMtcjEzCQkJCQkJU0VRVUVOQ0Ugew0KfCAgIAkJCQkJdzMtVGhyZXNob2xkLXIxMwkJCVdMQU4tUlNTSS1SYW5nZS1yMTMNCnwgICAJCQkJfSwNCnwgICAJCQkJKipldmVudEIxLU5SLXIxNQkJCQkJCQlTRVFVRU5DRSB7KioNCnwgICAJCQkJCSoqYjEtVGhyZXNob2xkTlItcjE1CQkJCQlUaHJlc2hvbGROUi1yMTUsKioNCnwgICAJCQkJCSoqcmVwb3J0T25MZWF2ZS1yMTUJCQkJCUJPT0xFQU4qKg0KfCAgIAkJCQkqKn0sKioNCnwgICAJCQkJZXZlbnRCMi1OUi1yMTUJCQkJCQkJU0VRVUVOQ0Ugew0KfCAgIAkJCQkJYjItVGhyZXNob2xkMS1yMTUJCQkJCVRocmVzaG9sZEVVVFJBLA0KfCAgIAkJCQkJYjItVGhyZXNob2xkMk5SLXIxNQkJCQkJVGhyZXNob2xkTlItcjE1LA0KfCAgIAkJCQkJcmVwb3J0T25MZWF2ZS1yMTUJCQkJCUJPT0xFQU4NCnwgICAJCQkJfQ0KfCAgIAkJCX0sDQp8ICAgCQkJaHlzdGVyZXNpcwkJCQkJCUh5c3RlcmVzaXMsDQp8ICAgCQkJdGltZVRvVHJpZ2dlcgkJCQkJVGltZVRvVHJpZ2dlcg0KfCAgIAkJfSwNCnwgICAJCXBlcmlvZGljYWwJCQkJCQkJCVNFUVVFTkNFIHsNCnwgICAJCQlwdXJwb3NlCQkJCQkJCQkJRU5VTUVSQVRFRCB7DQp8ICAgCQkJCQkJCQkJCQkJCQlyZXBvcnRTdHJvbmdlc3RDZWxscywNCnwgICAJCQkJCQkJCQkJCQkJCXJlcG9ydFN0cm9uZ2VzdENlbGxzRm9yU09OLA0KfCAgIAkJCQkJCQkJCQkJCQkJcmVwb3J0Q0dJfQ0KfCAgIAkJfQ0KfCAgIAl9LA0KfCAgIAltYXhSZXBvcnRDZWxscwkJCQkJSU5URUdFUiAoMS4ubWF4Q2VsbFJlcG9ydCksDQp8ICAgCXJlcG9ydEludGVydmFsCQkJCQlSZXBvcnRJbnRlcnZhbCwJDQp8ICAgCXJlcG9ydEFtb3VudAkJCQkJRU5VTUVSQVRFRCB7cjEsIHIyLCByNCwgcjgsIHIxNiwgcjMyLCByNjQsIGluZmluaXR5fSwNCnwgICAJLi4uLA0KfCAgIAlbWwlzaS1SZXF1ZXN0Rm9ySE8tcjkJCQkJRU5VTUVSQVRFRCB7c2V0dXB9CQlPUFRJT05BTAktLSBDb25kIHJlcG9ydENHSQ0KfCAgIAldXSwNCnwgICAJW1sJcmVwb3J0UXVhbnRpdHlVVFJBLUZERC1yMTAJCUVOVU1FUkFURUQge2JvdGh9CQlPUFRJT05BTAktLSBOZWVkIE9SDQp8ICAgCV1dLA0KfCAgIAlbWwlpbmNsdWRlTG9jYXRpb25JbmZvLXIxMQkJCUJPT0xFQU4JCQkJCU9QVElPTkFMCS0tIE5lZWQgT04NCnwgICAJXV0sDQp8ICAgCVtbCWIyLVRocmVzaG9sZDEtdjEyNTAJCQkJQ0hPSUNFIHsNCnwgICAJCQlyZWxlYXNlCQkJCQkJCU5VTEwsDQp8ICAgCQkJc2V0dXAJCQkJCQkJUlNSUS1SYW5nZS12MTI1MA0KfCAgIAkJfQkJCQkJCQkJCQkJCQkJT1BUSU9OQUwJLS0gTmVlZCBPTg0KfCAgIAldXSwNCnwgICAJW1sJcmVwb3J0UXVhbnRpdHlXTEFOLXIxMwkJCVJlcG9ydFF1YW50aXR5V0xBTi1yMTMJT1BUSU9OQUwJLS0gTmVlZCBPTg0KfCAgIAldXSwNCnwgICAJW1sJcmVwb3J0QW55V0xBTi1yMTQJCQkJQk9PTEVBTgkJCQkJT1BUSU9OQUwJLS0gTmVlZCBPTg0KfCAgIAldXSwNCnwgICAJKipbWwlyZXBvcnRRdWFudGl0eUNlbGxOUi1yMTUJCVJlcG9ydFF1YW50aXR5TlItcjE1CU9QVElPTkFMLAktLSBOZWVkIE9OKioNCnwgICAJCSoqbWF4UmVwb3J0UlMtSW5kZXgtcjE1CQkJSU5URUdFUiAoMC4ubWF4UlMtSW5kZXhSZXBvcnQtcjE1KQlPUFRJT05BTCwJLS0gTmVlZCBPTioqDQp8ICAgCQkqKnJlcG9ydFF1YW50aXR5UlMtSW5kZXhOUi1yMTUJUmVwb3J0UXVhbnRpdHlOUi1yMTUJT1BUSU9OQUwsCS0tIE5lZWQgT04qKg0KfCAgIAkJKipyZXBvcnRSUy1JbmRleFJlc3VsdHNOUgkJCUJPT0xFQU4JCQkJCU9QVElPTkFMLAktLSBOZWVkIE9OKioNCnwgICAJCSoqcmVwb3J0U0ZURC1NZWFzLXIxNQkJCQlFTlVNRVJBVEVEIHtwU0NlbGwsIG5laWdoYm9yQ2VsbHMgfQlPUFRJT05BTAktLSBOZWVkIE9OKioNCnwgICAJKipdXSoqDQp8ICAgfQ0KfCAgIA0KfCAgIFRocmVzaG9sZFVUUkEgOjo9CQkJCQlDSE9JQ0V7DQp8ICAgCXV0cmEtUlNDUAkJCQkJCQlJTlRFR0VSICgtNS4uOTEpLA0KfCAgIAl1dHJhLUVjTjAJCQkJCQkJSU5URUdFUiAoMC4uNDkpDQp8ICAgfQ0KfCAgIA0KfCAgIFRocmVzaG9sZEdFUkFOIDo6PQkJCQlJTlRFR0VSICgwLi42MykNCnwgICANCnwgICBUaHJlc2hvbGRDRE1BMjAwMCA6Oj0JCQlJTlRFR0VSICgwLi42MykNCnwgICANCnwgICAqKlJlcG9ydFF1YW50aXR5TlItcjE1Ojo9CQkJCQkJU0VRVUVOQ0UgeyoqDQp8ICAgCSoqc3MtcnNycAkJCQkJCQkJCQlCT09MRUFOLCoqDQp8ICAgCSoqc3MtcnNycQkJCQkJCQkJCQlCT09MRUFOLCoqDQp8ICAgCSoqc3Mtc2lucgkJCQkJCQkJCQlCT09MRUFOKioNCnwgICAqKn0qKg0KfCAgIA0KfCAgIFJlcG9ydFF1YW50aXR5V0xBTi1yMTMgOjo9CQlTRVFVRU5DRSB7DQp8ICAgCWJhbmRSZXF1ZXN0V0xBTi1yMTMJCQkJCQkJRU5VTUVSQVRFRCB7dHJ1ZX0JT1BUSU9OQUwsCS0tIE5lZWQgT1INCnwgICAJY2FycmllckluZm9SZXF1ZXN0V0xBTi1yMTMJCQkJCUVOVU1FUkFURUQge3RydWV9CU9QVElPTkFMLAktLSBOZWVkIE9SDQp8ICAgCWF2YWlsYWJsZUFkbWlzc2lvbkNhcGFjaXR5UmVxdWVzdFdMQU4tcjEzCUVOVU1FUkFURUQge3RydWV9CU9QVElPTkFMLAktLSBOZWVkIE9SDQp8ICAgCWJhY2toYXVsREwtQmFuZHdpZHRoUmVxdWVzdFdMQU4tcjEzCQkJRU5VTUVSQVRFRCB7dHJ1ZX0JT1BUSU9OQUwsCS0tIE5lZWQgT1INCnwgICAJYmFja2hhdWxVTC1CYW5kd2lkdGhSZXF1ZXN0V0xBTi1yMTMJCQlFTlVNRVJBVEVEIHt0cnVlfQlPUFRJT05BTCwJLS0gTmVlZCBPUg0KfCAgIAljaGFubmVsVXRpbGl6YXRpb25SZXF1ZXN0V0xBTi1yMTMJCQlFTlVNRVJBVEVEIHt0cnVlfQlPUFRJT05BTCwJLS0gTmVlZCBPUg0KfCAgIAlzdGF0aW9uQ291bnRSZXF1ZXN0V0xBTi1yMTMJCQkJCUVOVU1FUkFURUQge3RydWV9CU9QVElPTkFMLAktLSBOZWVkIE9SDQp8ICAgCS4uLg0KfCAgIH0NCg0KLS0gQVNOMVNUT1ANCg0KfCAgICoqcmVwb3J0UlMtSW5kZXhSZXN1bHRzTlIqKiAgDQp8ICAgICAgSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSBVRSBzaGFsbCByZXBvcnQgYmVhbSBtZWFzdXJlbWVudCByZXN1bHQgb2YgTlIgaW4gdGhlIG1lYXN1cmVtZW50IHJlcG9ydC4NCg0KPGJyIC8+DQogICAgICANCnwgICAqKm1heFJlcG9ydFJTLUluZGV4KioNCnwgICAgIE1heCBudW1iZXIgb2YgUlMgaW5kaWNlcyB0byBpbmNsdWRlIGluIHRoZSBtZWFzdXJlbWVudCByZXBvcnQuIEUtVVRSQU4gY29uZmlndXJlcyB2YWx1ZSAwIG9ubHkgaWYgaXQgc2V0cyByZXBvcnRSUy1JbmRleFJlc3VsdHNOUiB0byBGQUxTRS4NCi0tLS0tLS0tLS0tLQ0KDQojIyBFeGFtcGxlcw0KDQojIyMgbWVhc09iamVjdA0KDQp8ICAgew0KfCAgICAgICAgICAgICBtZWFzT2JqZWN0SWQgNCwNCnwgICAgICAgICAgICAgbWVhc09iamVjdCBtZWFzT2JqZWN0TlItcjE1IDogew0KfCAgICAgICAgICAgICAgIGNhcnJpZXJGcmVxLXIxNSAqKioqKiosDQp8ICAgICAgICAgICAgICAgcnMtQ29uZmlnU1NCLXIxNSB7DQp8ICAgICAgICAgICAgICAgIG1lYXNUaW1pbmdDb25maWctcjE1IHsNCnwgICAgICAgICAgICAgICAgIHBlcmlvZGljaXR5QW5kT2Zmc2V0LXIxNSBzZjIwLXIxNSA6IDgsDQp8ICAgICAgICAgICAgICAgICBzc2ItRHVyYXRpb24tcjE1IHNmNA0KfCAgICAgICAgICAgICAgICB9LA0KfCAgICAgICAgICAgICAgICBzdWJjYXJyaWVyU3BhY2luZ1NTQi1yMTUga0h6MzANCnwgICAgICAgICAgICAgICB9LA0KfCAgICAgICAgICAgICAgIG9mZnNldEZyZXEtcjE1IDAsDQp8ICAgICAgICAgICAgICAgcXVhbnRpdHlDb25maWdTZXQtcjE1IDEsDQp8ICAgICAgICAgICAgICAgYmFuZE5SLXIxNSBzZXR1cCA6IDc4DQp8ICAgICAgICAgICAgICB9DQp8ICAgICAgICAgICAgfQ0KfCAgIA0KDQo8YnIgLz4NCg0KIyMjIHJlcG9ydENvbmZpZyBFeGFtcGxlLTEgIA0KVGhpcyBleGFtcGxlIHNob3dzIFVFIG9ubHkgbmVlZHMgdG8gcmVwb3J0IFNTLVJTUlAgb24gY2VsbCBsZXZlbCBhcyAqKnJlcG9ydFJTLUluZGV4UmVzdWx0c05SKiogaXMgbWlzc2luZy4NCiAgIA0KfCAgIHsNCnwgICAgICAgICAgICAgcmVwb3J0Q29uZmlnSWQgNiwNCnwgICAgICAgICAgICAgcmVwb3J0Q29uZmlnIHJlcG9ydENvbmZpZ0ludGVyUkFUIDogew0KfCAgICAgICAgICAgICAgIHRyaWdnZXJUeXBlIGV2ZW50IDogew0KfCAgICAgICAgICAgICAgICAgZXZlbnRJZCBldmVudEIxLU5SLXIxNSA6IHsNCnwgICAgICAgICAgICAgICAgICAgYjEtVGhyZXNob2xkTlItcjE1IG5yLVJTUlAtcjE1IDogNDAsDQp8ICAgICAgICAgICAgICAgICAgIHJlcG9ydE9uTGVhdmUtcjE1IEZBTFNFDQp8ICAgICAgICAgICAgICAgICAgfSwNCnwgICAgICAgICAgICAgICAgIGh5c3RlcmVzaXMgNCwNCnwgICAgICAgICAgICAgICAgIHRpbWVUb1RyaWdnZXIgbXMyNTYNCnwgICAgICAgICAgICAgICAgfSwNCnwgICAgICAgICAgICAgICBtYXhSZXBvcnRDZWxscyA4LA0KfCAgICAgICAgICAgICAgIHJlcG9ydEludGVydmFsIG1pbjYwLA0KfCAgICAgICAgICAgICAgIHJlcG9ydEFtb3VudCByMSwNCnwgICAgICAgICAgICAgICByZXBvcnRRdWFudGl0eUNlbGxOUi1yMTUgew0KfCAgICAgICAgICAgICAgICBzcy1yc3JwIFRSVUUsDQp8ICAgICAgICAgICAgICAgIHNzLXJzcnEgRkFMU0UsDQp8ICAgICAgICAgICAgICAgIHNzLXNpbnIgRkFMU0UNCnwgICAgICAgICAgICAgICB9DQp8ICAgICAgICAgICAgICB9DQp8ICAgICAgICAgICAgfQ0KfCAgIAkJIA0KDQoNCjxiciAvPg0KDQojIyMgcmVwb3J0Q29uZmlnIEV4YW1wbGUtMiAgDQpUaGlzIGV4YW1wbGUgc2hvd3MgVUUgbmVlZHMgdG8gcmVwb3J0IFNTLVJTUlAgYW5kIFNTLVJTUlEgb24gY2VsbCBsZXZlbCBhcyAqKnJlcG9ydFJTLUluZGV4UmVzdWx0c05SKiogaXMgbWlzc2luZyBhcyB3ZWxsLg0KDQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC5yZXBvcnRDb25maWdJZDogNA0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAucmVwb3J0Q29uZmlnOi0gcmVwb3J0Q29uZmlnSW50ZXJSQVQNCnwgICAtICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAudHJpZ2dlclR5cGU6LSBldmVudA0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLmV2ZW50SWQ6LSBldmVudEIxLU5SLXIxNQ0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuYjEtVGhyZXNob2xkTlItcjE1Oi0gbnItUlNSUC1yMTU6IDM2ICgtMTIwLjAwIGRCbSkNCnwgICAtICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLnJlcG9ydE9uTGVhdmUtcjE1OiAwDQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuaHlzdGVyZXNpczogMCAoMC4wIGRCKQ0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLnRpbWVUb1RyaWdnZXI6IDAgKCBtczApDQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLm1heFJlcG9ydENlbGxzOiA0DQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLnJlcG9ydEludGVydmFsOiAxICggbXMyNDApDQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLnJlcG9ydEFtb3VudDogMiAoIHI0KQ0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC5yZXBvcnRRdWFudGl0eUNlbGxOUi1yMTUNCnwgICAtICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLnNzLXJzcnA6IDENCnwgICAtICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLnNzLXJzcnE6IDENCnwgICAtICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLnNzLXNpbnI6IDANCg0KDQoNCiMjIyBNZWFzdXJlbWVudCBSZXBvcnQNCg0KfCAgIExURV9VdV9SUkM6IFVMX0RDQ0hfTWVzc2FnZQ0KfCAgIC0gICAuICAgLm1lc3NhZ2U6LSBjMTotIG1lYXN1cmVtZW50UmVwb3J0DQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuY3JpdGljYWxFeHRlbnNpb25zOi0gYzE6LSBtZWFzdXJlbWVudFJlcG9ydC1yOA0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLm1lYXNSZXN1bHRzDQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLm1lYXNJZDogNA0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC5tZWFzUmVzdWx0UENlbGwNCnwgICAtICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLnJzcnBSZXN1bHQ6IDk3ICgtNDMuMDAgZEJtKQ0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAucnNycVJlc3VsdDogMjUgKC03LjUwIGRCKQ0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC5tZWFzUmVzdWx0TmVpZ2hDZWxsczotIG1lYXNSZXN1bHROZWlnaENlbGxMaXN0TlItcjE1DQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4qKm1lYXNSZXN1bHROZWlnaENlbGxMaXN0TlItcjE1IFsgMCBdKioNCnwgICAtICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4qKnBjaS1yMTU6IDYqKg0KfCAgIC0gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLioqbWVhc1Jlc3VsdENlbGwtcjE1KioNCnwgICAtICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuKipyc3JwUmVzdWx0LXIxNTogMTAwICgtNTYuMDAgZEJtKSoqDQp8ICAgLSAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLiAgIC4gICAuICAgLioqcnNycVJlc3VsdC1yMTU6IDY1ICgtMTAuNTAgZEIpKioNCg0K