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